168 lines
9.2 KiB
XML
168 lines
9.2 KiB
XML
<?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="com.bonus.canteen.core.ims.mapper.GoodsTransferMapper">
|
|
<resultMap type="com.bonus.canteen.core.ims.domain.GoodsTransfer" id="GoodsTransferResult">
|
|
<result property="goodsTransferId" column="goods_transfer_id" />
|
|
<result property="goodsTransferCode" column="goods_transfer_code" />
|
|
<result property="outWarehouseId" column="out_warehouse_id" />
|
|
<result property="intoWarehouseId" column="into_warehouse_id" />
|
|
<result property="requestArrivalTime" column="request_arrival_time" />
|
|
<result property="transferStatus" column="transfer_status" />
|
|
<result property="processInstanceId" column="process_instance_id" />
|
|
<result property="remark" column="remark" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
</resultMap>
|
|
|
|
<sql id="selectGoodsTransferVo">
|
|
select goods_transfer_id, goods_transfer_code, out_warehouse_id, into_warehouse_id, request_arrival_time, transfer_status, process_instance_id, remark, create_by, create_time, update_by, update_time from ims_goods_transfer
|
|
</sql>
|
|
|
|
<select id="selectGoodsTransferList" parameterType="com.bonus.canteen.core.ims.domain.GoodsTransfer" resultMap="GoodsTransferResult">
|
|
<include refid="selectGoodsTransferVo"/>
|
|
<where>
|
|
<if test="goodsTransferId != null "> goods_transfer_id = #{goodsTransferId}</if>
|
|
<if test="goodsTransferCode != null and goodsTransferCode != ''"> and goods_transfer_code = #{goodsTransferCode}</if>
|
|
<if test="outWarehouseId != null "> and out_warehouse_id = #{outWarehouseId}</if>
|
|
<if test="intoWarehouseId != null "> and into_warehouse_id = #{intoWarehouseId}</if>
|
|
<if test="requestArrivalTime != null "> and request_arrival_time = #{requestArrivalTime}</if>
|
|
<if test="transferStatus != null "> and transfer_status = #{transferStatus}</if>
|
|
<if test="processInstanceId != null "> and process_instance_id = #{processInstanceId}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectGoodsTransferByGoodsTransferId" parameterType="Long" resultMap="GoodsTransferResult">
|
|
<include refid="selectGoodsTransferVo"/>
|
|
where goods_transfer_id = #{goodsTransferId}
|
|
</select>
|
|
|
|
<insert id="insertGoodsTransfer" parameterType="com.bonus.canteen.core.ims.domain.GoodsTransfer" useGeneratedKeys="true" keyProperty="goodsTransferId">
|
|
insert into ims_goods_transfer
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="goodsTransferCode != null">goods_transfer_code,</if>
|
|
<if test="outWarehouseId != null">out_warehouse_id,</if>
|
|
<if test="intoWarehouseId != null">into_warehouse_id,</if>
|
|
<if test="requestArrivalTime != null">request_arrival_time,</if>
|
|
<if test="transferStatus != null">transfer_status,</if>
|
|
<if test="processInstanceId != null">process_instance_id,</if>
|
|
<if test="remark != null">remark,</if>
|
|
<if test="createBy != null">create_by,</if>
|
|
<if test="createTime != null">create_time,</if>
|
|
<if test="updateBy != null">update_by,</if>
|
|
<if test="updateTime != null">update_time,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="goodsTransferCode != null">#{goodsTransferCode},</if>
|
|
<if test="outWarehouseId != null">#{outWarehouseId},</if>
|
|
<if test="intoWarehouseId != null">#{intoWarehouseId},</if>
|
|
<if test="requestArrivalTime != null">#{requestArrivalTime},</if>
|
|
<if test="transferStatus != null">#{transferStatus},</if>
|
|
<if test="processInstanceId != null">#{processInstanceId},</if>
|
|
<if test="remark != null">#{remark},</if>
|
|
<if test="createBy != null">#{createBy},</if>
|
|
<if test="createTime != null">#{createTime},</if>
|
|
<if test="updateBy != null">#{updateBy},</if>
|
|
<if test="updateTime != null">#{updateTime},</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateGoodsTransfer" parameterType="com.bonus.canteen.core.ims.domain.GoodsTransfer">
|
|
update ims_goods_transfer
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="goodsTransferCode != null">goods_transfer_code = #{goodsTransferCode},</if>
|
|
<if test="outWarehouseId != null">out_warehouse_id = #{outWarehouseId},</if>
|
|
<if test="intoWarehouseId != null">into_warehouse_id = #{intoWarehouseId},</if>
|
|
<if test="requestArrivalTime != null">request_arrival_time = #{requestArrivalTime},</if>
|
|
<if test="transferStatus != null">transfer_status = #{transferStatus},</if>
|
|
<if test="processInstanceId != null">process_instance_id = #{processInstanceId},</if>
|
|
<if test="remark != null">remark = #{remark},</if>
|
|
<if test="createBy != null">create_by = #{createBy},</if>
|
|
<if test="createTime != null">create_time = #{createTime},</if>
|
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
|
</trim>
|
|
where goods_transfer_id = #{goodsTransferId}
|
|
</update>
|
|
|
|
<delete id="deleteGoodsTransferByGoodsTransferId" parameterType="Long">
|
|
delete from ims_goods_transfer where goods_transfer_id = #{goodsTransferId}
|
|
</delete>
|
|
|
|
<delete id="deleteGoodsTransferByGoodsTransferIds" parameterType="String">
|
|
delete from ims_goods_transfer where goods_transfer_id in
|
|
<foreach item="goodsTransferId" collection="array" open="(" separator="," close=")">
|
|
#{goodsTransferId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<select id="getGoodsAllocationList" resultType="com.bonus.canteen.core.ims.vo.GoodsAllocationVO">
|
|
SELECT
|
|
dga.goods_transfer_id,
|
|
dga.goods_transfer_code,
|
|
dga.into_warehouse_id,
|
|
dga.out_warehouse_id,
|
|
dga.request_arrival_time,
|
|
dw.warehouse_name AS outWarehouseName,
|
|
dw2.warehouse_name AS intoWarehouseName,
|
|
( SELECT count( 1 ) FROM ims_goods_transfer_detail dgad WHERE dgad.goods_transfer_id = dga.goods_transfer_id ) AS materialCount,
|
|
( SELECT sum( dgad2.order_num ) FROM ims_goods_transfer_detail dgad2 WHERE dgad2.goods_transfer_id = dga.goods_transfer_id ) AS orderNumTotal,
|
|
dga.transfer_status,
|
|
dga.create_by,
|
|
dga.create_time,
|
|
dga.remark,
|
|
dga.process_instance_id,
|
|
dw.area_id,
|
|
aa.area_name
|
|
FROM
|
|
ims_goods_transfer dga
|
|
LEFT JOIN ims_warehouse_info dw ON dga.out_warehouse_id = dw.warehouse_id
|
|
LEFT JOIN ims_warehouse_info dw2 ON dga.into_warehouse_id = dw2.warehouse_id
|
|
LEFT JOIN basic_area aa ON aa.area_id = dw.area_id
|
|
<where>
|
|
<if test="content.goodsTransferId != null and content.goodsTransferId != ''">
|
|
and dga.goods_transfer_id = #{content.goodsTransferId}
|
|
</if>
|
|
<if test="content.goodsTransferCode != null and content.goodsTransferCode != ''">
|
|
and dga.goods_transfer_code like CONCAT('%', #{content.goodsTransferCode}, '%')
|
|
</if>
|
|
<if test="content.outWarehouseId != null">
|
|
and dga.out_warehouse_id = #{content.outWarehouseId}
|
|
</if>
|
|
<if test="content.intoWarehouseId != null ">
|
|
and dga.into_warehouse_id = #{content.intoWarehouseId}
|
|
</if>
|
|
<if test="content.startTime != null and content.startTime != ''">
|
|
and dga.request_arrival_time <![CDATA[ >= ]]> #{content.startTime}
|
|
</if>
|
|
<if test="content.endTime != null and content.endTime != ''">
|
|
and dga.request_arrival_time <![CDATA[ <= ]]> #{content.endTime}
|
|
</if>
|
|
<if test="content.transferStatus != null">
|
|
and dga.allocation_status = #{content.transferStatus}
|
|
</if>
|
|
<if test="content.areaIdList != null and content.areaIdList.size() > 0">
|
|
AND aa.area_id in
|
|
<foreach collection="content.areaIdList" item="item" separator="," open="(" close=")">
|
|
#{item}
|
|
</foreach>
|
|
</if>
|
|
</where>
|
|
order by dga.create_time desc
|
|
</select>
|
|
|
|
<select id="getLibraryNumByMaterialIdAndWarehouseId" resultType="string">
|
|
select material_num from ims_inventory
|
|
where material_id = #{materialId} and warehouse_id = #{warehouseId}
|
|
</select>
|
|
|
|
<update id="updateAllowTransferNumByMaterialIdAndWarehouseId">
|
|
update ims_goods_transfer_detail
|
|
set allow_transfer_num = #{libraryNum}
|
|
where material_id = #{materialId} and inventory_id = #{inventoryId}
|
|
</update>
|
|
</mapper>
|