| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | |
| | | private IoCompleteService ioCompleteService; |
| | | @Autowired |
| | | private PltBarcodeService pltBarcodeService; |
| | | |
| | | @Autowired |
| | | private MatCodeService matCodeService; |
| | | /** |
| | | * ERP接口是否启用 |
| | | */ |
| | |
| | | } |
| | | // 遍历工作明细,更新库存明细和入库通知档 |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("mat_no", wrkDetl.getMatNo())); |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("mat_no", wrkDetl.getMatNo()).eq("supplier", wrkDetl.getSupplier())); |
| | | if (null != locDetl) { |
| | | boolean res = locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), wrkMast.getLocNo(), wrkDetl.getMatNo()); |
| | | boolean res = locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), wrkMast.getLocNo(), wrkDetl.getMatNo(),wrkDetl.getSupplier()); |
| | | |
| | | |
| | | if (!res) { |
| | | exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | } |
| | | } else { |
| | | WrkDetl wrk_no = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>() |
| | | .eq("wrk_no", wrkMast.getWrkNo()).eq("mat_no",wrkDetl.getMatNo()).eq("supplier",wrkDetl.getSupplier())); |
| | | |
| | | MatCode matCode = matCodeService.selectOne(new EntityWrapper<MatCode>().eq("mat_no", wrkDetl.getMatNo())); |
| | | locDetl = new LocDetl(); |
| | | |
| | | locDetl.setLocNo(wrkMast.getLocNo()); // 库位号 |
| | | locDetl.setMemo(wrkMast.getMemo()); |
| | | VersionUtils.setLocDetl(locDetl, wrkDetl); // 版本控制 |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | | locDetl.setAllQty(wrk_no.getAllQty()); |
| | | locDetl.setAllWeight(wrk_no.getAllWeight()); |
| | | locDetl.setSource(wrk_no.getSource()); |
| | | locDetl.setVendor(wrk_no.getVendor()); |
| | | locDetl.setWeight(matCode.getWeight()); |
| | | locDetl.setQtyBox(matCode.getStr6()); |
| | | locDetl.setStr3(matCode.getStr3()); |
| | | locDetl.setStr4(matCode.getStr4()); |
| | | locDetl.setStr5(matCode.getStr5()); |
| | | if (!Cools.isEmpty(wrk_no)){ |
| | | locDetl.setMemo(wrk_no.getMemo()); |
| | | locDetl.setSupplier(wrk_no.getSupplier()); |
| | | } |
| | | if (!locDetlService.insert(locDetl)) { |
| | | exceptionHandle("全板入库 ===>> 添加库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | } |
| | | } |
| | | |
| | | //更新组托数据状态为入库完成 IoStatus ====>> 2 |
| | | Wrapper<PltBarcode> wrapper = new EntityWrapper<PltBarcode>().eq("barcode", wrkDetl.getZpallet()) |
| | | .eq("bill_no", wrkDetl.getBillNo()).eq("seq_no", wrkDetl.getSeqNo()).eq("mat_no", wrkDetl.getMatNo()); |
| | | PltBarcode pltBarcode = pltBarcodeService.selectOne(wrapper); |
| | | if(null != pltBarcode) { |
| | | pltBarcode.setIoStatus(2);//入库完成 |
| | | boolean res = pltBarcodeService.update(pltBarcode, wrapper); |
| | | if(!res){ |
| | | //更新组托数据状态为入库完成 IoStatus ====>> 2 |
| | | Wrapper<PltBarcode> wrapper = new EntityWrapper<PltBarcode>().eq("barcode", wrkDetl.getZpallet()) |
| | | .eq("bill_no", wrkDetl.getBillNo()).eq("seq_no", wrkDetl.getSeqNo()).eq("mat_no", wrkDetl.getMatNo()); |
| | | PltBarcode pltBarcode = pltBarcodeService.selectOne(wrapper); |
| | | if(null != pltBarcode) { |
| | | pltBarcode.setIoStatus(2);//入库完成 |
| | | boolean res = pltBarcodeService.update(pltBarcode, wrapper); |
| | | if(!res){ |
| | | // exceptionHandle("全板入库 ===>> 更新组托数据失败;[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 更新入库通知档 ioStatus ====>> 2 |
| | | WaitMatin waitMatin = waitMatinService.selectOne(new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo())); |
| | | // 更新入库通知档 ioStatus ====>> 2 |
| | | WaitMatin waitMatin = waitMatinService.selectOne(new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo())); |
| | | if(null != waitMatin && waitMatin.getInQty() >= waitMatin.getQty()){ |
| | | waitMatin.setIoStatus(2); |
| | | waitMatin.setModiTime(now); |
| | |
| | | // 修改库存明细数量,如果工作明细数量为0时,删除库存明细 |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("mat_no", wrkDetl.getMatNo())); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(locDetl.getQty() - wrkDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo())) { |
| | | if (!locDetlService.updateAnfme(locDetl.getQty() - wrkDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo(),wrkDetl.getSupplier())) { |
| | | exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | } |
| | | |
| | |
| | | for (WrkDetl wrkDetl:wrkDetls54) { |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("mat_no", wrkDetl.getMatNo())); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo())) { |
| | | if (!locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo(),wrkDetl.getSupplier())) { |
| | | exceptionHandle("并板入库 ===>> 修改库存明细数量失败;[workNo={0}],[matNo={1}]", wrkMast.getWrkNo(), wrkDetl.getMatNo()); |
| | | } |
| | | } else { |