返修下线调整
							parent
							
								
									d22b015d6c
								
							
						
					
					
						commit
						3009854769
					
				| 
						 | 
				
			
			@ -102,7 +102,7 @@ public class BydAppServiceImpl implements BydAppService {
 | 
			
		|||
        Point endPoint = pointList.get(0);
 | 
			
		||||
 | 
			
		||||
        //创建下发任务
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.ASN, stock, srcPoint, endPoint, "FORKLIFT_MOVE");
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.ASN, stock, srcPoint.getCode(), endPoint.getCode(), "FORKLIFT_MOVE");
 | 
			
		||||
 | 
			
		||||
        //创建ASN明细和ItemKey和Task任务
 | 
			
		||||
        createAsnDetailsAndItemKeysAndTasks(barCodeVos, item, stock, srcPoint, endPoint, agvTask);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,28 +94,32 @@ public interface AgvTaskService {
 | 
			
		|||
 | 
			
		||||
    /**
 | 
			
		||||
     * 创建agvTask任务
 | 
			
		||||
     * @param bizStatus 状态
 | 
			
		||||
     * @param stock 容器
 | 
			
		||||
     * @param srcPoint 起点
 | 
			
		||||
     * @param endPoint 终点
 | 
			
		||||
     * @param jobType 任务类型
 | 
			
		||||
     *
 | 
			
		||||
     * @param bizStatus    状态
 | 
			
		||||
     * @param stock        容器
 | 
			
		||||
     * @param srcPointCode 起点
 | 
			
		||||
     * @param endPointCode 终点
 | 
			
		||||
     * @param jobType      任务类型
 | 
			
		||||
     */
 | 
			
		||||
    AgvTask createAgvTask(String bizStatus, Stock stock, Point srcPoint, Point endPoint, String jobType);
 | 
			
		||||
    AgvTask createAgvTask(String bizStatus, Stock stock, String srcPointCode, String endPointCode, String jobType);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据容器查询任务
 | 
			
		||||
     *
 | 
			
		||||
     * @param stockCode 容器
 | 
			
		||||
     */
 | 
			
		||||
    List<AgvTask> findRepeat(String stockCode, String srcPointCode, String endPointCode);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据终点查询是否有重复任务
 | 
			
		||||
     * @param stockCode 容器
 | 
			
		||||
     *
 | 
			
		||||
     * @param endSlotCode 点位
 | 
			
		||||
     * @param type 任务类型
 | 
			
		||||
     * @param jobType 作业类型
 | 
			
		||||
     */
 | 
			
		||||
    Boolean findByEndSlotCode(String endSlotCode, String type, String jobType);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询打开的任务并轮询下发
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			@ -123,13 +127,13 @@ public interface AgvTaskService {
 | 
			
		|||
 | 
			
		||||
    /**
 | 
			
		||||
     * 翻包返库时,查询起点是否有多条不同容器的任务(不包括当前任务)
 | 
			
		||||
     * @param agvTaskId 任务ID
 | 
			
		||||
     *
 | 
			
		||||
     * @param agvTaskId    任务ID
 | 
			
		||||
     * @param srcPointCode 起点
 | 
			
		||||
     */
 | 
			
		||||
    int existsBySrcPoint(Long agvTaskId, String srcPointCode);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *
 | 
			
		||||
     * 统计本周任务数量
 | 
			
		||||
     */
 | 
			
		||||
    Map<String, Object> queryWeeklyTaskCounts();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -125,12 +125,12 @@ public class AgvTaskServiceImpl implements AgvTaskService {
 | 
			
		|||
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public AgvTask createAgvTask(String bizStatus, Stock stock, Point srcPoint, Point endPoint, String jobType) {
 | 
			
		||||
    public AgvTask createAgvTask(String bizStatus, Stock stock, String srcPointCode, String endPointCode, String jobType) {
 | 
			
		||||
        AgvTask agvTask = new AgvTask();
 | 
			
		||||
        agvTask.setType(bizStatus);
 | 
			
		||||
        agvTask.setStockCode(stock == null ? null : stock.getCode());
 | 
			
		||||
        agvTask.setStartSlotCode(srcPoint.getCode());
 | 
			
		||||
        agvTask.setEndSlotCode(endPoint.getCode());
 | 
			
		||||
        agvTask.setStartSlotCode(srcPointCode);
 | 
			
		||||
        agvTask.setEndSlotCode(endPointCode);
 | 
			
		||||
        agvTask.setStatus(BizStatus.OPEN);
 | 
			
		||||
        agvTask.setJobType(jobType);
 | 
			
		||||
        agvTaskRepository.save(agvTask);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -262,11 +262,10 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
    @Override
 | 
			
		||||
    public synchronized String sendAgvTaskGtJson(AgvTask agvTask) {
 | 
			
		||||
        JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
 | 
			
		||||
        String agvCode = TimeNumberUtils.getGTTaskCode();
 | 
			
		||||
        Map<String, Object> objMap = new LinkedHashMap<>();
 | 
			
		||||
        objMap.put("orgId", agvCode);//库存组织 ID(或工厂代码,供应商代码)
 | 
			
		||||
        objMap.put("requestId", agvCode);//请求 id
 | 
			
		||||
        objMap.put("missionCode", agvCode);//任务编号
 | 
			
		||||
        objMap.put("orgId", agvTask.getId());//库存组织 ID(或工厂代码,供应商代码)
 | 
			
		||||
        objMap.put("requestId", agvTask.getId());//请求 id
 | 
			
		||||
        objMap.put("missionCode", agvTask.getId());//任务编号
 | 
			
		||||
        objMap.put("missionType", "ROLLER_MOVE");//任务类型 :滚筒
 | 
			
		||||
        objMap.put("viewBoardType", "");//上视识别类型:
 | 
			
		||||
        objMap.put("robotType", "ROLLER");
 | 
			
		||||
| 
						 | 
				
			
			@ -280,9 +279,9 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
        missionDataMap.put("position", agvTask.getStartSlotCode());//起点
 | 
			
		||||
        missionDataMap.put("type", "NODE_POINT");//
 | 
			
		||||
        missionDataMap.put("actionType", "ROLLER_RECEIVE");//
 | 
			
		||||
        missionDataMap.put("binCode", agvTask.getStockCode());//容器
 | 
			
		||||
        missionDataMap.put("binCode", "");//容器
 | 
			
		||||
        missionDataMap.put("rollerLevel", 1);//
 | 
			
		||||
        missionDataMap.put("deviceCode", agvTask.getSlotCode());//设备编号
 | 
			
		||||
        missionDataMap.put("deviceCode", agvTask.getStartSlotCode());//设备编号
 | 
			
		||||
        missionDataMap.put("actionConfirm", true);//
 | 
			
		||||
        missionDataMap.put("passStrategy", "AUTO");//
 | 
			
		||||
        missionDataObj.putAll(missionDataMap);
 | 
			
		||||
| 
						 | 
				
			
			@ -291,10 +290,10 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
        JSONObject missionDataObj2 = new JSONObject(new LinkedHashMap<>());
 | 
			
		||||
        Map<String, Object> missionDataMap2 = new LinkedHashMap<>();
 | 
			
		||||
        missionDataMap2.put("sequence", 2);//序号
 | 
			
		||||
        missionDataMap2.put("position", agvTask.getEndSlotCode());//起点
 | 
			
		||||
        missionDataMap2.put("position", "FX001");//中转点
 | 
			
		||||
        missionDataMap2.put("type", "NODE_POINT");//
 | 
			
		||||
        missionDataMap2.put("actionType", "");//
 | 
			
		||||
        missionDataMap2.put("binCode", agvTask.getStockCode());//容器
 | 
			
		||||
        missionDataMap2.put("binCode", "");//容器
 | 
			
		||||
        missionDataMap2.put("rollerLevel", 1);//
 | 
			
		||||
        missionDataMap2.put("deviceCode", "");//
 | 
			
		||||
        missionDataMap2.put("actionConfirm", false);//
 | 
			
		||||
| 
						 | 
				
			
			@ -305,12 +304,12 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
        JSONObject missionDataObj3 = new JSONObject(new LinkedHashMap<>());
 | 
			
		||||
        Map<String, Object> missionDataMap3 = new LinkedHashMap<>();
 | 
			
		||||
        missionDataMap3.put("sequence", 3);//序号
 | 
			
		||||
        missionDataMap3.put("position", agvTask.getStartSlotCode());//起点
 | 
			
		||||
        missionDataMap3.put("position", agvTask.getEndSlotCode());//终点
 | 
			
		||||
        missionDataMap3.put("type", "NODE_POINT");//
 | 
			
		||||
        missionDataMap3.put("actionType", "ROLLER_RECEIVE");//
 | 
			
		||||
        missionDataMap3.put("binCode", agvTask.getStockCode());//容器
 | 
			
		||||
        missionDataMap3.put("binCode", "");//容器
 | 
			
		||||
        missionDataMap3.put("rollerLevel", 1);//
 | 
			
		||||
        missionDataMap3.put("deviceCode", agvTask.getSlotCode());//
 | 
			
		||||
        missionDataMap3.put("deviceCode", agvTask.getEndSlotCode());//终点
 | 
			
		||||
        missionDataMap3.put("actionConfirm", true);//
 | 
			
		||||
        missionDataMap3.put("passStrategy", "AUTO");//
 | 
			
		||||
        missionDataObj3.putAll(missionDataMap3);
 | 
			
		||||
| 
						 | 
				
			
			@ -355,9 +354,6 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void missionStateCallback(AgvTask agvTask, String status, String containerCode) {
 | 
			
		||||
        Stock stock = stockService.findByCode(containerCode);
 | 
			
		||||
        if (stock == null) {
 | 
			
		||||
            throw new BadRequestException(containerCode + "容器不存在或已失效");
 | 
			
		||||
        }
 | 
			
		||||
        //顶升的是起点;其它终点;
 | 
			
		||||
        Point point;
 | 
			
		||||
        String pointCode;
 | 
			
		||||
| 
						 | 
				
			
			@ -405,7 +401,7 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
        Point endPoint = endPointList.get(0);
 | 
			
		||||
 | 
			
		||||
        //创建任务
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.FB_RETURN, stock, srcPoint, endPoint, "FORKLIFT_MOVE");
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.FB_RETURN, stock, srcPoint.getCode(), endPoint.getCode(), "FORKLIFT_MOVE");
 | 
			
		||||
 | 
			
		||||
        //点位占用
 | 
			
		||||
        pointService.usedPoint(endPoint);
 | 
			
		||||
| 
						 | 
				
			
			@ -439,7 +435,7 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
            pointService.freePoint(startPoint);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        agvTask.setStockCode(stock.getCode());
 | 
			
		||||
        agvTask.setStockCode(stock == null ? null : stock.getCode());
 | 
			
		||||
        agvTask.setStatus(BizStatus.UP_CONTAINER);
 | 
			
		||||
        agvTaskService.update(agvTask);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -489,6 +485,9 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
            case BizStatus.Cp_Off_Line:
 | 
			
		||||
                handleCpOffLine(endPoint, stock);//成品下线完成
 | 
			
		||||
                break;
 | 
			
		||||
            case BizStatus.Fx_Off_Line:
 | 
			
		||||
                handleFxOffLine(agvTask);//返修下线完成
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //更新任务状态
 | 
			
		||||
| 
						 | 
				
			
			@ -520,7 +519,7 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
     * @param agvTask 任务
 | 
			
		||||
     */
 | 
			
		||||
    private synchronized void handleResendTask(AgvTask agvTask) {
 | 
			
		||||
        List<AgvTask> repeatList = agvTaskService.findRepeat(agvTask.getStockCode(),agvTask.getStartSlotCode(),agvTask.getEndSlotCode());
 | 
			
		||||
        List<AgvTask> repeatList = agvTaskService.findRepeat(agvTask.getStockCode(), agvTask.getStartSlotCode(), agvTask.getEndSlotCode());
 | 
			
		||||
        if (!repeatList.isEmpty()) {
 | 
			
		||||
            throw new BadRequestException("任务已重新生成,请勿重复操作! ");
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -687,6 +686,10 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
        stockService.usedStock(stock, endPoint, BaseStatus.USED);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void handleFxOffLine(AgvTask agvTask) {
 | 
			
		||||
        this.updateAgvTaskStatus(agvTask, null, BizStatus.FINISH);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 满车入库
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -770,7 +773,7 @@ public class KMReServiceImpl implements KMReService {
 | 
			
		|||
     * @param status  状态
 | 
			
		||||
     */
 | 
			
		||||
    private void updateAgvTaskStatus(AgvTask agvTask, Stock stock, String status) {
 | 
			
		||||
        agvTask.setStockCode(stock.getCode());
 | 
			
		||||
        agvTask.setStockCode(stock == null ? null : stock.getCode());
 | 
			
		||||
        agvTask.setStatus(status);
 | 
			
		||||
        agvTask.setEndTime(new Timestamp(new Date().getTime()));
 | 
			
		||||
        agvTaskService.update(agvTask);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,10 +18,7 @@ import com.youchain.businessdata.service.AgvTaskService;
 | 
			
		|||
import com.youchain.businessdata.service.MesService;
 | 
			
		||||
import com.youchain.exception.BadRequestException;
 | 
			
		||||
import com.youchain.modules.system.service.DeptService;
 | 
			
		||||
import com.youchain.utils.AreaNameDic;
 | 
			
		||||
import com.youchain.utils.BaseStatus;
 | 
			
		||||
import com.youchain.utils.BizStatus;
 | 
			
		||||
import com.youchain.utils.StringUtils;
 | 
			
		||||
import com.youchain.utils.*;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
| 
						 | 
				
			
			@ -47,6 +44,7 @@ public class MesServiceImpl implements MesService {
 | 
			
		|||
    private final AgvTaskService agvTaskService;
 | 
			
		||||
    private final KMReServiceImpl kmReService;
 | 
			
		||||
    private final DeptService deptService;
 | 
			
		||||
    private final GtLineMap gtLineMap;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
| 
						 | 
				
			
			@ -274,7 +272,7 @@ public class MesServiceImpl implements MesService {
 | 
			
		|||
            throw new BadRequestException(endPoint.getCode() + "点位有任务,请稍后再试!");
 | 
			
		||||
        }
 | 
			
		||||
        //创建Agv任务
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Cp_Off_Up, emptyStock, srcPoint, endPoint, "RACK_MOVE");
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Cp_Off_Up, emptyStock, srcPoint.getCode(), endPoint.getCode(), "RACK_MOVE");
 | 
			
		||||
        // 更新点位状态
 | 
			
		||||
        pointService.usedPoint(endPoint);
 | 
			
		||||
        //下发任务
 | 
			
		||||
| 
						 | 
				
			
			@ -296,7 +294,7 @@ public class MesServiceImpl implements MesService {
 | 
			
		|||
                //验证终点是否有任务
 | 
			
		||||
                if (agvTaskService.findByEndSlotCode(endPoint.getCode(), BizStatus.Cp_Off_Line, "RACK_MOVE")) {
 | 
			
		||||
                    //创建Agv任务
 | 
			
		||||
                    AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Cp_Off_Line, fullStock, srcPoint, endPoint, "RACK_MOVE");
 | 
			
		||||
                    AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Cp_Off_Line, fullStock, srcPoint.getCode(), endPoint.getCode(), "RACK_MOVE");
 | 
			
		||||
                    // 更新点位状态
 | 
			
		||||
                    pointService.usedPoint(endPoint);
 | 
			
		||||
                    //占用容器
 | 
			
		||||
| 
						 | 
				
			
			@ -330,7 +328,7 @@ public class MesServiceImpl implements MesService {
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
        //创建Agv任务
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Cp_Off_Line, stock, srcPoint, endPoint, "RACK_MOVE");
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Cp_Off_Line, stock, srcPoint.getCode(), endPoint.getCode(), "RACK_MOVE");
 | 
			
		||||
        // 更新点位状态
 | 
			
		||||
        pointService.usedPoint(endPoint);
 | 
			
		||||
        //占用容器
 | 
			
		||||
| 
						 | 
				
			
			@ -340,15 +338,19 @@ public class MesServiceImpl implements MesService {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    private void moveFxOffLine(TransTask transTask) {
 | 
			
		||||
        Point srcPoint = pointService.validatePoint(transTask.getPointCode());//起点
 | 
			
		||||
        List<Point> pointList = pointService.queryPoints(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.FXSXQ);
 | 
			
		||||
        if (pointList.isEmpty()) {
 | 
			
		||||
            throw new BadRequestException("返修上线区没有空闲点位!");
 | 
			
		||||
        if (!gtLineMap.containsKey(transTask.getPointCode())) {
 | 
			
		||||
            throw new BadRequestException(transTask.getPointCode() + "点位不存在,请核实!");
 | 
			
		||||
        }
 | 
			
		||||
        Point endPoint = pointList.get(0);
 | 
			
		||||
        List<String> points = gtLineMap.getData(transTask.getPointCode());
 | 
			
		||||
 | 
			
		||||
        //验证终点是否有任务
 | 
			
		||||
        if (!agvTaskService.findByEndSlotCode(points.get(1), BizStatus.Fx_Off_Line, "ROLLER_MOVE")) {
 | 
			
		||||
            // 直接在条件判断为false时抛出异常,表示该点位有任务
 | 
			
		||||
            throw new BadRequestException(points.get(1) + "点位有任务,请稍后再试!");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //生成任务
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Fx_Off_Line, null, srcPoint, endPoint, "ROLLER_MOVE");
 | 
			
		||||
        agvTask.setSlotCode(srcPoint.getName());
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.Fx_Off_Line, null, transTask.getPointCode(), points.get(1), "ROLLER_MOVE");
 | 
			
		||||
        agvTaskService.update(agvTask);
 | 
			
		||||
 | 
			
		||||
        //下发任务
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -214,7 +214,7 @@ public class TaskServiceImpl implements TaskService {
 | 
			
		|||
            List<AgvTask> agvTaskList = agvTaskService.findRepeat(task.getSrcStockCode(),task.getSrcPointCode(),task.getDstPointCode());
 | 
			
		||||
            if (agvTaskList.isEmpty()) {
 | 
			
		||||
                //创建任务
 | 
			
		||||
                agvTask = agvTaskService.createAgvTask(BizStatus.PICK, task.getSrcStock(), task.getSrcPoint(), task.getDstPoint(), "FORKLIFT_MOVE");
 | 
			
		||||
                agvTask = agvTaskService.createAgvTask(BizStatus.PICK, task.getSrcStock(), task.getSrcPoint().getCode(), task.getDstPoint().getCode(), "FORKLIFT_MOVE");
 | 
			
		||||
 | 
			
		||||
                //终点占用
 | 
			
		||||
                pointService.usedPoint(task.getDstPoint());
 | 
			
		||||
| 
						 | 
				
			
			@ -267,7 +267,7 @@ public class TaskServiceImpl implements TaskService {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
        //创建任务
 | 
			
		||||
        agvTaskService.createAgvTask(BizStatus.CALL_RETURN, stock, srcPoint, endPoint, "RACK_MOVE");
 | 
			
		||||
        agvTaskService.createAgvTask(BizStatus.CALL_RETURN, stock, srcPoint.getCode(), endPoint.getCode(), "RACK_MOVE");
 | 
			
		||||
 | 
			
		||||
        //终点占用
 | 
			
		||||
        pointService.usedPoint(endPoint);
 | 
			
		||||
| 
						 | 
				
			
			@ -295,7 +295,7 @@ public class TaskServiceImpl implements TaskService {
 | 
			
		|||
        Stock stock = pick.getStock();
 | 
			
		||||
 | 
			
		||||
        //创建任务
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.CALL_PICK, stock, srcPoint, endPoint, "RACK_MOVE");
 | 
			
		||||
        AgvTask agvTask = agvTaskService.createAgvTask(BizStatus.CALL_PICK, stock, srcPoint.getCode(), endPoint.getCode(), "RACK_MOVE");
 | 
			
		||||
        agvTask.setLineSlotCode(pick.getCode());
 | 
			
		||||
        agvTaskService.update(agvTask);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
package com.youchain.utils;
 | 
			
		||||
 | 
			
		||||
import org.springframework.stereotype.Component;
 | 
			
		||||
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.concurrent.ConcurrentHashMap;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 滚筒任务路线
 | 
			
		||||
 * 下线点 BYDGTO06、BYDGT007、BVDGTO01、BXDGT003、BYDGT005
 | 
			
		||||
 * 上线点 BYDGTO02、BYDGTO04、BYDGTO08
 | 
			
		||||
 */
 | 
			
		||||
@Component
 | 
			
		||||
public class GtLineMap {
 | 
			
		||||
    public static final Map<String, List<String>> dataMap;
 | 
			
		||||
 | 
			
		||||
    static {
 | 
			
		||||
        dataMap = new ConcurrentHashMap<>();
 | 
			
		||||
        // 初始化Map
 | 
			
		||||
        dataMap.put("BYDGT006", Arrays.asList("FX001", "BYDGT002"));
 | 
			
		||||
        dataMap.put("BYDGT007", Arrays.asList("FX001", "BYDGT002"));
 | 
			
		||||
        dataMap.put("BVDGT001", Arrays.asList("FX001", "BYDGT002"));
 | 
			
		||||
        dataMap.put("BXDGT003", Arrays.asList("FX001", "BYDGT004"));
 | 
			
		||||
        dataMap.put("BYDGT005", Arrays.asList("FX001", "BYDGT008"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public List<String> getData(String key) {
 | 
			
		||||
        return dataMap.get(key);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public boolean containsKey(String key) {
 | 
			
		||||
        return dataMap.containsKey(key);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue