From 1c0dbad152362ac704a27ecfc5b5d08247385d87 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 21 十月 2025 17:12:48 +0800
Subject: [PATCH] 13
---
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 184 ++++++++++++++++++++++++++++++++++++++-------
1 files changed, 154 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 373ebf2..7f58192 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -7,6 +7,7 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.param.ShuttleMoveTask;
import com.zy.asrs.entity.param.ShuttleOutTask;
import com.zy.asrs.entity.param.ShuttleTask;
import com.zy.asrs.service.WrkMastService;
@@ -14,6 +15,8 @@
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WorkMastHandler;
import com.zy.common.utils.HttpHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,10 +44,12 @@
private String shuttleWcsUrl;
@Autowired
private LocMastServiceImpl locMastService;
+ @Autowired
+ private ConfigService configService;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
+ private void execute() {
List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData();
if (wrkMasts.isEmpty()) {
return;
@@ -63,30 +68,46 @@
}
@Scheduled(cron = "0/3 * * * * ? ") //鍏ュ簱浠诲姟涓嬪彂
- private void ShuttleInTaskSend(){
- List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("io_type", 101,110,103,104,107)
- .eq("wrk_sts", 105).eq("crn_no",7));
- if (!Cools.isEmpty(wrkMasts1)){
+ private void ShuttleInTaskSend() {
+ procesMode();
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .eq("wrk_sts", 2).in("io_type", 1, 10, 53, 54, 57).eq("crn_no", 7));
+ if (Cools.isEmpty(wrkMasts)) {
return;
}
- List<WrkMast> wrkMasts = wrkMastService.selectToShuttleTask();
- if (wrkMasts.isEmpty()) {
- return;
- }
+
try {
for (WrkMast wrkMast : wrkMasts) {
+ if (wrkMast.getStaNo() == 1031) {
+ Config config = configService.selectConfigByCode("2.5F_Mode");
+ if (Cools.isEmpty(config) || config.getValue().equals("false")) {
+ return;
+ }
+ if (config.getValue().equalsIgnoreCase("1")) {
+ log.info("妯″紡涓嶅2");
+ return;
+ }
+ }
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
if (locMast == null) {
throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触");
}
- String loc = (locMast.getRow1()-16)+"-"+locMast.getBay1()+"-"+locMast.getLev1();
+
+ String loc;
+ if ((locMast.getRow1() - 4) >= 10) {
+ loc = (locMast.getRow1() - 4) + locMast.getLocNo().substring(2);
+ } else {
+ loc = "0" + (locMast.getRow1() - 4) + locMast.getLocNo().substring(2);
+ }
+ //String loc = (locMast.getRow1() - 4) + "-" + locMast.getBay1() + "-" + locMast.getLev1();
ShuttleTask param = new ShuttleTask();
param.setTaskNo(wrkMast.getWrkNo().toString());
- param.setDestLoc(loc);
- param.setOriginSite("31002");
+ param.setLocNo(loc);
+ param.setTaskNo2(Cools.isEmpty(wrkMast.getPltType()) ? null : wrkMast.getPltType().toString());
+ param.setSourceStaNo(wrkMast.getSourceStaNo());
+ param.setStaNo(wrkMast.getStaNo());
param.setBarcode(wrkMast.getBarcode());
- param.setPriority("11");
+ //param.setPriority("11");
String response = new HttpHandler.Builder()
.setUri(shuttleWcsUrl)
.setPath("/openapi/createInTask")
@@ -97,44 +118,101 @@
Integer code = jsonObject.getInteger("code");
if (code.equals(200)) {
wrkMast.setWrkSts(105L);
+ wrkMast.setModiTime(new Date());
if (!wrkMastService.updateById(wrkMast)) {
log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", wrkMast.getWrkNo());
}
}
}
- }catch (Exception e){
+ } catch (Exception e) {
throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触");
}
}
@Scheduled(cron = "0/3 * * * * ? ") //鍑哄簱搴撲换鍔′笅鍙�
- private void ShuttleOutTaskSend(){
- List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("io_type", 1,10,53,54,57).eq("crn_no",7));
- if (!Cools.isEmpty(wrkMasts1)){
+ private void ShuttleOutTaskSend() {
+ procesMode();
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 101, 110, 103, 104, 107)
+ .eq("wrk_sts", 11).eq("crn_no", 7));
+ if (Cools.isEmpty(wrkMasts)) {
return;
}
- List<WrkMast> wrkMasts = wrkMastService.selectToShuttleOutTask();
+ try {
+ for (WrkMast wrkMast : wrkMasts) {
+ if (wrkMast.getStaNo() == 1031) {
+ Config config = configService.selectConfigByCode("2.5F_Mode");
+ if (Cools.isEmpty(config) || config.getValue().equals("false")) {
+ return;
+ }
+ if (config.getValue().equalsIgnoreCase("2")) {
+ log.info("妯″紡涓嶅2");
+ return;
+ }
+ }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+ if (locMast == null) {
+ throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触");
+ }
+ String loc;
+ if ((locMast.getRow1() - 4) >= 10) {
+ loc = (locMast.getRow1() - 4) + locMast.getLocNo().substring(2);
+ } else {
+ loc = "0" + (locMast.getRow1() - 4) + locMast.getLocNo().substring(2);
+ }
+ //String loc = (locMast.getRow1() - 4) + "-" + locMast.getBay1() + "-" + locMast.getLev1();
+ ShuttleOutTask param = new ShuttleOutTask();
+ param.setTaskNo(wrkMast.getWrkNo().toString());
+ param.setSourceLocNo(loc);
+ param.setStaNo(wrkMast.getStaNo());
+ //param.setPriority("11");
+ String response = new HttpHandler.Builder()
+ .setUri(shuttleWcsUrl)
+ .setPath("/openapi/createOutTask")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Integer code = jsonObject.getInteger("code");
+ if (code.equals(200)) {
+ wrkMast.setWrkSts(105L);
+ wrkMast.setModiTime(new Date());
+ if (!wrkMastService.updateById(wrkMast)) {
+ log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", wrkMast.getWrkNo());
+ }
+ }
+ }
+ } catch (Exception e) {
+ throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触");
+ }
+
+ }
+
+ // @Scheduled(cron = "0/3 * * * * ? ") //绉诲簱浠诲姟涓嬪彂
+ private void ShuttleMoveTaskSend() {
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11).eq("io_type", 11));
if (wrkMasts.isEmpty()) {
return;
}
try {
for (WrkMast wrkMast : wrkMasts) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
- if (locMast == null) {
+ LocMast destLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
+ LocMast originLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+ if (originLoc == null || destLoc == null) {
throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触");
}
- String loc = (locMast.getRow1()-16)+"-"+locMast.getBay1()+"-"+locMast.getLev1();
- ShuttleOutTask param = new ShuttleOutTask();
+ String originLoc1 = (originLoc.getRow1() - 16) + "-" + originLoc.getBay1() + "-" + originLoc.getLev1();
+ String destLoc1 = (destLoc.getRow1() - 16) + "-" + destLoc.getBay1() + "-" + destLoc.getLev1();
+ ShuttleMoveTask param = new ShuttleMoveTask();
param.setTaskNo(wrkMast.getWrkNo().toString());
- param.setOriginLoc(loc);
- param.setOriginSite("31004");
- param.setDestSite("31002");
+ param.setOriginLoc(originLoc1);
+ param.setDestLoc(destLoc1);
+ param.setRecord(true);
param.setPriority("11");
String response = new HttpHandler.Builder()
.setUri(shuttleWcsUrl)
- .setPath("/openapi/createOutTask")
+ .setPath("/openapi/createLadenMoveTakeTask")
.setJson(JSON.toJSONString(param))
.build()
.doPost();
@@ -147,12 +225,58 @@
}
}
}
- }catch (Exception e){
+ } catch (Exception e) {
throw new CoolException("涓嬪彂鍥涘悜杞cs浠诲姟澶辫触");
}
}
+ //@Scheduled(cron = "0/3 * * * * ? ") //绉诲簱浠诲姟涓嬪彂
+ public void switchMode() {
+ procesMode();
+ }
-
+ //1:浠庡洓鍚戝簱鍒板爢鍨涙満搴�
+ //2:浠庡爢鍨涙満搴撳埌鍥涘悜搴�
+ private void procesMode() {
+ Config config = configService.selectConfigByCode("2.5F_Mode");
+ if (Cools.isEmpty(config) || config.getValue().equals("false")) {
+ return;
+ }
+ List<WrkMast> wrkMastList1 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 1, 10).eq("crn_no", 1).eq("sta_no", 1131));
+ List<WrkMast> wrkMastList2 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 101, 110).eq("crn_no", 7).eq("sta_no", 1031));
+ if (wrkMastList1.isEmpty() && wrkMastList2.isEmpty()) {
+ List<WrkMast> wrkMastList3 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 101, 110).eq("crn_no", 1).eq("sta_no", 1135));
+ List<WrkMast> wrkMastList4 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 1, 10).eq("crn_no", 7).eq("sta_no", 1032));
+ if (!wrkMastList3.isEmpty() || !wrkMastList4.isEmpty()) {
+ if (!config.getValue().equalsIgnoreCase("2")) {
+ log.info("瀛樺湪璋冩嫧浠诲姟鍘诲洓鍚戝簱,鍒囨崲妯″紡");
+ config.setValue("2");
+ configService.updateById(config);
+ }
+ } else {
+ if (!config.getValue().equalsIgnoreCase("0")) {
+ log.info("涓嶅瓨鍦ㄤ换鍔�");
+ config.setValue("0");
+ configService.updateById(config);
+ }
+ }
+ } else {
+ List<WrkMast> wrkMastList3 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 101, 110).eq("crn_no", 1).eq("sta_no", 1135));
+ List<WrkMast> wrkMastList4 = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 1, 10).eq("crn_no", 7).eq("sta_no", 1032));
+ if (wrkMastList3.isEmpty() && wrkMastList4.isEmpty()) {
+ if (!config.getValue().equalsIgnoreCase("1")) {
+ log.info("瀛樺湪璋冩嫧浠诲姟鍘籨uiduo,鍒囨崲妯″紡");
+ config.setValue("1");
+ configService.updateById(config);
+ }
+ }
+ }
+ }
}
--
Gitblit v1.9.1