| | |
| | | package com.zy.core.operation.handler; |
| | | |
| | | import com.core.common.Cools; |
| | | import com.zy.acs.framework.common.Cools; |
| | | import com.zy.acs.framework.exception.CoolException; |
| | | import com.zy.asrs.controller.vo.ApplyInDto; |
| | | import com.zy.asrs.controller.vo.ApplyInRepsonseDto; |
| | | import com.zy.asrs.entity.Job; |
| | |
| | | import com.zy.asrs.service.JobService; |
| | | import com.zy.asrs.service.WmsMainService; |
| | | import com.zy.asrs.service.WrkLastnoService; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.ConveyorStateType; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.enums.TaskType; |
| | | import com.zy.core.model.DevpSlave; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.protocol.StaProtocol; |
| | | import com.zy.core.operation.OperationHandler; |
| | | import com.zy.core.properties.CtuOperationConfig; |
| | |
| | | if (staProtocol.getWorkNo() >= 9991 && staProtocol.getWorkNo() <= 9992) { |
| | | Job job = jobService.getJobByBarcode(barcode); |
| | | // 申请入库 |
| | | if (job == null || (job != null && job.getJobSts() == 8)) { |
| | | if (job == null || (job != null && job.getJobSts() == ConveyorStateType.CLEARSIGNAL.getStatus())) { |
| | | ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyIn(barcode, inSta.getStaNo() + "", staProtocol)); |
| | | if (locOfWms != null) { |
| | | job = new Job(); |
| | | job.setLoc(locOfWms.getLocNo()); |
| | | job.setTaskNo(locOfWms.getTaskNo()); |
| | | job.setBatchNo(locOfWms.getBatchNo()); |
| | | job.setBarcode(barcode); |
| | | job.setStaNo(inSta.getTargetSta() + ""); |
| | | job.setJobNo(wrkLastnoService.nextWorkNo(WorkNoTypeType.WORK_NO_TYPE.type)); |
| | | job.setJobSts(ConveyorStateType.APPLYLOC.getStatus()); |
| | | job.setWmsTime(new Date()); |
| | | jobService.insert(job); |
| | | staProtocol.setWorkNo(job.getJobNo()); |
| | | staProtocol.setStaNo(inSta.getTargetSta()); |
| | | if (MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol))) { |
| | | if (!jobService.insert(initJob(locOfWms, barcode, inSta.getTargetSta() + ""))) { |
| | | throw new CoolException("更新输送线任务失败," + " - " + staProtocol.getWorkNo()); |
| | | } |
| | | log.info("入库前进:{},{}", staProtocol.getWorkNo(), inSta.getTargetSta()); |
| | | } |
| | | } else { |
| | | log.info("WMS未返回库位信息,条码:{},站点:{}", barcode, inSta.getStaNo()); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | private Job initJob(ApplyInRepsonseDto locOfWms, String barcode, String staNo) { |
| | | Job job = new Job(); |
| | | job.setLoc(locOfWms.getLocNo()); |
| | | job.setTaskNo(locOfWms.getTaskNo()); |
| | | job.setBatchNo(locOfWms.getBatchNo()); |
| | | job.setBarcode(barcode); |
| | | job.setStaNo(staNo); |
| | | job.setJobNo(getWorkNo()); |
| | | job.setJobSts(ConveyorStateType.INBOUND.getStatus()); |
| | | job.setWmsTime(new Date()); |
| | | return job; |
| | | } |
| | | |
| | | private Integer getWorkNo() { |
| | | return wrkLastnoService.nextWorkNo(WorkNoTypeType.WORK_NO_TYPE.type); |
| | | } |
| | | |
| | | private ApplyInDto applyIn(String barcode, String staNo, StaProtocol staProtocol) { |
| | | ApplyInDto applyInDto = new ApplyInDto(); |
| | | applyInDto.setStaNo(staNo); |