| | |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.EmptyPlateOutParam; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.service.impl.MatServiceImpl; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.CodeRes; |
| | | import com.zy.common.model.LocDto; |
| | |
| | | private BasCrnpService basCrnpService; |
| | | @Autowired |
| | | private StaDescService staDescService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | @Autowired |
| | | private WrkDetlLogService wrkDetlLogService; |
| | | @Autowired |
| | | private MatServiceImpl matService; |
| | | |
| | | @PostMapping("/pakin/loc/v1") |
| | | @ResponseBody |
| | |
| | | @PostMapping("/process/loc/v1") |
| | | @ResponseBody |
| | | @Transactional |
| | | public synchronized void processLoc() { |
| | | public synchronized R processLoc() { |
| | | log.info("收到WCS罐装出库接口请求"); |
| | | Date now = new Date(); |
| | | // 查询库存状态位F 且 库存明细包含该物料的库位 |
| | | LocMast tarLoc = locMastService.getLocFByMatnr("BC20009TY13701530"); |
| | | LocMast tarLoc = locMastService.getLocFByMatnr("BZ10100ZZ00000010"); |
| | | if (Cools.isEmpty(tarLoc)) { |
| | | throw new CoolException("没有可出库的库位"); |
| | | } |
| | |
| | | } else { |
| | | throw new CoolException(tarLoc.getLocNo() + "库位不是在库状态"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | @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("更新工作档数据状态失败"); |
| | | } |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | Mat mat = matService.selectByMatnr("CP10103TY22014617"); |
| | | WrkDetl wrkDetl1 = new WrkDetl(); |
| | | wrkDetl1.sync(wrkDetl); |
| | | wrkDetl1.sync(mat); |
| | | wrkDetl1.setBatch(param.getBatch()); |
| | | wrkDetl1.setIoTime(now); |
| | | wrkDetlService.insert(wrkDetl1); |
| | | } |
| | | wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("matnr", "BZ10100ZZ00000010").eq("wrk_no",wrkMast.getWrkNo())); |
| | | // 更新明细档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); |
| | | } |
| | | } |