java110
2021-06-16 755262ba9a1a3c0573a0e910bbd0a353e9e2a2c5
java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
old mode 100644 new mode 100755
@@ -3,215 +3,417 @@
        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"/>
        <!-- 一对多关系 -->
        <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,apply_detail_id,res_order_type,description,apply_order_id,state,store_id,entry_person,b_id,user_id
) values (
#{operate},#{applyDetailId},#{resOrderType},#{description},#{applyOrderId},#{state},#{storeId},#{entryPerson},#{bId},#{userId}
)
       </insert>
    <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,end_user_name,end_user_tel)
        values
        (#{operate},#{resOrderType},#{description},#{applyOrderId},#{state},#{storeId},#{userId},#{userName},#{bId},#{endUserName},#{endUserTel})
    </insert>
    <!-- 保存采购明细表备份表 -->
    <insert id="saveBusinessPurchaseApplyDetailInfo" parameterType="List">
        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=",">
            (
            #{item.applyOrderId},
            #{item.resId},
            #{item.quantity},
            #{item.remark},
            #{item.bId},
            #{item.operate},
            #{item.statusCd}
            )
        </foreach>
    </insert>
       <!-- 查询采购申请信息(Business) add by wuxw 2018-07-03 -->
       <select id="getBusinessPurchaseApplyInfo" parameterType="Map" resultType="Map">
           select  t.operate,t.apply_detail_id,t.apply_detail_id applyDetailId,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.entry_person,t.entry_person entryPerson,t.b_id,t.b_id bId,t.user_id,t.user_id userId
from business_purchase_apply t
where 1 =1
<if test="operate !=null and operate != ''">
   and t.operate= #{operate}
</if>
<if test="applyDetailId !=null and applyDetailId != ''">
   and t.apply_detail_id= #{applyDetailId}
</if>
<if test="resOrderType !=null and resOrderType != ''">
   and t.res_order_type= #{resOrderType}
</if>
<if test="description !=null and description != ''">
   and t.description= #{description}
</if>
<if test="applyOrderId !=null and applyOrderId != ''">
   and t.apply_order_id= #{applyOrderId}
</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="entryPerson !=null and entryPerson != ''">
   and t.entry_person= #{entryPerson}
</if>
<if test="bId !=null and bId != ''">
   and t.b_id= #{bId}
</if>
<if test="userId !=null and userId != ''">
   and t.user_id= #{userId}
</if>
    <!-- 保存采购明细表-->
    <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>
       </select>
    <!-- 查询采购申请信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessPurchaseApplyInfo" parameterType="Map" resultType="Map">
        select
        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
        from business_purchase_apply t
        where 1 =1
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="resOrderType !=null and resOrderType != ''">
            and t.res_order_type= #{resOrderType}
        </if>
        <if test="description !=null and description != ''">
            and t.description= #{description}
        </if>
        <if test="applyOrderId !=null and applyOrderId != ''">
            and t.apply_order_id= #{applyOrderId}
        </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="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>
    </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.status_cd statusCd
        from business_purchase_apply_detail t
        where 1 =1
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="description !=null and description != ''">
            and t.description= #{description}
        </if>
        <if test="applyOrderId !=null and applyOrderId != ''">
            and t.apply_order_id= #{applyOrderId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
    </select>
    <!-- 保存采购申请信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="savePurchaseApplyInfoInstance" parameterType="Map">
        insert into purchase_apply(
apply_detail_id,res_order_type,description,apply_order_id,status_cd,state,store_id,entry_person,b_id,user_id
) select t.apply_detail_id,t.res_order_type,t.description,t.apply_order_id,'0',t.state,t.store_id,t.entry_person,t.b_id,t.user_id from business_purchase_apply t where 1=1
   and t.operate= 'ADD'
<if test="applyDetailId !=null and applyDetailId != ''">
   and t.apply_detail_id= #{applyDetailId}
</if>
<if test="resOrderType !=null and resOrderType != ''">
   and t.res_order_type= #{resOrderType}
</if>
<if test="description !=null and description != ''">
   and t.description= #{description}
</if>
<if test="applyOrderId !=null and applyOrderId != ''">
   and t.apply_order_id= #{applyOrderId}
</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="entryPerson !=null and entryPerson != ''">
   and t.entry_person= #{entryPerson}
</if>
<if test="bId !=null and bId != ''">
   and t.b_id= #{bId}
</if>
<if test="userId !=null and userId != ''">
   and t.user_id= #{userId}
</if>
        insert into purchase_apply
        (res_order_type,description,apply_order_id,status_cd,state,store_id,user_name,b_id,user_id,end_user_name,end_user_tel)
        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.end_user_name,t.end_user_tel
        from business_purchase_apply t where 1=1
        and t.operate= 'ADD'
        <if test="resOrderType !=null and resOrderType != ''">
            and t.res_order_type= #{resOrderType}
        </if>
        <if test="description !=null and description != ''">
            and t.description= #{description}
        </if>
        <if test="applyOrderId !=null and applyOrderId != ''">
            and t.apply_order_id= #{applyOrderId}
        </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="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
    </insert>
    <!-- 查询采购申请信息 add by wuxw 2018-07-03 -->
    <select id="getPurchaseApplyInfo" parameterType="Map" resultType="Map">
        select  t.apply_detail_id,t.apply_detail_id applyDetailId,t.res_order_type,t.res_order_type resOrderType,t.description,t.apply_order_id,t.apply_order_id applyOrderId,t.status_cd,t.status_cd statusCd,t.state,t.store_id,t.store_id storeId,t.entry_person,t.entry_person entryPerson,t.b_id,t.b_id bId,t.user_id,t.user_id userId
from purchase_apply t
where 1 =1
<if test="applyDetailId !=null and applyDetailId != ''">
   and t.apply_detail_id= #{applyDetailId}
</if>
<if test="resOrderType !=null and resOrderType != ''">
   and t.res_order_type= #{resOrderType}
</if>
<if test="description !=null and description != ''">
   and t.description= #{description}
</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="entryPerson !=null and entryPerson != ''">
   and t.entry_person= #{entryPerson}
</if>
<if test="bId !=null and bId != ''">
   and t.b_id= #{bId}
</if>
<if test="userId !=null and userId != ''">
   and t.user_id= #{userId}
</if>
order by t.create_time desc
<if test="page != -1 and page != null ">
   limit #{page}, #{row}
</if>
        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,
        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
        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>
        <if test="description !=null and description != ''">
            and t.description= #{description}
        </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},'%')
        </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="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </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
        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>
        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.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,rss.spec_name specName,rs.supplier_name supplierName
        from
        purchase_apply_detail p inner join resource_store r on p.res_id = r.res_id and r.status_cd = '0'
        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_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}
        </if>
        <if test="operate !=null and operate != ''">
            and p.operate= #{operate}
        </if>
    </select>
    <!-- 修改采购申请信息 add by wuxw 2018-07-03 -->
    <update id="updatePurchaseApplyInfoInstance" parameterType="Map">
        update  purchase_apply t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="applyDetailId !=null and applyDetailId != ''">
, t.apply_detail_id= #{applyDetailId}
</if>
<if test="resOrderType !=null and resOrderType != ''">
, t.res_order_type= #{resOrderType}
</if>
<if test="description !=null and description != ''">
, t.description= #{description}
</if>
<if test="state !=null and state != ''">
, t.state= #{state}
</if>
<if test="storeId !=null and storeId != ''">
, t.store_id= #{storeId}
</if>
<if test="entryPerson !=null and entryPerson != ''">
, t.entry_person= #{entryPerson}
</if>
<if test="userId !=null and userId != ''">
, t.user_id= #{userId}
</if>
 where 1=1 <if test="applyOrderId !=null and applyOrderId != ''">
and t.apply_order_id= #{applyOrderId}
</if>
<if test="bId !=null and bId != ''">
and t.b_id= #{bId}
</if>
        update purchase_apply t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="applyDetailId !=null and applyDetailId != ''">
            , t.apply_detail_id= #{applyDetailId}
        </if>
        <if test="resOrderType !=null and resOrderType != ''">
            , t.res_order_type= #{resOrderType}
        </if>
        <if test="description !=null and description != ''">
            , t.description= #{description}
        </if>
        <if test="state !=null and state != ''">
            , t.state= #{state}
        </if>
        <if test="storeId !=null and storeId != ''">
            , t.store_id= #{storeId}
        </if>
        <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>
        where 1=1
        <if test="applyOrderId !=null and applyOrderId != ''">
            and t.apply_order_id= #{applyOrderId}
        </if>
        <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
<if test="applyDetailId !=null and applyDetailId != ''">
   and t.apply_detail_id= #{applyDetailId}
</if>
<if test="resOrderType !=null and resOrderType != ''">
   and t.res_order_type= #{resOrderType}
</if>
<if test="description !=null and description != ''">
   and t.description= #{description}
</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="entryPerson !=null and entryPerson != ''">
   and t.entry_person= #{entryPerson}
</if>
<if test="bId !=null and bId != ''">
   and t.b_id= #{bId}
</if>
<if test="userId !=null and userId != ''">
   and t.user_id= #{userId}
</if>
    <select id="queryPurchaseApplysCount" parameterType="Map" resultType="Map">
        select count(1) count
        from purchase_apply t
        where 1 =1
        <if test="resOrderType !=null and resOrderType != ''">
            and t.res_order_type= #{resOrderType}
        </if>
        <if test="description !=null and description != ''">
            and t.description= #{description}
        </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="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
    </select>
     </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)
        values
        ('0',#{resOrderType},#{description},#{applyOrderId},#{state},#{storeId},#{userId},#{userName},'-1',#{endUserName},#{endUserTel},#{createTime},#{createUserId},#{createUserName},#{warehousingWay})
    </insert>
</mapper>