From bd63dcea170b3ceb86851f56a7a53b85b77027c2 Mon Sep 17 00:00:00 2001
From: yinrw <2030349650@qq.com>
Date: 星期四, 23 七月 2026 15:03:25 +0800
Subject: [PATCH] 修改销售台账和生产订单绑定逻辑,修复销售台账和生产订单页面展示数据bug

---
 src/main/resources/mapper/quality/QualityInspectMapper.xml |   94 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 83 insertions(+), 11 deletions(-)

diff --git a/src/main/resources/mapper/quality/QualityInspectMapper.xml b/src/main/resources/mapper/quality/QualityInspectMapper.xml
index 0efab8c..8d000de 100644
--- a/src/main/resources/mapper/quality/QualityInspectMapper.xml
+++ b/src/main/resources/mapper/quality/QualityInspectMapper.xml
@@ -1,32 +1,104 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.ruoyi.quality.mapper.QualityInspectMapper">
-    <select id="qualityInspectListPage" resultType="com.ruoyi.quality.pojo.QualityInspect">
+<!--    <select id="qualityInspectListPage" resultType="com.ruoyi.quality.dto.QualityInspectDto">-->
+<!--        SELECT-->
+<!--        qi.*,-->
+<!--        <choose>-->
+<!--            <when test="qualityInspect.inspectType == 0">-->
+<!--                pl.purchase_contract_number as purchase_contract_no-->
+<!--            </when>-->
+<!--            <otherwise>-->
+<!--                pwo.work_order_no,-->
+<!--                sl.sales_contract_no-->
+<!--            </otherwise>-->
+<!--        </choose>-->
+<!--        FROM-->
+<!--        quality_inspect qi-->
+<!--        <choose>-->
+<!--            <when test="qualityInspect.inspectType == 0 ">-->
+<!--                LEFT JOIN purchase_ledger pl ON pl.id = qi.purchase_ledger_id-->
+<!--            </when>-->
+<!--            <otherwise>-->
+<!--                LEFT JOIN production_product_main ppm ON qi.product_main_id = ppm.id-->
+<!--                LEFT JOIN product_work_order pwo ON ppm.work_order_id = pwo.id-->
+<!--                left join product_order po ON po.id = pwo.product_order_id-->
+<!--                left join sales_ledger sl ON sl.id = po.sales_ledger_id-->
+<!--            </otherwise>-->
+<!--        </choose>-->
+<!--        WHERE-->
+<!--        inspect_type=#{qualityInspect.inspectType}-->
+<!--        <if test="qualityInspect.supplier != null and qualityInspect.supplier != '' ">-->
+<!--            AND qi.supplier like concat('%',#{qualityInspect.supplier},'%')-->
+<!--        </if>-->
+<!--        <if test="qualityInspect.customer != null and qualityInspect.customer != '' ">-->
+<!--            AND qi.customer like concat('%',#{qualityInspect.customer},'%')-->
+<!--        </if>-->
+<!--        <if test="qualityInspect.process != null and qualityInspect.process != '' ">-->
+<!--            AND qi.process like concat('%',#{qualityInspect.process},'%')-->
+<!--        </if>-->
+<!--        <if test="qualityInspect.productName != null and qualityInspect.productName != '' ">-->
+<!--            AND qi.product_name like concat('%',#{qualityInspect.productName},'%')-->
+<!--        </if>-->
+<!--        <if test="qualityInspect.entryDateStart != null and qualityInspect.entryDateStart != '' ">-->
+<!--            AND qi.check_time &gt;= DATE_FORMAT(#{qualityInspect.entryDateStart},'%Y-%m-%d')-->
+<!--        </if>-->
+<!--        <if test="qualityInspect.entryDateEnd != null and qualityInspect.entryDateEnd != '' ">-->
+<!--            AND qi.check_time &lt;= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d')-->
+<!--        </if>-->
+<!--        ORDER BY qi.check_time DESC-->
+<!--    </select>-->
+    <!--    鏂皊ql 鐢ㄤ腑闂磋〃sales_ledger_production_ref杩涜鍏宠仈sales_ledger鍜宲roduct_order锛屾煡璇㈠嚭鎵�鏈夊叧鑱旂殑sales_ledger_no-->
+    <select id="qualityInspectListPage" resultType="com.ruoyi.quality.dto.QualityInspectDto">
         SELECT
-        *
-        FROM quality_inspect
-        where
+        qi.*,
+        <choose>
+            <when test="qualityInspect.inspectType == 0">
+                pl.purchase_contract_number as purchase_contract_no
+            </when>
+            <otherwise>
+                pwo.work_order_no,
+                (SELECT GROUP_CONCAT(DISTINCT sl_inner.sales_contract_no SEPARATOR ',')
+                FROM sales_ledger sl_inner
+                INNER JOIN sales_ledger_production_ref ref ON sl_inner.id = ref.sales_ledger_id
+                WHERE ref.product_order_id = po.id) AS sales_contract_no
+            </otherwise>
+        </choose>
+        FROM
+        quality_inspect qi
+        <choose>
+            <when test="qualityInspect.inspectType == 0 ">
+                LEFT JOIN purchase_ledger pl ON pl.id = qi.purchase_ledger_id
+            </when>
+            <otherwise>
+                LEFT JOIN production_product_main ppm ON qi.product_main_id = ppm.id
+                LEFT JOIN product_work_order pwo ON ppm.work_order_id = pwo.id
+                left join product_order po ON po.id = pwo.product_order_id
+            </otherwise>
+        </choose>
+        WHERE
         inspect_type=#{qualityInspect.inspectType}
         <if test="qualityInspect.supplier != null and qualityInspect.supplier != '' ">
-            AND supplier like concat('%',#{qualityInspect.supplier},'%')
+            AND qi.supplier like concat('%',#{qualityInspect.supplier},'%')
         </if>
         <if test="qualityInspect.customer != null and qualityInspect.customer != '' ">
-            AND customer like concat('%',#{qualityInspect.customer},'%')
+            AND qi.customer like concat('%',#{qualityInspect.customer},'%')
         </if>
         <if test="qualityInspect.process != null and qualityInspect.process != '' ">
-            AND process like concat('%',#{qualityInspect.process},'%')
+            AND qi.process like concat('%',#{qualityInspect.process},'%')
         </if>
         <if test="qualityInspect.productName != null and qualityInspect.productName != '' ">
-            AND product_name like concat('%',#{qualityInspect.productName},'%')
+            AND qi.product_name like concat('%',#{qualityInspect.productName},'%')
         </if>
         <if test="qualityInspect.entryDateStart != null and qualityInspect.entryDateStart != '' ">
-            AND check_time &gt;= DATE_FORMAT(#{qualityInspect.entryDateStart},'%Y-%m-%d')
+            AND qi.check_time &gt;= DATE_FORMAT(#{qualityInspect.entryDateStart},'%Y-%m-%d')
         </if>
         <if test="qualityInspect.entryDateEnd != null and qualityInspect.entryDateEnd != '' ">
-            AND check_time &lt;= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d')
+            AND qi.check_time &lt;= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d')
         </if>
-        ORDER BY check_time DESC
+        ORDER BY qi.check_time DESC
     </select>
+
     <select id="qualityInspectExport" resultType="com.ruoyi.quality.pojo.QualityInspect">
         SELECT
         *

--
Gitblit v1.9.3