From 00a880b7a1f31795967d79c87674ac4c42f7558f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 12 七月 2022 15:30:16 +0800 Subject: [PATCH] # --- src/main/resources/mapper/WrkDetlMapper.xml | 11 +++++++++-- src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 2 +- src/main/resources/mapper/LocDetlMapper.xml | 2 +- src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 14 ++++++++++---- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index 2f34254..97779cc 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -70,7 +70,7 @@ break; } } - if (complete) { + if (complete && wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) == 0) { // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏 DocType docType = docTypeService.selectById(order.getDocType()); if (null != docType && docType.getPakout() == 1) { diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java index 83306ca..194a274 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java @@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -44,13 +45,14 @@ public ReturnT<String> start(WrkMast wrkMast) { try { List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); - // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴� + // 鍖哄垎璁㈠崟浠诲姟 + List<WrkDetl> wrkDetlsKeyOrder = new ArrayList<>(); if (!Cools.isEmpty(wrkDetls)) { Iterator<WrkDetl> iterator = wrkDetls.iterator(); while (iterator.hasNext()) { WrkDetl wrkDetl = iterator.next(); if (!Cools.isEmpty(wrkDetl.getOrderNo())) { - orderService.checkComplete(wrkDetl.getOrderNo()); + wrkDetlsKeyOrder.add(wrkDetl); iterator.remove(); } } @@ -77,7 +79,7 @@ exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); } } - // 鎷f枡鍐嶅叆搴� + // 鎷f枡鍐嶅叆搴� } else if (wrkMast.getIoType() == 53) { if (!Cools.isEmpty(wrkDetls)) { if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { @@ -86,7 +88,7 @@ } } - // 鍑哄簱 -------------------------------------------------------------------------------- + // 鍑哄簱 -------------------------------------------------------------------------------- } else if (wrkMast.getWrkSts() == 15) { if (!Cools.isEmpty(wrkDetls)) { if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { @@ -111,6 +113,10 @@ if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { // exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo()); } + // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴� + for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { + orderService.checkComplete(wrkDetl.getOrderNo()); + } } catch (Exception e) { log.error("fail", e); e.printStackTrace(); diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml index d04d579..78a0115 100644 --- a/src/main/resources/mapper/LocDetlMapper.xml +++ b/src/main/resources/mapper/LocDetlMapper.xml @@ -224,7 +224,7 @@ order by DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme desc, - loc_no, + a.loc_no, case when (left(a.loc_no, 2) = '01') then 0 when (left(a.loc_no, 2) = '02') then 1 diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index 225f31e..e0b536c 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -82,9 +82,16 @@ </update> <select id="selectAndLogByOrderNo" resultMap="BaseResultMap"> - select * from asr_wrk_detl where order_no = #{orderNo} + select awd.* + from asr_wrk_detl awd + left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time + where order_no = #{orderNo} union - select * from asr_wrk_detl_log where order_no = #{orderNo} + select distinct awdl.* + from asr_wrk_detl_log awdl + left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time + where awdl.order_no = #{orderNo} + and awml.manu_type != '鎵嬪姩鍙栨秷' </select> <update id="updateInspect"> -- Gitblit v1.9.1