| src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/ManLocDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -840,11 +840,15 @@ if (ts == null) { throw new CoolException("timestamp 生成失败"); } String barcode = String.valueOf(ts); if (barcode.length() > 16) { barcode = barcode.substring(0, 16); } basAgvMast.setBarcode(barcode); String locNo = null; String staNo = null; basAgvMast.setBarcode(Long.toString(ts)); basAgvMast.setTaskNo(commonService.getWorkNo(0)); basAgvMast.setSourceStaNo(param.getSourceStaNo()); basAgvMast.setStaNo(param.getStaNo()); @@ -873,7 +877,7 @@ basAgvMastService.insert(basAgvMast); bindCtnrAndBinParam bindParam = new bindCtnrAndBinParam(); bindParam.setBarcode(Long.toString(ts)); bindParam.setBarcode(basAgvMast.getBarcode()); bindParam.setIndBind("1"); bindParam.setFloorNo(basAgvMast.getFloorNo()); bindParam.setLocNo(locNo); src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java
@@ -24,6 +24,8 @@ @Autowired private BasAgvMastService basAgvMastService; @Autowired private WrkMastService wrkMastService; @Autowired private BasAgvLocDetlService basAgvLocDetlService; @Autowired private BasAgvWrkDetlService basAgvWrkDetlService; @@ -35,13 +37,17 @@ private OpenService openService; public ReturnT<String> start(BasAgvMast basAgvMast) { public ReturnT<String> start(BasAgvMast basAgvMast) { try { Date now = new Date(); switch (basAgvMast.getIoType()){ case 0: LocMast sourceLoc0 = locMastService.selectById(basAgvMast.getSourceLocNo()); locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", sourceLoc0.getLocNo())); if(basAgvMast.getFloorNo() == 4){ basAgvMast.setBarcode(sourceLoc0.getBarcode()); basAgvMastService.updateById(basAgvMast); } sourceLoc0.setLocSts("O"); sourceLoc0.setBarcode(""); sourceLoc0.setModiTime(now); @@ -51,7 +57,6 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("出库 ===>> 修改源库位状态失败; [TaskNo=" + basAgvMast.getTaskNo() + "],[locNo=" + basAgvMast.getSourceLocNo() + "]"); } basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo())); basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo())); basAgvMast.setStatus(3); @@ -67,6 +72,7 @@ } // 修改目标库位状态 ==> .locSts locMast1.setLocSts("F"); locMast1.setBarcode(sourceLoc1.getBarcode()); locMast1.setIoTime(now); locMast1.setModiTime(now); if (!locMastService.updateById(locMast1)) { @@ -74,21 +80,12 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("库位移转 ===>> 修改目标库位状态失败; [TaskNo=" + basAgvMast.getTaskNo() + "],[locNo=" + basAgvMast.getLocNo() + "]"); } try{ // 转移库存明细数据: 库存号 由工作档源库位变为目标库位 locDetlService.updateLocNo(basAgvMast.getLocNo(), basAgvMast.getSourceLocNo()); // if (!) { // exceptionHandle("库位移转 ===>> 转移库存明细数据失败;[源库位={0}],[目标库位={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // return FAIL.setMsg("库位移转 ===>> 转移库存明细数据失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); // } } catch (Exception e) { return FAIL.setMsg(e.getMessage()); } if (null != sourceLoc1) { sourceLoc1.setBarcode(""); sourceLoc1.setLocSts("O"); @@ -104,9 +101,9 @@ basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo())); basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo())); basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo())); basAgvMast.setStatus(3); basAgvMast.setStatus(4); basAgvMastService.updateById(basAgvMast); openService.agvBindAndBin(String.valueOf(basAgvMast.getTaskNo())); // openService.agvBindAndBin(String.valueOf(basAgvMast.getTaskNo())); break; case 2: List<LocDetl> locDetls2 = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", basAgvMast.getLocNo())); @@ -189,7 +186,7 @@ basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo())); basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo())); basAgvMast.setStatus(3); if(basAgvMast.getIoType() == 2 && basAgvMast.getFloorNo() == 2){ if(basAgvMast.getFloorNo() == 2 || basAgvMast.getFloorNo() == 3){ basAgvMast.setStatus(4); } basAgvMastService.updateById(basAgvMast); src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
@@ -32,7 +32,7 @@ @Value("${erp.switch.ReviewOrderSwitch}") private boolean ReviewOrderSwitch; @Scheduled(cron = "0/3 * * * * ? ") // @Scheduled(cron = "0/20 * * * * ?") @Async("orderThreadPool") public void completeAndReport(){ if(!ReviewOrderSwitch){ src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -32,7 +32,7 @@ @Value("${erp.switch.ReviewOrderSwitch}") private boolean ReviewOrderSwitch; @Scheduled(cron = "0/3 * * * * ? ") @Scheduled(cron = "0/20 * * * * ?") @Async("orderThreadPool") public void completeAndReport(){ if(!ReviewOrderSwitch){ src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
@@ -34,7 +34,7 @@ @Value("${erp.switch.ReviewOrderSwitch}") private boolean ReviewOrderSwitch; @Scheduled(cron = "0/3 * * * * ? ") // @Scheduled(cron = "0/20 * * * * ?") @Async("orderThreadPool") public void completeAndReport(){ if(!ReviewOrderSwitch){ src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -98,11 +98,12 @@ if (orderDetl.getQty() == 0) { continue; } JSONArray idArr = new JSONArray(); idArr.add(0L); // ✅ 注意必须是 Long 类型的 0L // JSONArray idArr = new JSONArray(); // idArr.add(0L); // ✅ 注意必须是 Long 类型的 0L // Double reportNum = orderDetl.getQty() - orderDetl.getWorkQty();//上报数量减去已上报数量 // 创建 billentry_lk 对象 JSONObject billentryLk = new JSONObject() .fluentPut("id", idArr) .fluentPut("id", 0L) .fluentPut("seq", orderDetl.getLineNumber()) .fluentPut("billentry_lk_stableid", 677270092232273922L) .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName())) // 主单ID @@ -112,7 +113,7 @@ billentryLkArray.add(billentryLk); // 创建 billentry 对象,填充缺失的字段 JSONObject billentry = new JSONObject() .fluentPut("id", idArr) .fluentPut("id", 0L) .fluentPut("warehouse_number", orderDetl.getManu()) // 仓库编号 .fluentPut("invstatus_number", "110") // 库存状态 .fluentPut("invtype_number", "110") // 库存类型 @@ -121,8 +122,9 @@ .fluentPut("qty", orderDetl.getQty()) // 数量 .fluentPut("material_number", orderDetl.getMatnr()) // 物料编号 .fluentPut("billentry_lk", billentryLkArray); billentryArray.add(billentry); // orderDetl.setWorkQty(orderDetl.getQty()); // orderDetlService.updateById(orderDetl);//将上报数覆盖到历史上 } Date now = new Date(); return new JSONObject() @@ -212,6 +214,7 @@ if (billNo != null && billNo.equals(order.getOrderNo())) { // 如果一致,设置订单的 number order.setNumber(billId); orderService.updateById(order); log.info("订单号 {} 与返回的单据号匹配,设置订单 ID 为 {}", order.getOrderNo(), billId); } } src/main/resources/mapper/ManLocDetlMapper.xml
@@ -301,6 +301,10 @@ update man_loc_detl set loc_no = #{locNo} where node_id = #{nodeId} </update> <update id="updateLocNo0"> update man_loc_detl set loc_no = #{newLocNo} where loc_no = #{oldLocNo} </update> <delete id="deleteLocNo0"> delete from man_loc_detl