| | |
| | | } |
| | | // 校验是否为bom入库 bom入库的数量不能超过库存原有数量 |
| | | if (!Cools.isEmpty(param.getBomCode())) { |
| | | BomMat bomMat = bomMatService.selectOne(new EntityWrapper<BomMat>().eq("unit_num", param.getBomCode()).eq("element_num", detlDto.getMatnr())); |
| | | BomMat bomMat = bomMatService.selectOne(new EntityWrapper<BomMat>().eq("bom_num", param.getBomCode()).eq("element_num", detlDto.getMatnr())); |
| | | Double bomQyt = locDetlService.getBomQyt(param.getBomCode(), detlDto.getMatnr()); |
| | | if (!Cools.isEmpty(bomQyt)) { |
| | | bomMat.setZpalletAnfme(bomMat.getZpalletAnfme() - bomQyt); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void mergeComb(CombParam param, Long userId) { |
| | | |
| | | if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { |
| | | throw new CoolException(BaseRes.PARAM); |
| | | } |
| | | if(param.getCombMats().stream().anyMatch(obj -> obj.getAnfme() == null)){ |
| | | throw new CoolException("入库物料数量不能为空"); |
| | | } |
| | | // 判断是否有相同条码的数据 |
| | | if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). |
| | | eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { |
| | | throw new CoolException(param.getBarcode() + "数据正在进行入库"); |
| | | } |
| | | |
| | | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); |
| | | WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); |
| | | |
| | | |
| | | //设置非null批号, |
| | | for (CombParam.CombMat combMat : param.getCombMats()) { |
| | | if (combMat.getBatch() == null){ |
| | | combMat.setBatch(""); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | Date now = new Date(); |
| | | for (CombParam.CombMat combMat : param.getCombMats()) { |
| | | Mat mat = matService.selectByMatnr(combMat.getMatnr()); |
| | | |
| | | |
| | | LocDetl locDetl = new LocDetl(); |
| | | locDetl.sync(mat); |
| | | locDetl.setLocNo(wrkMast.getSourceLocNo()); |
| | | locDetl.setZpallet(param.getBarcode()); |
| | | locDetl.setBomCode(param.getBomCode()); |
| | | locDetl.setAnfme(combMat.getAnfme()); |
| | | locDetl.setAppeTime(now); |
| | | locDetl.setAppeUser(userId); |
| | | locDetl.setModiTime(now); |
| | | locDetl.setModiUser(userId); |
| | | locDetlService.insert(locDetl); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | return R.ok("下架完成"); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void adjustNew(MobileAdjustParam param, Boolean re, Long userId) { |
| | | Date now = new Date(); |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())); |
| | | if (Cools.isEmpty(wrkMast)){ |
| | | throw new CoolException("托盘码:"+param.getBarcode()+" 无有效工作档"); |
| | | }else if (wrkMast.getIoType()!=103){ |
| | | throw new CoolException("托盘码:"+param.getBarcode()+" 所属工作档非拣料任务"); |
| | | }else if (wrkMast.getWrkSts()!=14.0){ |
| | | throw new CoolException("托盘码:"+param.getBarcode()+" 所属工作档工作状态不是出库完成"); |
| | | } |
| | | // List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode())); |
| | | |
| | | List<WrkDetl> wrkDetls = param.getWrkDetls(); |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | wrkDetl.setWrkNo(wrkMast.getWrkNo()); |
| | | wrkDetl.setZpallet(param.getBarcode()); |
| | | wrkDetl.setMatnr("B"+wrkDetl.getMatnr()); |
| | | wrkDetl.setAnfme(-wrkDetl.getAnfme()); |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setModiTime(now); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetlService.insert(wrkDetl); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |