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 |  143 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 136 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 4ba63d1..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,7 +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
@@ -9,18 +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