| | |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.task.handler.WorkLogHandler; |
| | | import com.zy.asrs.utils.CodeDetectionUtil; |
| | | import com.zy.asrs.utils.MatUtils; |
| | | import com.zy.asrs.utils.SaasUtils; |
| | | import com.zy.asrs.utils.Utils; |
| | |
| | | // if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { |
| | | // throw new CoolException(BaseRes.PARAM); |
| | | // } |
| | | if (Cools.isEmpty(param.getBarcode()) || !CodeDetectionUtil.barcodeDetection(param.getBarcode())){ |
| | | throw new CoolException(param.getBarcode() + "货架码有误,请正确扫码!!!"); |
| | | } |
| | | // 判断是否有相同条码的数据 |
| | | if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). |
| | | eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { |
| | | throw new CoolException(param.getBarcode() + "数据正在进行入库"); |
| | | } |
| | | |
| | | //判断托盘是否已经在库 |
| | | //判断货架是否已经在库 |
| | | if (locDetlService.selectCount(new EntityWrapper<LocDetl>() |
| | | .eq("zpallet", param.getBarcode())) > 0) { |
| | | throw new CoolException(param.getBarcode() + "数据已经在库"); |
| | | } |
| | | |
| | | //判断是否存在料箱码 => 存在料箱码则要求提交上来的物料list必须全部都有料箱码 |
| | | //判断是否存在货架码 => 存在货架码则要求提交上来的物料list必须全部都有货架码 |
| | | boolean hasContainerCode = false; |
| | | int containerCodeCount = 0;//料箱码数量 |
| | | int containerCodeCount = 0;//货架码数量 |
| | | for (CombParam.CombMat combMat : param.getCombMats()) { |
| | | if (combMat.getContainerCode() != null) { |
| | | hasContainerCode = true; |
| | |
| | | } |
| | | } |
| | | |
| | | //判断料箱是否已经出现在入库通知档、库存中 |
| | | //判断货架是否已经出现在入库通知档、库存中 |
| | | if (hasContainerCode) { |
| | | if (containerCodeCount != param.getCombMats().size()) { |
| | | throw new CoolException(param.getBarcode() + "托盘有" + (param.getCombMats().size()-containerCodeCount) + "个未扫描的料箱"); |
| | | throw new CoolException(param.getBarcode() + "货架有" + (param.getCombMats().size()-containerCodeCount) + "个未扫描的货架"); |
| | | } |
| | | |
| | | for (CombParam.CombMat combMat : param.getCombMats()) { |
| | | //判断料箱是否正在入库 |
| | | //判断货架是否正在入库 |
| | | if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). |
| | | eq("supp_code", combMat.getContainerCode()).eq("io_status", "N")) > 0) { |
| | | throw new CoolException(combMat.getContainerCode() + "料箱正在进行入库"); |
| | | throw new CoolException(combMat.getContainerCode() + "货架正在进行入库"); |
| | | } |
| | | |
| | | //判断料箱是否已经在库 |
| | | //判断货架是否已经在库 |
| | | if (locDetlService.selectCount(new EntityWrapper<LocDetl>() |
| | | .eq("supp_code", combMat.getContainerCode())) > 0) { |
| | | throw new CoolException(combMat.getContainerCode() + "料箱已经在库"); |
| | | throw new CoolException(combMat.getContainerCode() + "货架已经在库"); |
| | | } |
| | | } |
| | | } |
| | |
| | | WaitPakin waitPakin = new WaitPakin(); |
| | | waitPakin.sync(mat); |
| | | waitPakin.setBatch(detlDto.getBatch()); |
| | | waitPakin.setZpallet(param.getBarcode()); // 托盘码 |
| | | waitPakin.setZpallet(param.getBarcode()); // 货架码 |
| | | waitPakin.setIoStatus("N"); // 入出状态 |
| | | waitPakin.setAnfme(detlDto.getAnfme()); // 数量 |
| | | waitPakin.setStatus("Y"); // 状态 |
| | |
| | | waitPakin.sync(mat); |
| | | waitPakin.setOrderNo(order.getOrderNo()); // 单据编号 |
| | | waitPakin.setBatch(detlDto.getBatch()); // 序列码 |
| | | waitPakin.setZpallet(param.getBarcode()); // 托盘码 |
| | | waitPakin.setZpallet(param.getBarcode()); // 货架码 |
| | | waitPakin.setIoStatus("N"); // 入出状态 |
| | | waitPakin.setAnfme(detlDto.getAnfme()); // 数量 |
| | | waitPakin.setStatus("Y"); // 状态 |
| | |
| | | waitPakin.sync(mat); |
| | | waitPakin.setOrderNo(orderNo); |
| | | waitPakin.setBatch(detlDto.getBatch()); |
| | | waitPakin.setZpallet(param.getBarcode()); // 托盘码 |
| | | waitPakin.setZpallet(param.getBarcode()); // 货架码 |
| | | waitPakin.setIoStatus("N"); // 入出状态 |
| | | waitPakin.setAnfme(detlDto.getAnfme()); // 数量 |
| | | waitPakin.setStatus("Y"); // 状态 |
| | |
| | | @Transactional |
| | | public void nodePutway(String zpallet, String locNo, User user) { |
| | | Date now = new Date(); |
| | | if (Cools.isEmpty(zpallet) || !CodeDetectionUtil.barcodeDetection(zpallet)){ |
| | | throw new CoolException(zpallet + "货架码有误,请正确扫码!!!"); |
| | | } |
| | | |
| | | //增加平库库存 |
| | | List<WaitPakin> waitPakinList = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", zpallet)); |
| | | |
| | | if(Cools.isEmpty(waitPakinList)){ |
| | | throw new CoolException("该托盘码未组托"); |
| | | throw new CoolException("该货架码未组托"); |
| | | } |
| | | |
| | | waitPakinList.forEach(waitPakin -> { |
| | |
| | | //删除入库通知档 |
| | | waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", zpallet)); |
| | | |
| | | orderService.checkComplete(waitPakinList.get(0).getOrderNo()); |
| | | orderService.checkComplete(waitPakinList.get(0).getOrderNo(),null); |
| | | |
| | | |
| | | } |
| | |
| | | manLocDetlService.update(manLocDetl,manLocDetlWrapper); |
| | | |
| | | //检测订单是否完成 |
| | | orderService.checkComplete(param.getOrderNo()); |
| | | orderService.checkComplete(param.getOrderNo(),null); |
| | | |
| | | } |
| | | |
| | |
| | | BeanUtils.copyProperties(locDetl,wrkDetl); |
| | | wrkDetl.setWrkNo(wrkDetls.get(0).getWrkNo()); |
| | | if(wrkDetl.getAnfme() < param.getAnfme()){ |
| | | throw new CoolException("料箱"+param.getContainerCode()+"的物料数量小于拣料数量,请重新核对"); |
| | | throw new CoolException("货架"+param.getContainerCode()+"的物料数量小于拣料数量,请重新核对"); |
| | | } |
| | | wrkDetl.setAnfme(param.getAnfme()); |
| | | wrkDetl.setModiTime(new Date()); |