| | |
| | | package com.zy.common.service; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.domain.param.*; |
| | |
| | | * @return workNo(工作号) |
| | | */ |
| | | public synchronized int getWorkNo(Integer wrkMk) { |
| | | WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk); |
| | | WrkLastno wrkLastno = wrkLastnoService.getById(wrkMk); |
| | | if (Cools.isEmpty(wrkLastno)) { |
| | | throw new CoolException("数据异常,请联系管理员"); |
| | | } |
| | |
| | | |
| | | if(wrkNo == null) { |
| | | if (!Cools.isEmpty(taskNo)) { |
| | | wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", taskNo)); |
| | | wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo)); |
| | | } |
| | | }else { |
| | | wrkMast = wrkMastService.selectByWorkNo(wrkNo); |
| | |
| | | |
| | | if(wrkNo == null) { |
| | | if (!Cools.isEmpty(taskNo)) { |
| | | wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", taskNo)); |
| | | wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo)); |
| | | } |
| | | }else { |
| | | wrkMast = wrkMastService.selectByWorkNo(wrkNo); |
| | |
| | | throw new CoolException("未知设备类型"); |
| | | } |
| | | |
| | | boolean res = wrkMastService.insert(wrkMast); |
| | | boolean res = wrkMastService.save(wrkMast); |
| | | if (!res) { |
| | | News.error("移库任务 --- 保存工作档失败!"); |
| | | throw new CoolException("保存工作档失败"); |
| | |
| | | throw new CoolException("未知设备类型"); |
| | | } |
| | | |
| | | boolean res = wrkMastService.insert(wrkMast); |
| | | boolean res = wrkMastService.save(wrkMast); |
| | | if (!res) { |
| | | News.error("入库任务 --- 保存工作档失败!"); |
| | | throw new CoolException("保存工作档失败"); |
| | |
| | | } |
| | | |
| | | if(Cools.isEmpty(staNo)) { |
| | | List<BasOutStationArea> areaList = basOutStationAreaService.selectList(new EntityWrapper<BasOutStationArea>().eq("area_code", outArea)); |
| | | List<BasOutStationArea> areaList = basOutStationAreaService.list(new QueryWrapper<BasOutStationArea>().eq("area_code", outArea)); |
| | | if (areaList.isEmpty()) { |
| | | throw new CoolException("出库区域不存在"); |
| | | } |
| | |
| | | } |
| | | |
| | | if (findCrnResult.getCrnType().equals(SlaveType.Crn)) { |
| | | BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo)); |
| | | BasCrnp basCrnp = basCrnpService.getOne(new QueryWrapper<BasCrnp>().eq("crn_no", crnNo)); |
| | | if(basCrnp == null) { |
| | | throw new CoolException("未找到对应堆垛机数据"); |
| | | } |
| | | List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | List<WrkMast> outWrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>() |
| | | .eq("crn_no", crnNo) |
| | | .eq("io_type", WrkIoType.OUT.id) |
| | | ); |
| | |
| | | |
| | | wrkMast.setCrnNo(findCrnResult.getCrnNo()); |
| | | } else if (findCrnResult.getCrnType().equals(SlaveType.DualCrn)) { |
| | | BasDualCrnp basDualCrnp = basDualCrnpService.selectOne(new EntityWrapper<BasDualCrnp>().eq("crn_no", crnNo)); |
| | | BasDualCrnp basDualCrnp = basDualCrnpService.getOne(new QueryWrapper<BasDualCrnp>().eq("crn_no", crnNo)); |
| | | if(basDualCrnp == null) { |
| | | throw new CoolException("未找到对应双工位堆垛机数据"); |
| | | } |
| | | List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | List<WrkMast> outWrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>() |
| | | .eq("dual_crn_no", crnNo) |
| | | .eq("io_type", WrkIoType.OUT.id) |
| | | ); |
| | |
| | | throw new CoolException("未知设备类型"); |
| | | } |
| | | |
| | | boolean res = wrkMastService.insert(wrkMast); |
| | | boolean res = wrkMastService.save(wrkMast); |
| | | if (!res) { |
| | | News.error("出库任务 --- 保存工作档失败!"); |
| | | throw new CoolException("保存工作档失败"); |
| | |
| | | } |
| | | |
| | | public FindCrnNoResult findCrnNoByLocNo(String locNo) { |
| | | List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>()); |
| | | List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>()); |
| | | for (BasCrnp basCrnp : basCrnps) { |
| | | List<List<Integer>> rowList = basCrnp.getControlRows$(); |
| | | for (List<Integer> rows : rowList) { |
| | |
| | | } |
| | | } |
| | | |
| | | List<BasDualCrnp> basDualCrnps = basDualCrnpService.selectList(new EntityWrapper<>()); |
| | | List<BasDualCrnp> basDualCrnps = basDualCrnpService.list(new QueryWrapper<>()); |
| | | for (BasDualCrnp basDualCrnp : basDualCrnps) { |
| | | List<List<Integer>> rowList = basDualCrnp.getControlRows$(); |
| | | for (List<Integer> rows : rowList) { |
| | |
| | | List<StationObjModel> stationList = new ArrayList<>(); |
| | | Integer crnNo = findCrnNoResult.getCrnNo(); |
| | | if (findCrnNoResult.getCrnType().equals(SlaveType.Crn)) { |
| | | BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo)); |
| | | BasCrnp basCrnp = basCrnpService.getOne(new QueryWrapper<BasCrnp>().eq("crn_no", crnNo)); |
| | | if(basCrnp == null) { |
| | | return null; |
| | | } |
| | | stationList = basCrnp.getInStationList$(); |
| | | } else if (findCrnNoResult.getCrnType().equals(SlaveType.DualCrn)) { |
| | | BasDualCrnp basDualCrnp = basDualCrnpService.selectOne(new EntityWrapper<BasDualCrnp>().eq("crn_no", crnNo)); |
| | | BasDualCrnp basDualCrnp = basDualCrnpService.getOne(new QueryWrapper<BasDualCrnp>().eq("crn_no", crnNo)); |
| | | if(basDualCrnp == null) { |
| | | return null; |
| | | } |
| | |
| | | for (StationObjModel stationObjModel : stationList) { |
| | | try { |
| | | List<NavigateNode> navigateNodes = navigateUtils.calcByStationId(sourceStationId, stationObjModel.getStationId()); |
| | | if(navigateNodes != null) { |
| | | if(!navigateNodes.isEmpty()) { |
| | | targetStationId = stationObjModel.getStationId(); |
| | | break; |
| | | } |
| | |
| | | List<StationObjModel> stationList = new ArrayList<>(); |
| | | Integer crnNo = findCrnNoResult.getCrnNo(); |
| | | if (findCrnNoResult.getCrnType().equals(SlaveType.Crn)) { |
| | | BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo)); |
| | | BasCrnp basCrnp = basCrnpService.getOne(new QueryWrapper<BasCrnp>().eq("crn_no", crnNo)); |
| | | if(basCrnp == null) { |
| | | return null; |
| | | } |
| | | stationList = basCrnp.getOutStationList$(); |
| | | } else if (findCrnNoResult.getCrnType().equals(SlaveType.DualCrn)) { |
| | | BasDualCrnp basDualCrnp = basDualCrnpService.selectOne(new EntityWrapper<BasDualCrnp>().eq("crn_no", crnNo)); |
| | | BasDualCrnp basDualCrnp = basDualCrnpService.getOne(new QueryWrapper<BasDualCrnp>().eq("crn_no", crnNo)); |
| | | if(basDualCrnp == null) { |
| | | return null; |
| | | } |
| | |
| | | for (StationObjModel stationObjModel : stationList) { |
| | | try { |
| | | List<NavigateNode> navigateNodes = navigateUtils.calcByStationId(stationObjModel.getStationId(), targetStationId); |
| | | if(navigateNodes != null) { |
| | | if(!navigateNodes.isEmpty()) { |
| | | finalSourceStationId = stationObjModel.getStationId(); |
| | | break; |
| | | } |