From 17ea3e9ec4f49b3652ff8a1e7dc9af502503d3f0 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期三, 09 四月 2025 13:30:02 +0800
Subject: [PATCH] 成品下单查询拼接检验人
---
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 56 ++++++++++++---------------
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java | 8 ----
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 18 ---------
inspect-server/src/main/resources/mapper/InsProductMapper.xml | 20 ----------
4 files changed, 25 insertions(+), 77 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 ab34adc..606bb77 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
@@ -77,14 +77,6 @@
* @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/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index 537ac2e..18b8a22 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
@@ -106,24 +106,6 @@
otherParam.setCheckUserFlag(checkUserFlag);
otherParam.setCheckUserId(SecurityUtils.getUserId());
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/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 2fe9e71..24c7c12 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -58,43 +58,37 @@
CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS insProgress,
io.sample_view AS sample_name,
GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
+ GROUP_CONCAT(DISTINCT uu.name SEPARATOR ', ') AS testing_name,
u.name,
- testing_name,
ip.son_laboratory
FROM
- ins_order io
+ ins_order io
+ LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id
+ LEFT JOIN ins_product ip on ip.ins_sample_id = isa.id
+ LEFT JOIN ins_sample_user isau ON isau.ins_sample_id = io.id
+ LEFT JOIN (SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id
+ LEFT JOIN user u ON io.create_user = u.id
+ LEFT JOIN user uu ON ip.check_user_id = uu.id
LEFT JOIN
- ins_sample isa ON io.id = isa.ins_order_id
- left join ins_product ip on ip.ins_sample_id = isa.id
+ (SELECT ins_order_id, COUNT(*) AS sample_num
+ FROM ins_sample
+ WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
+ GROUP BY ins_order_id
+ ) sample_counts ON io.id = sample_counts.ins_order_id
LEFT JOIN
- ins_sample_user isau ON isau.ins_sample_id = io.id
+ (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count
+ FROM ins_product
+ JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
+ WHERE ins_product.state = 1
+ GROUP BY ins_sample.ins_order_id
+ ) total_product_counts ON io.id = total_product_counts.ins_order_id
LEFT JOIN
- (SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id
- LEFT JOIN
- user u ON io.create_user = u.id
- LEFT JOIN
- (SELECT ins_order_id, COUNT(*) AS sample_num
- FROM ins_sample
- WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
- GROUP BY ins_order_id) sample_counts ON io.id = sample_counts.ins_order_id
- LEFT JOIN
- (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count
- FROM ins_product
- JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
- WHERE ins_product.state = 1
- GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id
- LEFT JOIN
- (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count
- FROM ins_product
- JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
- WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL
- GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id
- LEFT JOIN (SELECT ins_sample_id, GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS testing_name
- FROM ins_sample_user u
- LEFT JOIN user uu ON u.user_id = uu.id
- WHERE u.state = 0
- GROUP BY ins_sample_id
- ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id
+ (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count
+ FROM ins_product
+ JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
+ WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL
+ GROUP BY ins_sample.ins_order_id
+ ) approved_product_counts ON io.id = approved_product_counts.ins_order_id
where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id) = '')
<if test="otherParam.isOrderAll != null and otherParam.isOrderAll != ''">
AND io.state in (1, 4)
diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
index 6aa310a..b2e6807 100644
--- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -157,24 +157,4 @@
#{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