From 09073d8b84d438d57d237d93d6dac4df5f838c57 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期二, 29 十一月 2022 11:33:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/entity/OrderDetl.java | 8 +-- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 25 +++++------- src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2 + src/main/resources/mapper/WrkMastMapper.xml | 3 + src/main/java/com/zy/common/web/WcsController.java | 14 ++++++ src/main/resources/mapper/OrderDetlMapper.xml | 3 + src/main/java/com/zy/asrs/service/WrkMastService.java | 3 + src/main/java/com/zy/asrs/service/OrderDetlService.java | 2 + src/main/webapp/static/js/order/out.js | 6 +- src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 5 ++ src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 6 +- src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 5 ++ src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2 + src/main/webapp/static/js/order/order.js | 2 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 8 ++- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 2 16 files changed, 65 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java index 311979d..bba9977 100644 --- a/src/main/java/com/zy/asrs/entity/OrderDetl.java +++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java @@ -443,12 +443,10 @@ } public Double getEnableQty() { - if (null != this.anfme && this.workQty != null) { - return this.anfme - this.workQty; + + if (null != this.anfme && this.qty != null) { + return this.anfme - this.qty; } -// if (null != this.anfme && this.qty != null) { -// return this.anfme - this.qty; -// } return null; } diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index 51c99ad..48b4cc4 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java @@ -34,4 +34,6 @@ int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty); int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty); + + Integer checkAllDetlFinish(@Param("orderNo") String orderNo); } diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index dd349bd..37e384b 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.WrkMast; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -16,4 +17,5 @@ List<WrkMast> selectToBeHistoryData(); + Integer checkFinishByOrder(@Param("orderNo") String orderNo); } diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java index ecf08d2..53e6e05 100644 --- a/src/main/java/com/zy/asrs/service/OrderDetlService.java +++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java @@ -37,4 +37,6 @@ * @return */ boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty); + + Boolean checkAllDetlFinish(String orderNo); } diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java index ff9c2ba..8116e57 100644 --- a/src/main/java/com/zy/asrs/service/WrkMastService.java +++ b/src/main/java/com/zy/asrs/service/WrkMastService.java @@ -21,4 +21,7 @@ * @return */ int getStoreCount(Integer crnNo); + + Boolean checkFinishByOrder(String orderNo); + } diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 386c035..8f7de88 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -151,10 +151,12 @@ } // 鐢熸垚鍏ュ簱閫氱煡妗� List<DetlDto> detlDtos = new ArrayList<>(); - param.getCombMats().forEach(elem -> { - + for (CombParam.CombMat elem : param.getCombMats()) { // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); + if(orderDetl == null){ + throw new CoolException("璇ュ崟鎹腑涓嶅瓨鍦ㄨ鐗╂枡鏄庣粏锛�" + elem); + } if (elem.getAnfme() > orderDetl.getEnableQty()) { throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } @@ -171,7 +173,7 @@ } else { detlDtos.add(detlDto); } - }); + } for (DetlDto detlDto : detlDtos) { Mat mat = matService.selectByMatnr(detlDto.getMatnr()); if (Cools.isEmpty(mat)) { diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 2715f0e..b485a88 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -260,7 +260,7 @@ } OrderDetl orderDetl = new OrderDetl(); orderDetl.sync(mat); - orderDetl.setBatch(detlDto.getBatch()); + orderDetl.setBatch(detlDto.getBatch() == null ? "" : detlDto.getBatch()); orderDetl.setAnfme(detlDto.getAnfme()); orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java index 327edbb..725f062 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java @@ -90,4 +90,9 @@ public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) { return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0; } + + @Override + public Boolean checkAllDetlFinish(String orderNo) { + return this.baseMapper.checkAllDetlFinish(orderNo) <= 0 ; + } } diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 8955567..14bd5ef 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -323,9 +323,9 @@ for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); - if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); - } +// if (orderDetl == null) { +// orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); +// } WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java index ab394ec..08d614d 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java @@ -45,4 +45,9 @@ .last(" and (wrk_sts in (1,2) or (wrk_sts=3 and wrk_no in (select wrk_no from asr_bas_devp)))")); } + @Override + public Boolean checkFinishByOrder(String orderNo) { + return this.baseMapper.checkFinishByOrder(orderNo) <= 0; + } + } diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index f5fb2df..450a109 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -35,6 +35,8 @@ private WaitPakinService waitPakinService; @Autowired private OrderDetlService orderDetlService; + @Autowired + private OrderService orderService; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -341,21 +343,16 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } - for (WrkDetl wrkDetl : wrkDetls101) { - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - try { - if(!Cools.isEmpty(orderDetl)){ - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.getBatch(),wrkDetl.getAnfme())){ -// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", -// wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); - } - } - } catch (Exception ignore){} + + Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo()); + if (finsihed) { + Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo()); + if (mastFinished) { + Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo()); + orderService.updateSettle(order.getId(),4L,1L); + } } + // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { // exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index ed8a294..e49a7ad 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -49,6 +49,8 @@ private RowLastnoService rowLastnoService; @Autowired private WorkService workService; + @Autowired + private BasCrnpService basCrnpService; @PostMapping("/pakin/loc/v1") @ResponseBody @@ -163,7 +165,17 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� List<String> matNos = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList()); - Integer integer = rowLastnoService.selectNextWhsType(); + int rowCount = rowLastnoService.selectCount(null); + Integer integer = 1; + for (int i = 1; i <= rowCount; i++) { + integer = rowLastnoService.selectNextWhsType(); + BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>() + .eq("crn_no", i)); + if (crn_no.getInEnable().equals("Y")){ + break; + } + } + StartupDto dto = commonService.getLocNo(integer, 1, devpNo, matNos, locTypeDto,0); int workNo = dto.getWorkNo(); Date now = new Date(); diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index 86757d2..99ccde1 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -124,6 +124,9 @@ and mdt.pakout = 1 <include refid="pakOutPageCondition"></include> </select> + <select id="checkAllDetlFinish" resultType="java.lang.Integer"> + SELECT count(*) From man_order_detl WHERE qty < anfme and order_no = #{orderNo} + </select> <update id="increase"> update man_order_detl diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index ce04079..7a419f1 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -74,5 +74,8 @@ or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp)) order by io_time,wrk_no asc </select> + <select id="checkFinishByOrder" resultType="java.lang.Integer"> + select Count(*) FROM asr_wrk_detl d left join asr_wrk_mast m on d.wrk_no = m.wrk_no WHERE d.order_no = #{orderNo} and m.wrk_sts < 14 + </select> </mapper> diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index e277615..21d75e0 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -123,7 +123,7 @@ {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160}, {field: 'batch', title: '鎵瑰彿'}, {field: 'anfme', title: '鏁伴噺'}, - {field: 'workQty', title: '浣滀笟鏁伴噺'}, + // {field: 'workQty', title: '浣滀笟鏁伴噺'}, {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'}, // {field: 'unit', title: '鍗曚綅'}, // { diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js index 0643b0b..4d33bcb 100644 --- a/src/main/webapp/static/js/order/out.js +++ b/src/main/webapp/static/js/order/out.js @@ -39,7 +39,7 @@ ,{field: 'specs', align: 'center',title: '瑙勬牸'} // ,{field: 'anfme', align: 'center',title: '鏁伴噺'} // ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'} - ,{field: 'enableQty', align: 'center',title: '寰呭嚭鏁伴噺', style: 'font-weight: bold'} + ,{field: 'enableQty', align: 'center',title: '鎬绘暟閲�', style: 'font-weight: bold'} // ,{field: 'name', align: 'center',title: '鍚嶇О'} // ,{field: 'model', align: 'center',title: '鍨嬪彿'} ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true} @@ -162,9 +162,9 @@ {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'}, {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350}, {field: 'batch', title: '搴忓垪鐮�', align: 'center'}, - { title: '闇�姹傛暟閲�', align: 'center' , width: 90, toolbar: '#checkNeedQty'}, + { title: '鍓╀綑闇�姹傞噺', align: 'center' , width: 120, toolbar: '#checkNeedQty'}, // {field: 'anfme', title: '瀹為檯鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'}, - { title: '瀹為檯鏁伴噺', align: 'center', width: 90, toolbar: '#checkAnfme'}, + { title: '绔嬪簱浣欓噺', align: 'center', width: 90, toolbar: '#checkAnfme'}, {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'}, {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, {type: 'checkbox', merge: ['locNo']}, -- Gitblit v1.9.1