| | |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.protocol.StaProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | |
| | | @Slf4j |
| | | @Service |
| | | public class OpenServiceImpl implements OpenService { |
| | | |
| | |
| | | taskWrk.setIoPri(param.getTaskPriority());//优先级 |
| | | taskWrk.setBarcode(param.getBarcode());//条码 |
| | | taskWrk.setCrnNo(param.getCrn()); |
| | | String stats = ""; |
| | | String wcsLocNo = ""; |
| | | if(param.getIoType() == 1){ |
| | | taskWrk.setWrkSts(1); |
| | | if (!Cools.isEmpty(param.getTargetPoint())) { |
| | |
| | | taskWrk.setWrkSts(11); |
| | | if (!Cools.isEmpty(param.getStartPoint())) { |
| | | taskWrk.setStartPoint(Utils.getWcsLocNo(param.getStartPoint()));//起点 |
| | | wcsLocNo = taskWrk.getStartPoint(); |
| | | taskWrk.setOriginStartPoint(param.getStartPoint()); |
| | | stats = "R"; |
| | | } |
| | | taskWrk.setTargetPoint(param.getTargetPoint()); |
| | | }else if (param.getIoType() == 3){ |
| | | taskWrk.setWrkSts(11); |
| | | if (!Cools.isEmpty(param.getStartPoint())) { |
| | | taskWrk.setStartPoint(Utils.getWcsLocNo(param.getStartPoint()));//起点 |
| | | wcsLocNo = taskWrk.getStartPoint(); |
| | | taskWrk.setOriginStartPoint(param.getStartPoint()); |
| | | stats = "R"; |
| | | } |
| | | } |
| | | |
| | |
| | | if (!Cools.isEmpty(param.getMemo())) { |
| | | taskWrk.setMemo(param.getMemo());//备注 |
| | | } |
| | | |
| | | // 更新库位状态,入库还没分配库位,扫码之后才分配 |
| | | // if (param.getIoType() == 2 || param.getIoType() == 3) { |
| | | // try { |
| | | // LocMast locMast = locMastService.selectByLocNo(wcsLocNo); |
| | | // locMast.setLocSts(stats); |
| | | // log.info("-----入库更新库位状态为:R成功----------"+ locMast.getLocNo()); |
| | | // locMastService.updateById(locMast); |
| | | // } catch (Exception e){ |
| | | // log.error("-----出库更新库位状态为:R异常----------"+ e); |
| | | // } |
| | | // } |
| | | |
| | | if (!taskWrkService.insert(taskWrk)) { |
| | | return R.error("创建任务失败"); |
| | |
| | | list = getInEnableRoadway(); |
| | | }else { |
| | | list = getInEnableRoadway2(); |
| | | } |
| | | |
| | | if (Cools.isEmpty(list)){ |
| | | log.warn("无可入巷道,请稍后再试"); |
| | | return R.error("无可入巷道"); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | |
| | | apiLogService.save("wms请求入库码头接口" |
| | | apiLogService.save("请求入库码头接口" |
| | | ,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply" |
| | | ,null |
| | | ,"127.0.0.1" |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void getAgvTaskOver(TaskOverParam param) { |
| | | public R getAgvTaskOver(TaskOverParam param) { |
| | | // 根据输送线plc遍历 |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() |
| | | .eq("stn_desc", param.getWharfCode())); |
| | | if (Cools.isEmpty(staDesc)){ |
| | | throw new RuntimeException("未查询到站点信息"); |
| | | throw new CoolException("未查询到站点信息"); |
| | | } |
| | | // 获取入库站信息 |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | |
| | | staProtocol.setStaNo((short)0); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); |
| | | if (result) { |
| | | |
| | | return R.ok("取货完成"); |
| | | } else { |
| | | throw new RuntimeException("agv返回完成后,命令下发失败"); |
| | | throw new CoolException("agv返回完成后,命令下发失败"); |
| | | } |
| | | }else { |
| | | return R.error("取货站点状态有误,有物信号:"+staProtocol.isLoading() |
| | | +",车辆信号:"+staProtocol.isCar()+",工作号:"+staProtocol.getWorkNo()); |
| | | } |
| | | }else { |
| | | for (DevpSlave.Sta inSta : devp.getInSta()) { |
| | |
| | | staProtocol.setStaNo(inSta.getStaNo().shortValue()); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); |
| | | if (result) { |
| | | |
| | | return R.ok("放货完成"); |
| | | } else { |
| | | throw new RuntimeException("agv返回完成后,命令下发失败"); |
| | | throw new CoolException("agv返回完成后,命令下发失败"); |
| | | } |
| | | }else { |
| | | return R.error("放货站点状态有误,有物信号:"+staProtocol.isLoading() |
| | | +",车辆信号:"+staProtocol.isCar()+",工作号:"+staProtocol.getWorkNo()); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return R.ok(); |
| | | |
| | | } |
| | | |
| | |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | Short workNo = staProtocol.getWorkNo(); |
| | | if (workNo == 0 && !staProtocol.isLoading()){ |
| | | if (workNo == 0 && !staProtocol.isLoading() && staProtocol.isAutoing()){ |
| | | if (Cools.isEmpty( map.get(inSta.getStaNo()))){ |
| | | continue; |
| | | } |
| | |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | Short workNo = staProtocol.getWorkNo(); |
| | | if (workNo == 0 && !staProtocol.isLoading()){ |
| | | if (workNo == 0 && !staProtocol.isLoading() && staProtocol.isAutoing()){ |
| | | if (Cools.isEmpty( map.get(inSta.getStaNo()))){ |
| | | continue; |
| | | } |
| | | BasCrnp crnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", map.get(inSta.getStaNo()))); |
| | | if (Cools.isEmpty(crnp)){ |
| | | continue; |
| | | } |
| | | if (crnp.getInEnable().equals("N")){ |
| | | continue; |
| | | } |
| | | if (crnp.getCrnSts()!=3){ |
| | | continue; |
| | | } |
| | | list.add( map.get(inSta.getStaNo())); |
| | | } |
| | | } |