From 5ae3d9f543b045bd05873e6126793d58837d14dd Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 24 十一月 2022 17:17:01 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/OrderDetlMapper.xml                 |    6 +-
 src/main/resources/mapper/OrderMapper.xml                     |    6 +++
 src/main/java/com/zy/asrs/service/OrderService.java           |    3 +
 src/main/java/com/zy/asrs/entity/WaitPakin.java               |    4 ++
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java  |   41 +++++++++-----------
 src/main/java/com/zy/asrs/mapper/OrderMapper.java             |    4 ++
 src/main/resources/mapper/LocDetlMapper.xml                   |    4 +-
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |    7 +++
 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java      |    2 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java   |   13 +++++-
 src/main/resources/application.yml                            |    2 
 src/main/java/com/zy/asrs/controller/WaitPakinController.java |   17 ++++++--
 12 files changed, 73 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WaitPakinController.java b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
index 7d994d8..fdef1c7 100644
--- a/src/main/java/com/zy/asrs/controller/WaitPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
 import com.zy.asrs.service.WaitPakinService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.web.BaseController;
@@ -21,10 +22,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 public class WaitPakinController extends BaseController {
@@ -35,6 +33,8 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private WrkMastService wrkMastService;
+    @Autowired
+    private OrderService orderService;
 
     @RequestMapping(value = "/waitPakin/{id}/auth")
     @ManagerAuth
@@ -97,6 +97,8 @@
         if (Cools.isEmpty(list)){
             return R.error("鏁版嵁涓虹┖");
         }
+        //閫氳繃HashSet鐨勯潪閲嶅鐗规�э紝 瀛樺偍涓嶅悓鐨刼rder缂栧彿锛� 鐒跺悗閬嶅巻锛屽皢绗﹀悎鏉′欢鐨刼rder鐘舵�佹仮澶嶅埌寰呭鐞�
+        HashSet<String> orderNos = new HashSet<>();
         for (WaitPakin entity : list){
             List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("barcode", entity.getZpallet()));
             if(!Cools.isEmpty(wrkMasts) || wrkMasts.size() > 0){
@@ -106,10 +108,17 @@
             //璁㈠崟鍏宠仈锛屼慨鏀硅鍗曚綔涓氭暟閲�
             if (!Cools.isEmpty(entity.getOrderNo())) {
                 if (!orderDetlService.decrease(entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
+
                     return R.error("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+                }else {
+                    orderNos.add(entity.getOrderNo());
                 }
             }
         }
+
+        for (String orderNo : orderNos) {
+            orderService.BackToInit(orderNo);
+        }
         return R.ok();
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakin.java b/src/main/java/com/zy/asrs/entity/WaitPakin.java
index 21a45ed..d46b0ea 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.entity;
 
 import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.core.common.Cools;
 import com.zy.common.utils.Synchro;
@@ -17,6 +18,7 @@
 
     private static final long serialVersionUID = 1L;
 
+    @TableId("zpallet")
     @ApiModelProperty(value= "鎵樼洏鏉$爜")
     private String zpallet;
 
@@ -27,12 +29,14 @@
     @TableField("loc_no")
     private String locNo;
 
+    @TableId("matnr")
     @ApiModelProperty(value= "鍟嗗搧缂栧彿")
     private String matnr;
 
     @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
     private String maktx;
 
+    @TableId("batch")
     @ApiModelProperty(value= "鎵瑰彿")
     private String batch;
 
diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
index ff2f451..298a252 100644
--- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
@@ -19,7 +19,7 @@
     public List<MatParam> matDetails;
 
     @Data
-    public class MatParam{
+    public static class MatParam{
         /**
          * 鍟嗗搧缂栧彿
          */
diff --git a/src/main/java/com/zy/asrs/mapper/OrderMapper.java b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
index 3e1084b..dd72a35 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -17,4 +17,8 @@
     List<Order> selectComplete();
 
     int addToLogTable(Order order);
+
+    Integer checkDetlWorkQtyLess0(@Param("orderNo") String orderNo);
+
+    void updateSettleTo1(@Param("orderNo")String orderNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index f45330d..30aaf0d 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -25,4 +25,7 @@
     List<Order> selectComplete();
 
     boolean addToLogTable(Order order);
+
+    void BackToInit(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 9a0bc7f..c942b02 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -96,6 +96,13 @@
         if (countLoc > 0 || countWrk > 0) {
             throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
         }
+        //璁剧疆闈瀗ull鎵瑰彿锛�
+        for (CombParam.CombMat combMat : param.getCombMats()) {
+            if (combMat.getBatch() == null){
+                combMat.setBatch("");
+            }
+        }
+
 
         Date now = new Date();
 
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 5d8970a..7b91bcb 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -118,7 +118,14 @@
             }
             OrderDetl orderDetl = new OrderDetl();
             orderDetl.sync(mat);
-            orderDetl.setBatch(detlDto.getBatch());
+
+            //鎵瑰彿涓虹┖浼氬嚭鐜伴棶棰橈紝璁剧疆涓�涓粯璁ゅ��
+            if (detlDto.getBatch() == null) {
+                orderDetl.setBatch("");
+            }else {
+                orderDetl.setBatch(detlDto.getBatch());
+
+            }
             orderDetl.setAnfme(detlDto.getAnfme());
             orderDetl.setOrderId(order.getId());
             orderDetl.setOrderNo(order.getOrderNo());
@@ -519,8 +526,8 @@
                 } else {
                     tagId = tagService.getTop().getId();
                 }
-                mat.sync(param);
-//            mat.setMatnr(param.getMatnr());
+                mat.sync(matParam);
+//            mat.setMatnr(para);
 //            mat.setMaktx(param.getMaktx());
 //            mat.setSpecs(param.getSpecs());
 //            mat.setModel(param.getModel());
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 31ac504..977a63a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -71,30 +71,13 @@
             }
         }
         if (complete) {
-            // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏
-            DocType docType = docTypeService.selectById(order.getDocType());
-            if (null != docType && docType.getPakout() == 1) {
-                if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
-                    throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-                }
-                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
-                for (WrkDetl wrkDetl : wrkDetls) {
-                    OrderDetl orderDetl = new OrderDetl();
-                    orderDetl.sync(wrkDetl);
-                    orderDetl.setQty(orderDetl.getAnfme());
-                    orderDetl.setOrderId(order.getId());
-                    orderDetl.setOrderNo(orderNo);
-                    orderDetl.setStatus(1);
-                    orderDetl.setCreateTime(order.getCreateTime());
-                    orderDetl.setCreateBy(order.getCreateBy());
-                    orderDetl.setUpdateTime(order.getUpdateTime());
-                    orderDetl.setUpdateBy(order.getUpdateBy());
-                    if (!orderDetlService.insert(orderDetl)) {
-                        throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-                    }
+            for (OrderDetl orderDetl : orderDetls) {
+                //鐢熸垚鍗曟嵁鍜屽叆搴撻�氱煡妗f椂锛岀粰batch涓虹┖鐨勬槑缁嗚祴浜嗕竴涓� =""锛� 鐜板湪鏀逛负null锛屽洖浼犵敤
+                if (orderDetl.getBatch().equals("")){
+                    orderDetl.setBatch(null);
+                    orderDetlService.updateById(orderDetl);
                 }
             }
-
             if (!this.updateSettle(order.getId(), 4L, null)) {
                 throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�");
             }
@@ -170,4 +153,18 @@
         return this.baseMapper.addToLogTable(order) > 0;
     }
 
+    /**
+     *
+     * @param orderNo
+     *
+     */
+    @Override
+    public void BackToInit(String orderNo) {
+        Integer count = this.baseMapper.checkDetlWorkQtyLess0(orderNo);
+        //濡傛灉鎵�鏈夋槑缁嗙殑宸ヤ綔鏁伴噺鍜屽畬鎴愰噺閮藉皬浜庣瓑浜�0锛� 閭d箞灏嗕富妗f洿鏂颁负鈥滃緟澶勭悊鈥濈姸鎬�
+        if (count == 0 ){
+            this.baseMapper.updateSettleTo1(orderNo);
+        }
+    }
+
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 506af8a..5ff8241 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://192.168.4.15:1433;databasename=stasrs
+    url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs
     username: sa
     password: sa@123
   mvc:
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 0869303..8ed8f84 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -48,11 +48,11 @@
 
     <sql id="batchSeq">
         <choose>
-            <when test="batch != null and batch != ''">
+            <when test="batch != null">
                 and batch = #{batch}
             </when>
             <otherwise>
-                and (batch IS NULL OR batch = '')
+                and (batch IS NULL)
             </otherwise>
         </choose>
     </sql>
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 74ebaf0..86757d2 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -68,7 +68,7 @@
         where 1=1
         and order_no = #{orderNo}
         and matnr = #{matnr}
-        <if test="batch!=null and batch!='' ">
+        <if test="batch!=null">
             and batch = #{batch}
         </if>
     </select>
@@ -148,11 +148,11 @@
         and order_no = #{orderNo}
         and matnr = #{matnr}
         <choose>
-            <when test="batch != null and batch != ''">
+            <when test="batch != null">
                 and batch = #{batch}
             </when>
             <otherwise>
-                and (batch IS NULL OR batch = '')
+                and (batch IS NULL )
             </otherwise>
         </choose>
     </update>
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index db8816d..68b3f59 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -52,6 +52,12 @@
         where 1=1
         and id = #{orderId}
     </update>
+    <update id="updateSettleTo1">
+        UPDATE man_order set settle = 1 WHERE order_no = #{orderNo}
+    </update>
+    <select id="checkDetlWorkQtyLess0" resultType="integer">
+        select count(*) FROM man_order_detl WHERE order_no = #{orderNo} and (work_qty > 0 or qty > 0)
+    </select>
 
     <select id="selectComplete" resultMap="BaseResultMap">
         select top 5 *

--
Gitblit v1.9.1