From b20f26652b83b3cee96451f61b3092e53c1b3d55 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 14 八月 2024 20:34:50 +0800
Subject: [PATCH] 合格品校验

---
 src/main/java/com/zy/asrs/controller/OpenController.java    |   11 +++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   27 +++++++++++++
 src/main/java/com/zy/asrs/entity/param/ProdCheckParam.java  |   32 ++++++++++++++++
 src/main/java/com/zy/asrs/service/OpenService.java          |    5 ++
 4 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 7668e3d..ce79924 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -14,6 +14,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Created by vincent on 2022/4/8
@@ -103,6 +104,16 @@
         return R.ok();
     }
 
+    @PostMapping("/prodCheck")
+    @AppAuth(memo = "浜у搧鍚堟牸鏍¢獙,EMS璋冪敤")
+    public synchronized R prodCheck(@RequestHeader(required = false) String appkey,
+                                    @RequestBody List<ProdCheckParam> param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+        openService.prodCheck(param);
+        return R.ok();
+    }
+
     /*@PostMapping("/order/matSync/default/v1")
     @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
     public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
diff --git a/src/main/java/com/zy/asrs/entity/param/ProdCheckParam.java b/src/main/java/com/zy/asrs/entity/param/ProdCheckParam.java
new file mode 100644
index 0000000..9682c63
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ProdCheckParam.java
@@ -0,0 +1,32 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+/**
+ * @author pang.jiabao
+ * @description 浜у搧鏍¢獙鍏ュ弬
+ * @createDate 2024/8/14 19:50
+ */
+@Data
+public class ProdCheckParam {
+
+    /**
+     * 鍖呰缁勫彿
+     */
+    private String packageGroupNo;
+
+    /**
+     * 鍗峰彿
+     */
+    private String rollNo;
+
+    /**
+     * 绠卞彿
+     */
+    private String boxNo;
+
+    /**
+     * 鍚堟牸 鏄�/鍚�
+     */
+    private String qualified;
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index b475781..416c52b 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -98,4 +98,9 @@
 
 
     void updateBarcode();
+
+    /**
+     * 浜у搧鍚堟牸鏍¢獙
+     */
+    void prodCheck(List<ProdCheckParam> param);
 }
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 f931c8d..e8c0951 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -998,6 +998,33 @@
 
     @Override
     @Transactional
+    public void prodCheck(List<ProdCheckParam> param) {
+        if (param.isEmpty()) {
+            throw new CoolException("璇锋眰鍙傛暟涓嶈兘涓虹┖");
+        }
+        for (ProdCheckParam checkParam : param) {
+            // 鏇存柊搴撳瓨鏄庣粏鏄惁鍚堟牸
+            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("brand", checkParam.getPackageGroupNo())
+                    .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
+            // 鏇存柊鍟嗗搧琛ㄦ槸鍚﹀悎鏍�
+            Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("brand", checkParam.getPackageGroupNo())
+                    .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
+            if (locDetl == null || mat == null) {
+                throw new CoolException("鏇存柊鏄惁鍚堟牸鐗╂枡涓嶅瓨鍦細" + checkParam);
+            }
+
+            locDetl.setThreeCode(checkParam.getQualified());
+            mat.setThreeCode(checkParam.getQualified());
+
+            locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("brand", checkParam.getPackageGroupNo())
+                    .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
+            matService.update(mat,(new EntityWrapper<Mat>().eq("brand", checkParam.getPackageGroupNo())
+                    .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo())));
+        }
+    }
+
+    @Override
+    @Transactional
     public R gwmsGenerateInventory(GwmsGenerateInventoryDto param) {
 
         if (Cools.isEmpty(param)) {

--
Gitblit v1.9.1