| | |
| | | public synchronized Re getLocNo(@RequestBody SearchLocParam param) { |
| | | log.info("收到WCS入库接口请求====>>入参:{}", param); |
| | | if (Cools.isEmpty(param.getCargoHeight())) { |
| | | return Re.error("入出库类型不能为空"); |
| | | return Re.error("高低库类型不能为空"); |
| | | } |
| | | if (Cools.isEmpty(param.getFromPort())) { |
| | | return Re.error("源站编号不能为空"); |
| | | } |
| | | List<WaitPakin> waitPakins = null; |
| | | if (param.getFromPort().equals("100")) { |
| | | if (param.getFromPort().equals("101")) { |
| | | |
| | | //有空板出库时禁止入库 |
| | | int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type",110).eq("sta_no",100)); |
| | | int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type",110).eq("sta_no",100).notIn("wrk_sts",7)); |
| | | if(wrkCount > 0){ |
| | | return Re.error("有空板出库到100站时时禁止入库"); |
| | | } |
| | | |
| | | if (Cools.isEmpty(param.getBarCode())) { |
| | | if (Cools.isEmpty(param.getBarCode()) && param.getIoType() != 10) { |
| | | return Re.error("条码不能为空"); |
| | | } |
| | | waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarCode())); |
| | | if (Cools.isEmpty(waitPakins)) { |
| | | if (Cools.isEmpty(waitPakins) && param.getIoType() != 10) { |
| | | WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode()); |
| | | if (wrkMast != null && wrkMast.getIoType() == 103) { |
| | | return Re.parse(CodeRes.PICK_600); |
| | |
| | | } |
| | | }else { |
| | | //有满板出库时禁止空板入库 |
| | | int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type",101).or().eq("io_type",110)); |
| | | int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no",100).andNew().eq("io_type",101).or().eq("io_type",110)); |
| | | if(wrkCount > 0){ |
| | | return Re.error("有满板出库时禁止空板入库"); |
| | | } |
| | |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); |
| | | |
| | | StartupDto dto = null; |
| | | switch (param.getFromPort()) { |
| | | case "100"://满托盘入库 |
| | | switch (param.getIoType()) { |
| | | case 1://满托盘入库 |
| | | assert waitPakins != null; |
| | | dto = startupFullPutStore(Integer.valueOf(param.getFromPort()), param.getBarCode(), locTypeDto, waitPakins); |
| | | break; |
| | | case "200"://空托盘入库 |
| | | case 10://空托盘入库 |
| | | dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto, param.getBarCode()); |
| | | break; |
| | | default: |
| | |
| | | List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList()); |
| | | List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList()); |
| | | StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto); |
| | | if(dto == null){ |
| | | throw new CoolException("没有检索到空库位"); |
| | | } |
| | | int workNo = dto.getWorkNo(); |
| | | Date now = new Date(); |
| | | // 生成工作档 |
| | |
| | | wrkMast.setLinkMis("Y"); |
| | | wrkMast.setCtnType(sourceStaNo.getCtnType()); // 容器类型 |
| | | wrkMast.setMk("N");//是否完成上报wcs |
| | | wrkMast.setFullPlt("N");//出库空板消除标记 |
| | | // 操作人员数据 |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiTime(now); |
| | |
| | | @ResponseBody |
| | | public Re status(@RequestBody StatusParam statusParam) { |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", statusParam.getTaskId())); |
| | | if(Cools.isEmpty(wrkMast)){ |
| | | if(Cools.isEmpty(wrkMast)&&statusParam.getTaskStatus()!=8){ |
| | | return Re.error("没有找到:"+statusParam.getTaskId()+"这条任务"); |
| | | }else if(Cools.isEmpty(wrkMast)&&statusParam.getTaskStatus()==8){ |
| | | return Re.ok(); |
| | | }else if(!Cools.isEmpty(wrkMast)&&statusParam.getTaskStatus()==8&&wrkMast.getIoType()==110){ |
| | | return Re.ok(); |
| | | } |
| | | /** |
| | | * 任务状态 |
| | |
| | | wrkMast.setWrkSts(3L);//3.取货完成 |
| | | }else if (statusParam.getTaskStatus()==3){ |
| | | wrkMast.setWrkSts(6L);//6.任务中断 |
| | | } else if (statusParam.getTaskStatus()==4){ |
| | | wrkMast.setWrkSts(7L);//6.放货完成 |
| | | }if (statusParam.getTaskStatus()==8){ |
| | | if(wrkMast.getIoType()==1 || wrkMast.getIoType() == 10){ |
| | | } else if (statusParam.getTaskStatus()==4 || statusParam.getTaskStatus()==8){ |
| | | // wrkMast.setWrkSts(7L);//6.放货完成 |
| | | if(wrkMast.getIoType()==1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 11){ |
| | | wrkMast.setWrkSts(4L);//4.入库完成 |
| | | }else if (wrkMast.getIoType()==101 || wrkMast.getIoType() == 110){ |
| | | }else if (wrkMast.getIoType()==101 || wrkMast.getIoType()==110){ |
| | | wrkMast.setWrkSts(14L);//14.已出库未确认 |
| | | } |
| | | } |