From 2a7fd275313003968fc186ee4617aec4eca90266 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 10 五月 2025 16:55:41 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/AssignAgvTaskScheduler.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 115 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/AssignAgvTaskScheduler.java b/src/main/java/com/zy/asrs/task/AssignAgvTaskScheduler.java
new file mode 100644
index 0000000..b62b798
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/AssignAgvTaskScheduler.java
@@ -0,0 +1,115 @@
+package com.zy.asrs.task;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.TaskWrkService;
+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.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+@Slf4j
+@Component
+public class AssignAgvTaskScheduler {
+
+ @Autowired
+ private TaskWrkService taskWrkService;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private LocMastService locMastService;
+ @Value("${agv.url}")
+ private String agvUrl;
+ @Value("${agv.applyTask}")
+ private String agvApplyTask;
+
+ /**
+ * 鑷姩娲惧彂AGV鎼繍浠诲姟
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void execute() {
+ List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
+ .eq("status", TaskStatusType.RECEIVE.id).eq("io_type", 4));
+
+ for (TaskWrk taskWrk : taskWrks) {
+ String startPoint = taskWrk.getStartPoint();
+ String targetPoint = taskWrk.getTargetPoint();
+ LocMast startLocMast = locMastService.selectByLocNo(startPoint);
+ if(startLocMast == null){
+ continue;
+ }
+
+ if (!startLocMast.getLocSts().equals("R")) {
+ continue;
+ }
+
+ LocMast targetLocMast = locMastService.selectByLocNo(targetPoint);
+ if(targetLocMast == null){
+ continue;
+ }
+
+ if (!targetLocMast.getLocSts().equals("S")) {
+ continue;
+ }
+
+ HashMap<String, Object> requestParam = new HashMap<>();
+ requestParam.put("reqCode", taskWrk.getTaskNo());
+ requestParam.put("taskCode", taskWrk.getTaskNo());
+ requestParam.put("taskTyp", "YK");
+
+ ArrayList<HashMap<String, Object>> positionCodePathList = new ArrayList<>();
+ HashMap<String, Object> startPointParam = new HashMap<>();
+ startPointParam.put("positionCode", taskWrk.getStartPoint());
+ startPointParam.put("type", "00");
+
+ HashMap<String, Object> targetPointParam = new HashMap<>();
+ targetPointParam.put("positionCode", taskWrk.getTargetPoint());
+ targetPointParam.put("type", "00");
+
+ positionCodePathList.add(startPointParam);
+ positionCodePathList.add(targetPointParam);
+ requestParam.put("positionCodePath", positionCodePathList);
+
+ String response = null;
+ boolean requestStatus = false;
+ try {
+ log.info("WCS娲惧彂浠诲姟缁橝GV={}", taskWrk);
+ response = new HttpHandler.Builder()
+ .setUri(agvUrl)
+ .setPath(agvApplyTask)
+ .setJson(JSON.toJSONString(requestParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.get("code").equals("0")) {
+ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);
+ taskWrkService.updateById(taskWrk);
+ requestStatus = true;
+ }
+ } catch (Exception e) {
+ log.error("WCS娲惧彂浠诲姟缁橝GV澶辫触{},杩斿洖鍊�={}", taskWrk, response);
+ } finally {
+ apiLogService.save("WCS娲惧彂浠诲姟缁橝GV"
+ , agvUrl + agvApplyTask
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(requestParam)
+ , response
+ , requestStatus
+ );
+ }
+ }
+ }
+}
--
Gitblit v1.9.1