| | |
| | | private BasCrnpService basCrnpService; |
| | | @Autowired |
| | | private StaDescService staDescService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | @Autowired |
| | | private WrkDetlLogService wrkDetlLogService; |
| | | |
| | | @PostMapping("/pakin/loc/v1") |
| | | @ResponseBody |
| | |
| | | throw new CoolException(tarLoc.getLocNo() + "库位不是在库状态"); |
| | | } |
| | | } |
| | | @PostMapping("/process/in/loc/v1") |
| | | @ResponseBody |
| | | @Transactional |
| | | public synchronized R processInLoc(@RequestBody SearchLocParam param){ |
| | | log.info("灌装线收到WCS入库接口请求====>>入参:{}", param); |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() |
| | | .eq("barcode", param.getBarcode()) |
| | | .eq("io_type", 105) |
| | | .eq("wrk_sts", 14)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | log.info("查询不到该托盘码的罐装出库任务,托盘码位{" + param.getBarcode() + "}" ); |
| | | throw new CoolException("查询不到该托盘码的罐装出库任务,托盘码位{" + param.getBarcode() + "}" ); |
| | | } |
| | | // 获取目标站 |
| | | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", 55) |
| | | .eq("stn_no", 2106) |
| | | .eq("crn_no", wrkMast.getCrnNo()); |
| | | StaDesc staDesc = staDescService.selectOne(wrapper); |
| | | if (Cools.isEmpty(staDesc)) { |
| | | throw new CoolException("入库路径不存在!"); |
| | | } |
| | | try { |
| | | // 保存工作明细档历史档 |
| | | if (!wrkMastLogService.save(wrkMast.getWrkNo())) { |
| | | throw new CoolException("保存工作明细档历史档失败"); |
| | | } |
| | | // 保存工作主档历史档 |
| | | if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { |
| | | throw new CoolException("保存工作主档历史档失败"); |
| | | } |
| | | Date now = new Date(); |
| | | // 堆垛机站点(目标站) |
| | | Integer staNo = staDesc.getCrnStn(); |
| | | // 更新工作档数据状态 |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setIoType(55); |
| | | wrkMast.setWrkSts(2L); |
| | | wrkMast.setSourceStaNo(2106); |
| | | wrkMast.setStaNo(staNo); |
| | | wrkMast.setLocNo(wrkMast.getSourceLocNo()); |
| | | wrkMast.setSourceLocNo(""); |
| | | wrkMast.setModiTime(now); |
| | | if (!wrkMastService.updateById(wrkMast)) { |
| | | throw new CoolException("更新工作档数据状态失败"); |
| | | } |
| | | // 更新明细档io_time (历史档关联使用) |
| | | wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now); |
| | | // 修改库位状态 Q.拣料/盘点/并板再入库 |
| | | LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); |
| | | locMast.setLocSts("Q"); |
| | | locMast.setModiTime(new Date()); |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("修改库位状态失败"); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | throw new CoolException("入库失败!"); |
| | | } |
| | | StartupDto dto = new StartupDto(); |
| | | dto.setWorkNo(wrkMast.getWrkNo()); |
| | | dto.setCrnNo(wrkMast.getCrnNo()); |
| | | dto.setSourceStaNo(wrkMast.getSourceStaNo()); |
| | | dto.setStaNo(wrkMast.getStaNo()); |
| | | dto.setLocNo(wrkMast.getLocNo()); |
| | | log.info("WCS入库接口返参:{},托盘码:{}", dto, param.getBarcode()); |
| | | return R.ok().add(dto); |
| | | } |
| | | } |