diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index d655f2500..1f8064191 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -15,6 +15,7 @@ import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; +import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.AddBizProductReqeust; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; @@ -25,7 +26,9 @@ import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoOrderDetailBizService; +import com.glxp.api.service.inout.IoOrderDetailCodeService; import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.OrderNoTypeBean; @@ -58,6 +61,10 @@ public class IoOrderDetailBizController extends BaseController { private IBasicBussinessTypeService basicBussinessTypeService; @Resource InvWarehouseService invWarehouseService; + @Resource + private IoCheckInoutService ioCheckInoutService; + @Resource + IoOrderDetailCodeService orderDetailCodeService; //获取单据业务详情---临时接口查询 @AuthRuleAnnotation("") @@ -157,6 +164,7 @@ public class IoOrderDetailBizController extends BaseController { return orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())) > 0 ? ResultVOUtils.success("删除成功!") : ResultVOUtils.error(500, "删除失败"); } + /** * 查询单据业务详情列表 * @@ -166,6 +174,8 @@ public class IoOrderDetailBizController extends BaseController { @GetMapping("/udiwms/inout/bizDetail/filterList") public BaseResponse filterList(FilterOrderDetailBizRequest orderDetailBizRequest) { List list = orderDetailBizService.filterList(orderDetailBizRequest); + List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailBizRequest.getOrderIdFk()); + ioCheckInoutService.bizOrderCheck2(list, orderDetailCodeEntities); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java index 967640e88..b8b43a299 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java @@ -153,7 +153,7 @@ public class IoOrderDetailBizResponse { private String remark5; //扫码数量 - private Integer scanCount; + private int scanCount; private boolean checkSuccess; diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java index dccf0838f..fc0540815 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java @@ -160,6 +160,6 @@ public class IoOrderDetailCodeResponse { */ private String supName; - private Integer orderCount; + private int orderCount; } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 7460d2b93..c8d3db879 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -7,6 +7,7 @@ import com.glxp.api.constant.ConstantType; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.InvPreinDetailEntity; +import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inv.InvPreinDetailService; @@ -195,6 +196,7 @@ public class IoCheckInoutService { //生成业务单据 IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity); + orderDetailBizEntity.setCount(orderDetailCodeEntity.getReCount()); orderDetailBizEntity.setId(null); orderDetailBizService.insert(orderDetailBizEntity); @@ -202,6 +204,8 @@ public class IoCheckInoutService { //生成单据结果 IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity); + orderDetailResultEntity.setCount(orderDetailCodeEntity.getReCount()); + orderDetailResultEntity.setReCount(orderDetailCodeEntity.getReCount()); orderDetailResultEntity.setId(null); orderDetailResultService.insert(orderDetailResultEntity); @@ -365,13 +369,38 @@ public class IoCheckInoutService { return errMsg; } + //业务单正向校验 + public String bizOrderCheck2(List orderDetailBizEntities, List orderDetailCodeEntities) { + String errMsg = ""; + //初始化默认值 + for (IoOrderDetailBizResponse bizResponse : orderDetailBizEntities) { + IoOrderDetailBizEntity bizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(bizResponse, bizEntity); + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null + && checkBatchNo(bizEntity, codeEntity) == null + ) { + if (checkCount(bizEntity, codeEntity) == null) { + bizResponse.setCheckSuccess(true); + codeEntity.setCheckSuccess(true); + bizResponse.setScanCount(codeEntity.getReCount()); + } else { + bizResponse.setScanCount(codeEntity.getReCount()); + bizResponse.setCheckSuccess(false); + } + break; + } + } + } + + for (IoOrderDetailBizResponse bizEntity : orderDetailBizEntities) { + if (!bizEntity.isCheckSuccess()) { + errMsg = errMsg + bizEntity.getCoName() + ";"; + } + } + return errMsg; + } - /** - * && checkProductDate(bizEntity, codeEntity) == null - * && checkExpireDate(bizEntity, codeEntity) == null - * && checkProductDate(bizEntity, codeEntity) == null - * && checkExpireDate(bizEntity, codeEntity) == null - */ //扫码单反向校验 public String codeOrderCheck(List orderDetailCodeEntities, List orderDetailBizEntities) { @@ -386,7 +415,8 @@ public class IoCheckInoutService { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { - if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null + if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() + && checkId(bizEntity, codeEntity) == null && checkBatchNo(bizEntity, codeEntity) == null ) { @@ -421,8 +451,6 @@ public class IoCheckInoutService { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null && checkBatchNo(bizEntity, codeEntity) == null - && checkProductDate(bizEntity, codeEntity) == null - && checkExpireDate(bizEntity, codeEntity) == null ) { if (checkCount(bizEntity, codeEntity) == null) {