| | |
| | | @RestController |
| | | @RequestMapping("/rpc") |
| | | public class WcsController { |
| | | |
| | | @Autowired |
| | | private WrkLastnoService wrkLastnoService; |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | |
| | | case 10://空托盘入库 |
| | | dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode()); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | log.info("WCS入库接口返参:{},托盘码:{}", dto, param.getBarcode()); |
| | | return R.ok().add(dto); |
| | | } |
| | | |
| | | @PostMapping("/pakin/agv/loc/v1") |
| | | @ResponseBody |
| | | public synchronized R getLocNoAgv(@RequestBody SearchLocParam param) { |
| | | log.info("收到WCS入库接口请求====>>入参:{}", param); |
| | | if (Cools.isEmpty(param.getIoType())) { |
| | | return R.error("入出库类型不能为空"); |
| | | } |
| | | if (Cools.isEmpty(param.getSourceStaNo())) { |
| | | return R.error("源站编号不能为空"); |
| | | } |
| | | if (param.getIoType() == 1) { |
| | | if (Cools.isEmpty(param.getBarcode())) { |
| | | return R.error("条码不能为空"); |
| | | } |
| | | } |
| | | if (Cools.isEmpty(param.getLocType1())){ |
| | | return R.error("高低检测信号不能为空"); |
| | | } |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); |
| | | sourceStaNo.setLocType1(param.getLocType1()); |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); |
| | | |
| | | StartupDto dto = null; |
| | | switch (param.getIoType()) { |
| | | case 1://满托盘入库 |
| | | case 10://空托盘入库 |
| | | dto = startupFullPutStoreAgv(param.getSourceStaNo(), param.getBarcode(), locTypeDto); |
| | | break; |
| | | // dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode()); |
| | | // break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | @PostMapping("/auto/TransplantingOut/v1") |
| | | /** |
| | | * 生成工作号 |
| | | * |
| | | * @param wrkMk |
| | | * @return workNo(工作号) |
| | | */ |
| | | public int getWorkNo(Integer wrkMk) { |
| | | WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk); |
| | | if (Cools.isEmpty(wrkLastno)) { |
| | | throw new CoolException("数据异常,请联系管理员"); |
| | | } |
| | | |
| | | int workNo = wrkLastno.getWrkNo(); |
| | | int sNo = wrkLastno.getSNo(); |
| | | int eNo = wrkLastno.getENo(); |
| | | workNo = workNo >= eNo ? sNo : workNo + 1; |
| | | while (true) { |
| | | WrkMast wrkMast = wrkMastService.selectById(workNo); |
| | | if (null != wrkMast) { |
| | | workNo = workNo >= eNo ? sNo : workNo + 1; |
| | | } else { |
| | | break; |
| | | } |
| | | } |
| | | // 修改序号记录 |
| | | if (workNo > 0) { |
| | | wrkLastno.setWrkNo(workNo); |
| | | wrkLastnoService.updateById(wrkLastno); |
| | | } |
| | | // 检验 |
| | | if (workNo == 0) { |
| | | throw new CoolException("生成工作号失败,请联系管理员"); |
| | | } else { |
| | | if (wrkMastService.selectById(workNo) != null) { |
| | | throw new CoolException("生成工作号" + workNo + "在工作档中已存在"); |
| | | } |
| | | } |
| | | return workNo; |
| | | } |
| | | @PostMapping("/auto/、" + |
| | | "TransplantingOut/v1") |
| | | @ResponseBody |
| | | public R autoTransplantingOut(@RequestBody TransplantWork transplantWork){ |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true); |
| | | // BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true); |
| | | WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode()); |
| | | if(sourceStaNo ==null ){ |
| | | return R.error("该站点盘点移栽许可,请查看源站点状态检测"); |
| | | } |
| | | // if(sourceStaNo ==null ){ |
| | | // return R.error("该站点盘点移栽许可,请查看源站点状态检测"); |
| | | // } |
| | | if(wrkMast1== null){ |
| | | return R.error("无该盘点移栽任务"); |
| | | } |
| | |
| | | Date now = new Date(); |
| | | // 生成工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | int workNo = getWorkNo(0); |
| | | wrkMast.setWrkNo(9997); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(11L); |
| | |
| | | @ResponseBody |
| | | public R autoTransplantingIn(@RequestBody TransplantWork transplantWork){ |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true); |
| | | // BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true); |
| | | WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode()); |
| | | if(sourceStaNo == null){ |
| | | |
| | | } |
| | | // if(sourceStaNo == null){ |
| | | // |
| | | // } |
| | | if(wrkMast1== null){ |
| | | return R.error("无该盘点移栽任务"); |
| | | } |
| | |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(9996); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(2L); |
| | | wrkMast.setWrkSts(11L); |
| | | wrkMast.setIoPri(14D); |
| | | wrkMast.setIoType(12); |
| | | wrkMast.setCrnNo(3); |
| | |
| | | |
| | | |
| | | /** |
| | | * 全板入库AGV |
| | | */ |
| | | @Transactional |
| | | public StartupDto startupFullPutStoreAgv(Integer devpNo, String barcode, LocTypeDto locTypeDto) { |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); |
| | | // 检索库位 |
| | | FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); |
| | | // FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0)); |
| | | StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto); |
| | | // 更新目标库位状态 |
| | | Date now = new Date(); |
| | | LocMast locMast = locMastService.selectById(dto.getLocNo()); |
| | | if (locMast.getLocSts().equals("O")){ |
| | | locMast.setLocSts("S"); // S.入库预约 |
| | | locMast.setBarcode(barcode); |
| | | locMast.setModiTime(now); |
| | | if (!locMastService.updateById(locMast)){ |
| | | throw new CoolException("改变库位状态失败"); |
| | | } |
| | | } else { |
| | | throw new CoolException(dto.getLocNo()+"目标库位已被占用"); |
| | | } |
| | | return dto; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 全板入库 |
| | | */ |
| | | @Transactional |