| | |
| | | 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 |
| | |
| | | @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); |
| | | } |
| | | |
| | | |
| | | } |