From 3f194f5ef62ef33d16291540da3fc8f47fa9bc63 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期六, 13 一月 2024 15:54:06 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/RailwayPlatformHandler.java           |    2 
 src/main/java/com/zy/asrs/controller/LocMastController.java                  |    6 
 src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java                      |   91 ++++++++++++++++++
 src/main/webapp/views/staDesc/staDesc.html                                   |    2 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java                  |   79 ++++++++++++++-
 src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java |   24 ++--
 src/main/resources/application.yml                                           |    4 
 src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java                |   80 ++++++++++++++++
 8 files changed, 266 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index e343c2b..51b0eab 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -199,9 +199,9 @@
                 }
             }
         }
-        locMastService.delete(new EntityWrapper<>());
-        locDetlService.delete(new EntityWrapper<>());
-        locMastService.insertBatch(list);
+//        locMastService.delete(new EntityWrapper<>());
+//        locDetlService.delete(new EntityWrapper<>());
+//        locMastService.insertBatch(list);
         return R.ok("鍒濆鍖栨垚鍔�");
     }
 }
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 b6cbfdd..378febf 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -69,6 +69,8 @@
     private WrkMastStaService wrkMastStaService;
     @Autowired
     private WrkMastStaLogService wrkMastStaLogService;
+    @Autowired
+    private StaDescService staDescService;
 
     @Override
     @Transactional
@@ -962,13 +964,80 @@
     @Override
     @Transactional
     public void cs2() {
-        BasDevp basDevp = basDevpService.selectById(216);
-        basDevp.setWrkNo(0);
-        basDevp.setBarcode("");
-        basDevpService.updateById(basDevp);
+//        int[] staNos =new int[]{122};
+//        for (Integer staNo:staNos){
+//            int[] crnNos =new int[]{6};
+//            for (Integer crnNo:crnNos){
+//                descSta(staNo,crnNo);
+//            }
+//        }
+
     }
 
-    /*
+    private void descSta(Integer staNo,Integer crnNo){
+//        int[] typeNos =new int[]{1,10,53,101,103,110};
+        int[] typeNos =new int[]{10,110};
+        for (Integer typeNo:typeNos){
+            descSta3(staNo,crnNo,typeNo);
+        }
+    }
+
+    private void descSta3(Integer staNo,Integer crnNo,Integer typeNo){
+        StaDesc staDesc = new StaDesc();
+        staDesc.setTypeNo(typeNo);
+        staDesc.setStnNo(staNo);
+        staDesc.setCrnNo(crnNo);
+        staDesc.setCrnStn(CrnNoRC(crnNo,staDesc.getTypeNo()>100));
+        descSta2(staDesc);
+    }
+
+    private void descSta2(StaDesc staDesc){
+        Date now = new Date();
+        //鍏ュ簱
+        int sameRes = staDescService.selectCount(new EntityWrapper<StaDesc>()
+                .eq("type_no", staDesc.getTypeNo())
+                .eq("stn_no", staDesc.getStnNo())
+                .eq("crn_no", staDesc.getCrnNo())
+                .eq("crn_stn", staDesc.getCrnStn()));
+        if (sameRes == 0) {
+            staDesc.setModiUser(9527L);
+            staDesc.setModiTime(now);
+            staDesc.setAppeUser(9527L);
+            staDesc.setAppeTime(now);
+            staDescService.insert(staDesc);
+        }
+    }
+
+    private Integer CrnNoRC(Integer crnNo,boolean sign){
+        Integer crnStn = 0;
+        switch (crnNo){
+            case 1:
+                crnStn = 102;
+                break;
+            case 2:
+                crnStn = 105;
+                break;
+            case 3:
+                crnStn = 108;
+                break;
+            case 4:
+                crnStn = 111;
+                break;
+            case 5:
+                crnStn = 114;
+                break;
+            case 6:
+                crnStn = 117;
+                break;
+        }
+        if (sign){
+            return crnStn-2;
+        }
+        return crnStn;
+    }
+
+
+        /*
      *
      * */
     @Override
diff --git a/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java b/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
new file mode 100644
index 0000000..cab4d27
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
@@ -0,0 +1,91 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.BasCrnp;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.BasCrnpService;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.LocMoveAllHandler;
+import com.zy.asrs.utils.Utils;
+import com.zy.common.properties.SlaveProperties;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+@Slf4j
+@Component
+public class LocMoveAllScheduler {
+
+    @Value("${loc-move.move-all}")
+    private boolean moveAll;
+
+    @Autowired
+    private LocMoveAllHandler locMoveAllHandler;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private LocMastService locMastService;
+    @Autowired
+    private BasCrnpService basCrnpService;
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+//    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        if (!moveAll) return;
+
+        List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>());
+        if (basCrnps.isEmpty()){
+            return;
+        }
+        for (BasCrnp basCrnp:basCrnps){
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",basCrnp.getCrnNo()));
+            if (Cools.isEmpty(wrkMasts) || wrkMasts.size()==0) {
+                LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",basCrnp.getCrnNo()).orderBy("appe_time",true));//绌烘澘鎵�鍦�
+                if (Cools.isEmpty(locMastStart)){
+                    continue;
+                }
+                if (!Utils.isShallowLoc(slaveProperties, locMastStart.getLocNo())){
+                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastStart.getLocNo());
+                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
+                    if (!locNo.getLocSts().equals("O")){
+                        locMastStart = locNo;
+                    }
+                }
+                LocMast locMastEnd = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("crn_no",basCrnp.getCrnNo()).ne("modi_user",66).orderBy("row1",true));//鐩爣
+                if (Cools.isEmpty(locMastEnd)){
+                    continue;
+                }
+                if (!Utils.isShallowLoc(slaveProperties, locMastEnd.getLocNo())){
+                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastEnd.getLocNo());
+                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
+                    if (locNo.getLocSts().equals("O")){
+
+                    }else {
+                        locMastEnd.setModiUser(66L);
+                        locMastService.updateById(locMastEnd);
+                        continue;
+                    }
+                }
+//                if (Cools.isEmpty(locMastStart) || Cools.isEmpty(locMastEnd)){
+
+                ReturnT<String> result = locMoveAllHandler.start(locMastStart,locMastEnd,basCrnp.getCrnNo());
+                if (!result.isSuccess()) {
+                    log.error("澶勭悊澶辫触");
+                }
+            }
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java b/src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java
new file mode 100644
index 0000000..c6baa53
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java
@@ -0,0 +1,80 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.WorkService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+/**
+ * Created by vincent on 2020/7/6
+ */
+@Slf4j
+@Service
+public class LocMoveAllHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private WorkService workService;
+    @Autowired
+    private LocMastService locMastService;
+    private final Integer BAY = 20;//YINGTAN
+
+
+    @Transactional
+    public ReturnT<String> start(LocMast locMastStart, LocMast locMastEnd, Integer crnNo) {
+        try {
+            LocMast locMastEndNew = null;
+            Integer row1 = locMastStart.getRow1();
+            Integer row2 = 0;
+            Integer bay1 = locMastStart.getBay1();
+            Integer lev1 = locMastStart.getLev1();
+            if (row1==crnNo*4){
+                row1 = crnNo*4-3;
+                row2 = row1+1;
+            }else {
+                row1=crnNo*4;
+                row2 = row1-1;
+            }
+            Integer signInt = 0;
+            while (Cools.isEmpty(locMastEndNew) && lev1<10 && signInt<100){
+                signInt++;
+
+                bay1 = BAY+1-bay1;
+                if ((bay1<BAY && bay1>0) || (bay1.equals(BAY) && lev1>3)){
+
+                }else {
+                    bay1=1;
+                    lev1++;
+                }
+                locMastEndNew = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("row1",row1).eq("bay1",bay1).eq("lev1",lev1).ne("modi_user",66));
+                LocMast locMastEndNew2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("row1",row2).eq("bay1",bay1).eq("lev1",lev1).ne("modi_user",66));
+                if (!Cools.isEmpty(locMastEndNew) && !Cools.isEmpty(locMastEndNew2)){
+                    locMastEnd = locMastEndNew;
+                }
+                if ((bay1<BAY && bay1>0)){
+                    bay1++;
+                }
+                if (signInt==100){
+                    bay1=1;
+                    lev1++;
+                    signInt=0;
+                }
+            }
+            workService.locMove(locMastStart.getLocNo(), locMastEnd.getLocNo(), 66L);
+        } catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/RailwayPlatformHandler.java b/src/main/java/com/zy/asrs/task/handler/RailwayPlatformHandler.java
index 421698e..bba0701 100644
--- a/src/main/java/com/zy/asrs/task/handler/RailwayPlatformHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/RailwayPlatformHandler.java
@@ -52,7 +52,7 @@
     public ReturnT<String> start(int staNo) {
         try {
             BasDevp basDevp = basDevpService.selectById(staNo);
-            if (!Cools.isEmpty(basDevp) && !Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()<9990){
+            if (!Cools.isEmpty(basDevp) && !Cools.isEmpty(basDevp.getWrkNo()) && (basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999) && basDevp.getWrkNo()!=32222){
                 WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()).eq("sta_no", staNo).eq("wrk_sts", 55L));
                 if (!Cools.isEmpty(wrkMast)){
                     List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
diff --git a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
index 5b6642e..4391cba 100644
--- a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
@@ -72,17 +72,19 @@
                 ReturnT<String> result = null;
                 result = postMesData(reportOutPath,singleMountUnstackingCompleteParam);
                 System.out.println(result);
-//                if (true){
-//                    for (WrkDetl wrkDetl:wrkDetls){
-//                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
-//                        wrkDetlSingle.sync(wrkDetl);
-//                        wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
-//                        wrkDetlSingleService.insert(wrkDetlSingle);
-//                    }
-//                    wrkMast.setSheetNo("1");
-//                    wrkMastService.updateById(wrkMast);
-//                    return SUCCESS;
-//                }
+                if (true){
+                    for (WrkDetl wrkDetl:wrkDetls){
+                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
+                        wrkDetlSingle.sync(wrkDetl);
+                        wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
+                        wrkDetlSingleService.insert(wrkDetlSingle);
+                    }
+                    wrkMast.setSheetNo("1");
+                    wrkMastService.updateById(wrkMast);
+                    basDevp.setReportSign(1);
+                    basDevpService.updateById(basDevp);
+                    return SUCCESS;
+                }
                 if (result.getCode()==200){
                     for (WrkDetl wrkDetl:wrkDetls){
                         WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 338a464..cc46a98 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -72,4 +72,6 @@
   # 鎷嗗灈淇℃伅涓婁紶
   reportOutPath: api/DepalletizingInfo/Post
   # 鐮佸灈淇℃伅涓婁紶
-  reportInPath: api/PalletizingInfo/Post
\ No newline at end of file
+  reportInPath: api/PalletizingInfo/Post
+loc-move:
+  move-all: true
\ No newline at end of file
diff --git a/src/main/webapp/views/staDesc/staDesc.html b/src/main/webapp/views/staDesc/staDesc.html
index 3437850..5676ac8 100644
--- a/src/main/webapp/views/staDesc/staDesc.html
+++ b/src/main/webapp/views/staDesc/staDesc.html
@@ -79,7 +79,7 @@
 </script>
 
 <script type="text/html" id="operate">
-    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
+<!--    <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>-->
 </script>
 
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>

--
Gitblit v1.9.1