chengf
2026-03-27 1e20f9b6c5bc642f92f77388c5f339f05a3ae9be
java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
@@ -63,9 +63,15 @@
    <!-- 保存采购明细表-->
    <insert id="savePurchaseApplyDetailInfo" parameterType="List">
        insert into purchase_apply_detail
        (id,rs_id,apply_order_id,res_id,quantity,remark,b_id,operate,status_cd,price,purchase_quantity,purchase_remark,original_stock,times_id,consult_price)
        values
        INSERT INTO purchase_apply_detail (
        id, rs_id, apply_order_id, res_id, quantity, remark, b_id, operate, status_cd, price,
        purchase_quantity, purchase_remark, original_stock, times_id, consult_price,
        purchase_date2, purchase_quantity2, purchase_date3, purchase_quantity3,
        first_cumulative_purchase_quantity, purchase_date, purchase_amount, purchaser,
        contract_no, supplier, first_cumulative_delivery_quantity, delivery_order_no,
        delivery_quantity, delivery_date, signer
        )
        VALUES
        <foreach collection="list" item="item" index="index" separator=",">
            (
            #{item.id},
@@ -82,9 +88,24 @@
            #{item.purchaseRemark},
            #{item.originalStock},
            #{item.timesId},
            #{item.consultPrice}
            #{item.consultPrice},
            #{item.purchaseDate2},
            #{item.purchaseQuantity2},
            #{item.purchaseDate3},
            #{item.purchaseQuantity3},
            #{item.firstCumulativePurchaseQuantity},
            #{item.purchaseDate},
            #{item.purchaseAmount},
            #{item.purchaser},
            #{item.contractNo},
            #{item.supplier},
            #{item.firstCumulativeDeliveryQuantity},
            #{item.deliveryOrderNo},
            #{item.deliveryQuantity},
            #{item.deliveryDate},
            #{item.signer}
            )
        </foreach>
        </foreach>;
    </insert>
    <!-- 查询采购申请信息(Business) add by wuxw 2018-07-03 -->
@@ -213,14 +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 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>
@@ -232,13 +256,12 @@
        </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>
        <if test="name !=null and name != ''">
            and t.user_name like concat('%',#{name},'%')
        <if test="userName !=null and userName != ''">
            and t.user_name like concat('%',#{userName},'%')
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
@@ -267,12 +290,38 @@
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        -- 资源名称查询(关键修改)
        <if test="resName !=null and 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}
@@ -344,14 +393,21 @@
        r.price,r.price standardPrice,rstime.stock,rst.name rstName,rst1.name parentRstName,rss.spec_name
        specName,rs.supplier_name supplierName,
        td1.name unitCodeName,
        td2.name miniUnitCodeName
        td2.name miniUnitCodeName,
        r.sh_id shId,
        sh.sh_name shName,
        r.is_fixed isFixed,
        td3.name isFixedName
        from
        purchase_apply_detail p
        inner join resource_store r on p.res_id = r.res_id and r.status_cd = '0'
        left join storehouse sh on r.sh_id = sh.sh_id and sh.status_cd = '0'
        left join t_dict td1 on r.unit_code = td1.status_cd and td1.table_name = 'resource_store' and td1.table_columns
        = 'unit_code'
        left join t_dict td2 on r.mini_unit_code = td2.status_cd and td2.table_name = 'resource_store' and
        td2.table_columns = 'unit_code'
        left join t_dict td3 on r.is_fixed = td3.status_cd and td3.table_name = 'resource_store' and
        td3.table_columns = 'is_fixed'
        LEFT JOIN resource_supplier rs on p.rs_id=rs.rs_id
        LEFT JOIN resource_store_type rst on r.rst_id=rst.rst_id
        LEFT JOIN resource_store_type rst1 on r.parent_rst_id=rst1.rst_id
@@ -422,7 +478,12 @@
    <select id="queryPurchaseApplysCount" parameterType="Map" resultType="Map">
        select count(1) count
        from purchase_apply t
        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>
@@ -434,19 +495,15 @@
        </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>
        <if test="name !=null and name != ''">
            and t.user_name like concat('%',#{name},'%')
        <if test="userName !=null and userName != ''">
            and t.user_name like concat('%',#{userName},'%')
        </if>
        <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}
@@ -463,35 +520,62 @@
        <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="communityId !=null and communityId != ''">
            and t.community_id = #{communityId}
        <if test="createUserId !=null and createUserId != ''">
            and t.create_user_id= #{createUserId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        -- 资源名称查询(关键修改)
        <if test="resName !=null and 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 -->
    <insert id="savePurchaseApply" parameterType="Map">
        insert into purchase_apply
        (status_cd, res_order_type, description, apply_order_id, state, store_id, user_id, user_name, b_id,
         end_user_name, end_user_tel,
         create_time, create_user_id, create_user_name, warehousing_way, community_id)
        values ('0', #{resOrderType}, #{description}, #{applyOrderId}, #{state}, #{storeId}, #{userId}, #{userName},
                '-1', #{endUserName}, #{endUserTel},
                #{createTime}, #{createUserId}, #{createUserName}, #{warehousingWay}, #{communityId})
        INSERT INTO purchase_apply (
        status_cd, res_order_type, description, apply_order_id, state, store_id, user_id, user_name, b_id,
        end_user_name, end_user_tel,
        create_time, create_user_id, create_user_name, warehousing_way, community_id,
        apply_no, apply_date, approver, apply_quantity
        )
        VALUES (
        '0', #{resOrderType}, #{description}, #{applyOrderId}, #{state}, #{storeId}, #{userId}, #{userName}, '-1',
        #{endUserName}, #{endUserTel}, #{createTime}, #{createUserId}, #{createUserName}, #{warehousingWay}, #{communityId},
        #{applyNo}, #{applyDate}, #{approver}, #{applyQuantity}
        );
    </insert>
    <!--查询下级用户id-->