From 405e94c5d08e89c9bf2bd0820d39ceeaa049211d Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 16 十月 2024 08:11:11 +0800
Subject: [PATCH] 流水记录表

---
 src/main/java/com/zy/asrs/controller/OrderController.java |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 104 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index adfbd0d..06465ac 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -56,6 +56,8 @@
     private MatService matService;
     @Autowired
     private AgvLocDetlService agvLocDetlService;
+    @Autowired
+    private FlowLogService flowLogService;
 
     @GetMapping("/doc/type/list")
     @Transactional
@@ -359,6 +361,7 @@
     @Transactional
     public R formAdd(@RequestBody OrderDomainParam param){
         Order order = orderService.selectByNo(param.getOrderNo());
+        long flowId = snowflakeIdWorker.nextId();
         if (order != null) {
             return R.error("鍗曟嵁缂栧彿宸插瓨鍦�");
         }
@@ -417,9 +420,29 @@
             DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
             if (DetlDto.has(list, dto)) {
                 OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
+                Double anfme = item.getAnfme();
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+                // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+                FlowLog flowLog = new FlowLog();
+                flowLog.setFid(String.valueOf(flowId));
+                flowLog.setOpType(2L);
+                flowLog.setOrderNo(param.getOrderNo());
+                flowLog.setThreeCode(orderDetl.getThreeCode());
+                flowLog.setMatnr(orderDetl.getMatnr());
+                flowLog.setMaktx(orderDetl.getMaktx());
+                flowLog.setOrderPrevious(anfme);
+                flowLog.setOrderCurrent(anfme + orderDetl.getAnfme());
+                flowLog.setOrderChanged(orderDetl.getAnfme());
+                flowLog.setQtyPrevious(orderDetl.getQty());
+                flowLog.setQtyCurrent(orderDetl.getQty());
+                flowLog.setQtyChanged(0.0D);
+                flowLog.setUserId(getUserId());
+                flowLog.setAppeTime(now);
+                if (!flowLogService.insert(flowLog)) {
+                    throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
                 }
             } else {
                 list.add(dto);
@@ -434,6 +457,25 @@
                 orderDetl.setQty(0.0D);
                 if (!orderDetlService.insert(orderDetl)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+                // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+                FlowLog flowLog = new FlowLog();
+                flowLog.setFid(String.valueOf(flowId));
+                flowLog.setOpType(1L);
+                flowLog.setOrderNo(param.getOrderNo());
+                flowLog.setThreeCode(orderDetl.getThreeCode());
+                flowLog.setMatnr(orderDetl.getMatnr());
+                flowLog.setMaktx(orderDetl.getMaktx());
+                flowLog.setOrderPrevious(0.0D);
+                flowLog.setOrderCurrent(orderDetl.getAnfme());
+                flowLog.setOrderChanged(orderDetl.getAnfme());
+                flowLog.setQtyPrevious(0.0D);
+                flowLog.setQtyCurrent(0.0D);
+                flowLog.setQtyChanged(0.0D);
+                flowLog.setUserId(getUserId());
+                flowLog.setAppeTime(now);
+                if (!flowLogService.insert(flowLog)) {
+                    throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
                 }
             }
         }
@@ -570,11 +612,33 @@
                         if (!orderDetlService.insert(orderDetl)) {
                             throw new CoolException("鐢熸垚鍗婃垚鍝佽皟鎷ㄥ崟鏄庣粏妗eけ璐�");
                         }
+                        // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+                        FlowLog flowLog = new FlowLog();
+                        flowLog.setFid(String.valueOf(flowId));
+                        flowLog.setOpType(1L);
+                        flowLog.setOrderNo(param.getOrderNo());
+                        flowLog.setThreeCode(orderDetl.getThreeCode());
+                        flowLog.setMatnr(orderDetl.getMatnr());
+                        flowLog.setMaktx(orderDetl.getMaktx());
+                        flowLog.setOrderPrevious(0.0D);
+                        flowLog.setOrderCurrent(orderDetl.getAnfme());
+                        flowLog.setOrderChanged(orderDetl.getAnfme());
+                        flowLog.setQtyPrevious(0.0D);
+                        flowLog.setQtyCurrent(0.0D);
+                        flowLog.setQtyChanged(0.0D);
+                        flowLog.setUserId(getUserId());
+                        flowLog.setAppeTime(now);
+                        if (!flowLogService.insert(flowLog)) {
+                            throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+                        }
+
                     }
+
                 }
 
             }
         }
+
         return R.ok("璁㈠崟娣诲姞鎴愬姛");
     }
 
@@ -583,6 +647,7 @@
     @Transactional
     public R formModify(@RequestBody OrderDomainParam param){
         Order order = orderService.selectById(param.getOrderId());
+        long flowId = snowflakeIdWorker.nextId();
         int docType = param.getDocType().intValue();
         if (order == null || order.getStatus() == 0) {
             return R.error("璁㈠崟涓嶅瓨鍦�");
@@ -610,9 +675,29 @@
             DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getAnfme(), orderDetl.getProcessSts());
             if (DetlDto.has(list, dto)) {
                 OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
+                Double anfme = item.getAnfme();
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+                // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+                FlowLog flowLog = new FlowLog();
+                flowLog.setFid(String.valueOf(flowId));
+                flowLog.setOpType(2L);
+                flowLog.setOrderNo(param.getOrderNo());
+                flowLog.setThreeCode(orderDetl.getThreeCode());
+                flowLog.setMatnr(orderDetl.getMatnr());
+                flowLog.setMaktx(orderDetl.getMaktx());
+                flowLog.setOrderPrevious(anfme);
+                flowLog.setOrderCurrent(anfme + orderDetl.getAnfme());
+                flowLog.setOrderChanged(orderDetl.getAnfme());
+                flowLog.setQtyPrevious(orderDetl.getQty());
+                flowLog.setQtyCurrent(orderDetl.getQty());
+                flowLog.setQtyChanged(0.0D);
+                flowLog.setUserId(getUserId());
+                flowLog.setAppeTime(now);
+                if (!flowLogService.insert(flowLog)) {
+                    throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
                 }
             } else {
                 if (docType == 35 && orderDetl.getProcessSts() == 1) {
@@ -638,6 +723,25 @@
                 if (!orderDetlService.insert(orderDetl)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
                 }
+                // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+                FlowLog flowLog = new FlowLog();
+                flowLog.setFid(String.valueOf(flowId));
+                flowLog.setOpType(2L);
+                flowLog.setOrderNo(param.getOrderNo());
+                flowLog.setThreeCode(orderDetl.getThreeCode());
+                flowLog.setMatnr(orderDetl.getMatnr());
+                flowLog.setMaktx(orderDetl.getMaktx());
+                flowLog.setOrderPrevious(0.0D);
+                flowLog.setOrderCurrent(orderDetl.getAnfme());
+                flowLog.setOrderChanged(orderDetl.getAnfme());
+                flowLog.setQtyPrevious(orderDetl.getQty());
+                flowLog.setQtyCurrent(orderDetl.getQty());
+                flowLog.setQtyChanged(0.0D);
+                flowLog.setUserId(getUserId());
+                flowLog.setAppeTime(now);
+                if (!flowLogService.insert(flowLog)) {
+                    throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+                }
             }
         }
         return R.ok("璁㈠崟淇敼鎴愬姛");

--
Gitblit v1.9.1