diff --git a/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultNewAutoAllocator.java b/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultNewAutoAllocator.java index 15cbb72..16ac9d2 100644 --- a/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultNewAutoAllocator.java +++ b/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultNewAutoAllocator.java @@ -357,22 +357,27 @@ public class DefaultNewAutoAllocator extends DefaultBaseManager implements NewAu Task task = EntityFactory.getEntity(Task.class); task.setPickTicketDetail(ptd); Item item=commonDao.load(Item.class, ptd.getItem().getId()); - /*task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item)); - //单个子任务数量 - if(qty>0) { - List tas=commonDao.findByQuery("select t.hs from PickTicketTaskView t where t.pickTicket.id="+ptd.getPickTicket().getId() - +" and t.billcode='"+task.getBillCode()+"' "); - if(tas.size()>0) { - //单个子任务数量 - if(tas.get(0)>=qty) { - task.setBillCode(bussinessCodeManager.getCodeForYmd(ptd.getPickTicket().getCode()+"-", 2)); + String zoneName=inventory.getLocation().getZone().getCode(); + if (zoneName.equals("堆垛区")||zoneName.equals("货架到人")||zoneName.equals("料箱到人")) { + task.setBillCode(pt.getCode()); + }else { + task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item)); + //单个子任务数量 + if(qty>0) { + List tas=commonDao.findByQuery("select t.hs from PickTicketTaskView t where t.pickTicket.id="+ptd.getPickTicket().getId() + +" and t.billcode='"+task.getBillCode()+"' "); + if(tas.size()>0) { + //单个子任务数量 + if(tas.get(0)>=qty) { + task.setBillCode(bussinessCodeManager.getCodeForYmd(ptd.getPickTicket().getCode()+"-", 2)); + } } } - }*/ + } + if (inventory.getLocation().getStock()!=null) { task.setStrBill7(inventory.getLocation().getStock().getLP()); } - task.setBillCode(pt.getRelatedBill2()); task.setCode(TimeNumberUtils.getTaskCode()); task.setType(TaskType.MV_PICKTICKET); task.setItemKey(inventory.getItemKey());