From 1bfa44facba36747d1caffab6bff986ccd7f36a9 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 25 十一月 2025 15:13:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java | 147 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 140 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
index f6ff49a..ea8c94f 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -1,6 +1,14 @@
package com.zy.asrs.entity.param;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.SnowflakeIdWorker;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasAgvLocNo;
+import com.zy.asrs.entity.BasAgvMast;
+import com.zy.asrs.service.BasAgvLocNoService;
import lombok.Data;
+
+import java.util.ArrayList;
/*
* Created by Monkey D. Luffy on 2025.09.09
@@ -8,15 +16,140 @@
@Data
public class AgvTaskAssignmentParam {
- private String id;
+ private String reqCode;
+ private String taskCode;
+ private String taskTyp = "cs";
+ private String ctnrTyp = "1";
+ private ArrayList<PositionCodePathClass> positionCodePath = new ArrayList<PositionCodePathClass>();
- public AgvTaskAssignmentParam() {}
-
- public AgvTaskAssignmentParam(String id) {
- this.id = id;
+ @Data
+ public static class PositionCodePathClass {
+ private String positionCode;
+ private String type = "05";//鏀剧疆浣�
}
- public AgvTaskAssignmentParam(int id) {
- this.id = String.valueOf(id);
+ public AgvTaskAssignmentParam() {
+
}
+ public AgvTaskAssignmentParam(BasAgvMast basAgvMast) {
+ switch (basAgvMast.getIoType()){
+ case 0:
+ getAgvTaskAssignmentParam0(basAgvMast);
+ if(basAgvMast.getFloorNo() == 1){
+ taskTyp = "1FQ3";
+
+ }else if(basAgvMast.getFloorNo() == 2){
+ taskTyp = "2FRK";
+ }else{
+ taskTyp = "4FRK";
+ }
+ ctnrTyp = "1";
+ return;
+ case 1:
+ getAgvTaskAssignmentParam1(basAgvMast);
+ taskTyp = basAgvMast.getDevpId()==1?"1FYK":"";
+ ctnrTyp = "1";
+ return;
+ case 2:
+ getAgvTaskAssignmentParam2(basAgvMast);
+ if(basAgvMast.getFloorNo() == 1){
+ taskTyp = "1FQ1";
+ }else if(basAgvMast.getFloorNo() == 2){
+ taskTyp = "2FCK";
+ }else{
+ taskTyp = "4FCK";
+ }
+ ctnrTyp = "1";
+ return;
+ case 3:
+ getAgvTaskAssignmentParam3(basAgvMast);
+// taskTyp = "1FQ4";
+ ctnrTyp = "1";
+ return;
+ default:
+ return;
+ }
+
+ }
+
+ public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
+ BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
+ this.reqCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
+ this.taskCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
+ String sourceAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(sourceAgvLoc);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String endAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(endAgvLoc);
+ this.positionCodePath.add(end);
+ }
+
+ public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
+ BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
+ this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
+ this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
+ String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(agvLocSou);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(agvLocEnd);
+ this.positionCodePath.add(end);
+ }
+
+ public void getAgvTaskAssignmentParam2(BasAgvMast basAgvMast) {
+ BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
+ this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
+ this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
+ String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(agvLocSou);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(agvLocEnd);
+ this.positionCodePath.add(end);
+ }
+
+ public void getAgvTaskAssignmentParam3(BasAgvMast basAgvMast) {
+ BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
+ this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
+ this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
+ String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(agvLocSou);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(agvLocEnd);
+ this.positionCodePath.add(end);
+ }
+
+
+ private String getAgvLocNoOrDefault(BasAgvLocNoService service, String column, Object value) {
+ if (value == null) {
+ return null;
+ }
+ BasAgvLocNo record = service.selectOne(new EntityWrapper<BasAgvLocNo>().eq(column, value));
+
+ if (record != null && record.getAgvLocNo() != null) {
+ return record.getAgvLocNo();
+ }
+
+ // 鏌ヨ涓嶅埌灏辫繑鍥炲師鍊硷紝浣嗗繀椤昏浆鎹㈡垚 String
+ return String.valueOf(value);
+ }
+
+
}
--
Gitblit v1.9.1