From 23d414032034cbd4557198338124af212da13c74 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 23 九月 2022 12:56:55 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java  |   82 +++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   20 +-----
 src/main/java/com/zy/common/service/CommonService.java      |    8 +-
 src/main/java/com/zy/asrs/task/MoveLocScheduler.java        |   34 +++++++++++
 4 files changed, 123 insertions(+), 21 deletions(-)

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 be993d5..dfc356e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -15,15 +15,12 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.DetlDto;
-import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.utils.NodeUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.expression.spel.ast.NullLiteral;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.tools.JavaCompiler;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -63,8 +60,6 @@
     private TestMastService testMastService;
     @Autowired
     private LocMastService locMastService;
-    @Autowired
-    private WorkService workService;
 
     @Override
     @Transactional
@@ -667,12 +662,14 @@
         TestMast testMast = testMastService.selectOne(wrapper);
         if(null != testMast){
             if (testMast.getStatus()==3){
+                Date date = new Date();
                 testMast.setStatus(4);
-                testMast.setModiTime(new Date());
+                testMast.setModiTime(date);
                 if (!testMastService.update(testMast,wrapper)){
                     throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
                 }
                 locMast.setPackStatus(3);
+                testMast.setModiTime(date);
                 if (!locMastService.update(locMast, new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()))){
                     throw new CoolException("鏇存敼浜у搧鐘舵�佸け璐�");
                 }
@@ -683,17 +680,6 @@
             }
         } else {
             throw new CoolException("鐘舵�佸紓甯�");
-        }
-        //绉诲簱寮�濮嬶紝鏌ヨ鐩爣搴撲綅
-        LocMast targetLocNo = locMastService.selectOne(new EntityWrapper<LocMast>()
-                .eq("row1",2)
-                .eq("loc_sts","O")
-                .eq("fire_status", 0)
-                .eq("pack_status",0));
-        if (targetLocNo != null){
-            workService.locMove(review.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt(review.getUserId()));
-        }else {
-            throw new CoolException("娌℃湁绌哄簱浣�");
         }
         return success;
     }
diff --git a/src/main/java/com/zy/asrs/task/MoveLocScheduler.java b/src/main/java/com/zy/asrs/task/MoveLocScheduler.java
new file mode 100644
index 0000000..0ad6b77
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/MoveLocScheduler.java
@@ -0,0 +1,34 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.FireOutHandler;
+import com.zy.asrs.task.handler.MoveLocHandler;
+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;
+
+@Component
+@Slf4j
+public class MoveLocScheduler {
+
+    @Value("${wcs-slave.doubleDeep}")
+    private boolean confirmDeep;
+    @Autowired
+    private MoveLocHandler moveLocHandler;
+
+    /**
+     *
+     */
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute() {
+        if (confirmDeep) return;
+
+        ReturnT<String> result = moveLocHandler.start();
+        if (!result.isSuccess()) {
+//            log.error("娴嬭瘯瀹屾垚绉诲簱澶辫触");
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java b/src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java
new file mode 100644
index 0000000..57838ad
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java
@@ -0,0 +1,82 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.TestMastService;
+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;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/7/6
+ */
+@Service
+@Slf4j
+public class MoveLocHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private LocMastService locMastService;
+    @Autowired
+    private TestMastService testMastService;
+    @Autowired
+    private WorkService workService;
+
+    @Transactional
+    public ReturnT<String> start() {
+        try {
+            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                    .eq("loc_sts", "F")
+                    .eq("pack_status", 3)
+                    .eq("row1", 2)
+                    .eq("loc_type1", (short) 1)
+                    .eq("fire_status",0)
+            );
+            if (!Cools.isEmpty(locMasts)){
+                for (LocMast locMast:locMasts){
+                    TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
+                            .eq("loc_no",locMast.getLocNo())
+                            .eq("barcode",locMast.getBarcode())
+                    );
+                    if (!Cools.isEmpty(testMast)){
+                        if (testMast.getStatus()==4){
+                            //绉诲簱寮�濮嬶紝鏌ヨ鐩爣搴撲綅
+                            LocMast targetLocNo = locMastService.queryFreeLocMast(1,(short)2);
+                            if (Cools.isEmpty(targetLocNo)){
+                                targetLocNo=locMastService.queryFreeLocMast(2,(short)2);
+                            }
+                            if (targetLocNo != null){
+                                workService.locMove(locMast.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt(testMast.getUserId()));
+                            }else {
+                                log.error("娌℃湁绌哄簱浣�");
+                            }
+                        }else if (testMast.getStatus()!=4) {
+                            log.error("娴嬭瘯鐘舵�佸紓甯�,搴撲綅鍙蜂负锛�" + testMast.getLocNo());
+                        }
+                    }else {
+                        log.error("娴嬭瘯搴撲綅锛�"+locMast.getLocNo()+"鎵�灞炴祴璇曟。涓虹┖");
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
+
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index e87acc2..ffb7743 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -198,13 +198,13 @@
 
                 Integer ruleId = Integer.parseInt(Parameter.get().getFindLocRule());
                 if (ruleId == 0){//榛樿瑙勫垯
-                    locMast = locMastService.queryFreeLocMast(1, locTypeDto.getLocType1());
+                    locMast = locMastService.queryFreeLocMast(2, locTypeDto.getLocType1());
                 } else if (ruleId == 1){ //鎸夋祴璇曡澶囨帓搴忥紝浼樺厛鎺掓弧鍗曞彴璁惧
-                    locMast = locMastService.queryFreeLocMast1(1, locTypeDto.getLocType1());
+                    locMast = locMastService.queryFreeLocMast1(2, locTypeDto.getLocType1());
                 } else if (ruleId == 2){//鎸夐�氶亾鎺掑簭锛屽潎鍖�鍒嗛厤姣忓彴璁惧
-                    locMast = locMastService.queryFreeLocMast2(1, locTypeDto.getLocType1(), curRow);
+                    locMast = locMastService.queryFreeLocMast2(2, locTypeDto.getLocType1(), curRow);
                 } else {
-                    locMast = locMastService.queryFreeLocMast(1, locTypeDto.getLocType1());
+                    locMast = locMastService.queryFreeLocMast(2, locTypeDto.getLocType1());
                 }
 
             }

--
Gitblit v1.9.1