From 73f262d6a15a925ea8f0af1351b907255a4735b5 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期三, 09 四月 2025 10:59:00 +0800 Subject: [PATCH] 成品下单查询拼接检验人 --- inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java | 9 ++++ inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 21 ++++++++++ inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java | 11 +++++ inspect-server/src/main/resources/mapper/InsProductMapper.xml | 20 ++++++++++ 4 files changed, 60 insertions(+), 1 deletions(-) diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java index eec4fa9..ab34adc 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.inspect.dto.ProductResultDto2; import com.ruoyi.inspect.dto.SampleProductRawAnalysisDto; +import com.ruoyi.inspect.pojo.CheckUserDto; import com.ruoyi.inspect.pojo.InsProduct; import org.apache.ibatis.annotations.Param; @@ -76,6 +77,14 @@ * @return */ int batchUpdateInsProductCheckUserId(@Param("insProductIds") List <Integer> insProductIds, @Param("checkUserId") Integer userId); + + /** + * 鏍规嵁璁㈠崟id鏌ヨ妫�楠屼汉鍛� + * + * @param orderIds + * @return + */ + List<CheckUserDto> selectCheckUserNameByOrderIds(@Param("orderIds") List<Integer> orderIds); } diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java new file mode 100644 index 0000000..36bdab5 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java @@ -0,0 +1,11 @@ +package com.ruoyi.inspect.pojo; + +import lombok.Data; + +@Data +public class CheckUserDto { + + private Integer orderId; + + private String checkUserNames; +} diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java index 868ba44..537ac2e 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java @@ -105,7 +105,26 @@ otherParam.setIsOrderAll(isOrderAll); otherParam.setCheckUserFlag(checkUserFlag); otherParam.setCheckUserId(SecurityUtils.getUserId()); - return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam); + IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam); + // 鎷兼帴妫�楠屼汉鏍规嵁妫�楠岄」鏉� + if(CollectionUtils.isEmpty(sampleOrderDtoIPage.getRecords())){ + return sampleOrderDtoIPage; + } + List<Integer> orderIds = new ArrayList<>(); + for (SampleOrderDto record : sampleOrderDtoIPage.getRecords()) { + orderIds.add(record.getId()); + } + List<CheckUserDto> checkUserDtoList = insProductMapper.selectCheckUserNameByOrderIds(orderIds); + for (SampleOrderDto record : sampleOrderDtoIPage.getRecords()) { + Integer orderId = record.getId(); + for (CheckUserDto checkUserDto : checkUserDtoList) { + if(orderId.equals(checkUserDto.getOrderId())) { + record.setTestingName(checkUserDto.getCheckUserNames()); + break; + } + } + } + return sampleOrderDtoIPage; } diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml index b2e6807..6aa310a 100644 --- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml @@ -157,4 +157,24 @@ #{item} </foreach> </update> + + <select id="selectCheckUserNameByOrderIds" resultType="com.ruoyi.inspect.pojo.CheckUserDto"> + SELECT T1.id AS order_id, + GROUP_CONCAT(DISTINCT user.name SEPARATOR ', ') AS check_user_names + FROM ( + SELECT + ipr.check_user_id, + iso.id + FROM + ins_product ipr + LEFT JOIN ins_sample isa ON ipr.ins_sample_id = isa.id + LEFT JOIN ins_order iso ON isa.ins_order_id = iso.id + WHERE + iso.id IN + <foreach collection="orderIds" open="(" close=")" item="item" separator=","> + #{item} + </foreach> + ) T1 LEFT JOIN user ON T1.check_user_id = user.id + GROUP BY T1.id + </select> </mapper> -- Gitblit v1.9.3