1098226878@qq.com
2022-01-10 093b73aadb022895a02dbbcd64b87613e19b547b
java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
old mode 100644 new mode 100755
@@ -3,35 +3,49 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="purchaseApplyServiceDaoImpl">
    <resultMap type="com.java110.dto.purchaseApply.PurchaseApplyDto" id="applyMap">
        <id column="applyOrderId" property="applyOrderId"/>
        <result column="description" property="description"/>
        <result column="resOrderType" property="resOrderType"/>
        <result column="statusCd" property="statusCd"/>
        <result column="state" property="state"/>
        <result column="storeId" property="storeId"/>
        <result column="userName" property="userName"/>
        <result column="bId" property="bId"/>
        <result column="userId" property="userId"/>
        <result column="createTime" property="createTime"/>
        <result column="stateName" property="stateName"/>
        <result column="endUserName" property="endUserName"/>
        <result column="endUserTel" property="endUserTel"/>
        <result column="communityId" property="communityId"/>
        <!-- 一对多关系 -->
        <collection property="purchaseApplyDetailVo" ofType="com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo"
                    javaType="java.util.ArrayList">
            <id property="id" column="id"/>
            <result property="applyOrderId" column="applyOrderId"/>
            <result property="resId" column="resId"/>
            <result column="rsId" property="rsId"/>
            <result property="quantity" column="quantity"/>
            <result property="resName" column="resName"/>
            <result property="remark" column="remark"/>
            <result property="resCode" column="resCode"/>
            <result property="price" column="price"/>
            <result property="stock" column="stock"/>
            <result property="description" column="description"/>
        </collection>
    </resultMap>
    <!-- 保存采购申请信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessPurchaseApplyInfo" parameterType="Map">
           insert into business_purchase_apply
                (operate,res_order_type,description,apply_order_id,state,store_id,user_id,user_name,b_id)
           values
                (#{operate},#{resOrderType},#{description},#{applyOrderId},#{state},#{storeId},#{userId},#{userName},#{bId})
        insert into business_purchase_apply
        (operate,res_order_type,description,apply_order_id,state,store_id,user_id,user_name,b_id,end_user_name,end_user_tel,community_id)
        values
        (#{operate},#{resOrderType},#{description},#{applyOrderId},#{state},#{storeId},#{userId},#{userName},#{bId},#{endUserName},#{endUserTel},#{communityId})
    </insert>
    <!-- 保存采购明细表备份表 -->
    <insert id="saveBusinessPurchaseApplyDetailInfo" parameterType="List">
        insert into business_purchase_apply_detail (apply_order_id,res_id,quantity,remark,b_id,operate)
        values
        <foreach collection="list" item="item" index="index" separator=",">
        (
            #{item.applyOrderId},
            #{item.resId},
            #{item.quantity},
            #{item.remark},
            #{item.bId},
            #{item.operate}
        )
        </foreach>
    </insert>
    <!-- 保存采购明细表-->
    <insert id="savePurchaseApplyDetailInfo" parameterType="List">
        insert into purchase_apply_detail (apply_order_id,res_id,quantity,remark,b_id,operate)
        insert into business_purchase_apply_detail (apply_order_id,res_id,quantity,remark,b_id,operate,status_cd)
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (
@@ -40,21 +54,59 @@
            #{item.quantity},
            #{item.remark},
            #{item.bId},
            #{item.operate}
            #{item.operate},
            #{item.statusCd}
            )
        </foreach>
    </insert>
    <!-- 保存采购明细表-->
    <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)
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (
            #{item.id},
            #{item.rsId},
            #{item.applyOrderId},
            #{item.resId},
            #{item.quantity},
            #{item.remark},
            '-1',
            'ADD',
            '0',
            #{item.price},
            #{item.purchaseQuantity},
            #{item.purchaseRemark},
            #{item.originalStock}
            )
        </foreach>
    </insert>
    <!-- 查询采购申请信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessPurchaseApplyInfo" parameterType="Map" resultType="Map">
        select
            t.operate,t.res_order_type resOrderType,
            t.description,
            t.apply_order_id applyOrderId,t.state,
            t.store_id storeId,
            t.user_name userName,t.b_id bId,t.user_id userId
        t.operate,
        t.res_order_type,
        t.res_order_type resOrderType,
        t.description,
        t.apply_order_id,
        t.apply_order_id applyOrderId,
        t.state,
        t.store_id,
        t.store_id storeId,
        t.user_name userName,
        t.b_id bId,
        t.b_id,
        t.user_id,
        t.user_id userId,
        t.status_cd statusCd,
        t.end_user_name,
        t.end_user_tel,
        t.end_user_name endUserName,
        t.end_user_tel endUserTel,
        t.community_id communityId
        from business_purchase_apply t
        where 1 =1
        <if test="operate !=null and operate != ''">
@@ -81,12 +133,20 @@
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="endUserName !=null and endUserName != ''">
            and t.end_user_name= #{endUserName}
        </if>
        <if test="endUserTel !=null and endUserTel != ''">
            and t.end_user_tel= #{endUserTel}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </select>
    <select id="getBusinessPurchaseApplyDetailInfo" parameterType="Map" resultType="Map">
        select
        t.apply_order_id applyOrderId,t.b_id bId,t.res_id resId,t.quantity,t.remark,t.operate
        t.apply_order_id applyOrderId,t.b_id bId,t.res_id resId,t.quantity,t.remark,t.operate,t.status_cd statusCd
        from business_purchase_apply_detail t
        where 1 =1
        <if test="operate !=null and operate != ''">
@@ -104,13 +164,13 @@
        </if>
    </select>
    <!-- 保存采购申请信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="savePurchaseApplyInfoInstance" parameterType="Map">
        insert into purchase_apply
        (res_order_type,description,apply_order_id,status_cd,state,store_id,user_name,b_id,user_id)
        (res_order_type,description,apply_order_id,status_cd,state,store_id,user_name,b_id,user_id,end_user_name,end_user_tel,community_id)
        select
        t.res_order_type,t.description,t.apply_order_id,'0',t.state,t.store_id,t.user_name,t.b_id,t.user_id
        t.res_order_type,t.description,t.apply_order_id,'0',t.state,t.store_id,t.user_name,t.b_id,t.user_id,t.end_user_name,t.end_user_tel,
        t.community_id
        from business_purchase_apply t where 1=1
        and t.operate= 'ADD'
        <if test="resOrderType !=null and resOrderType != ''">
@@ -134,19 +194,30 @@
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </insert>
    <!-- 查询采购申请信息 add by wuxw 2018-07-03 -->
    <select id="getPurchaseApplyInfo" parameterType="Map" resultType="Map">
        select
            t.res_order_type resOrderType,t.description,
            t.apply_order_id applyOrderId,t.status_cd statusCd,t.state,
            t.store_id storeId,t.user_name userName,
            t.b_id bId,t.user_id userId,t.create_time createTime,d.name stateName
        from purchase_apply t inner join t_dict d on t.state = d.status_cd and d.table_name = 'purchase_apply' and d.table_columns = 'state'
        where 1 =1
        t.res_order_type resOrderType,t.description,
        t.apply_order_id applyOrderId,t.status_cd statusCd,t.state,
        t.store_id storeId,t.user_name userName,
        t.b_id bId,t.user_id userId,t.create_time createTime,d.name stateName,
        t.end_user_name,
        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
        inner 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>
@@ -155,6 +226,13 @@
        </if>
        <if test="applyOrderId !=null and applyOrderId != ''">
            and t.apply_order_id= #{applyOrderId}
        </if>
        <if test="applyOrderIds !=null ">
            and t.apply_order_id in
            <foreach open="(" close=")"
                     separator="," collection="applyOrderIds" item="item">
                #{item}
            </foreach>
        </if>
        <if test="userName !=null and userName != ''">
            and t.user_name like concat('%',#{userName},'%')
@@ -171,29 +249,105 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="endUserName !=null and endUserName != ''">
            and t.end_user_name= #{endUserName}
        </if>
        <if test="endUserTel !=null and endUserTel != ''">
            and t.end_user_tel= #{endUserTel}
        </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>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="getPurchaseApplyInfo2" parameterType="Map" resultMap="applyMap">
        select
        t.res_order_type resOrderType,t.description,
        t.apply_order_id applyOrderId,t.status_cd statusCd,t.state,
        t.store_id storeId,t.user_name userName,
        t.b_id bId,t.user_id userId,t.create_time createTime,d.name stateName,
        de.apply_order_id applyOrderId,de.res_id resId,de.quantity,de.remark,rs.res_name
        resName,rs.price,rs.stock,rs.res_code resCode,rs.description,
        t.end_user_name,
        t.end_user_tel,
        t.end_user_name endUserName,
        t.end_user_tel endUserTel,
        t.community_id communityId
        from purchase_apply t
        inner join t_dict d on t.state = d.status_cd and d.table_name = 'purchase_apply' and d.table_columns = 'state'
        inner join purchase_apply_detail de on de.apply_order_id = t.apply_order_id
        inner join resource_store rs on de.res_id = rs.res_id
        where 1 =1
        <if test="resOrderType !=null and resOrderType != ''">
            and t.res_order_type= #{resOrderType}
        </if>
        <if test="applyOrderId !=null and applyOrderId != ''">
            and t.apply_order_id= #{applyOrderId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="endUserName !=null and endUserName != ''">
            and t.end_user_name= #{endUserName}
        </if>
        <if test="endUserTel !=null and endUserTel != ''">
            and t.end_user_tel= #{endUserTel}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询采购明细 -->
    <select id="getPurchaseApplyDetailInfo" parameterType="Map" resultType="Map">
        select
            p.apply_order_id applyOrderId,
            p.res_id resId,p.quantity,p.remark,
            r.res_name resName,r.res_code resCode,
            r.price,r.stock
        p.id,
        p.apply_order_id applyOrderId,
        p.res_id resId,p.quantity,p.remark,p.purchase_quantity purchaseQuantity,p.purchase_remark purchaseRemark,p.price
        purchasePrice,p.original_stock originalStock,
        r.res_name resName,r.res_code resCode,
        r.price,r.price standardPrice,r.stock,rst.name rstName,rst1.name parentRstName,rss.spec_name specName,rs.supplier_name supplierName,
        td1.name unitCodeName,
        td2.name miniUnitCodeName
        from
            purchase_apply_detail p inner join resource_store r on p.res_id = r.res_id
        purchase_apply_detail p
        inner join resource_store r on p.res_id = r.res_id and r.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 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
        LEFT JOIN resource_store_specification rss on r.rss_id=rss.rss_id
        where 1=1
        and p.status_cd = '0'
        <if test="applyOrderIds !=null">
            and p.apply_order_id in
            <foreach collection="applyOrderIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="resOrderType !=null and resOrderType != ''">
            and t.res_order_type= #{resOrderType}
        </if>
        <if test="bId !=null and bId != ''">
            and p.b_id= #{bId}
@@ -202,7 +356,6 @@
            and p.operate= #{operate}
        </if>
    </select>
    <!-- 修改采购申请信息 add by wuxw 2018-07-03 -->
    <update id="updatePurchaseApplyInfoInstance" parameterType="Map">
@@ -228,6 +381,15 @@
        <if test="userId !=null and userId != ''">
            , t.user_id= #{userId}
        </if>
        <if test="endUserName !=null and endUserName != ''">
            , t.end_user_name= #{endUserName}
        </if>
        <if test="endUserTel !=null and endUserTel != ''">
            , t.end_user_tel= #{endUserTel}
        </if>
        <if test="communityId !=null and communityId != ''">
            , t.community_id= #{communityId}
        </if>
        where 1=1
        <if test="applyOrderId !=null and applyOrderId != ''">
            and t.apply_order_id= #{applyOrderId}
@@ -235,14 +397,13 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
    </update>
    <!-- 查询采购申请数量 add by wuxw 2018-07-03 -->
    <select id="queryPurchaseApplysCount" parameterType="Map" resultType="Map">
        select count(1) count
        from purchase_apply t
        where 1 =1
        where 1 = 1
        <if test="resOrderType !=null and resOrderType != ''">
            and t.res_order_type= #{resOrderType}
        </if>
@@ -255,6 +416,9 @@
        <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>
@@ -264,9 +428,69 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="endUserName !=null and endUserName != ''">
            and t.end_user_name= #{endUserName}
        </if>
        <if test="endUserTel !=null and endUserTel != ''">
            and t.end_user_tel= #{endUserTel}
        </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>
        <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>
    <!--查询下级用户id-->
    <select id="getActRuTaskUserId" parameterType="Map" resultType="Map">
        SELECT ASSIGNEE_ taskUserId FROM act_ru_task t
        LEFT JOIN act_hi_procinst ahp on t.PROC_INST_ID_=ahp.ID_
        LEFT JOIN act_ru_execution are on t.EXECUTION_ID_=are.ID_
        where 1 = 1
        <if test="actRuTaskId !=null and actRuTaskId != ''">
            and ahp.ID_ = #{actRuTaskId}
        </if>
        <if test="procDefId !=null and procDefId != ''">
            and t.PROC_DEF_ID_ = #{procDefId}
        </if>
        <if test="businessKey !=null and businessKey != ''">
            and ahp.BUSINESS_KEY_ = #{businessKey}
        </if>
    </select>
    <!--获得获取流程任务id-->
    <select id="getActRuTaskId" parameterType="Map" resultType="Map">
        SELECT art.ID_ actRuTaskId FROM act_ru_execution are
        LEFT JOIN act_ru_task art ON are.PROC_INST_ID_=art.PROC_INST_ID_
        where 1 = 1
        <if test="businessKey !=null and businessKey != ''">
            and are.BUSINESS_KEY_ = #{businessKey}
        </if>
    </select>
    <!-- 修改流程任务信息 -->
    <update id="updateActRuTaskById" parameterType="Map">
        update act_ru_task t set SUSPENSION_STATE_=1
        <if test="assigneeUser != null and assigneeUser != ''">
            ,t.ASSIGNEE_ = #{assigneeUser}
        </if>
        where 1=1
        <if test="actRuTaskId !=null and actRuTaskId != ''">
            and t.ID_= #{actRuTaskId}
        </if>
    </update>
</mapper>