From b09865e3b4e43ec7110ca7472188478fcdb6fb0f Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 22 三月 2023 09:41:32 +0800
Subject: [PATCH] #库存档案同步上报

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index fd4b8fc..7b4bd8c 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,13 +1,21 @@
 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.common.DateUtils;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CombParam;
 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.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 org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -32,9 +40,18 @@
     @Autowired
     private LocDetlService locDetlService;
     @Autowired
-    private WaitPakinService waitPakinService;
+    private TestMastService testMastService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private ApiLogService apiLogService;
+    @Value("${mes.url}")
+    private String mesUrl;
+
+    @Value("${mes.inPath}")
+    private String inpath;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -137,7 +154,11 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         locMast.setFireStatus(0);
-                        locMast.setPackStatus(1);
+                        if (locMast.getCrnNo()==1){
+                            locMast.setPackStatus(1);
+                        }else {
+                            locMast.setPackStatus(6);
+                        }
                         if (!locMastService.updateById(locMast)) {
 //                            exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -278,6 +299,7 @@
                     }
                     // 淇敼婧愬簱浣嶇姸鎬� ==> O
                     LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+                    Integer packStatus =sourceLoc.getPackStatus();
                     if (null != sourceLoc) {
                         sourceLoc.setBarcode("");
                         sourceLoc.setLocSts("O");
@@ -297,7 +319,29 @@
                     locMast.setIoTime(now);
                     locMast.setModiTime(now);
                     locMast.setFireStatus(0);
-                    locMast.setPackStatus(4); //4:闈欑疆涓�
+                    if (locMast.getLocType1()==sourceLoc.getLocType1()){
+                        locMast.setPackStatus(packStatus);
+                    }else {
+                        locMast.setPackStatus(5); //5:闈欑疆涓�
+                        if (locMast.getLocType1()==1 && sourceLoc.getLocType1()==2){
+                            TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
+                                    .eq("loc_no",sourceLoc.getLocNo())
+                                    .eq("barcode",locMast.getBarcode())
+                                    .eq("status",4)
+                            );
+                            testMast.setStatus(5);
+                            testMast.setModiTime(new Date());
+                            if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("loc_no",sourceLoc.getLocNo()).eq("barcode",locMast.getBarcode()).eq("status",4))){
+                                throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
+                            }
+                        }
+                        CombParam combParam = new CombParam();
+                        combParam.setPackNo(locMast.getBarcode());
+                        combParam.setLocNo(locMast.getLocNo());
+                        combParam.setPackSts(5);
+                        combParam.setRequestTime(DateUtils.convert(new Date()));
+                        new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
+                    }
                     if (!locMastService.updateById(locMast)) {
 //                        exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -349,6 +393,23 @@
                         return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                     }
                     for (WrkDetl wrkDetl : wrkDetls101) {
+                        Date date = new Date();
+                        WaitPakin waitPakin = new WaitPakin();
+                        waitPakin.setMatnr(wrkDetl.getMatnr());
+                        waitPakin.setMaktx(wrkDetl.getMaktx());
+                        waitPakin.setZpallet(wrkDetl.getZpallet());   // Pack鐮�
+                        waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+                        waitPakin.setAnfme(1.0);  // 鏁伴噺
+                        waitPakin.setStatus("Y");    // 鐘舵��
+                        waitPakin.setManuDate(date.toString());
+                        waitPakin.setAppeUser(null);
+                        waitPakin.setAppeTime(date);
+                        waitPakin.setModiUser(null);
+                        waitPakin.setModiTime(date);
+//                        waitPakin.setDeadWarn(wrkDetl.getSettingTimes());
+                        if (!waitPakinService.insert(waitPakin)) {
+                            throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+                        }
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                         OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                         try {

--
Gitblit v1.9.1