From b22b5b594c4cc9321f1b0ab6814a6290f1bfa7b2 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 05 六月 2025 15:52:56 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 163 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 149 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index b784d74..afb6bc3 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -3,13 +3,12 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.SpringUtils;
import com.zy.asrs.domain.enums.TaskStatusType;
-import com.zy.asrs.entity.CommandInfo;
-import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.TaskOverToWms;
import com.zy.asrs.entity.param.TaskStatusFeedbackParam;
-import com.zy.asrs.service.CommandInfoService;
-import com.zy.asrs.service.TaskWrkService;
+import com.zy.asrs.service.*;
import com.zy.asrs.utils.PostMesDataUtils;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
@@ -19,9 +18,11 @@
import org.springframework.stereotype.Component;
import java.io.IOException;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.TimeUnit;
/**
* 瀹氭椂灏嗕换鍔�(瀹屾垚銆佸彇娑�)杞垚鏃ュ織
@@ -34,6 +35,15 @@
private TaskWrkService taskWrkService;
@Autowired
private CommandInfoService commandInfoService;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private BasDevpService basDevpService;
+
+ @Autowired
+ private StaDescService staDescService;
+ @Autowired
+ private LocMastService locMastService;
@Value("${wms.url}")
private String wmsUrl;
@@ -44,7 +54,7 @@
public void execute() throws IOException {
for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) {
TaskStatusFeedbackParam taskStatusFeedbackParam = new TaskStatusFeedbackParam(taskWrk);
- if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) {//瀹屾垚
+ if (taskWrk.getStatus().equals(TaskStatusType.OVER.id)) {//瀹屾垚
taskStatusFeedbackParam.setTaskStatus("done");
Map<String, Object> map = new HashMap<>();
map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
@@ -54,19 +64,38 @@
taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
taskOverToWms.setTaskType(taskStatusFeedbackParam.getTaskType()); // 浠诲姟绫诲瀷
taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
+ //鍖哄垎鍏ュ嚭搴�
if (taskWrk.getIoType() ==1 ){
taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
}else if (taskWrk.getIoType() ==2){
- Map<Integer,String> map1 = new HashMap<>();
- map1.put(102,"J-1101");
- map1.put(106,"J-1103");
- map1.put(110,"J-1105");
- map1.put(114,"J-1107");
- map1.put(118,"J-1109");
- map1.put(122,"J-1111");
- taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
+ StaDesc staDesc = staDescService.queryCrn(2, Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getCrnNo());
+ taskOverToWms.setEquipmentCode(staDesc.getStnDesc()); //璁惧缂栫爜
taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
+ //鍒ゆ柇鎵樼洏鏄惁璧板埌鍑哄簱绔�
+ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", taskWrk.getTargetPoint()));
+ if (!basDevp.getWrkNo().equals(taskWrk.getWrkNo()) || !basDevp.getOutEnable().equals("Y")){
+ continue;
+ }
+ } else if (taskWrk.getIoType() ==3) {
+ taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
+ taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
+ Date now = new Date();
+// //鏇存柊搴撲綅鐘舵��
+// LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+// locMast.setLocSts("K");//O.绌哄簱浣�
+// locMast.setBarcode("");//鎵樼洏鐮�
+// locMast.setModiTime(now);
+// locMast.setModiUser(9999L);
+// locMastService.updateById(locMast);
+//
+// //鏇存柊搴撲綅鐘舵��
+// LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+// locMast2.setLocSts("Z");//F.鍦ㄥ簱
+// locMast2.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+// locMast2.setModiTime(now);
+// locMast2.setModiUser(9999L);
+// locMastService.updateById(locMast2);
}
taskOverToWms.setTaskStatus("done"); //浠诲姟鐘舵��
@@ -77,6 +106,7 @@
.setUri(wmsUrl)
.setPath("wcsManager/wcsInterface/taskStatusFeedback")
.setJson(JSON.toJSONString(taskOverToWms))
+ .setTimeout(60, TimeUnit.SECONDS)
.build()
.doPost();
}catch (Exception e){
@@ -86,7 +116,14 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)){
-
+ apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛"
+ ,wmsUrl+"/wcsManager/wcsInterface/taskStatusFeedback"
+ ,null
+ ,"127.0.0.1"
+ ,JSON.toJSONString(taskOverToWms)
+ ,response
+ ,true
+ );
}else {
continue;
}
@@ -108,5 +145,103 @@
}
}
}
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void task4to5(){
+ List<TaskWrk> taskWrks = taskWrkService.selectbyWrksts4();
+ for (TaskWrk taskWrk: taskWrks){
+ String tasktype = null;
+ switch (taskWrk.getIoType()){
+ case 1:
+ tasktype= "RK";
+ break;
+ case 2:
+ tasktype= "CK";
+ break;
+ case 3:
+ tasktype= "YK";
+ break;
+ default:
+ tasktype= "鏈煡";
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+ TaskOverToWms taskOverToWms = new TaskOverToWms();
+ taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮
+ taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑
+ taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
+ taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷
+ taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
+ if (taskWrk.getIoType() ==1){
+ taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
+ taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
+ }else if (taskWrk.getIoType() ==2){
+ Map<Integer,String> map1 = new HashMap<>();
+ map1.put(102,"J-1101");
+ map1.put(106,"J-1103");
+ map1.put(110,"J-1105");
+ map1.put(114,"J-1107");
+ map1.put(118,"J-1109");
+ map1.put(122,"J-1111");
+ map1.put(305,"H-1101");
+ map1.put(405,"G-1101");
+ taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
+ taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
+ } else if (taskWrk.getIoType() == 3) {
+ taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
+ taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint());
+ taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
+ }
+ taskOverToWms.setTaskStatus("location_done"); //浠诲姟鐘舵��
+ String response = null;
+ try {
+ response = new HttpHandler.Builder()
+ .setHeaders(map)
+ .setUri("10.32.53.195:8080")
+ .setPath("wcsManager/wcsInterface/taskStatusFeedback")
+ .setJson(JSON.toJSONString(taskOverToWms))
+ .build()
+ .doPost();
+ }catch (Exception e){
+ log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
+ }
+// ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+ apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛"
+ ,"10.32.53.195:8080"+"/wcsManager/wcsInterface/taskStatusFeedback"
+ ,null
+ ,"127.0.0.1"
+ ,JSON.toJSONString(taskOverToWms)
+ ,response
+ ,true
+ );
+
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)){
+ if (taskWrk.getIoType() == 3 || taskWrk.getIoType() == 1){
+ taskWrk.setWrkSts(5);
+ }else {
+ taskWrk.setWrkSts(15);
+ }
+ if (!taskWrkService.updateById(taskWrk)){
+ log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝鏀瑰彉浠诲姟鐘舵�佸け璐�");
+ }
+
+ log.info("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛鎴愬姛");
+ }else {
+ log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛瀹屾垚锛屼絾杩斿洖澶辫触");
+ }
+
+ }
+ }
+
+ @Scheduled(cron = "0 0 1 * * ? ")
+ public void clearApiLog(){
+ try {
+ apiLogService.clearWeekBefore();
+ } catch (Exception e) {
+ log.error("绗笁鏂规帴鍙f棩蹇楄嚜鍔ㄦ竻闄ゅけ璐ワ紙鑼冨洿锛氫竴鍛ㄤ箣鍓�", e);
+ }
+ }
+
+
}
--
Gitblit v1.9.1