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 b6d679b8b..25346a78a 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -16,12 +16,14 @@ import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.collect.*; import com.glxp.api.req.basic.BasicCollectUserRequest; import com.glxp.api.req.basic.PrescribeBindWorkRequest; +import com.glxp.api.req.basic.WorkBindBusTypeRequest; import com.glxp.api.req.collect.CollectOrderBindWorkRequest; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.CollectOrderSaveRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.SysWorkplaceDocumentResponse; import com.glxp.api.res.basic.UserWorkResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; @@ -39,10 +41,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; @RestController @@ -66,7 +65,9 @@ public class IoCollectOrderController extends BaseController { public BaseResponse filterOrder(CollectOrderRequest collectOrderRequest) { List workPlaceCodes = null; + List sysWorkplaceDocumentResponses = null; List page; + WorkBindBusTypeRequest workBindBusTypeRequest = new WorkBindBusTypeRequest(); if (collectOrderRequest.getWorkPlaceCode() == null) { Long userId = getUserId(); BasicCollectUserRequest request = new BasicCollectUserRequest(); @@ -79,8 +80,24 @@ public class IoCollectOrderController extends BaseController { .map(UserWorkResponse::getWorkplaceId) .collect(Collectors.toList()); } - collectOrderRequest.setWorkPlaceCodes(workPlaceCodes); + //通过工位列表 获取出 业务列表 + workBindBusTypeRequest.setWorkPlaceCodes(workPlaceCodes); + sysWorkplaceDocumentResponses = sysWorkplaceDocumentService.filterListByWorkplace(workBindBusTypeRequest); + }else { + workBindBusTypeRequest.setWorkplaceCode(collectOrderRequest.getWorkPlaceCode()); + sysWorkplaceDocumentResponses = sysWorkplaceDocumentService.filterListByWorkplace(workBindBusTypeRequest); + collectOrderRequest.setWorkPlaceCode(null); } + + if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)){ + Set uniqueDocumentTypeCodesLinkedHashSet = sysWorkplaceDocumentResponses.stream() + .map(SysWorkplaceDocumentResponse::getDocumentTypeCode) + .collect(Collectors.toCollection(LinkedHashSet::new)); + List documentTypeCodes = new ArrayList<>(uniqueDocumentTypeCodesLinkedHashSet); + + collectOrderRequest.setDocumentTypeCodes(documentTypeCodes); + } + List orderResponses = collectOrderService.filterList(collectOrderRequest); PageInfo pageInfo = new PageInfo<>(orderResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java index bb1ac274b..c29b05360 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java @@ -53,23 +53,7 @@ public class IoCollectOriginController extends BaseController { @PostMapping("/udiwms/basic/collect/origin/order/download") public BaseResponse downloadOrder(@RequestBody CollectOrderRequest collectOrderRequest) { - Long workPlaceCode = collectOrderRequest.getWorkPlaceCode(); - if (workPlaceCode == null) { - WorkBindBusTypeRequest workBindBusTypeRequest = new WorkBindBusTypeRequest(); - List sysWorkplaceDocumentResponses = sysWorkplaceDocumentDao.filterList(workBindBusTypeRequest); - if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)) { - for (SysWorkplaceDocumentResponse sysWorkplaceDocumentResponse : sysWorkplaceDocumentResponses) { - Long workplaceCode = sysWorkplaceDocumentResponse.getWorkplaceCode(); - String documentTypeCode = sysWorkplaceDocumentResponse.getDocumentTypeCode(); - collectOrderRequest.setBusType(documentTypeCode); - collectOrderRequest.setWorkPlaceCode(workplaceCode); - collectOriginService.downloadOrderV2(collectOrderRequest); - } - } - }else { - return collectOriginService.downloadOrderV2(collectOrderRequest); - } - return ResultVOUtils.success("下载成功"); + return collectOriginService.downloadOrderV2(collectOrderRequest); } diff --git a/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java b/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java index bd66ca04a..216a219dc 100644 --- a/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java +++ b/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java @@ -21,6 +21,8 @@ public class WorkBindBusTypeRequest extends ListPageRequest { private String documentTypeCode; private Integer isPopular; + private List workPlaceCodes; + } 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 719fb00df..554f7abed 100644 --- a/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java @@ -139,4 +139,6 @@ public class CollectOrderRequest extends ListPageRequest { private String startTime; private String endTime; + private List documentTypeCodes; + } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java index d4a55dfa4..e0bf4bbd5 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java @@ -102,7 +102,6 @@ public class IoCollectOriginService { if (StrUtil.isBlank(busType)) { //下载工位下的类型 WorkBindBusTypeRequest workBindBusTypeRequest = new WorkBindBusTypeRequest(); - workBindBusTypeRequest.setWorkplaceCode(collectOrderRequest.getWorkPlaceCode()); List sysWorkplaceDocumentResponses = sysWorkplaceDocumentDao.filterList(workBindBusTypeRequest); if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)) { for (SysWorkplaceDocumentResponse sysWorkplaceDocumentResponse : sysWorkplaceDocumentResponses) { diff --git a/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java b/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java index 02c3da682..eb8a8afda 100644 --- a/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java +++ b/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java @@ -2,6 +2,7 @@ package com.glxp.api.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.thread.ThreadUtil; +import cn.hutool.core.util.StrUtil; import com.glxp.api.dao.basic.SysWorkplaceDocumentDao; import com.glxp.api.dao.schedule.ScheduledDao; import com.glxp.api.entity.inv.InvProductRationEntity; @@ -13,6 +14,7 @@ import com.glxp.api.res.basic.SysWorkplaceDocumentResponse; import com.glxp.api.service.collect.IoCollectOriginService; import com.glxp.api.service.inv.InvProductRationService; import com.glxp.api.util.MsDateUtil; +import com.glxp.api.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.EnableScheduling; diff --git a/src/main/resources/mybatis/mapper/basic/SysWorkplaceDocumentDao.xml b/src/main/resources/mybatis/mapper/basic/SysWorkplaceDocumentDao.xml index cecdb937a..7dec33bfa 100644 --- a/src/main/resources/mybatis/mapper/basic/SysWorkplaceDocumentDao.xml +++ b/src/main/resources/mybatis/mapper/basic/SysWorkplaceDocumentDao.xml @@ -38,9 +38,17 @@ left join thr_bustype_origin on thr_bustype_origin.action = sys_workplace_document.documentTypeCode + and sys_workplace_document.workplaceCode is not null AND sys_workplace_bus.workplaceCode = #{workplaceCode} + + + and sys_workplace_bus.workplaceCode in + + #{item} + + AND sys_workplace_document.documentTypeCode = #{documentTypeCode} diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml index a7ccbc2ed..79def5c86 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml @@ -79,6 +79,12 @@ #{item} + + and sys_workplace_document.documentTypeCode in + + #{item} + + and ico.workPlaceCode in