chengf
2026-03-27 1e20f9b6c5bc642f92f77388c5f339f05a3ae9be
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 -->