From ddc6cd417d5e912d5cba297bb7849a1dcf7367be Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期日, 27 四月 2025 11:01:41 +0800 Subject: [PATCH] 获取未完成订单统计信息 --- src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 115 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 83 insertions(+), 32 deletions(-) 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 1c21b16..4fa2fce 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java @@ -2,10 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.core.common.SnowflakeIdWorker; -import com.zy.asrs.entity.WaitPakin; -import com.zy.asrs.entity.WrkDetl; -import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -14,6 +11,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import java.util.Iterator; +import java.util.List; /** * Created by vincent on 2020/7/6 @@ -35,45 +35,67 @@ @Autowired private WaitPakinLogService waitPakinLogService; @Autowired - private SnowflakeIdWorker snowflakeIdWorker; - @Autowired private OrderService orderService; @Autowired - private OrderDetlService orderDetlService; + private WrkMastStaService wrkMastStaService; + @Autowired + private WrkMastStaLogService wrkMastStaLogService; @Transactional public ReturnT<String> start(WrkMast wrkMast) { try { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴� + if (wrkMast.getIoType()<200 && !Cools.isEmpty(wrkDetls)) { + Iterator<WrkDetl> iterator = wrkDetls.iterator(); + while (iterator.hasNext()) { + WrkDetl wrkDetl = iterator.next(); + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + orderService.checkComplete(wrkDetl.getOrderNo()); + iterator.remove(); + } + } + } + // 鍏ュ簱 -------------------------------------------------------------------------------- if (wrkMast.getWrkSts() == 5) { // 鍏ㄦ澘鍏ュ簱 if (wrkMast.getIoType() == 1) { // 鍏ュ簱閫氱煡鍗� - if (!Cools.isEmpty(wrkMast.getBarcode())) { - // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。 - if (!waitPakinLogService.save(wrkMast.getBarcode())) { - exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - // 鍒犻櫎鍏ュ簱閫氱煡妗� - if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) { - exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - } +// if (!Cools.isEmpty(wrkMast.getBarcode())) { +// // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。 +// if (!waitPakinLogService.save(wrkMast.getBarcode())) { +//// exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo()); +// log.error("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={"+wrkMast.getWrkNo()+"}]澶辫触"); +// } +// // 鍒犻櫎鍏ュ簱閫氱煡妗� +// if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) { +//// exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo()); +// log.error("鍒犻櫎鍏ュ簱閫氱煡妗workNo={"+wrkMast.getWrkNo()+"}]澶辫触"); +// } +// } +// // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆� +// if (!Cools.isEmpty(wrkDetls)) { +// if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) { +// exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); +// } +// } // 鎷f枡鍐嶅叆搴� } else if (wrkMast.getIoType() == 53) { - +// if (!Cools.isEmpty(wrkDetls)) { +// if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { +// exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); +// } +// } } // 鍑哄簱 -------------------------------------------------------------------------------- } else if (wrkMast.getWrkSts() == 15) { - - } - - // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴� - for (WrkDetl wrkDetl : wrkDetlService.selectByWrkNo(wrkMast.getWrkNo())) { - if (!Cools.isEmpty(wrkDetl.getOrderNo())) { - orderService.checkComplete(wrkDetl.getOrderNo()); - } +// if (!Cools.isEmpty(wrkDetls)) { +// if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { +// exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); +// } +// } } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� @@ -84,13 +106,42 @@ if (!wrkMastService.deleteById(wrkMast)) { exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", wrkMast.getWrkNo()); } - // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 - if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { -// exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + List<WrkDetl> wrkDetls2 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if ((wrkMast.getIoType()<200 || wrkMast.getWrkSts().equals(57L)) && !Cools.isEmpty(wrkDetls2)){ + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { +// exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={"+wrkMast.getWrkNo()+"}]澶辫触"); + + } + // 鍒犻櫎宸ヤ綔鏄庣粏妗� + if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { +// exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + log.error("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={"+wrkMast.getWrkNo()+"}]澶辫触"); + + } } - // 鍒犻櫎宸ヤ綔鏄庣粏妗� - if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { -// exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + } catch (Exception e) { + log.error("fail", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + return SUCCESS; + } + + @Transactional + public ReturnT<String> start(WrkMastSta wrkMastSta) { + try { + WrkMastStaLog wrkMastStaLog = new WrkMastStaLog(); + wrkMastStaLog.sync(wrkMastSta); + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastStaLogService.insert(wrkMastStaLog)) { + exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMastSta.getWrkNo()); + } + // 鍒犻櫎宸ヤ綔涓绘。 + if (!wrkMastStaService.deleteById(wrkMastSta)) { + exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", wrkMastSta.getWrkNo()); } } catch (Exception e) { log.error("fail", e); -- Gitblit v1.9.1