diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java index e8610cc..745b25e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java @@ -233,15 +233,32 @@ public class PdaServiceImpl implements IPdaService { //======================生成绑定信息====================== String trayCode = bindTrayMsg.getTrayCode(); + + //检查条码长度 + if (trayCode.length() != 8){ + log.warn("【入库绑定失败】条码长度错误,无法执行绑定操作,请检查当前托盘的条码格式,当前条码:{}", trayCode); + return AjaxResult.error("【入库绑定失败】条码长度错误,无法执行绑定操作,请检查当前托盘的条码格式,当前条码:" + trayCode); + } + + //检查入库绑定时该托盘是否有未完成的任务 + MydoJob mydoJobExist = mydoJobService.selectMydoJobByTrayCode(trayCode); + if (ObjUtil.isNotNull(mydoJobExist)){ + log.warn("【入库绑定失败】当前条码有未结束的任务,无法执行绑定操作,请检查该托盘的任务状态,条码:{}", trayCode); + return AjaxResult.error("【入库绑定失败】当前条码有未结束的任务,无法执行绑定操作,请检查该托盘的任务状态,当前条码:" + trayCode); + } + + //获取绑定状态,【新建绑定】或【原有库存】 int trayMsgStatus = ObjUtil.isNull(basStockInfoService.selectBasStockInfoByTrayCode(trayCode)) ? InTrayMsgCode.STATUS_NEW :InTrayMsgCode.STATUS_EXIST; + //校验托盘类型 int trayType = mydoJobService.getTrayTypeByTrayCode(trayCode); if (trayType == 0){ log.warn("【入库绑定失败】托盘类型异常,无法执行绑定操作,请检查当前托盘的条码格式,当前条码:{}", trayCode); return AjaxResult.error("【入库绑定失败】托盘类型异常,无法执行绑定操作,请检查当前托盘的条码格式,当前条码:" + trayCode); } + //检查是否进行了绑定操作 if (bindTrayMsg.getItems().size() == 0){ log.warn("【入库绑定失败】无版辊信息,请扫描版辊信息绑定重试,执行绑定的托盘:{}", trayCode); return AjaxResult.error("【入库绑定失败】无版辊信息,请扫描版辊信息绑定重试,执行绑定的托盘:" + trayCode); @@ -333,6 +350,15 @@ public class PdaServiceImpl implements IPdaService { .build() ); + //整托确认出库后生成的空托回流,可能继续帮顶版辊入库 + // 生成版辊绑定信息后自动移除该条码的【空托】绑定信息 + List msgs = inTrayMsgService.selectInTrayMsgList( + new InTrayMsg().builder().trayCode(bindTrayMsg.getTrayCode()).productId(ProductType.EMPTY_TRAY).build() + ); + if (!msgs.isEmpty()){ + inTrayMsgService.deleteInTrayMsgByRollerNumber(ProductType.EMPTY_TRAY); + } + //>>>扣减子单的【扫码数量】 detail.setScanNum(BigDecimal.valueOf(1)); inStockinDetailService.updateInStockinDetail(detail);