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