From 1e20f9b6c5bc642f92f77388c5f339f05a3ae9be Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期五, 27 三月 2026 16:47:00 +0800
Subject: [PATCH] 采购导入需求

---
 java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml |   93 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 66 insertions(+), 27 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
index a06a7e8..e1b1a8e 100755
--- a/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
@@ -234,16 +234,17 @@
         t.end_user_tel,
         t.end_user_name endUserName,
         t.end_user_tel endUserTel,
-        t.description,
         t.create_user_id createUserId,
         t.create_user_name createUserName,
         t.warehousing_way warehousingWay,
         t.community_id communityId
         from purchase_apply t
-        left join purchase_apply_detail de on t.apply_order_id = de.apply_order_id and de.status_cd = '0'
-        left join resource_store rs on de.res_id = rs.res_id and rs.status_cd = '0'
-        left join t_dict d on t.state = d.status_cd and d.table_name = 'purchase_apply' and d.table_columns = 'state'
+        left join t_dict d
+        on t.state = d.status_cd
+        and d.table_name = 'purchase_apply'
+        and d.table_columns = 'state'
         where 1 = 1
+
         <if test="resOrderType !=null and resOrderType != ''">
             and t.res_order_type= #{resOrderType}
         </if>
@@ -255,8 +256,7 @@
         </if>
         <if test="applyOrderIds !=null ">
             and t.apply_order_id in
-            <foreach open="(" close=")"
-                     separator="," collection="applyOrderIds" item="item">
+            <foreach open="(" close=")" separator="," collection="applyOrderIds" item="item">
                 #{item}
             </foreach>
         </if>
@@ -290,15 +290,38 @@
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
         </if>
+
+        -- 璧勬簮鍚嶇О鏌ヨ锛堝叧閿慨鏀癸級
         <if test="resName !=null and resName != ''">
-            and rs.res_name like '%${resName}%'
+            and exists (
+            select 1
+            from purchase_apply_detail de
+            inner join resource_store rs
+            on de.res_id = rs.res_id
+            and rs.status_cd = '0'
+            where de.apply_order_id = t.apply_order_id
+            and de.status_cd = '0'
+            and rs.res_name like concat('%',#{resName},'%')
+            )
         </if>
+
+        -- 鏃犺祫婧愬悕绉版椂锛屼粎鍒ゆ柇瀛樺湪鏈夋晥鏄庣粏
+        <if test="resName ==null or resName == ''">
+            and exists (
+            select 1
+            from purchase_apply_detail de
+            where de.apply_order_id = t.apply_order_id
+            and de.status_cd = '0'
+            )
+        </if>
+
         <if test="startTime !=null and startTime != ''">
-            and t.create_time &gt;= #{startTime}
+            and t.create_time >= #{startTime}
         </if>
         <if test="endTime !=null and endTime != ''">
             and t.create_time &lt;= #{endTime}
         </if>
+
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -455,9 +478,12 @@
     <select id="queryPurchaseApplysCount" parameterType="Map" resultType="Map">
         select count(1) count
         from purchase_apply t
-        left join purchase_apply_detail de on t.apply_order_id = de.apply_order_id and de.status_cd = '0'
-        left join resource_store rs on de.res_id = rs.res_id and rs.status_cd = '0'
+        left join t_dict d
+        on t.state = d.status_cd
+        and d.table_name = 'purchase_apply'
+        and d.table_columns = 'state'
         where 1 = 1
+
         <if test="resOrderType !=null and resOrderType != ''">
             and t.res_order_type= #{resOrderType}
         </if>
@@ -469,8 +495,7 @@
         </if>
         <if test="applyOrderIds !=null ">
             and t.apply_order_id in
-            <foreach open="(" close=")"
-                     separator="," collection="applyOrderIds" item="item">
+            <foreach open="(" close=")" separator="," collection="applyOrderIds" item="item">
                 #{item}
             </foreach>
         </if>
@@ -480,14 +505,8 @@
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
-        <if test="warehousingWay !=null and warehousingWay != ''">
-            and t.warehousing_way= #{warehousingWay}
-        </if>
         <if test="state !=null and state != ''">
             and t.state= #{state}
-        </if>
-        <if test="communityId !=null and communityId != ''">
-            and t.community_id= #{communityId}
         </if>
         <if test="storeId !=null and storeId != ''">
             and t.store_id= #{storeId}
@@ -501,27 +520,47 @@
         <if test="endUserTel !=null and endUserTel != ''">
             and t.end_user_tel= #{endUserTel}
         </if>
-        <if test="createUserId !=null and createUserId != ''">
-            and t.create_user_id= #{createUserId}
-        </if>
         <if test="userId !=null and userId != ''">
             and t.user_id= #{userId}
         </if>
+        <if test="createUserId !=null and createUserId != ''">
+            and t.create_user_id= #{createUserId}
+        </if>
         <if test="communityId !=null and communityId != ''">
-            and t.community_id = #{communityId}
+            and t.community_id= #{communityId}
         </if>
+
+        -- 璧勬簮鍚嶇О鏌ヨ锛堝叧閿慨鏀癸級
         <if test="resName !=null and resName != ''">
-            and rs.res_name like '%${resName}%'
+            and exists (
+            select 1
+            from purchase_apply_detail de
+            inner join resource_store rs
+            on de.res_id = rs.res_id
+            and rs.status_cd = '0'
+            where de.apply_order_id = t.apply_order_id
+            and de.status_cd = '0'
+            and rs.res_name like concat('%',#{resName},'%')
+            )
         </if>
+
+        -- 鏃犺祫婧愬悕绉版椂锛屼粎鍒ゆ柇瀛樺湪鏈夋晥鏄庣粏
+        <if test="resName ==null or resName == ''">
+            and exists (
+            select 1
+            from purchase_apply_detail de
+            where de.apply_order_id = t.apply_order_id
+            and de.status_cd = '0'
+            )
+        </if>
+
         <if test="startTime !=null and startTime != ''">
-            and t.create_time &gt;= #{startTime}
+            and t.create_time >= #{startTime}
         </if>
         <if test="endTime !=null and endTime != ''">
             and t.create_time &lt;= #{endTime}
         </if>
-        <if test='urgentFlag !=null and urgentFlag == "1"'>
-            and date_format(t.create_time,'%Y-%m') = date_format(now(),'%Y-%m')
-        </if>
+
     </select>
 
     <!-- 淇濆瓨閲囪喘鐢宠淇℃伅 add by wuxw 2018-07-03 -->

--
Gitblit v1.8.0