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