diff --git a/project/src/main/java/com/sdm/project/controller/SimulationDemandController.java b/project/src/main/java/com/sdm/project/controller/SimulationDemandController.java index c91e7122..97c2e208 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationDemandController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationDemandController.java @@ -130,10 +130,10 @@ public class SimulationDemandController { * 给 MES系统使用 查询是否开模件的待办列表 * @return */ - @GetMapping("/queryTodoList") + @PostMapping("/queryTodoList") @Operation(summary = "条件查询待办(需求)列表", description = "条件查询待办(需求)列表") - public SdmResponse queryTodoList(@RequestParam String isMoldMaking) { - return demandService.queryTodoList(isMoldMaking); + public SdmResponse queryTodoList(@RequestBody DemandQryReq qryReq) { + return demandService.queryTodoList(qryReq); } /** diff --git a/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java b/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java index 1e8e3ffb..029de855 100644 --- a/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java +++ b/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java @@ -45,7 +45,7 @@ public interface SimulationDemandMapper extends BaseMapper { Set getAllCodeList(); - List getDemandListWithCondition(@Param("isMoldMaking") String isMoldMaking); + List getDemandListWithCondition(@Param("req") DemandQryReq req); List getDemandListByProjectId(@Param("nodeId") String nodeId); diff --git a/project/src/main/java/com/sdm/project/model/req/DemandQryReq.java b/project/src/main/java/com/sdm/project/model/req/DemandQryReq.java index 80ebd8fa..9a1ac530 100644 --- a/project/src/main/java/com/sdm/project/model/req/DemandQryReq.java +++ b/project/src/main/java/com/sdm/project/model/req/DemandQryReq.java @@ -8,5 +8,17 @@ public class DemandQryReq { * 是否开模件 Y/N */ private String isMoldMaking; + /** + * 物料号 + */ + private String materialNo; + /** + * 项目号(对应simulation_node的nodeCode) + */ + private String projectCode; + /** + * 工作空间编码(对应simulation_node的nodeCode) + */ + private String workspaceCode; } diff --git a/project/src/main/java/com/sdm/project/model/vo/SpdmDemandVo.java b/project/src/main/java/com/sdm/project/model/vo/SpdmDemandVo.java index da7c64b8..abc94ad0 100644 --- a/project/src/main/java/com/sdm/project/model/vo/SpdmDemandVo.java +++ b/project/src/main/java/com/sdm/project/model/vo/SpdmDemandVo.java @@ -184,6 +184,11 @@ public class SpdmDemandVo extends BaseEntity { * 是否开模件 */ private String isMoldMaking; + /** + * 确认人id + */ + private String pUserId; + /** * 需求附件id列表 */ diff --git a/project/src/main/java/com/sdm/project/service/IDemandService.java b/project/src/main/java/com/sdm/project/service/IDemandService.java index a95471fc..71107ca6 100644 --- a/project/src/main/java/com/sdm/project/service/IDemandService.java +++ b/project/src/main/java/com/sdm/project/service/IDemandService.java @@ -45,7 +45,7 @@ public interface IDemandService { SdmResponse>> queryDemandFiles(QueryDirReq req); - SdmResponse queryTodoList(String isMoldMaking); + SdmResponse queryTodoList(DemandQryReq qryReq); SdmResponse addDemandNoPermission(SpdmAddDemandReq req); diff --git a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java index afd748a9..34111e89 100644 --- a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java @@ -1538,11 +1538,40 @@ public class DemandServiceImpl extends BaseService implements IDemandService { } @Override - public SdmResponse queryTodoList(String isMoldMaking) { - List demandVoList = mapper.getDemandListWithCondition(isMoldMaking); + public SdmResponse queryTodoList(DemandQryReq qryReq) { + List demandVoList = mapper.getDemandListWithCondition(qryReq); if (CollectionUtils.isNotEmpty(demandVoList)) { + // 收集所有pUserId + List pUserIds = demandVoList.stream() + .map(SpdmDemandVo::getPUserId) + .filter(StringUtils::isNotBlank) + .map(Long::valueOf) + .distinct() + .collect(Collectors.toList()); + + // 批量查询用户信息 + Map> userMap = new HashMap<>(); + if (CollectionUtils.isNotEmpty(pUserIds)) { + SdmResponse> cidUserResp = sysUserFeignClient.listUserByIds( + UserQueryReq.builder().userIds(pUserIds).build() + ); + if (cidUserResp.isSuccess() && CollectionUtils.isNotEmpty(cidUserResp.getData())) { + userMap = cidUserResp.getData().stream().collect(Collectors.groupingBy(CIDUserResp::getUserId)); + } + } + + // 遍历设置pMemberList和文件信息 for (SpdmDemandVo demandVo : demandVoList) { - QueryDirReq dirReq = new QueryDirReq(); + // 设置pMemberList + if (StringUtils.isNotBlank(demandVo.getPUserId())) { + Long userId = Long.valueOf(demandVo.getPUserId()); + if (CollectionUtils.isNotEmpty(userMap.get(userId))) { + demandVo.setPMemberList(userMap.get(userId)); + } + } + + // 设置文件信息 + QueryDirReq dirReq = new QueryDirReq(); dirReq.setCurrent(1); dirReq.setSize(999); dirReq.setUuid(demandVo.getUuid()); diff --git a/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java index 25c5af0c..7caa19c2 100644 --- a/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java @@ -2926,6 +2926,7 @@ public class SimulationRunServiceImpl extends ServiceImpl response = dataFeignClient.copyFileToTask(copyFileToTaskReq); + log.info("[syncKeyResultToTask] copyFileToTask req:{},resp:{}", JSON.toJSONString(copyFileToTaskReq), JSON.toJSONString(response)); if (!response.isSuccess()) { return SdmResponse.failed("归档关键结果文件失败"); } diff --git a/project/src/main/resources/mapper/SimulationDemandMapper.xml b/project/src/main/resources/mapper/SimulationDemandMapper.xml index 6bf5c188..4bd6033f 100644 --- a/project/src/main/resources/mapper/SimulationDemandMapper.xml +++ b/project/src/main/resources/mapper/SimulationDemandMapper.xml @@ -188,17 +188,43 @@ SELECT sd.*, mold_material.property_value AS materialNo, - is_mold.property_value AS isMoldMaking + is_mold.property_value AS isMoldMaking, + sdm.user_id AS pUserId, + project_node.nodeCode AS projectCode, + workspace_node.nodeCode AS workspaceCode FROM simulation_demand sd - INNER JOIN simulation_demand_extra is_mold - ON sd.uuid = is_mold.demand_id - AND is_mold.property_name = 'isMoldMaking' - - AND is_mold.property_value = #{isMoldMaking} + INNER JOIN simulation_demand_extra is_mold ON sd.uuid = is_mold.demand_id AND is_mold.property_name = 'isMoldMaking' + + AND is_mold.property_value = #{req.isMoldMaking} - LEFT JOIN simulation_demand_extra mold_material - ON sd.uuid = mold_material.demand_id - AND mold_material.property_name = 'materialNo' + + + INNER JOIN simulation_demand_extra mold_material ON sd.uuid = mold_material.demand_id AND mold_material.property_name = 'materialNo' + AND mold_material.property_value = #{req.materialNo} + + + LEFT JOIN simulation_demand_extra mold_material ON sd.uuid = mold_material.demand_id AND mold_material.property_name = 'materialNo' + + + LEFT JOIN simulation_demand_member sdm ON sd.uuid = sdm.demand_id AND sdm.type = 0 + + + INNER JOIN simulation_node project_node ON sd.project_id = project_node.uuid + AND project_node.nodeCode = #{req.projectCode} + + + LEFT JOIN simulation_node project_node ON sd.project_id = project_node.uuid + + + + + INNER JOIN simulation_node workspace_node ON sd.workspace_id = workspace_node.uuid + AND workspace_node.nodeCode = #{req.workspaceCode} + + + LEFT JOIN simulation_node workspace_node ON sd.workspace_id = workspace_node.uuid + +