simple modification to support partial picking of orders
Posted by Si Chen-2 on Aug 30, 2006; 8:12pm
URL: http://ofbiz.116.s1.nabble.com/simple-modification-to-support-partial-picking-of-orders-tp171129.html
Hi everybody -
We've been talking about partial picking of orders on and off on JIRA
for a while now. I finally got around to it and then realized that
it just took this little change:
--- applications/product/script/org/ofbiz/shipment/picklist/
PicklistServices.xml (revision 1576)
+++ applications/product/script/org/ofbiz/shipment/picklist/
PicklistServices.xml (working copy)
@@ -144,6 +144,7 @@
<condition-expr field-
name="shipGroupSeqId" env-name="orderItemShipGrpInvRes.shipGroupSeqId"/>
<condition-expr field-
name="orderItemSeqId" env-name="orderItemShipGrpInvRes.orderItemSeqId"/>
<condition-expr field-
name="inventoryItemId" env-
name="orderItemShipGrpInvRes.inventoryItemId"/>
+ <condition-expr field-
name="statusId" operator="not-equals" value="PICKLIST_PICKED"/>
<condition-expr field-
name="statusId" operator="not-equals" value="PICKLIST_CANCELLED"/>
</condition-list>
</entity-condition>
This code was originally checking whether the order item was already
on a picklist, and the criteria was that the picklist be in any
status which is not cancelled - ie, if the item is already on a
picklist which was picked, then it would not show up on a new pick list.
However, I found that by checking that it is not on a picklist which
is neither cancelled nor picked is a good way to support partial
picks. The idea is that you'd create a picklist, then pick the
items. While the picklist is open, the item would not show up on
another picklist. Then when you're done, you can mark the picklist
picked. If the item has been fully shipped, then all
OrderItemShipGrpInvRes for it will be removed from the database (this
is what I didn't realize before this morning). As a result, the item
won't show up any more for picking. If it has not been fully
shipped, then with the change above, it'll show up on future pick
lists again.
Is this a good change to commit? It would basically allow for
picking of items which have not shipped over and over again until
they are shipped or the order is cancelled manually, whereas the
current code would put any order item on one picklist only (unless
that picklist is cancelled.)
Si