From 7658be06a4f6ed1ed24c41d7c5a2f0602ffbe660 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 21 十二月 2024 14:59:14 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/OrderDetlPakout.java          |    2 
 src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicleLog.java |    4 
 src/main/java/com/zy/asrs/entity/OrderDetl.java                |    2 
 src/main/java/com/zy/asrs/controller/OpenController.java       |    4 
 src/main/java/com/zy/asrs/entity/OrderDetlPakin.java           |    2 
 src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicle.java    |    4 
 src/main/java/com/zy/common/model/DetlDto.java                 |   61 ++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java    |   57 +++++++++++--------
 src/main/java/com/zy/asrs/entity/AutoMove.java                 |    4 
 9 files changed, 105 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 28c0cba..cf545f3 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -90,7 +90,7 @@
     /**
      * 鍏ュ簱鍗曞洖鍐�
      */
-    @PostMapping("/order/pakin/complete/default/v1")
+//    @PostMapping("/order/pakin/complete/default/v1")
     public synchronized R orderPakinComplete(@RequestHeader(required = false) String appkey,
                                              @RequestBody(required = false) OpenOrderCompleteParam param,
                                              HttpServletRequest request) {
@@ -126,7 +126,7 @@
     /**
      * 鍑哄簱鍗曞洖鍐�
      */
-    @PostMapping("/order/pakout/complete/default/v1")
+//    @PostMapping("/order/pakout/complete/default/v1")
     public synchronized R orderPakoutComplete(@RequestHeader(required = false) String appkey,
                                               @RequestBody(required = false) OpenOrderCompleteParam param,
                                               HttpServletRequest request) {
diff --git a/src/main/java/com/zy/asrs/entity/AutoMove.java b/src/main/java/com/zy/asrs/entity/AutoMove.java
index 3b81f79..bd8efbb 100644
--- a/src/main/java/com/zy/asrs/entity/AutoMove.java
+++ b/src/main/java/com/zy/asrs/entity/AutoMove.java
@@ -35,7 +35,7 @@
 
     @ApiModelProperty(value= "")
     @TableField("line_number")
-    private Integer lineNumber;
+    private Long lineNumber;
 
     @ApiModelProperty(value= "")
     @TableField("loc_no")
@@ -64,7 +64,7 @@
 
     public AutoMove() {}
 
-    public AutoMove(Short status,Integer lineNumber,String locNo,Integer rowPriority,String orderNo,Date createTime,Date updateTime,Integer uuid) {
+    public AutoMove(Short status,Long lineNumber,String locNo,Integer rowPriority,String orderNo,Date createTime,Date updateTime,Integer uuid) {
         this.status = status;
         this.lineNumber = lineNumber;
         this.locNo = locNo;
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index c463eba..e17cb96 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -308,7 +308,7 @@
      */
     @ApiModelProperty(value= "琛屽彿")
     @TableField("line_number")
-    private Integer lineNumber;
+    private Long lineNumber;
 
     /**
      * 澶囩敤1
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
index 13d9e75..6f184de 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
@@ -308,7 +308,7 @@
      */
     @ApiModelProperty(value= "琛屽彿")
     @TableField("line_number")
-    private Integer lineNumber;
+    private Long lineNumber;
 
     /**
      * 澶囩敤1
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java b/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
index 95304a4..f59ffb1 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
@@ -308,7 +308,7 @@
      */
     @ApiModelProperty(value= "琛屽彿")
     @TableField("line_number")
-    private Integer lineNumber;
+    private Long lineNumber;
 
     /**
      * 澶囩敤1
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicle.java b/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicle.java
index c4b1632..a4d26c3 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicle.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicle.java
@@ -98,7 +98,7 @@
      */
     @ApiModelProperty(value= "琛屽彿")
     @TableField("line_number")
-    private Integer lineNumber;
+    private Long lineNumber;
 
     /**
      * 宸ヤ綔绫诲瀷  绫诲瀷  1:鍏ュ簱  2锛氬嚭搴�
@@ -121,7 +121,7 @@
 
     public WrkMastFourWarVehicle() {}
 
-    public WrkMastFourWarVehicle(Long wrkNo,Integer wrkStart,Integer wrkEnd,Integer staStart,Integer staEnd,Date createTime,Date updateTime,Integer type,Integer wrkSts,Integer lineNumber,Integer wrkType,Date bignTime,Integer wrkCrn) {
+    public WrkMastFourWarVehicle(Long wrkNo,Integer wrkStart,Integer wrkEnd,Integer staStart,Integer staEnd,Date createTime,Date updateTime,Integer type,Integer wrkSts,Long lineNumber,Integer wrkType,Date bignTime,Integer wrkCrn) {
         this.wrkNo = wrkNo;
         this.wrkStart = wrkStart;
         this.wrkEnd = wrkEnd;
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicleLog.java b/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicleLog.java
index c1b60ec..8584d59 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicleLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastFourWarVehicleLog.java
@@ -98,7 +98,7 @@
      */
     @ApiModelProperty(value= "琛屽彿")
     @TableField("line_number")
-    private Integer lineNumber;
+    private Long lineNumber;
 
     /**
      * 宸ヤ綔绫诲瀷  绫诲瀷  1:鍏ュ簱  2锛氬嚭搴�
@@ -121,7 +121,7 @@
 
     public WrkMastFourWarVehicleLog() {}
 
-    public WrkMastFourWarVehicleLog(Long wrkNo,Integer wrkStart,Integer wrkEnd,Integer staStart,Integer staEnd,Date createTime,Date updateTime,Integer type,Integer wrkSts,Integer lineNumber,Integer wrkType,Date bignTime,Integer wrkCrn) {
+    public WrkMastFourWarVehicleLog(Long wrkNo,Integer wrkStart,Integer wrkEnd,Integer staStart,Integer staEnd,Date createTime,Date updateTime,Integer type,Integer wrkSts,Long lineNumber,Integer wrkType,Date bignTime,Integer wrkCrn) {
         this.wrkNo = wrkNo;
         this.wrkStart = wrkStart;
         this.wrkEnd = wrkEnd;
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 50da2d4..9fd8dff 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -53,13 +53,14 @@
     @Override
     @Transactional
     public void pakinOrderCreate(OpenOrderPakinParam param) {
-
-        OrderInAndOutUtil.query(Boolean.TRUE,param.getOrderNo());
-
+        Order order = orderService.selectByNo(param.getOrderNo());
+        if (!Cools.isEmpty(order)) {
+            throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
+        }
         DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE);
         Date now = new Date();
         // 鍗曟嵁涓绘。
-        Order order = new Order(
+        order = new Order(
                 String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
                 param.getOrderNo(),    // 璁㈠崟缂栧彿
                 DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
@@ -95,16 +96,16 @@
                 now,    // 淇敼鏃堕棿
                 null    // 澶囨敞
         );
-
-        OrderInAndOutUtil.insertOrder(Boolean.TRUE,order);
-
+        if (!orderService.insert(order)) {
+            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+        }
         // 鍗曟嵁鏄庣粏妗�
         List<DetlDto> list = new ArrayList<>();
         List<DetlDto> orderDetails = param.getOrderDetails();
         for (DetlDto detail : orderDetails) {
-            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(), detail.getAnfme());
+            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(), detail.getAnfme());
             if (DetlDto.has(list, dto)) {
-                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3());
+                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber());
                 assert detlDto != null;
                 detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
             } else {
@@ -118,8 +119,13 @@
             }
             OrderDetl orderDetl = new OrderDetl();
             orderDetl.sync(mat);
+            orderDetl.setLineNumber(detlDto.getLineNumber());
             orderDetl.setBatch(detlDto.getBatch());
             orderDetl.setAnfme(detlDto.getAnfme());
+            orderDetl.setBrand(detlDto.getBrand());
+            orderDetl.setStandby1(detlDto.getStandby1());
+            orderDetl.setStandby2(detlDto.getStandby2());
+            orderDetl.setStandby3(detlDto.getStandby3());
             orderDetl.setOrderId(order.getId());
             orderDetl.setOrderNo(order.getOrderNo());
             orderDetl.setCreateBy(9527L);
@@ -128,7 +134,9 @@
             orderDetl.setUpdateTime(now);
             orderDetl.setStatus(1);
             orderDetl.setQty(0.0D);
-            OrderInAndOutUtil.insertOrderDetl(Boolean.TRUE,order,orderDetl);
+            if (!orderDetlService.insert(orderDetl)) {
+                throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+            }
         }
     }
 
@@ -194,15 +202,13 @@
     @Override
     @Transactional
     public void pakoutOrderCreate(OpenOrderPakoutParam param) {
-//        Order order = orderService.selectByNo(param.getOrderNo());
-        Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderNo());
+        Order order = orderService.selectByNo(param.getOrderNo());
         // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹�
         if (!Cools.isEmpty(order)) {
             if (order.getSettle() > 1L) {
                 throw new CoolException(param.getOrderNo() + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�");
             }
-//            orderService.remove(order.getId());
-            OrderInAndOutUtil.remove(Boolean.FALSE,order.getId());
+            orderService.remove(order.getId());
         }
         DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE);
         Date now = new Date();
@@ -243,17 +249,16 @@
                 now,    // 淇敼鏃堕棿
                 null    // 澶囨敞
         );
-//        if (!orderService.insert(order)) {
-//            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
-//        }
-        OrderInAndOutUtil.insertOrder(Boolean.FALSE,order);
+        if (!orderService.insert(order)) {
+            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+        }
         // 鍗曟嵁鏄庣粏妗�
         List<DetlDto> list = new ArrayList<>();
         List<DetlDto> orderDetails = param.getOrderDetails();
         for (DetlDto detail : orderDetails) {
-            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(), detail.getAnfme());
+            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(), detail.getAnfme());
             if (DetlDto.has(list, dto)) {
-                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3());
+                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber());
                 assert detlDto != null;
                 detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
             } else {
@@ -267,8 +272,13 @@
             }
             OrderDetl orderDetl = new OrderDetl();
             orderDetl.sync(mat);
+            orderDetl.setLineNumber(detlDto.getLineNumber());
             orderDetl.setBatch(detlDto.getBatch());
             orderDetl.setAnfme(detlDto.getAnfme());
+            orderDetl.setBrand(detlDto.getBrand());
+            orderDetl.setStandby1(detlDto.getStandby1());
+            orderDetl.setStandby2(detlDto.getStandby2());
+            orderDetl.setStandby3(detlDto.getStandby3());
             orderDetl.setOrderId(order.getId());
             orderDetl.setOrderNo(order.getOrderNo());
             orderDetl.setCreateBy(9527L);
@@ -277,10 +287,9 @@
             orderDetl.setUpdateTime(now);
             orderDetl.setStatus(1);
             orderDetl.setQty(0.0D);
-//            if (!orderDetlService.insert(orderDetl)) {
-//                throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
-//            }
-            OrderInAndOutUtil.insertOrderDetl(Boolean.FALSE,order,orderDetl);
+            if (!orderDetlService.insert(orderDetl)) {
+                throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+            }
         }
     }
 
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 7e719d2..580927b 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -24,10 +24,22 @@
     private String standby1 = "";
     private String standby2 = "";
     private String standby3 = "";
+    private Long lineNumber = 1L;
 
     private Double anfme;
 
     public DetlDto() {
+    }
+
+    public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3, Long lineNumber, Double anfme) {
+        this.matnr = matnr;
+        this.batch = batch;
+        this.brand = brand;
+        this.standby1 = standby1;
+        this.standby2 = standby2;
+        this.standby3 = standby3;
+        this.lineNumber = lineNumber;
+        this.anfme = anfme;
     }
 
     public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3, Double anfme) {
@@ -38,6 +50,16 @@
         this.standby2 = standby2;
         this.standby3 = standby3;
         this.anfme = anfme;
+    }
+
+    public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3, Long lineNumber) {
+        this.matnr = matnr;
+        this.batch = batch;
+        this.brand = brand;
+        this.standby1 = standby1;
+        this.standby2 = standby2;
+        this.standby3 = standby3;
+        this.lineNumber = lineNumber;
     }
 
     public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3) {
@@ -95,6 +117,30 @@
         return false;
     }
 
+    public static boolean hasListLineNumber(Set<DetlDto> detlDtos, OrderDetl orderDetl) {
+        for (DetlDto dto : detlDtos) {
+//            if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(orderDetl.getBatch())) {
+//                if (dto.getMatnr().equals(orderDetl.getMatnr())) {
+//                    return true;
+//                }
+//            } else
+//            {
+//                if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(orderDetl.getBatch())) {
+//                    if (dto.getMatnr().equals(orderDetl.getMatnr()) && dto.getBatch().equals(orderDetl.getBatch())) {
+//                        return true;
+//                    }
+            if (dto.getMatnr().equals(orderDetl.getMatnr()) && Cools.eq(dto.getBatch(), orderDetl.getBatch())
+                    && Cools.eq(dto.getBrand(), orderDetl.getBrand()) && Cools.eq(dto.getStandby1(), orderDetl.getStandby1())
+                    && Cools.eq(dto.getStandby2(), orderDetl.getStandby2()) && Cools.eq(dto.getStandby3(), orderDetl.getStandby3())
+                    && dto.getLineNumber().equals(orderDetl.getLineNumber())) {
+                return true;
+            }
+//                }
+//            }
+        }
+        return false;
+    }
+
     public static boolean hasList(Set<DetlDto> detlDtos, OrderDetlPakin orderDetl) {
         for (DetlDto dto : detlDtos) {
             if (dto.getMatnr().equals(orderDetl.getMatnr()) && Cools.eq(dto.getBatch(), orderDetl.getBatch())
@@ -142,6 +188,21 @@
         return null;
     }
 
+    public static DetlDto findLineNumber(List<DetlDto> detlDtos, String matnr, String batch, String brand, String standby1, String standby2, String standby3,Long lineNumber) {
+        if (Cools.isEmpty(matnr)) {
+            return null;
+        }
+        for (DetlDto detlDto : detlDtos) {
+            if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())
+                    && brand.equals(detlDto.getBrand()) && standby1.equals(detlDto.getStandby1())
+                    && standby2.equals(detlDto.getStandby2()) && standby3.equals(detlDto.getStandby3())
+                    && lineNumber.equals(detlDto.getLineNumber())) {
+                return detlDto;
+            }
+        }
+        return null;
+    }
+
     public static DetlDto findDto(List<DetlDto> detlDtos,DetlDto detlDtoB) {
         if (Cools.isEmpty(detlDtoB)) {
             return null;

--
Gitblit v1.9.1