From cba8053789728556f83ed50ca85a98902700e56b Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期二, 16 一月 2024 19:16:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/OrderDetl.java                  |    7 
 src/main/java/com/zy/asrs/controller/OpenController.java         |    2 
 src/main/java/com/zy/asrs/task/OneLouHangJiaScheduler.java       |   31 ++
 src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java |  127 +++++++++++
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java    |  251 ++++++++++++++++++++--
 src/main/java/com/zy/asrs/controller/MobileController.java       |   12 
 src/main/java/com/zy/common/web/WcsController.java               |    7 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java      |  202 +++++++++---------
 src/main/java/com/zy/asrs/entity/param/TrussCombParam.java       |    5 
 9 files changed, 504 insertions(+), 140 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 2256762..18bc6fe 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -213,12 +213,12 @@
         return R.ok("缁勬墭鎴愬姛");
     }
 
-    @RequestMapping("/truss/comd/auth")
-    @ManagerAuth(memo = "鎵嬪姩鍏ュ簱锛�2妤兼棤闇�妗佹灦鎵嬪姩鍏ュ簱")
-    public R trussComb2(@RequestBody PalletizingCompleteParam combParam){
-        mobileService.trussComb2(combParam, getUserId());
-        return R.ok("缁勬墭鎴愬姛");
-    }
+//    @RequestMapping("/truss/comd/auth")
+//    @ManagerAuth(memo = "鎵嬪姩鍏ュ簱锛�2妤兼棤闇�妗佹灦鎵嬪姩鍏ュ簱")
+//    public R trussComb2(@RequestBody PalletizingCompleteParam combParam){
+//        mobileService.trussComb2(combParam, getUserId());
+//        return R.ok("缁勬墭鎴愬姛");
+//    }
 
     @RequestMapping("/comb/auth")
     @ManagerAuth(memo = "缁勬墭")
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 425582e..c29c82a 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -244,7 +244,7 @@
 //        appkey = "ea1f0459efc02a79f046f982767939ae";
 
         auth(appkey, param, request);
-        openService.palletizingComplete(param);
+        openService.palletizingCompleteS(param);
         return R.ok(param);
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 6c1ba9c..810a74b 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -299,6 +299,13 @@
     @TableField("tk_type")
     private Integer tkType;
 
+    /**
+     * 鍗蜂俊鎭疘D
+     */
+    @ApiModelProperty(value= "鍗蜂俊鎭疘D")
+    @TableField("roll_up")
+    private Long rollUp;
+
     public OrderDetl() {}
 
     public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
diff --git a/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
index be30999..29fdbb0 100644
--- a/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
@@ -20,8 +20,9 @@
 public class TrussCombParam {
 
     private String barcode;//		瀛楃涓�	鎵樼洏鐮�    璁㈠崟鍏辩敤                        //涓婁紶
-    private Integer palletizingNo = 147;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
-    private Integer staStart  = 147;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
+    private Integer souSta;//		瀛楃涓�	鎵樼洏鐮�    璁㈠崟鍏辩敤
+    private Integer palletizingNo;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
+    private Integer staStart;//	鏄�	瀛楃涓�	鐮佸灈浣嶇紪鍙�
     private Integer palletizingNo2;//	鏄�	瀛楃涓�	鐩爣鐮佸灈浣嶇紪鍙�    璁㈠崟鍏辩敤         //涓婁紶
     private Integer staEnd;//	鏄�	瀛楃涓�	鐩爣鐮佸灈浣嶇紪鍙�    璁㈠崟鍏辩敤                 //涓婁紶
     private String boxType;//	鏄�	瀛楃涓�	鏈ㄧ绫诲瀷  brand                         //涓婁紶
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 4e69974..886ec7b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -17,7 +17,9 @@
 import com.zy.common.constant.MesConstant;
 import com.zy.common.entity.Parameter;
 import com.zy.common.model.DetlDto;
+import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.MesCombParam;
+import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
@@ -39,11 +41,7 @@
 @Service
 public class MobileServiceImpl implements MobileService {
 
-    @Value("${srHangJia.url}")
-    private String srHangJiaUrl;
 
-    @Value("${srHangJia.reportInPath}")
-    private String reportOutPath;
 
     @Autowired
     private MatService matService;
@@ -90,34 +88,158 @@
     @Override
     @Transactional
     public void trussComb(TrussCombParam param, Long userId) {
-        param.setBarcode(String.valueOf(new Date().getTime()));
+        Date now = new Date();
+        if (param.getSouSta()==145){
+            param.setBarcode(String.valueOf(now.getTime()));
+        }else {
+            if (Cools.isEmpty(param.getBarcode())){
+                throw new CoolException("鍙傛暟锛氭墭鐩樼爜涓虹┖");
+            }
+        }
+
 
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getPalletizingNo())){
-            throw new CoolException("鍙傛暟锛氱爜鍨涗綅缂栧彿 palletizingNo涓虹┖");
-        }else if (Cools.isEmpty(param.getBoxType())){
-            throw new CoolException("鍙傛暟锛氭湪绠辩被鍨� boxType涓虹┖");
+            throw new CoolException("鍙傛暟锛氱珯鐐圭紪鍙蜂负绌�");
+        }else if (Cools.isEmpty(param.getOrderNo())){
+            throw new CoolException("鍙傛暟锛氶��璐у崟鍗曞彿 orderNo涓虹┖");
         }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() != 1){
             throw new CoolException("鍙傛暟锛氱墿鏂欐槑缁� matLists涓虹┖");
+        }else if (param.getSouSta()==145 || param.getMatList().size() != 1){
+
         }
 
-        param.setStaEnd(param.getPalletizingNo2());
+        Order order = orderService.selectByNo(param.getOrderNo());
+        if (Cools.isEmpty(order)){
+            throw new CoolException("鏈煡璇㈠埌姝よ鍗曪紝鍗曞彿锛�"+param.getOrderNo());
+        }
+        DocType docType = docTypeService.selectById(order.getDocType());
+        if (Cools.isEmpty(docType) || !docType.getDocName().equals("閫�璐у叆搴撳崟")){
+            throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+"涓嶆槸閫�璐у叆搴撳崟");
+        }
 
-        try{
-            ReturnT<String> success = new PostMesDataUtils().postMesData("妗佹灦涓婁綅杞欢", srHangJiaUrl, reportOutPath, param);
-            if (success.getCode()!=200){
-                throw new CoolException("缁勬墭澶辫触");
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+        if (Cools.isEmpty(orderDetls) || orderDetls.size()==0){
+            throw new CoolException("鏈煡璇㈠埌姝よ鍗曟槑缁嗭紝鍗曞彿锛�"+param.getOrderNo());
+        }
+        List<String> orderBoxNoList = new ArrayList<>();
+        for (OrderDetl orderDetl: orderDetls){
+            if (orderDetl.getWorkQty()==0){
+                orderBoxNoList.add(orderDetl.getBatch());
             }
-        } catch (Exception e){
-            throw new CoolException("缁勬墭澶辫触");
+        }
+        if (orderBoxNoList.size()==0 || orderBoxNoList.size()<param.getMatList().size()){
+            throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 閫�璐ф暟閲忓ぇ浜庢槑缁嗘暟閲�");
+        }
+        List<String> matListBoxNoList = new ArrayList<>();
+        for (TrussCombParam.MatList matList: param.getMatList()){
+            if (!orderBoxNoList.contains(matList.getBoxNo())){
+                throw new CoolException("鍗曞彿锛�"+param.getOrderNo()+" 绠卞彿锛�"+matList.getBatch()+"涓嶅睘浜庢璁㈠崟鎴栬�呭凡缁忓叆搴�");
+            }else {
+                matListBoxNoList.add(matList.getBoxNo());
+            }
+        }
+        List<OrderDetl> orderDetlList = new ArrayList<>();
+        for (OrderDetl orderDetl: orderDetls){
+            if (matListBoxNoList.contains(orderDetl.getBatch())){
+                orderDetl.setBrand("1");
+                orderDetlList.add(orderDetl);
+            }
+        }
+        String matnr = null;
+        List<WaitPakin> waitPakins = new ArrayList<>();
+
+        for (OrderDetl orderDetl:orderDetlList){
+            Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+            }
+            matnr = mat.getMatnr();
+            WaitPakin waitPakin = new WaitPakin();
+            waitPakin.sync(mat);
+            waitPakin.setModel(orderDetl.getModel());     //鎵规
+            waitPakin.setSpecs(orderDetl.getSpecs());     //瑙勬牸
+            waitPakin.setBatch(orderDetl.getBatch());       //鏈ㄧ缂栫爜
+            waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
+            waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
+            waitPakin.setOrigin(orderDetl.getOrigin()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+            waitPakin.setAnfme(orderDetl.getAnfme());  // 鏈ㄧ涓摐绠旀暟閲�
+            waitPakin.setStatus("Y");    // 鐘舵��
+            waitPakin.setAppeUser(userId);
+            waitPakin.setAppeTime(now);
+            waitPakin.setModiUser(userId);
+            waitPakin.setModiTime(now);
+            waitPakin.setRollUp(orderDetl.getRollUp());
+            if (!waitPakinService.insert(waitPakin)) {
+                throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+            }
+            waitPakins.add(waitPakin);
+        }
+
+        LocTypeDto locTypeDto = new LocTypeDto();
+        locTypeDto.setLocType1((short)1);
+
+        StartupDto dto = commonService.getLocNo(1, 1, 145, matnr,null,null, locTypeDto);
+
+        int workNo = dto.getWorkNo();
+        // 鐢熸垚宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(new Date());
+        wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+        wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+        wrkMast.setIoPri(13D); // 浼樺厛绾�
+        wrkMast.setCrnNo(dto.getCrnNo());
+        wrkMast.setSourceStaNo(dto.getSourceStaNo());
+        wrkMast.setStaNo(dto.getStaNo());
+        wrkMast.setLocNo(dto.getLocNo());
+        wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setEmptyMk("N"); // 绌烘澘
+        wrkMast.setLinkMis("Y");
+        wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+        // 鎿嶄綔浜哄憳鏁版嵁
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        // 鐢熸垚宸ヤ綔妗f槑缁�
+        waitPakins.forEach(waitPakin -> {
+            WrkDetl wrkDetl = new WrkDetl();
+            wrkDetl.sync(waitPakin);
+            wrkDetl.setWrkNo(wrkMast.getWrkNo());
+            wrkDetl.setIoTime(wrkMast.getIoTime());
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setModiTime(now);
+            wrkDetl.setRollUp(waitPakin.getRollUp());
+            if (!wrkDetlService.insert(wrkDetl)) {
+                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+            }
+        });
+        // 鏇存柊鐩爣搴撲綅鐘舵��
+        LocMast locMast = locMastService.selectById(dto.getLocNo());
+        if (locMast.getLocSts().equals("O")){
+            locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+            locMast.setModiTime(now);
+            if (!locMastService.updateById(locMast)){
+                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
         }
     }
 
+    //wms鍏ュ簱缁勬墭  閫�搴撳崟閫�搴撶粍鎵�
     @Override
     @Transactional
     public void trussCombOrder(TrussCombParam param, Long userId) {
-
-        param.setBarcode(String.valueOf(new Date().getTime()));
+        Date now = new Date();
+        param.setBarcode(String.valueOf(now.getTime()));
 
         //鍒ゆ柇param鍙傛暟
         if (Cools.isEmpty(param.getPalletizingNo())){
@@ -165,20 +287,91 @@
                 orderDetlList.add(orderDetl);
             }
         }
+        String matnr = null;
+        List<WaitPakin> waitPakins = new ArrayList<>();
 
-
-
-
-
-
-        TrussCombParam trussCombParam = new TrussCombParam(param, order, orderDetlList);
-        try{
-            ReturnT<String> success = new PostMesDataUtils().postMesData("妗佹灦涓婁綅杞欢", srHangJiaUrl, reportOutPath, trussCombParam);
-            if (success.getCode()!=200){
-                throw new CoolException("缁勬墭澶辫触");
+        for (OrderDetl orderDetl:orderDetlList){
+            Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
             }
-        } catch (Exception e){
-            throw new CoolException("缁勬墭澶辫触");
+            matnr = mat.getMatnr();
+            WaitPakin waitPakin = new WaitPakin();
+            waitPakin.sync(mat);
+            waitPakin.setModel(orderDetl.getModel());     //鎵规
+            waitPakin.setSpecs(orderDetl.getSpecs());     //瑙勬牸
+            waitPakin.setBatch(orderDetl.getBatch());       //鏈ㄧ缂栫爜
+            waitPakin.setBrand(param.getBoxType());     //鏈ㄧ绫诲瀷
+            waitPakin.setZpallet(param.getBarcode());   //鎵樼洏鐮�
+            waitPakin.setOrigin(orderDetl.getOrigin()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
+            waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+            waitPakin.setAnfme(orderDetl.getAnfme());  // 鏈ㄧ涓摐绠旀暟閲�
+            waitPakin.setStatus("Y");    // 鐘舵��
+            waitPakin.setAppeUser(userId);
+            waitPakin.setAppeTime(now);
+            waitPakin.setModiUser(userId);
+            waitPakin.setModiTime(now);
+            waitPakin.setRollUp(orderDetl.getRollUp());
+            if (!waitPakinService.insert(waitPakin)) {
+                throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+            }
+            waitPakins.add(waitPakin);
+        }
+
+        LocTypeDto locTypeDto = new LocTypeDto();
+        locTypeDto.setLocType1((short)1);
+
+        StartupDto dto = commonService.getLocNo(1, 1, 145, matnr,null,null, locTypeDto);
+
+        int workNo = dto.getWorkNo();
+        // 鐢熸垚宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(new Date());
+        wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+        wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+        wrkMast.setIoPri(13D); // 浼樺厛绾�
+        wrkMast.setCrnNo(dto.getCrnNo());
+        wrkMast.setSourceStaNo(dto.getSourceStaNo());
+        wrkMast.setStaNo(dto.getStaNo());
+        wrkMast.setLocNo(dto.getLocNo());
+        wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setEmptyMk("N"); // 绌烘澘
+        wrkMast.setLinkMis("Y");
+        wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+        // 鎿嶄綔浜哄憳鏁版嵁
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        // 鐢熸垚宸ヤ綔妗f槑缁�
+        waitPakins.forEach(waitPakin -> {
+            WrkDetl wrkDetl = new WrkDetl();
+            wrkDetl.sync(waitPakin);
+            wrkDetl.setWrkNo(wrkMast.getWrkNo());
+            wrkDetl.setIoTime(wrkMast.getIoTime());
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setModiTime(now);
+            wrkDetl.setRollUp(waitPakin.getRollUp());
+            if (!wrkDetlService.insert(wrkDetl)) {
+                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+            }
+        });
+        // 鏇存柊鐩爣搴撲綅鐘舵��
+        LocMast locMast = locMastService.selectById(dto.getLocNo());
+        if (locMast.getLocSts().equals("O")){
+            locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+            locMast.setModiTime(now);
+            if (!locMastService.updateById(locMast)){
+                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
         }
     }
     @Override
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 f7788cf..dec99b3 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -13,7 +13,9 @@
 import com.zy.asrs.entity.result.StockVo;
 import com.zy.asrs.mapper.TagMapper;
 import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.utils.MatUtils;
+import com.zy.asrs.utils.PostMesDataUtils;
 import com.zy.common.model.DetlDto;
 import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.StartupDto;
@@ -857,107 +859,109 @@
 //        }
 
 
-        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();
-        List<WaitPakin> waitPakins = new ArrayList<>();
-        String matnr = null;
-        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
-            long rollUp = new Date().getTime();
-            Mat mat = matService.selectByMatnr(matList.getMatnr());
-            if (Cools.isEmpty(mat)) {
-                throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
-            }
-            matnr = mat.getMatnr();
-            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("Y");     // 鍏ュ嚭鐘舵��
-            waitPakin.setAnfme(matList.getAnfme().doubleValue());  // 鏈ㄧ涓摐绠旀暟閲�
-            waitPakin.setStatus("Y");    // 鐘舵��
-            waitPakin.setAppeUser(userId);
-            waitPakin.setAppeTime(now);
-            waitPakin.setModiUser(userId);
-            waitPakin.setModiTime(now);
-            waitPakin.setRollUp(rollUp);
-            if (!Cools.isEmpty(matList.getMatDetlList())){
-                for (PalletizingCompleteParam.MatDetlList matDetlList:matList.getMatDetlList()){
-                    LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail();
-                    locDetlRullUpDetail.setUuid(rollUp);
-                    locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl());
-                    locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString());
-                    locDetlRullUpDetailService.insert(locDetlRullUpDetail);
-                }
-            }
-            if (!waitPakinService.insert(waitPakin)) {
-                throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
-            }
-            waitPakins.add(waitPakin);
-        }
-        LocTypeDto locTypeDto = new LocTypeDto();
-        locTypeDto.setLocType1((short)1);
-
-        StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo2(), matnr,null,null, locTypeDto);
-
-        int workNo = dto.getWorkNo();
-        // 鐢熸垚宸ヤ綔妗�
-        WrkMast wrkMast = new WrkMast();
-        wrkMast.setWrkNo(workNo);
-        wrkMast.setIoTime(new Date());
-        wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
-        wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
-        wrkMast.setIoPri(13D); // 浼樺厛绾�
-        wrkMast.setCrnNo(dto.getCrnNo());
-        wrkMast.setSourceStaNo(dto.getSourceStaNo());
-        wrkMast.setStaNo(dto.getStaNo());
-        wrkMast.setLocNo(dto.getLocNo());
-        wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
-        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
-        wrkMast.setPicking("N"); // 鎷f枡
-        wrkMast.setExitMk("N"); // 閫�鍑�
-        wrkMast.setEmptyMk("N"); // 绌烘澘
-        wrkMast.setLinkMis("Y");
-        wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
-        // 鎿嶄綔浜哄憳鏁版嵁
-        wrkMast.setAppeTime(now);
-        wrkMast.setModiTime(now);
-        boolean res = wrkMastService.insert(wrkMast);
-        if (!res) {
-            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-        }
-        // 鐢熸垚宸ヤ綔妗f槑缁�
-        waitPakins.forEach(waitPakin -> {
-            WrkDetl wrkDetl = new WrkDetl();
-            wrkDetl.sync(waitPakin);
-            wrkDetl.setWrkNo(wrkMast.getWrkNo());
-            wrkDetl.setIoTime(wrkMast.getIoTime());
-            wrkDetl.setAppeTime(now);
-            wrkDetl.setModiTime(now);
-            if (!wrkDetlService.insert(wrkDetl)) {
-                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
-            }
-        });
-        // 鏇存柊鐩爣搴撲綅鐘舵��
-        LocMast locMast = locMastService.selectById(dto.getLocNo());
-        if (locMast.getLocSts().equals("O")){
-            locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
-            locMast.setModiTime(now);
-            if (!locMastService.updateById(locMast)){
-                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
-            }
-        } else {
-            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
-        }
+//        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();
+//        List<WaitPakin> waitPakins = new ArrayList<>();
+//        String matnr = null;
+//        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
+//            long rollUp = new Date().getTime();
+//            Mat mat = matService.selectByMatnr(matList.getMatnr());
+//            if (Cools.isEmpty(mat)) {
+//                throw new CoolException(matList.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+//            }
+//            matnr = mat.getMatnr();
+//            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("Y");     // 鍏ュ嚭鐘舵��
+//            waitPakin.setAnfme(matList.getAnfme().doubleValue());  // 鏈ㄧ涓摐绠旀暟閲�
+//            waitPakin.setStatus("Y");    // 鐘舵��
+//            waitPakin.setAppeUser(userId);
+//            waitPakin.setAppeTime(now);
+//            waitPakin.setModiUser(userId);
+//            waitPakin.setModiTime(now);
+//            waitPakin.setRollUp(rollUp);
+//            if (!Cools.isEmpty(matList.getMatDetlList())){
+//                for (PalletizingCompleteParam.MatDetlList matDetlList:matList.getMatDetlList()){
+//                    LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail();
+//                    locDetlRullUpDetail.setUuid(rollUp);
+//                    locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl());
+//                    locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString());
+//                    locDetlRullUpDetailService.insert(locDetlRullUpDetail);
+//                }
+//            }
+//            if (!waitPakinService.insert(waitPakin)) {
+//                throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+//            }
+//            waitPakins.add(waitPakin);
+//        }
+//        LocTypeDto locTypeDto = new LocTypeDto();
+//        locTypeDto.setLocType1((short)1);
+//
+//        StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo2(), matnr,null,null, locTypeDto);
+//
+//        int workNo = dto.getWorkNo();
+//        // 鐢熸垚宸ヤ綔妗�
+//        WrkMast wrkMast = new WrkMast();
+//        wrkMast.setWrkNo(workNo);
+//        wrkMast.setIoTime(new Date());
+//        wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+//        wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+//        wrkMast.setIoPri(13D); // 浼樺厛绾�
+//        wrkMast.setCrnNo(dto.getCrnNo());
+//        wrkMast.setSourceStaNo(dto.getSourceStaNo());
+//        wrkMast.setStaNo(dto.getStaNo());
+//        wrkMast.setLocNo(dto.getLocNo());
+//        wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+//        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+//        wrkMast.setPicking("N"); // 鎷f枡
+//        wrkMast.setExitMk("N"); // 閫�鍑�
+//        wrkMast.setEmptyMk("N"); // 绌烘澘
+//        wrkMast.setLinkMis("Y");
+//        wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+//        // 鎿嶄綔浜哄憳鏁版嵁
+//        wrkMast.setAppeTime(now);
+//        wrkMast.setModiTime(now);
+//        boolean res = wrkMastService.insert(wrkMast);
+//        if (!res) {
+//            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+//        }
+//        // 鐢熸垚宸ヤ綔妗f槑缁�
+//        waitPakins.forEach(waitPakin -> {
+//            WrkDetl wrkDetl = new WrkDetl();
+//            wrkDetl.sync(waitPakin);
+//            wrkDetl.setWrkNo(wrkMast.getWrkNo());
+//            wrkDetl.setIoTime(wrkMast.getIoTime());
+//            wrkDetl.setAppeTime(now);
+//            wrkDetl.setModiTime(now);
+//            if (!wrkDetlService.insert(wrkDetl)) {
+//                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+//            }
+//        });
+//        // 鏇存柊鐩爣搴撲綅鐘舵��
+//        LocMast locMast = locMastService.selectById(dto.getLocNo());
+//        if (locMast.getLocSts().equals("O")){
+//            locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+//            locMast.setModiTime(now);
+//            if (!locMastService.updateById(locMast)){
+//                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+//            }
+//        } else {
+//            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+//        }
     }
 
 
diff --git a/src/main/java/com/zy/asrs/task/OneLouHangJiaScheduler.java b/src/main/java/com/zy/asrs/task/OneLouHangJiaScheduler.java
new file mode 100644
index 0000000..c3f00db
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/OneLouHangJiaScheduler.java
@@ -0,0 +1,31 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.OneLouHangJiaHandler;
+import com.zy.asrs.task.handler.RailwayPlatformHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by Monkey D. Luffy on 2023.09.17
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............閫�搴撴媶鐮佸灈
+ */
+@Component
+public class OneLouHangJiaScheduler {
+
+    @Autowired
+    private OneLouHangJiaHandler oneLouHangJiaHandler;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){//閫�搴撴媶鐮佸灈
+        int[] staNos =new int[]{147};
+        for (int staNo : staNos){
+            ReturnT<String> result = oneLouHangJiaHandler.start(staNo);
+            if (result.getCode()==200){
+                break;
+            }
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java b/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java
new file mode 100644
index 0000000..cfd3d9e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java
@@ -0,0 +1,127 @@
+package com.zy.asrs.task.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.param.BalconyWrkMastParam;
+import com.zy.asrs.entity.param.TrussCombParam;
+import com.zy.asrs.service.*;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.PostMesDataUtils;
+import com.zy.common.service.CommonService;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * Created by Monkey D. Luffy on 2023.09.17
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............閫�搴撴媶鐮佸灈
+ */
+@Slf4j
+@Service
+@Transactional
+public class OneLouHangJiaHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private CommonService commonService;
+    @Autowired
+    private StaDescService staDescService;
+    @Autowired
+    private ApiLogService apiLogService;
+    @Autowired
+    private BasDevpService basDevpService;
+    @Autowired
+    private OrderService orderService;
+
+    @Value("${srHangJia.url}")
+    private String srHangJiaUrl;
+
+    @Value("${srHangJia.reportInPath}")
+    private String reportOutPath;
+
+    public ReturnT<String> start(int staNo) {
+        try {
+            BasDevp basDevp = basDevpService.selectById(staNo);
+            if (Cools.isEmpty(basDevp) || basDevp.getWrkNo()==0
+                    || !basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y") || !basDevp.getInEnable().equals("Y")){
+                return FAIL;
+            }
+            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                    .eq("wrk_no", basDevp.getWrkNo()).eq("source_sta_no",145));
+            if (Cools.isEmpty(wrkMast) || wrkMast.getIoType()!=1 || wrkMast.getWrkSts()!=2){
+                return FAIL;
+            }
+
+
+
+//            TrussCombParam trussCombParam = new TrussCombParam(param, order, orderDetlList);
+//            try{
+//                ReturnT<String> success = postMesData(reportOutPath, trussCombParam);
+//                if (success.getCode()!=200){
+//                    throw new CoolException("妗佹灦涓婁綅杞欢閫�搴撳け璐�");
+//                }
+//            } catch (Exception e){
+//                throw new CoolException("妗佹灦涓婁綅杞欢閫�搴撳け璐�");
+//            }
+        }catch (Exception e){
+            log.error("寮傚父锛侊紒锛�"+e);
+            return FAIL;
+        }
+        return FAIL;
+    }
+
+    private ReturnT<String> postMesData(String erpPath,Object combParam){
+        if(combParam != null){
+            String response = "";
+            boolean success = false;
+            try {
+                response = new HttpHandler.Builder()
+                        .setUri(srHangJiaUrl)
+                        .setPath(erpPath)
+                        .setJson(JSON.toJSONString(combParam))
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getString("result").equals("Y")) {
+                    success = true;
+                } else {
+                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+srHangJiaUrl+erpPath, JSON.toJSONString(combParam), response);
+                    throw new CoolException("涓婃姤erp绯荤粺澶辫触");
+                }
+            } catch (Exception e) {
+                log.error("fail", e);
+//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return FAIL.setMsg(e.getMessage());
+            } finally {
+                try {
+                    // 淇濆瓨鎺ュ彛鏃ュ織
+                    apiLogService.save(
+                            "妗佹灦涓婁綅杞欢閫�搴�",
+                            srHangJiaUrl + erpPath,
+                            null,
+                            srHangJiaUrl,
+                            JSON.toJSONString(combParam),
+                            response,
+                            success
+                    );
+                } catch (Exception e) { log.error("", e); }
+            }
+        }
+        return SUCCESS;
+    }
+}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 780c3bd..220d9d6 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -143,9 +143,10 @@
         }
 
         // 婧愮珯鐐圭姸鎬佹娴�
-        BasDevp sourceStaNo = basDevpService.checkSiteStatusEmpty(param.getSourceStaNo(), true);
-        sourceStaNo.setLocType1(param.getLocType1());
-        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+//        BasDevp sourceStaNo = basDevpService.checkSiteStatusEmpty(param.getSourceStaNo(), true);
+//        sourceStaNo.setLocType1(param.getLocType1());
+        LocTypeDto locTypeDto = new LocTypeDto();
+        locTypeDto.setLocType1((short)1);
 
         StartupDto dto = null;
         switch (param.getIoType()) {

--
Gitblit v1.9.1