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 361758005..73d5a5eec 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -57,8 +57,8 @@ public class IoOrderDetailBizController extends BaseController { //获取单据业务详情---临时接口查询 @AuthRuleAnnotation("") @GetMapping("udiwms/inout/order/draft/biz") - public BaseResponse getDraftsDetailCode() { - List orderEntityList = ioOrderDetailBizDao.selectList(); + public BaseResponse getDraftsDetailCode(String orderId) { + List orderEntityList = orderDetailBizService.checkOrderList(orderId); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(100l); pageSimpleResponse.setList(orderEntityList); @@ -126,7 +126,7 @@ public class IoOrderDetailBizController extends BaseController { * @param orderDetailBizRequest * @return */ - @GetMapping("/udiwms/inout/order/filterList") + @GetMapping("/udiwms/inout/bizDetail/filterList") public BaseResponse filterList(FilterOrderDetailBizRequest orderDetailBizRequest) { List list = orderDetailBizService.filterList(orderDetailBizRequest); PageInfo pageInfo = new PageInfo<>(list); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java index ef7569b0f..6124966e2 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java @@ -47,7 +47,7 @@ public class IoOrderDetailCodeController { * @param detailCodeRequest * @return */ - @GetMapping("udiwms/inout/order/filterList") + @GetMapping("udiwms/inout/codeDetail/filterList") public BaseResponse filterList(FilterOrderDetailCodeRequest detailCodeRequest) { List list = ioOrderDetailCodeService.filterList(detailCodeRequest); PageInfo pageInfo = new PageInfo<>(list); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 98ab4b732..947144349 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -27,7 +27,7 @@ public class IoOrderDetailResultController { * @param orderDetailResultRequest * @return */ - @GetMapping("/udiwms/inout/order/filterList") + @GetMapping("/udiwms/inout/resultDetail/filterList") public BaseResponse filterList(FilterOrderDetailResultRequest orderDetailResultRequest) { List list = orderDetailResultService.filterList(orderDetailResultRequest); PageInfo pageInfo = new PageInfo<>(list); diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java index ce14a94b5..5740d9341 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java @@ -142,12 +142,6 @@ public class IoOrderDetailBizEntity implements Serializable { @TableField(value = "`count`") private Integer count; - /** - * 扫码数量 - */ - @TableField(value = "reCount") - private Integer reCount; - /** * 备注 */ @@ -188,5 +182,8 @@ public class IoOrderDetailBizEntity implements Serializable { @TableField(exist = false) private boolean checkSuccess; + @TableField(exist = false) + private Integer scanCount; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java index f6a229669..caef841a2 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java @@ -187,5 +187,8 @@ public class IoOrderDetailCodeEntity implements Serializable { @TableField(exist = false) private boolean checkSuccess; + @TableField(exist = false) + private Integer orderCount; + private static final long serialVersionUID = 1L; } \ No newline at end of file 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 8e66d26da..1dd3a3ed1 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java @@ -118,7 +118,7 @@ public class IoOrderDetailBizResponse { private Integer count; /** - * 扫码数量 + * 实际数量 */ private Integer reCount; @@ -152,7 +152,10 @@ public class IoOrderDetailBizResponse { */ private String remark5; + //扫码数量 + private Integer scanCount; private boolean checkSuccess; + } 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 dc14b376f..9eb686fb7 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -235,6 +235,52 @@ public class IoCheckInoutService { } } + //业务单正向校验 + public void bizOrderCheck(List orderDetailBizEntities, List orderDetailCodeEntities) { + for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + 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) { + bizEntity.setCheckSuccess(true); + codeEntity.setCheckSuccess(true); + } else { + bizEntity.setScanCount(codeEntity.getReCount()); + bizEntity.setCheckSuccess(false); + } + break; + } + } + } + } + + //扫码单反向校验 + public void codeOrderCheck(List orderDetailCodeEntities, List orderDetailBizEntities) { + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + 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) { + bizEntity.setCheckSuccess(true); + codeEntity.setCheckSuccess(true); + } else { + codeEntity.setOrderCount(bizEntity.getCount()); + } + break; + } + } + } + + } + //二次校验 public void checkSecond(IoOrderEntity orderEntity) { BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); @@ -353,7 +399,7 @@ public class IoCheckInoutService { } public String checkCount(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) { - if (bizEntity.getReCount() == codeEntity.getReCount()) { + if (bizEntity.getCount() == codeEntity.getReCount()) { return null; } return bizEntity.getCoName() + "数量不匹配!"; diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java index 2f6854078..55dafc587 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java @@ -16,7 +16,10 @@ public interface IoOrderDetailBizService { int deleteById(Integer id); - boolean isExit(Long relId, String bacthNo,Integer ignoreId); + boolean isExit(Long relId, String bacthNo, Integer ignoreId); List filterList(FilterOrderDetailBizRequest orderDetailBizRequest); + + + List checkOrderList(String orderId); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java index 17162bf5d..5129e2438 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inout.IoOrderDetailBizDao; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; +import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoOrderDetailBizService; +import com.glxp.api.service.inout.IoOrderDetailCodeService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -56,4 +59,19 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { return ioOrderDetailBizDao.filterList(orderDetailBizRequest); } + + @Resource + IoOrderDetailCodeService orderDetailCodeService; + @Resource + IoCheckInoutService checkInoutService; + + @Override + public List checkOrderList(String orderId) { + + List orderDetailBizEntities = findByOrderId(orderId); + List codeEntities = orderDetailCodeService.findByOrderId(orderId); + checkInoutService.bizOrderCheck(orderDetailBizEntities, codeEntities); + return orderDetailBizEntities; + } + }