diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java index e47e64bd6..99a4f5dea 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -160,10 +160,6 @@ public class IoCollectOrderController extends BaseController { return ResultVOUtils.success(pageSimpleResponse); } - @Resource - IoCollectOrderCodeAutoService collectOrderCodeAutoService; - @Resource - IoCollectOrderCodeManService collectOrderCodeManService; @GetMapping("/udiwms/basic/collect/order/allDetail") public BaseResponse allDetail(CollectOrderBizRequest collectOrderBizRequest) { @@ -174,63 +170,7 @@ public class IoCollectOrderController extends BaseController { if (collectOrder == null) { return ResultVOUtils.error(500, "未找到单据"); } - List list = collectOrderBizService.filterList(collectOrderBizRequest); - - List splitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 1); - List unSplitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 2); - List manList = collectOrderCodeManService.listByBillNo(collectOrderBizRequest.getOrderIdFk()); - - List collectOrderBizResponses = new ArrayList<>(); - for (CollectOrderBizResponse collectOrderBiz : list) { - CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse(); - BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse); - //拆零 - for (IoCollectOrderCodeAuto collectOrderCodeAuto : splitCodes) { - if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { - collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); - } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { - collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); - } - } - if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) { - collectOrderBizResponse.setSplitUdiCode(collectOrderBizResponse.getSplitUdiCode().substring(1)); - } - //整取 - for (IoCollectOrderCodeAuto collectOrderCodeAuto : unSplitCodes) { - if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { - collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); - } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { - collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); - } - } - if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) { - collectOrderBizResponse.setUnSplitUdiCode(collectOrderBizResponse.getUnSplitUdiCode().substring(1)); - } - //手动 - for (IoCollectOrderCodeMan collectOrderCodeMan : manList) { - if (IntUtil.value(collectOrderCodeMan.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) { - collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeMan.getUdiCode()); - } - } - if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) { - collectOrderBizResponse.setScanUdiCode(collectOrderBizResponse.getScanUdiCode().substring(1)); - } - - - if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) { - collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getScanUdiCode()); - } else if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) { - collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getSplitUdiCode()); - } else if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) { - collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getUnSplitUdiCode()); - } - - collectOrderBizResponses.add(collectOrderBizResponse); - } - - + List collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest); PageInfo pageInfo = new PageInfo<>(collectOrderBizResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); @@ -301,12 +241,17 @@ public class IoCollectOrderController extends BaseController { @PostMapping("/udiwms/basic/collect/order/finish") public BaseResponse saveFinishOrder(@RequestBody CollectOrderRequest collectOrderRequest) { - //1.校验是否全部自动赋码 - - - //2.校验扫码是否完成 - - + if (!IntUtil.value(collectOrderRequest.getConfirmFinish())) { + //1.校验是否全部自动赋码 + CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest(); + collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo()); + List collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest); + boolean isAllTag = collectOrderBizResponses.stream() + .allMatch(obj -> StrUtil.isNotEmpty(obj.getFinishUdiCode())); + if (!isAllTag) { + return ResultVOUtils.error(502, "该业务单据未全部赋码,是否强制完成单据?"); + } + } IoCollectOrder collectOrder = new IoCollectOrder(); BeanUtils.copyProperties(collectOrderRequest, collectOrder); collectOrder.setTagStatus(3); diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java index e14007f3e..824395631 100644 --- a/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java @@ -96,4 +96,7 @@ public class CollectOrderRequest extends ListPageRequest { private Boolean confirmGet; + private Boolean confirmFinish; + + } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index d038e2342..c89313ff9 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.collect; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -13,15 +14,18 @@ import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderBiz; +import com.glxp.api.entity.collect.IoCollectOrderCodeAuto; import com.glxp.api.entity.collect.IoCollectOrderCodeMan; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.exception.JsonException; +import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.inout.DeleteTageCodeRequest; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.res.basic.SysWorkplaceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.service.auth.SysWorkplaceService; @@ -32,6 +36,7 @@ import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.util.IntUtil; import com.glxp.api.util.MsDateUtil; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -45,6 +50,28 @@ public class IoCollectOrderService extends ServiceImpl().eq(IoCollectOrder::getBillNo, billNo).last("limit 1")); @@ -67,21 +94,71 @@ public class IoCollectOrderService extends ServiceImpl combieOrderDetail(CollectOrderBizRequest collectOrderBizRequest) { + List list = collectOrderBizService.filterList(collectOrderBizRequest); + + List splitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 1); + List unSplitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 2); + List manList = collectOrderCodeManService.listByBillNo(collectOrderBizRequest.getOrderIdFk()); + + List collectOrderBizResponses = new ArrayList<>(); + for (CollectOrderBizResponse collectOrderBiz : list) { + CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse(); + BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse); + //拆零 + for (IoCollectOrderCodeAuto collectOrderCodeAuto : splitCodes) { + if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && + (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { + collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); + } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { + collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); + } + } + if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) { + collectOrderBizResponse.setSplitUdiCode(collectOrderBizResponse.getSplitUdiCode().substring(1)); + } + //整取 + for (IoCollectOrderCodeAuto collectOrderCodeAuto : unSplitCodes) { + if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && + (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { + collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); + } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { + collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); + } + } + if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) { + collectOrderBizResponse.setUnSplitUdiCode(collectOrderBizResponse.getUnSplitUdiCode().substring(1)); + } + //手动 + for (IoCollectOrderCodeMan collectOrderCodeMan : manList) { + if (IntUtil.value(collectOrderCodeMan.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) { + collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeMan.getUdiCode()); + } + } + if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) { + collectOrderBizResponse.setScanUdiCode(collectOrderBizResponse.getScanUdiCode().substring(1)); + } + + if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) { + collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getScanUdiCode()); + } else if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) { + collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getSplitUdiCode()); + } else if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) { + collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getUnSplitUdiCode()); + } + + collectOrderBizResponses.add(collectOrderBizResponse); + } + + + return collectOrderBizResponses; + } + /** * 导入内部数据 @@ -91,21 +168,9 @@ public class IoCollectOrderService extends ServiceImpl orderEntities = new ArrayList<>(); - - List orderEntities1 = orderService.findAllByAction("SC72197936495755"); List orderEntities2 = orderService.findAllByAction("SC72249388338364"); orderEntities.addAll(orderEntities1); @@ -126,13 +191,6 @@ public class IoCollectOrderService extends ServiceImpl