| | |
| | | import com.zy.core.enums.DevpType.DevpStateType; |
| | | import com.zy.core.enums.DevpType.DevpTrayType; |
| | | import com.zy.core.enums.DevpType.DevpWorkType; |
| | | import com.zy.core.model.*; |
| | | import com.zy.core.model.CrnSlave; |
| | | import com.zy.core.model.DevpSlave; |
| | | import com.zy.core.model.LedSlave; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.command.CrnCommand; |
| | | import com.zy.core.model.command.LedCommand; |
| | | import com.zy.core.model.command.RgvCommand; |
| | | import com.zy.core.model.protocol.CrnProtocol; |
| | | import com.zy.core.model.protocol.RgvProtocol; |
| | | import com.zy.core.model.protocol.StaProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.thread.BarcodeThread; |
| | | import com.zy.core.thread.LedThread; |
| | | import com.zy.core.thread.RgvThread; |
| | | import com.zy.core.thread.SiemensDevpThread; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | |
| | | // 更新站点信息 且 下发plc命令 |
| | | staProtocol.setWorkNo(wrkMast.getWrkNo()); |
| | | staProtocol.setStaNo((short) 161); |
| | | staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | log.error("输送线下发5:"+wrkMast.getWrkNo()+","+wrkMast.getStaNo()); |
| | |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | if (!(staProtocol.stateType == DevpStateType.AUTO && staProtocol.workType == DevpWorkType.BUSY && staProtocol.requestType == DevpRequestType.OUT)){ |
| | | if (!(staProtocol.stateType == DevpStateType.AUTO && staProtocol.requestType == DevpRequestType.OUT)){ |
| | | continue; |
| | | } |
| | | if (staProtocol.getWorkNo() != 0){ |
| | | if (staProtocol.getWorkNo() == 0){ |
| | | continue; |
| | | } |
| | | WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).eq("wrk_sts", 101).in("crn_no", 8, 9)); |
| | | WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).eq("wrk_sts", 101)); |
| | | if(!Cools.isEmpty(wrkMast1)){ |
| | | continue; |
| | | } |
| | |
| | | //查询状态为2的任务 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() |
| | | .eq("wrk_no", staProtocol.getWorkNo()) |
| | | .in("io_type",1,10,53,54,57) |
| | | .in("wrk_sts", 2,104) |
| | | .in("crn_no",8,9)); |
| | | .in("io_type",101,110,103,104,107) |
| | | .eq("wrk_sts", 15)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | log.error(agvSta.getStaNo()+"站,转发agv任务未找到对应任务,任务号:"+staProtocol.getWorkNo()); |
| | | continue; |
| | |
| | | } |
| | | |
| | | private void getAgvTaskParam(ForwardAGVTaskParam agvTaskCreateParam,WrkMast param,Integer staNo){ |
| | | String sourceSite = ""; |
| | | if (staNo == 1040 || staNo == 1042) { |
| | | sourceSite = "a"; |
| | | } else if (staNo == 2010 || staNo == 2012) { |
| | | sourceSite = "b"; |
| | | } else if(staNo == 3010 || staNo ==3012) { |
| | | sourceSite = "c"; |
| | | } else if(staNo == 2000 || staNo ==2002) { |
| | | sourceSite = "d"; |
| | | } |
| | | List<ForwardAGVTaskParam.PositionCodePaths> agvTaskParamList = Arrays.asList( |
| | | //起始位 |
| | | new ForwardAGVTaskParam.PositionCodePaths(staNo.toString(),"05"), |
| | | //目标位 |
| | | new ForwardAGVTaskParam.PositionCodePaths(param.getLocNo(),"05") |
| | | new ForwardAGVTaskParam.PositionCodePaths(sourceSite,"04") |
| | | ); |
| | | Date date = new Date(); |
| | | DecimalFormat df = new DecimalFormat("0000"); |
| | | String wrkNo = "Crn"+df.format(param.getWrkNo())+date.getTime()/1000; |
| | | agvTaskCreateParam.setReqCode(wrkNo); |
| | | agvTaskCreateParam.setReqTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); |
| | | agvTaskCreateParam.setTaskTyp("GT1"); |
| | | agvTaskCreateParam.setTaskTyp("GT4"); |
| | | agvTaskCreateParam.setCtnrCode(param.getBarcode()); |
| | | agvTaskCreateParam.setPositionCodePath(agvTaskParamList); |
| | | agvTaskCreateParam.setCtnrTyp("1"); |
| | | agvTaskCreateParam.setCtnrTyp("2"); |
| | | agvTaskCreateParam.setPriority("1"); |
| | | agvTaskCreateParam.setTaskCode(wrkNo); |
| | | |
| | | } |