From f943b8ad3207367a84e7403122856ec75dcfad4c Mon Sep 17 00:00:00 2001 From: userName Date: Sat, 1 Mar 2025 10:02:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A2=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/model/shipping/WaveDocStatus.java | 4 +- .../allocate/DefaultAutoAllocator.java | 14 +++++ .../shipping/pojo/DefaultNewWaveManager.java | 55 ++++++++++++++----- .../pojo/DefaultPickTicketManager.java | 10 ++-- .../server/web/servlet/ASNReceiveServlet.java | 1 + .../config/origen/base/maintainItemPage.xml | 5 +- .../config/origen/shipping/editbkfpPage.xml | 2 +- .../shipping/maintainPickTicketOAPage.xml | 4 +- .../origen/shipping/maintainTaskPage.xml | 3 +- .../shipping/modifyIssuedAgvTaskPage.xml | 4 +- 10 files changed, 74 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/dev/swms/server/model/shipping/WaveDocStatus.java b/src/main/java/com/dev/swms/server/model/shipping/WaveDocStatus.java index 3d88d85..66f1c17 100644 --- a/src/main/java/com/dev/swms/server/model/shipping/WaveDocStatus.java +++ b/src/main/java/com/dev/swms/server/model/shipping/WaveDocStatus.java @@ -6,11 +6,11 @@ public interface WaveDocStatus { */ public static String OPEN = "OPEN"; /** - * 生效 + * 已分配 */ public static String ACTIVE = "ACTIVE"; /** - * 分配; + * 以下发; */ public static String ALLOCATE = "ALLOCATE"; /** diff --git a/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultAutoAllocator.java b/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultAutoAllocator.java index ea8b7bb..37f8a36 100644 --- a/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultAutoAllocator.java +++ b/src/main/java/com/dev/swms/server/service/picking/allocate/DefaultAutoAllocator.java @@ -3229,11 +3229,17 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo WaveDoc w= commonDao.load(WaveDoc.class, id); List tids=commonDao.findByQuery(" from Task t where t.agvStatus in(0,-1) and t.waveDoc.id= "+id); Boolean beEnd=false; + List pdids=new ArrayList();//出库id for(Task t:tids) { PickTicketDetail ptd=commonDao.load(PickTicketDetail.class, t.getPickTicketDetail().getId()); PickTicket pt=commonDao.load(PickTicket.class, ptd.getPickTicket().getId()); + if(!pdids.contains(ptd.getPickTicket().getId())) { + pdids.add(ptd.getPickTicket().getId()); + } + if(!pt.getStatus().equals(PickTicketStatus.CHECK)) { pt.setStatus(PickTicketStatus.CHECK); commonDao.store(pt); + } t.setStrBill1(UserHolder.getUser().getName()); t.setDateBill1(new Date()); t.setAgvStatus(1);//1=可以分配分拨墙并下发AGV @@ -3245,6 +3251,14 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo if(tids.size()==0) { w.setStatus("ALLOCATE"); } + //给SAP回传状态 + if(pdids.size()>0) { + for(Long pid:pdids) { + List tasks= commonDao.findByQuery(" from Task t where " + + " t.pickTicketDetail.pickTicket.id="+pid+" and t.planQuantity>0 "); + boolean SAPstatus= interfaceReqManager.wmsSapZhuantaihuichuang(tasks, 0,"",1);//状态回传 + } + } //关闭未入波的数据 // if(beEnd) { // diff --git a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java index 3a0bd31..4ad9442 100644 --- a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java +++ b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java @@ -28,6 +28,7 @@ import com.dev.swms.server.model.inventory.Task; import com.dev.swms.server.model.receiving.SlotType; import com.dev.swms.server.model.shipping.NewWaveFlag; import com.dev.swms.server.model.shipping.WaveDoc; +import com.dev.swms.server.model.shipping.WaveDocStatus; import com.dev.swms.server.service.shipping.NewWaveManager; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; @@ -122,7 +123,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements + "left join ITEM_KEY ik2 on ik2.id=b.ITEM_KEY_ID " + "left join item item2 on item2.id=ik2.ITEM_ID " + "where 1=1 and b.BILLCODE=t.BILLCODE and pt1.BILL_TYPE_ID=1094 and loc2.id=loc.id and item2.id=item.id " - // " and b.PLAN_QUANTITY_MU-b.MOVED_QUANTITY_MU>0 "+ + + " and b.PLAN_QUANTITY_MU-b.MOVED_QUANTITY_MU>0 " + " for xml Path('')),1,1,'') as taskId," + "item.code as liaohao ," + "max(z.id) as kuqu," @@ -602,6 +603,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements } task.setOldZrw(fenPei.gdh + "-" + (fenPei.chf_fz + seq )); + } // task.setBillCode(fenPei.gdh+"-"+lx+"-"+fenPei.chf_fz); @@ -614,7 +616,9 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements // task.setAgvStatus(-1);//旧逻辑运行,状态不动,先注释 // } task.setOldGzz(gongZuoZhan.code); - + + task.setBillCode(task.getOldZrw()); + task.setEndRegion(task.getOldGzz()); task.setStrBill9(lx+"-"+fenPei.chf_fz); task.setStrBill8(fenPei.twl); this.commonDao.store(task); @@ -1377,7 +1381,8 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements + " LEFT JOIN ITEM item ON item.id= ik.ITEM_ID " + " LEFT JOIN WAVE_DOC wd ON wd.id= t.WAVE_DOC_ID " + " WHERE 1 = 1 AND pt.BILL_TYPE_ID= 1094 and loc.ZONE_ID in (1763,1765,1766) " - + " AND t.agv_Status in (-2) " // (-1,1,2) + + " AND t.agv_Status in (-1,1,2) " // (-1,1,2) + + " AND t.PLAN_QUANTITY>0 and t.MOVED_QUANTITY_MU=0 " + " AND t.WAVE_DOC_ID IS NOT NULL and t.END_REGION is not null and wd.code!='" + waveDocCode + "' " @@ -1530,7 +1535,10 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements //定义工作站最小能效数,自适应开启工作站数 //自适应合理开启工作站数gzz_codes,每个工作站暂定60 int lx_jianHuoXiaoLv=getValueGzzNumber(lx_sx); - List lx_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.LXQ); + List lx_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.LXQ);//料箱区任务 + List hj_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.HJQ);//货架区任务 + List lk_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.LKQ);//立库区任务 + if(lx_wwc_list.size()<=lx_jianHuoXiaoLv*5){//lx_jianHuoXiaoLv*lx_codes.size()/2 List gzlistGongZuoZhans = new ArrayList(); for (String gongzuozhancode : lx_codes) { @@ -1560,16 +1568,35 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements lkCount += gzz_maps.get(code) == null ? 0 : gzz_maps.get(code); } //有任务没有分配分配工作站错误 - - allocateGZZ(lx_wwc_list, lx_codes, - (int) lx_sx.getTaskD(), lx_jianHuoXiaoLv, lxCount, - gzz_maps); - allocateGZZ(getTaskList(waveDoc.getCode(), NewWaveFlag.HJQ), hj_codes, - (int) hj_sx.getTaskD(), getValueGzzNumber(hj_sx), hjCount, - gzz_maps); - allocateGZZ(getTaskList(waveDoc.getCode(), NewWaveFlag.LKQ), lk_codes, - (int) lk_sx.getTaskD(), getValueGzzNumber(lk_sx), lkCount, - gzz_maps); + if(lx_wwc_list.size()>0) { + if(lx_codes.size()>0) { + allocateGZZ(lx_wwc_list, lx_codes, + (int) lx_sx.getTaskD(), lx_jianHuoXiaoLv, lxCount, + gzz_maps); + }else { + throw new BusinessException("请选择料箱区工作站!"); + } + } + if(hj_wwc_list.size()>0) { + if(hj_codes.size()>0) { + allocateGZZ(hj_wwc_list, hj_codes, + (int) hj_sx.getTaskD(), getValueGzzNumber(hj_sx), hjCount, + gzz_maps); + }else { + throw new BusinessException("请选择货架区工作站!"); + } + } + if(lk_wwc_list.size()>0) { + if(lk_codes.size()>0) { + allocateGZZ(lk_wwc_list, lk_codes, + (int) lk_sx.getTaskD(), getValueGzzNumber(lk_sx), lkCount, + gzz_maps); + }else { + throw new BusinessException("请选择立库工作站!"); + } + } + waveDoc.setStatus(WaveDocStatus.ACTIVE); + commonDao.store(waveDoc); diff --git a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java index 356b429..8ea94d6 100644 --- a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java +++ b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java @@ -4551,6 +4551,8 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick newTask.setWorker2(t.getWorker2()); newTask.setDateBill1(t.getDateBill1()); newTask.setStrBill1(t.getStrBill1()); + newTask.setStrBill10(t.getStrBill10()); + newTask.setNcrCode(t.getNcrCode()); newTask.setStrBill3(t.getStrBill3()); commonDao.store(newTask); t.setPlanQuantity(pickedQuantity); @@ -8511,7 +8513,6 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick waveDoc.setEndDate(date2); waveDoc.setPrintCount(taskqty);//拆分行数 commonDao.store(waveDoc); -// WaveDoc waveDoc=this.load(WaveDoc.class, waveDocId); List pdids=new ArrayList(); for(Long id:ids){ Task task =this.load(Task.class, id); @@ -8530,10 +8531,9 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick if(pdids.size()>0) { for(Long pid:pdids) { PickTicket pt= commonDao.load(PickTicket.class, pid); - List tasks= commonDao.findByQuery(" from Task t where " - + " t.pickTicketDetail.pickTicket.id="+pid+" and t.planQuantity>0 "); - boolean SAPstatus= interfaceReqManager.wmsSapZhuantaihuichuang(tasks, 0,"",1);//状态回传 -// interfaceReqManager.saptoWmsTaskStatus(tasks, 1, SAPstatus); +// List tasks= commonDao.findByQuery(" from Task t where " +// + " t.pickTicketDetail.pickTicket.id="+pid+" and t.planQuantity>0 "); +// boolean SAPstatus= interfaceReqManager.wmsSapZhuantaihuichuang(tasks, 0,"",1);//状态回传 shuaxinPick(pt);//刷新订单 } diff --git a/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java b/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java index 0e8f46b..eae47d8 100644 --- a/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java +++ b/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java @@ -414,6 +414,7 @@ public class ASNReceiveServlet extends HttpServlet { String types =json.has("type")?json.getString("type"):""; resultJson=app.queryTaskList(z_id,types, workerId, wId); }else if("receiveTask".equals(methodType)){ + //PDA领取拣货任务 String taskIds =json.has("taskIds")?json.getString("taskIds"):""; resultJson=this.receiveTask(taskIds, workerId, wId, commonDao); }else if("queryLoc".equals(methodType)){ diff --git a/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml b/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml index 76367e7..e637116 100644 --- a/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml @@ -43,6 +43,7 @@ + @@ -66,7 +67,7 @@ item.alertLeadingDays, item.singleItem, item.brand, - item.beUnpacking, + item.beUnpacking, item.beMarkWeight, item.isBOM, item.beWeight, @@ -87,7 +88,7 @@ /~item.beInv: and item.beInv = {item.beInv} ~/ /~strExtend1: and ((item.strExtend1 is not null and {strExtend1}=true) or (item.strExtend1 is null and {strExtend1}=false) ) ~/ - + /~item.beUnpacking: and item.beUnpacking = {item.beUnpacking} ~/ /~item.beSAPItem: and item.beSAPItem = {item.beSAPItem} ~/ /~item.shipRules: and item.shipRules like {item.shipRules} ~/ /~item.CAname: and item.CAname like {item.CAname} ~/ diff --git a/src/webapp/WEB-INF/classes/config/origen/shipping/editbkfpPage.xml b/src/webapp/WEB-INF/classes/config/origen/shipping/editbkfpPage.xml index 2e86cf2..8028021 100644 --- a/src/webapp/WEB-INF/classes/config/origen/shipping/editbkfpPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/shipping/editbkfpPage.xml @@ -76,7 +76,7 @@ - diff --git a/src/webapp/WEB-INF/classes/config/origen/shipping/maintainPickTicketOAPage.xml b/src/webapp/WEB-INF/classes/config/origen/shipping/maintainPickTicketOAPage.xml index 75525c2..eed20eb 100644 --- a/src/webapp/WEB-INF/classes/config/origen/shipping/maintainPickTicketOAPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/shipping/maintainPickTicketOAPage.xml @@ -53,6 +53,7 @@ pickTicket.allocatedQuantity, pickTicket.pickedQuantity, pickTicket.shippedQuantity, + pickTicket.shipmentMethod, pickTicket.updateTime, pickTicket.updateTime from PickTicket pickTicket @@ -104,7 +105,8 @@ - + - - +