| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void pakoutFhqr(Integer workNo, Integer check) { |
| | | public R pakoutFhqr(PdckqrParam param) { |
| | | |
| | | // 获取工作档 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo)); |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode())); |
| | | if (wrkMast == null) { |
| | | throw new CoolException("工作档不存在:" + workNo); |
| | | throw new CoolException("工作档不存在:" + param.getBarcode()); |
| | | } |
| | | if (wrkMast.getIoType() != 101 || wrkMast.getWrkSts() != 20) { |
| | | throw new CoolException(wrkMast.getWrkNo() + ",工作档类型:" + wrkMast.getIoType() + "工作状态:" + wrkMast.getWrkSts() + ",不匹配"); |
| | | } |
| | | |
| | | if (wrkMast.getWrkSts() != 20) { |
| | | throw new CoolException("工作档当前状态异常:" + workNo + ",状态:" + wrkMast.getWrkSts()); |
| | | } |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | List<PdckqrParam.Material> materials = param.getMaterials(); |
| | | |
| | | if (check == 1) { |
| | | // 复核确认,更新状态为15出库完成更新 |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMastService.updateById(wrkMast); |
| | | boolean isFullyCancelled = compareAndCheckCancellation(wrkDetls, materials); |
| | | if (isFullyCancelled) { |
| | | // 复核确认,更新状态为15出库完成更新 |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMastService.updateById(wrkMast); |
| | | } else { |
| | | throw new CoolException("出口复核失败"); |
| | | } |
| | | |
| | | return R.ok("出口复核成功"); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R pdckqr(PdckqrParam param) { |
| | | WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo()); |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode())); |
| | | if (wrkMast == null) { |
| | | throw new CoolException("工作档不存在:" + param.getWorkNo()); |
| | | throw new CoolException("工作档不存在:" + param.getBarcode()); |
| | | } |
| | | if (wrkMast.getIoType() != 107 || wrkMast.getWrkSts() != 2) { |
| | | throw new CoolException(param.getWorkNo() + "工作档类型:" + wrkMast.getIoType() + "工作状态:" + wrkMast.getWrkSts() + ",不匹配"); |
| | | throw new CoolException(wrkMast.getWrkNo() + ",工作档类型:" + wrkMast.getIoType() + "工作状态:" + wrkMast.getWrkSts() + ",不匹配"); |
| | | } |
| | | |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(param.getWorkNo()); |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | List<PdckqrParam.Material> materials = param.getMaterials(); |
| | | |
| | | boolean isFullyCancelled = compareAndCheckCancellation(wrkDetls, materials); |
| | |
| | | for (WrkDetl p1 : list1) { |
| | | boolean cancelled = false; |
| | | for (PdckqrParam.Material p2 : remainingList2) { |
| | | if (p1.getBatch().equals(p2.getBoxNo()) && p1.getModel().equals(p2.getRollNo())) { // 卷号和箱号相同 |
| | | if (p1.getUnit().equals(p2.getBoxNo()) && p1.getModel().equals(p2.getRollNo())) { // 卷号和箱号相同 |
| | | remainingList2.remove(p2); |
| | | cancelled = true; |
| | | break; |