From 58d1a051b0d8f523901469947900dea5af8b97dd Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 15 九月 2023 16:47:48 +0800
Subject: [PATCH] #PDA接口

---
 src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java |   12 ++
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java        |  103 ++++++++++++++++++++++++-
 src/main/java/com/zy/asrs/controller/MobileController.java           |   70 ++++++++++++++++
 src/main/java/com/zy/asrs/entity/param/TrussCombParam.java           |   41 ++++++++++
 src/main/java/com/zy/asrs/service/MobileService.java                 |    6 
 5 files changed, 221 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 9d2c9e5..cd34e8e 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -9,9 +9,7 @@
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.MobileAdjustResult;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
@@ -54,6 +52,8 @@
     private PackService packService;
     @Autowired
     private ManLocDetlMapper manLocDetlMapper;
+    @Autowired
+    private WrkDetlLogService wrkDetlLogService;
 
 
     // 鍟嗗搧涓婃灦
@@ -144,6 +144,70 @@
         return R.ok().add(combParams);
     }
 
+    @RequestMapping("/wrkDetl/search/batch/auth")
+    @ManagerAuth
+    public R wrkDetlSearchByBatch(@RequestBody String batch){
+        if (Cools.isEmpty(batch)){
+            return R.error("鍙傛暟涓虹┖");
+        }
+//        List<Order> orders = orderService.selectorderNoL(batch);
+        WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("batch", batch));
+        if (Cools.isEmpty(wrkDetl)){
+            WrkDetlLog wrkDetlLog = wrkDetlLogService.selectOne(new EntityWrapper<WrkDetlLog>().eq("batch", batch));
+            if (Cools.isEmpty(wrkDetlLog)){
+                return R.error("鏈煡鍒版暟鎹�");
+            }
+            wrkDetl = new WrkDetl();
+            wrkDetl.sync(wrkDetlLog);
+            wrkDetl.setBatch(wrkDetlLog.getBatch());
+            wrkDetl.setBarcode(wrkDetlLog.getBarcode());
+            wrkDetl.setDeadTime(wrkDetlLog.getDeadTime());
+        }
+        if (Cools.isEmpty(wrkDetl)){
+            return R.error("鏈煡鍒版暟鎹�");
+        }
+        return R.ok().add(wrkDetl);
+    }
+
+    @RequestMapping("/order/search/batch/auth")
+    @ManagerAuth
+    public R orderSearchByBatch(@RequestBody String batch){
+        if (Cools.isEmpty(batch)){
+            return R.error("鍙傛暟涓虹┖");
+        }
+//        List<Order> orders = orderService.selectorderNoL(batch);
+        WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("batch", batch));
+        if (Cools.isEmpty(wrkDetl)){
+            WrkDetlLog wrkDetlLog = wrkDetlLogService.selectOne(new EntityWrapper<WrkDetlLog>().eq("batch", batch));
+            if (Cools.isEmpty(wrkDetlLog)){
+                return R.error("鏈煡鍒版暟鎹�");
+            }
+            wrkDetl = new WrkDetl();
+            wrkDetl.sync(wrkDetlLog);
+            wrkDetl.setBatch(wrkDetlLog.getBatch());
+            wrkDetl.setBarcode(wrkDetlLog.getBarcode());
+            wrkDetl.setDeadTime(wrkDetlLog.getDeadTime());
+        }
+        if (Cools.isEmpty(wrkDetl)){
+            return R.error("鏈煡鍒版暟鎹�");
+        }
+        return R.ok();
+    }
+
+    @RequestMapping("/truss/auth")
+    @ManagerAuth(memo = "閫�搴�")
+    public R trussComb(@RequestBody TrussCombParam combParam){
+        mobileService.trussComb(combParam, getUserId());
+        return R.ok("缁勬墭鎴愬姛");
+    }
+
+    @RequestMapping("/truss/comd/auth")
+    @ManagerAuth(memo = "鎵嬪姩鍏ュ簱")
+    public R trussComb2(@RequestBody PalletizingCompleteParam combParam){
+        mobileService.trussComb2(combParam, getUserId());
+        return R.ok("缁勬墭鎴愬姛");
+    }
+
     @RequestMapping("/comb/auth")
     @ManagerAuth(memo = "缁勬墭")
     public R comb(@RequestBody CombParam combParam){
diff --git a/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java
index df3a2e8..14b5e2a 100644
--- a/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/PalletizingCompleteParam.java
@@ -12,7 +12,7 @@
 
     private String barcode;//	鏄�	瀛楃涓�	鎵樼洏鐮�
     private String palletizingNo;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
-    private String boxType;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
+    private String boxType;//	鏄�	瀛楃涓�	鏈ㄧ绫诲瀷
     private String createTime;//	鏄�	瀛楃涓�	鍒涘缓鏃堕棿
 
     private List<MatList> matLists;//		鏄�	鍒楄〃	鎷嗗灈璐х墿淇℃伅锛�2绠憋紝灏剧鍙兘1绠憋級
@@ -27,6 +27,16 @@
         private Integer anfme;//	鏄�	鏁板瓧鍨�	鏈ㄧ涓摐绠旀暟閲�
         private String batch;//	(鏄惁鍒嗘壒)	瀛楃涓�	鎵规鍙�
         private String specs;//	(鏄惁闇�瑕侊級	瀛楃涓�	瑙勬牸
+        private List<MatDetlList> matDetlList;//		鏄�	鍒楄〃	鏈ㄧ涓摐绠斾俊鎭�
+    }
+
+    @Data
+    public static class MatDetlList{
+        private String boxNoDetl;//	鏄�	瀛楃涓�	閾滅當缂栧彿锛堝敮涓�瀛楁锛�
+        private String positionDetl;//	鏄�	瀛楃涓�	閾滅當浣嶇疆锛堟媶鍨涙椂闇�瑕侊級
+        private Double weightDetl;//	鏄�	灏忔暟鍨�	閲嶉噺
+        private String batchDetl;//	(鏄惁鍒嗘壒)	瀛楃涓�	鎵规鍙�
+        private String specsDetl;//	(鏄惁闇�瑕侊級	瀛楃涓�	瑙勬牸
     }
 
     public Integer getDevNo$(){
diff --git a/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
new file mode 100644
index 0000000..9fda3b3
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
@@ -0,0 +1,41 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/6/28
+ */
+@Data
+public class TrussCombParam {
+
+    private String barcode;//		瀛楃涓�	鎵樼洏鐮�
+    private String palletizingNo;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
+    private String boxType;//	鏄�	瀛楃涓�	鏈ㄧ绫诲瀷
+    private String createTime;//		瀛楃涓�	鍒涘缓鏃堕棿
+
+    private List<MatList> matLists;//		鏄�	鍒楄〃	鎷嗗灈璐х墿淇℃伅锛�2绠憋紝灏剧鍙兘1绠憋級
+
+    @Data
+    public static class MatList{
+        private String matnr;//	鏄�	瀛楃涓�	鐗╂枡缂栫爜
+        private String maktx;//		瀛楃涓�	鐗╂枡鍚嶇О
+        private String boxNo;//	鏄�	瀛楃涓�	鏈ㄧ缂栧彿锛堝敮涓�瀛楁锛屽嚭搴撲緷鎹紝鍑哄簱鏃舵寜鐓ф湪绠辩紪鍙峰嚭搴擄級
+        private String position;//	鏄�	瀛楃涓�	鏈ㄧ浣嶇疆锛堟媶鍨涙椂闇�瑕侊級
+        private Double weight;//	鏄�	灏忔暟鍨�	閲嶉噺
+        private Integer anfme;//		鏁板瓧鍨�	鏈ㄧ涓摐绠旀暟閲�
+        private String batch;//		瀛楃涓�	鎵规鍙�
+        private String specs;//		瀛楃涓�	瑙勬牸
+        private List<MatDetlList> matDetlList;//		鏄�	鍒楄〃	鏈ㄧ涓摐绠斾俊鎭�
+    }
+
+    @Data
+    public static class MatDetlList{
+        private String boxNoDetl;//	鏄�	瀛楃涓�	閾滅當缂栧彿锛堝敮涓�瀛楁锛�
+        private String positionDetl;//	鏄�	瀛楃涓�	閾滅當浣嶇疆锛堟媶鍨涙椂闇�瑕侊級
+        private Double weightDetl;//	鏄�	灏忔暟鍨�	閲嶉噺
+        private String batchDetl;//		瀛楃涓�	鎵规鍙�
+        private String specsDetl;//		瀛楃涓�	瑙勬牸
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 6172647..26b564a 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -4,9 +4,7 @@
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
+import com.zy.asrs.entity.param.*;
 
 import java.util.Date;
 
@@ -16,6 +14,8 @@
      * 缁勬墭
      */
     void comb(CombParam param, Long userId);
+    void trussComb(TrussCombParam param, Long userId);
+    void trussComb2(PalletizingCompleteParam param, Long userId);
 
     /**
      * 涓婃灦
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 e1d63a8..ff3bf4a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -7,10 +7,7 @@
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
@@ -81,6 +78,104 @@
 
     @Override
     @Transactional
+    public void trussComb(TrussCombParam param, Long userId) {
+//        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
+//            throw new CoolException(BaseRes.PARAM);
+//        }
+    }
+    @Override
+    @Transactional
+    public void trussComb2(PalletizingCompleteParam param, Long userId) {
+        //鍒ゆ柇param鍙傛暟
+        if (Cools.isEmpty(param.getBarcode())){
+            throw new CoolException("鍙傛暟锛氭墭鐩樼爜 barcode涓虹┖");
+        }else if (Cools.isEmpty(param.getPalletizingNo())){
+            throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
+        }else if (Cools.isEmpty(param.getBoxType())){
+            throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
+        }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()==0){
+            throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
+        }
+
+        ArrayList<String> positions = new ArrayList<>();   //鏈ㄧ浣嶇疆鏌ラ噸      (orgin)
+        ArrayList<String> boxNos = new ArrayList<>();   //鏈ㄧ鍞竴缂栫爜鏌ラ噸  锛坆atch锛�
+        //鍒ゆ柇matLists鍙傛暟
+        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
+            if (Cools.isEmpty(matList.getMatnr())){
+                throw new CoolException("鍙傛暟锛氱墿鏂欑紪鐮� matnr涓虹┖");
+            }else if (Cools.isEmpty(matList.getPosition())){
+                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鐮佸灈浣嶇疆 position涓虹┖");
+            }else if (Cools.isEmpty(matList.getBoxNo())){
+                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ缂栧彿 boxNo涓虹┖");
+            }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){
+                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細鏈ㄧ涓摐绠旀暟閲� anfme涓虹┖");
+            }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){
+                throw new CoolException("鐗╂枡缂栫爜锛�"+matList.getMatnr()+"銆佸弬鏁帮細閲嶉噺 weight涓虹┖");
+            }
+
+            if (!positions.contains(matList.getPosition())){
+                positions.add(matList.getPosition());
+            }else {
+                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ浣嶇疆瀛樺湪閲嶅锛�"+matList.getPosition());
+            }
+
+            if (!boxNos.contains(matList.getBoxNo())){
+                boxNos.add(matList.getBoxNo());
+            }else {
+                throw new CoolException("鍙傛暟锛氭湪绠辩紪鍙� boxNo:"+matList.getBoxNo()+",鏈ㄧ缂栫爜瀛樺湪閲嶅");
+            }
+        }
+
+//        BasDevp basDevp = basDevpService.selectById(Integer.parseInt(param.getDevNo$()));
+//        if (Cools.isEmpty(basDevp)){
+//            throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo="+param.getPalletizingNo()+"涓嶅瓨鍦�");
+//        }
+//        if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){
+//            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄嚜鍔ㄧ姸鎬�");
+//        }
+//        if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){
+//            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄湁鐗╃姸鎬�");
+//        }
+//        if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){
+//            throw new CoolException("鐮佸灈浣嶇紪鍙� palletizingNo="+param.getPalletizingNo()+" 鎵�澶勭珯鐐逛笉鏄兘鍏ョ姸鎬�");
+//        }
+
+
+        if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()))!=0
+                || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()))!=0
+                || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()))!=0){
+            throw new CoolException("鎵樼洏鏉$爜锛�"+param.getBarcode()+"宸插瓨鍦紝璇峰嬁閲嶅缁勬墭");
+        }
+
+
+        Date now = new Date();
+        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
+            Mat mat = matService.selectByMatnr(matList.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+            }
+            WaitPakin waitPakin = new WaitPakin();
+            waitPakin.sync(mat);
+            waitPakin.setModel(matList.getBatch());     //鎵规
+            waitPakin.setSpecs(matList.getSpecs());     //瑙勬牸
+            waitPakin.setBatch(matList.getBoxNo());       //鏈ㄧ缂栫爜
+            waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
+            waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
+            waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+            waitPakin.setAnfme(matList.getAnfme().doubleValue());  // 鏈ㄧ涓摐绠旀暟閲�
+            waitPakin.setStatus("Y");    // 鐘舵��
+            waitPakin.setAppeUser(userId);
+            waitPakin.setAppeTime(now);
+            waitPakin.setModiUser(userId);
+            waitPakin.setModiTime(now);
+            if (!waitPakinService.insert(waitPakin)) {
+                throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+            }
+        }
+    }
+    @Override
+    @Transactional
     public void comb(CombParam param, Long userId) {
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);

--
Gitblit v1.9.1