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 bf7733c7f..7ef0e1d9b 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -36,10 +36,7 @@ import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRlSupResponse; -import com.glxp.api.res.inout.IoOrderDetailBizResponse; -import com.glxp.api.res.inout.IoOrderDetailResultResponse; -import com.glxp.api.res.inout.IoOrderInvoiceResponse; -import com.glxp.api.res.inout.IoSplitCodeResponse; +import com.glxp.api.res.inout.*; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.*; @@ -665,8 +662,51 @@ public class IoOrderDetailBizController extends BaseController { */ @GetMapping("/udiwms/inout/finishbizDetail/filterList") public BaseResponse finishBizDetail(FilterOrderDetailFinishBizRequest finishBizRequest) { - List orderDetailCodeEntities = orderDetailCodeService.finishBizDetail(finishBizRequest); - PageInfo pageInfo = new PageInfo<>(orderDetailCodeEntities); + FilterOrderDetailBizRequest orderDetailBizRequest = new FilterOrderDetailBizRequest(); + String action = finishBizRequest.getAction(); + String startTime = finishBizRequest.getStartTime(); + String endTime = finishBizRequest.getEndTime(); + String billNo = finishBizRequest.getBillNo(); + + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setAction(action); + List actions = new ArrayList<>(); + actions.add(ConstantType.SPLIT_OUT); + actions.add(ConstantType.SPLIT_RETURN); + filterOrderRequest.setActions(actions); + filterOrderRequest.setStartTime(startTime); + filterOrderRequest.setEndTime(endTime); + filterOrderRequest.setBillNo(billNo); + List ioOrderResponses = orderService.getfilterOrderList(filterOrderRequest); + if (CollUtil.isEmpty(ioOrderResponses)){ + PageInfo pageInfo = new PageInfo<>(ioOrderResponses); + return ResultVOUtils.page(pageInfo); + } + List orders = ioOrderResponses.stream().map(IoOrderResponse::getBillNo).collect(Collectors.toList()); + orderDetailBizRequest.setOrderIdFks(orders); + + + + orderDetailBizRequest.setLimit(finishBizRequest.getLimit()); + orderDetailBizRequest.setPage(finishBizRequest.getPage()); + orderDetailBizRequest.setKeyWords(finishBizRequest.getKeyWords()); + List list = orderDetailBizService.filterList(orderDetailBizRequest); + +// String value = systemParamConfigService.selectValueByParamKey("order_detail_visible"); +// if (IntUtil.value(value) == 1) { +// list = list.stream() +// .sorted(Comparator.comparing(IoOrderDetailBizResponse::getNameCode)) +// .collect(Collectors.toList()); +// } +// if (CollUtil.isEmpty(list)){ +// PageInfo pageInfo = new PageInfo<>(list); +// return ResultVOUtils.page(pageInfo); +// } +// List orders = list.stream().map(IoOrderDetailBizResponse::getOrderIdFk).collect(Collectors.toList()); +// finishBizRequest.setOrderIdFks(orders); +// List orderDetailCodeEntities = orderDetailCodeService.finishBizDetail(finishBizRequest); +// ioCheckInoutService.bizOrderCheck2(list, orderDetailCodeEntities); + PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailBizRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailBizRequest.java index ca65a7425..3938d528e 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailBizRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailBizRequest.java @@ -3,6 +3,8 @@ package com.glxp.api.req.inout; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; +import java.util.List; + /** * 单据业务详情查询参数 */ @@ -23,11 +25,13 @@ public class FilterOrderDetailBizRequest extends ListPageRequest { * 单据号 */ private String orderIdFk; + private List orderIdFks; /** * 产品名称 */ private String productName; + private String keyWords; private Long bizIdFk; } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailFinishBizRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailFinishBizRequest.java index 410442b1b..413da5493 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailFinishBizRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailFinishBizRequest.java @@ -3,6 +3,8 @@ package com.glxp.api.req.inout; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; +import java.util.List; + /** * 单据业务详情查询参数 */ @@ -12,6 +14,7 @@ public class FilterOrderDetailFinishBizRequest extends ListPageRequest { private String keyWords;//产品通用名/规格/批次号 private String billNo; + private List orderIdFks; private String action; private String startTime; diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java index af3576eff..6a0d20425 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java @@ -162,17 +162,10 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { @Override public List finishBizDetail(FilterOrderDetailFinishBizRequest finishBizRequest) { - - if (null == finishBizRequest) { - return Collections.emptyList(); - } - if (null != finishBizRequest.getPage() && null != finishBizRequest.getLimit()) { - PageHelper.offsetPage((finishBizRequest.getPage() - 1) * finishBizRequest.getLimit(), finishBizRequest.getLimit()); - } LambdaQueryWrapper lw = new LambdaQueryWrapper<>(); - String keyWords = finishBizRequest.getKeyWords(); - lw.apply(StrUtil.isNotBlank(keyWords),"( coName LIKE concat('%', {0}, '%') or spec LIKE concat('%', {0}, '%') or batchNo LIKE concat('%', {0}, '%')) ",keyWords); - lw.like(StrUtil.isNotBlank(finishBizRequest.getBillNo()),IoOrderDetailCodeEntity::getOrderIdFk,finishBizRequest.getBillNo()); +// String keyWords = finishBizRequest.getKeyWords(); +// lw.apply(StrUtil.isNotBlank(keyWords),"( coName LIKE concat('%', {0}, '%') or spec LIKE concat('%', {0}, '%') or batchNo LIKE concat('%', {0}, '%')) ",keyWords); + lw.in(CollUtil.isNotEmpty(finishBizRequest.getOrderIdFks()),IoOrderDetailCodeEntity::getOrderIdFk,finishBizRequest.getOrderIdFks()); return ioOrderDetailCodeDao.selectList(lw); diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml index 004d9aa67..94a7311b0 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml @@ -21,7 +21,20 @@ AND batchNo = #{batchNo} - AND bp.cpmctymc like concat('%', #{productName}, '%') + AND io_order_detail_biz.coName like concat('%', #{productName}, '%') + + + AND orderIdFk in + + #{item} + + + + AND ( + io_order_detail_biz.coName like concat('%', #{keyWords}, '%') + OR io_order_detail_biz.spec like concat('%', #{keyWords}, '%') + OR io_order_detail_biz.batchNo like concat('%', #{keyWords}, '%') + ) group by io_order_detail_biz.id