AllocationStorehouseServiceDaoImplMapper.xml 15.5 KB
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="allocationStorehouseServiceDaoImpl">

    <!-- 保存仓库调拨信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessAllocationStorehouseInfo" parameterType="Map">
        insert into business_allocation_storehouse(as_id, store_id, res_id, sh_id_z, res_name, start_user_id, operate,
                                                   sh_id_a, start_user_name, b_id, stock, original_stock, remark,
                                                   apply_id)
        values (#{asId}, #{storeId}, #{resId}, #{shIdz}, #{resName}, #{startUserId}, #{operate}, #{shIda},
                #{startUserName}, #{bId}, #{stock}, #{originalStock}, #{remark}, #{applyId})
    </insert>

    <!-- 保存仓库调拨信息 add by wuxw 2018-07-03 -->
    <insert id="saveAllocationStorehouseInfo" parameterType="Map">
        insert into allocation_storehouse(as_id, b_id, sh_id_a, sh_id_z, res_id, res_name, store_id, stock,
                                          start_user_id, start_user_name, create_time, remark, apply_id, original_stock,times_id)
        values (#{asId}, #{bId}, #{shIda}, #{shIdz}, #{resId}, #{resName}, #{storeId}, #{stock}, #{startUserId},
                #{startUserName}, #{createTime}, #{remark}, #{applyId}, #{originalStock}, #{timesId})
    </insert>

    <!-- 查询仓库调拨信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessAllocationStorehouseInfo" parameterType="Map" resultType="Map">
        select t.as_id,t.as_id asId,t.store_id,t.store_id storeId,t.res_id,t.res_id resId,t.sh_id_z,t.sh_id_z
        shIdz,t.res_name,t.res_name resName,t.start_user_id,t.start_user_id startUserId,t.operate,t.sh_id_a,t.sh_id_a
        shIda,t.start_user_name,t.start_user_name startUserName,t.b_id,t.b_id
        bId,t.stock,t.original_stock,t.original_stock originalStock,t.remark,t.apply_id,t.apply_id applyId
        from business_allocation_storehouse t
        where 1 =1
        <if test="asId !=null and asId != ''">
            and t.as_id= #{asId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="resId !=null and resId != ''">
            and t.res_id= #{resId}
        </if>
        <if test="shIdz !=null and shIdz != ''">
            and t.sh_id_z= #{shIdz}
        </if>
        <if test="resName !=null and resName != ''">
            and t.res_name= #{resName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="shIda !=null and shIda != ''">
            and t.sh_id_a= #{shIda}
        </if>
        <if test="startUserName !=null and startUserName != ''">
            and t.start_user_name= #{startUserName}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="stock !=null and stock != ''">
            and t.stock= #{stock}
        </if>
        <if test="originalStock !=null and originalStock != ''">
            and t.original_stock= #{originalStock}
        </if>
    </select>

    <!-- 保存仓库调拨信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveAllocationStorehouseInfoInstance" parameterType="Map">
        insert into allocation_storehouse(
        as_id,status_cd,store_id,res_id,sh_id_z,res_name,start_user_id,sh_id_a,start_user_name,b_id,stock,original_stock,remark,apply_id
        ) select
        t.as_id,'0',t.store_id,t.res_id,t.sh_id_z,t.res_name,t.start_user_id,t.sh_id_a,t.start_user_name,t.b_id,t.stock,t.original_stock,t.remark,t.apply_id
        from business_allocation_storehouse t where 1=1
        <if test="asId !=null and asId != ''">
            and t.as_id= #{asId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="resId !=null and resId != ''">
            and t.res_id= #{resId}
        </if>
        <if test="shIdz !=null and shIdz != ''">
            and t.sh_id_z= #{shIdz}
        </if>
        <if test="resName !=null and resName != ''">
            and t.res_name= #{resName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        and t.operate= 'ADD'
        <if test="shIda !=null and shIda != ''">
            and t.sh_id_a= #{shIda}
        </if>
        <if test="startUserName !=null and startUserName != ''">
            and t.start_user_name= #{startUserName}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="stock !=null and stock != ''">
            and t.stock= #{stock}
        </if>
        <if test="originalStock !=null and originalStock != ''">
            and t.original_stock= #{originalStock}
        </if>
    </insert>

    <!-- 查询仓库调拨信息 add by wuxw 2018-07-03 -->
    <select id="getAllocationStorehouseInfo" parameterType="Map" resultType="Map">
        select t.as_id,t.as_id asId,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.res_id,t.res_id
        resId,t.sh_id_z,t.sh_id_z shIdz,t.res_name,t.res_name resName,t.start_user_id,t.start_user_id
        startUserId,t.sh_id_a,t.sh_id_a shIda,t.start_user_name,t.start_user_name startUserName,asa.state,t.b_id,t.b_id
        bId,t.stock,t.original_stock,t.original_stock originalStock,t.remark,t.create_time createTime,td.name
        stateName,a.sh_name shaName,z.sh_name shzName,
        rs.res_code,rs.res_code resCode,t.apply_id,t.apply_id applyId,rst.name rstName,rst1.name
        parentRstName,rss.spec_name specName,asa.apply_type,
        asa.apply_type applyType,td1.name applyTypeName,td2.name unitCodeName,td3.name miniUnitCodeName,rs.is_fixed
        isFixed,td4.name isFixedName,
        t.times_id,t.times_id timesId,asa.community_id,asa.community_id communityId
        from allocation_storehouse t
        left join allocation_storehouse_apply asa on asa.apply_id = t.apply_id and asa.status_cd = '0'
        left join t_dict td on asa.state = td.status_cd and td.table_name = 'allocation_storehouse_apply' and
        td.table_columns = 'state'
        left join t_dict td1 on asa.apply_type = td1.status_cd and td.table_name = 'allocation_storehouse_apply' and
        td1.table_columns = 'apply_type'
        left join storehouse a on t.sh_id_a = a.sh_id and a.store_id = t.store_id and a.status_cd = '0'
        left join storehouse z on t.sh_id_z = z.sh_id and z.store_id = t.store_id and z.status_cd = '0'
        left join resource_store rs on t.res_id = rs.res_id and rs.status_cd = '0'
        left join t_dict td2 on rs.unit_code = td2.status_cd and td2.table_name = 'resource_store' and td2.table_columns
        = 'unit_code'
        left join t_dict td3 on rs.mini_unit_code = td3.status_cd and td3.table_name = 'resource_store' and
        td3.table_columns = 'unit_code'
        left join t_dict td4 on rs.is_fixed = td4.status_cd and td4.table_name = 'resource_store' and td4.table_columns
        = 'is_fixed'
        left join resource_store_type rst on rs.rst_id = rst.rst_id and rst.status_cd = '0'
        left join resource_store_type rst1 on rs.parent_rst_id = rst1.rst_id and rst1.status_cd = '0'
        left join resource_store_specification rss on rs.rss_id = rss.rss_id and rss.status_cd = '0'
        where 1 = 1
        <if test="asId !=null and asId != ''">
            and t.as_id= #{asId}
        </if>
        <if test="asIds !=null ">
            and t.as_id in
            <foreach collection="asIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="applyId !=null and applyId != ''">
            and t.apply_id like '%${applyId}%'
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and asa.community_id= #{communityId}
        </if>
        <if test="resId !=null and resId != ''">
            and t.res_id like '%${resId}%'
        </if>
        <if test="shIdz !=null and shIdz != ''">
            and t.sh_id_z= #{shIdz}
        </if>
        <if test="resName !=null and resName != ''">
            and t.res_name like '%${resName}%'
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        <if test="shIda !=null and shIda != ''">
            and t.sh_id_a= #{shIda}
        </if>
        <if test="startUserName !=null and startUserName != ''">
            and t.start_user_name= #{startUserName}
        </if>
        <if test="state !=null and state != ''">
            and asa.state= #{state}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="stock !=null and stock != ''">
            and t.stock= #{stock}
        </if>
        <if test="originalStock !=null and originalStock != ''">
            and t.original_stock= #{originalStock}
        </if>
        <if test="resCode !=null and resCode != ''">
            and rs.res_code= #{resCode}
        </if>
        <if test="rstId !=null and rstId != ''">
            and rs.rst_id= #{rstId}
        </if>
        <if test="parentRstId !=null and parentRstId != ''">
            and rs.parent_rst_id= #{parentRstId}
        </if>
        <if test="rssId !=null and rssId != ''">
            and rs.rss_id= #{rssId}
        </if>
        <if test="applyType !=null and applyType != ''">
            and asa.apply_type= #{applyType}
        </if>
        <if test="startTime != null and startTime != ''">
            and t.create_time &gt; #{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}
        </if>
    </select>

    <!-- 修改仓库调拨信息 add by wuxw 2018-07-03 -->
    <update id="updateAllocationStorehouseInfoInstance" parameterType="Map">
        update allocation_storehouse t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="storeId !=null and storeId != ''">
            , t.store_id= #{storeId}
        </if>
        <if test="resId !=null and resId != ''">
            , t.res_id= #{resId}
        </if>
        <if test="shIdz !=null and shIdz != ''">
            , t.sh_id_z= #{shIdz}
        </if>
        <if test="resName !=null and resName != ''">
            , t.res_name= #{resName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            , t.start_user_id= #{startUserId}
        </if>
        <if test="shIda !=null and shIda != ''">
            , t.sh_id_a= #{shIda}
        </if>
        <if test="startUserName !=null and startUserName != ''">
            , t.start_user_name= #{startUserName}
        </if>
        <if test="stock !=null and stock != ''">
            , t.stock= #{stock}
        </if>
        <if test="originalStock !=null and originalStock != ''">
            and t.original_stock= #{originalStock}
        </if>
        where 1=1
        <if test="asId !=null and asId != ''">
            and t.as_id= #{asId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
    </update>

    <!-- 查询仓库调拨数量 add by wuxw 2018-07-03 -->
    <select id="queryAllocationStorehousesCount" parameterType="Map" resultType="Map">
        select count(1) count
        from allocation_storehouse t
        left join allocation_storehouse_apply asa on asa.apply_id = t.apply_id and asa.status_cd = '0'
        left join t_dict td on asa.state = td.status_cd and td.table_name = 'allocation_storehouse_apply' and
        td.table_columns ='state'
        left join t_dict td1 on asa.apply_type = td1.status_cd and td.table_name = 'allocation_storehouse_apply' and
        td.table_columns = 'apply_type'
        left join storehouse a on t.sh_id_a = a.sh_id and a.store_id = t.store_id and a.status_cd = '0'
        left join storehouse z on t.sh_id_z = z.sh_id and z.store_id = t.store_id and z.status_cd = '0'
        left join resource_store rs on t.res_id = rs.res_id and rs.status_cd = '0'
        left join resource_store_type rst on rs.rst_id = rst.rst_id and rst.status_cd = '0'
        left join resource_store_type rst1 on rs.parent_rst_id = rst1.rst_id and rst1.status_cd = '0'
        left join resource_store_specification rss on rs.rss_id = rss.rss_id and rss.status_cd = '0'
        where 1 = 1
        <if test="asId !=null and asId != ''">
            and t.as_id= #{asId}
        </if>
        <if test="asIds !=null ">
            and t.as_id in
            <foreach collection="asIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="applyId !=null and applyId != ''">
            and t.apply_id like '%${applyId}%'
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and asa.community_id= #{communityId}
        </if>
        <if test="resId !=null and resId != ''">
            and t.res_id like '%${resId}%'
        </if>
        <if test="shIdz !=null and shIdz != ''">
            and t.sh_id_z= #{shIdz}
        </if>
        <if test="resName !=null and resName != ''">
            and t.res_name like '%${resName}%'
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        <if test="shIda !=null and shIda != ''">
            and t.sh_id_a= #{shIda}
        </if>
        <if test="startUserName !=null and startUserName != ''">
            and t.start_user_name= #{startUserName}
        </if>
        <if test="state !=null and state != ''">
            and asa.state= #{state}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="stock !=null and stock != ''">
            and t.stock= #{stock}
        </if>
        <if test="originalStock !=null and originalStock != ''">
            and t.original_stock= #{originalStock}
        </if>
        <if test="resCode !=null and resCode != ''">
            and rs.res_code= #{resCode}
        </if>
        <if test="rstId !=null and rstId != ''">
            and rs.rst_id= #{rstId}
        </if>
        <if test="parentRstId !=null and parentRstId != ''">
            and rs.parent_rst_id= #{parentRstId}
        </if>
        <if test="rssId !=null and rssId != ''">
            and rs.rss_id= #{rssId}
        </if>
        <if test="applyType !=null and applyType != ''">
            and asa.apply_type= #{applyType}
        </if>
        <if test="startTime != null and startTime != ''">
            and t.create_time &gt; #{startTime}
        </if>
        <if test="endTime != null and endTime != ''">
            and t.create_time &lt; #{endTime}
        </if>
    </select>
</mapper>