Bonus-Cloud-JYY-Smart-Canteen/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/ImsOutInventoryMapper.xml

254 lines
16 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.ImsOutInventoryMapper">
<resultMap type="com.bonus.canteen.core.ims.domain.vo.ImsOutInventoryVO" id="ImsOutInventoryResult">
<result property="outId" column="out_id" />
<result property="outCode" column="out_code" />
<result property="warehouseId" column="warehouse_id" />
<result property="outDate" column="out_date" />
<result property="fetchUserId" column="fetch_user_id" />
<result property="totalNum" column="total_num" />
<result property="outType" column="out_type" />
<result property="status" column="status" />
<result property="orderId" column="order_id" />
<result property="totalAmount" column="total_amount" />
<result property="planId" column="plan_id" />
<result property="fetchMaterialId" column="fetch_material_id" />
<result property="goodsAllocationId" column="goods_allocation_id" />
<result property="remark" column="remark" />
<!-- <result property="delFlag" column="del_flag" />-->
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="warehouseName" column="warehouse_name" />
<result property="fetchUser" column="fetch_user" />
<result property="areaName" column="area_name" />
<result property="areaId" column="area_id" />
</resultMap>
<!-- <resultMap id="ImsOutInventoryImsOutInventoryDetailResult" type="com.bonus.canteen.core.ims.domain.ImsOutInventory" extends="ImsOutInventoryResult">-->
<!-- <collection property="imsOutInventoryDetailList" ofType="com.bonus.canteen.core.ims.domain.ImsOutInventoryDetail" column="out_id" select="selectImsOutInventoryDetailList" />-->
<!-- </resultMap>-->
<resultMap type="com.bonus.canteen.core.ims.domain.vo.ImsOutInventoryDetailVO" id="ImsOutInventoryDetailResult">
<result property="outDetailId" column="out_detail_id" />
<result property="outId" column="out_id" />
<result property="outCode" column="out_code" />
<result property="inventoryId" column="inventory_id" />
<result property="fetchNum" column="fetch_num" />
<result property="totalPrice" column="total_price" />
<result property="intoDetailId" column="into_detail_id" />
<result property="intervalId" column="interval_id" />
<result property="size" column="size" />
<result property="imgUrl" column="img_url" />
<result property="ifOverdraft" column="if_overdraft" />
<result property="remark" column="remark" />
<!-- <result property="delFlag" column="del_flag" />-->
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="warehouseName" column="warehouse_name" />
<result property="materialName" column="material_name" />
<result property="materialTypeName" column="material_type_name" />
<result property="unitName" column="unit_name" />
<result property="barCode" column="bar_code" />
<result property="materialSize" column="material_size" />
<result property="areaName" column="area_name" />
<result property="areaId" column="area_id" />
<result property="materialCode" column="material_code" />
<result property="expireTime" column="expire_time" />
<result property="inventoryNum" column="inventory_num" />
<result property="intoCode" column="into_code" />
<result property="intoDate" column="into_date" />
<result property="materialNum" column="material_num" />
</resultMap>
<sql id="selectImsOutInventoryVo">
select out_id, out_code, ioi.warehouse_id, out_date, ioi.fetch_user_id, total_num, out_type,
ioi.status, order_id, total_amount, plan_id, fetch_material_id, goods_allocation_id,
ioi.remark, ioi.del_flag, ioi.create_by, ioi.create_time, ioi.update_by, ioi.update_time,
iwi.warehouse_name, ioi.fetch_user, ba.area_id, ba.area_name
from ims_out_inventory ioi
left join ims_warehouse_info iwi on ioi.warehouse_id = iwi.warehouse_id
left join basic_area ba on iwi.area_id = ba.area_id
left join sys_user su on ioi.fetch_user_id = su.user_id
</sql>
<select id="selectImsOutInventoryList" parameterType="com.bonus.canteen.core.ims.domain.ImsOutInventory" resultMap="ImsOutInventoryResult">
<include refid="selectImsOutInventoryVo"/>
<where>
ioi.del_flag = '0'
<if test="outCode != null and outCode != ''"> and ioi.out_code = #{outCode}</if>
<if test="warehouseId != null "> and ioi.warehouse_id = #{warehouseId}</if>
<if test="outDate != null "> and ioi.out_date = #{outDate}</if>
<if test="fetchUserId != null "> and ioi.fetch_user_id = #{fetchUserId}</if>
<if test="fetchUser != null and fetchUser != ''"> and ioi.fetch_user = #{fetchUser}</if>
<if test="totalNum != null "> and ioi.total_num = #{totalNum}</if>
<if test="outType != null "> and ioi.out_type = #{outType}</if>
<if test="status != null "> and ioi.status = #{status}</if>
<if test="orderId != null and orderId != ''"> and ioi.order_id = #{orderId}</if>
<if test="totalAmount != null "> and ioi.total_amount = #{totalAmount}</if>
<if test="planId != null and planId != ''"> and ioi.plan_id = #{planId}</if>
<if test="fetchMaterialId != null and fetchMaterialId != ''"> and ioi.fetch_material_id = #{fetchMaterialId}</if>
<if test="goodsAllocationId != null and goodsAllocationId != ''"> and ioi.goods_allocation_id = #{goodsAllocationId}</if>
<if test="areaId != null "> and ba.area_id = #{areaId}</if>
<if test="startDateTime != null">
and ioi.out_date <![CDATA[ >= ]]> #{startDateTime}
</if>
<if test="endDateTime != null">
and ioi.out_date <![CDATA[ <= ]]> #{endDateTime}
</if>
</where>
order by ioi.out_date desc
</select>
<select id="selectImsOutInventoryByOutId" parameterType="Long" resultMap="ImsOutInventoryResult">
select out_id, out_code, ioi.warehouse_id, out_date, ioi.fetch_user_id, total_num, out_type,
ioi.status, order_id, total_amount, plan_id, fetch_material_id, goods_allocation_id,
ioi.remark, ioi.create_by, ioi.create_time, ioi.update_by, ioi.update_time,
iwi.warehouse_name, ioi.fetch_user, ba.area_id, ba.area_name
from ims_out_inventory ioi
left join ims_warehouse_info iwi on ioi.warehouse_id = iwi.warehouse_id
left join basic_area ba on iwi.area_id = ba.area_id
left join sys_user su on ioi.fetch_user_id = su.user_id
where ioi.out_id = #{outId} and ioi.del_flag = '0'
</select>
<select id="selectImsOutInventoryDetailList" resultMap="ImsOutInventoryDetailResult">
select out_detail_id, out_id, out_code, ioid.inventory_id, fetch_num, ioid.total_price,
ioid.into_detail_id, interval_id, ioid.size, ioid.img_url, if_overdraft, ioid.remark,
ioid.create_by, ioid.create_time, ioid.update_by, ioid.update_time,
cm.material_name, cmt.material_type_name, iu.unit_name, cm.bar_code,
cm.size AS material_size, cm.material_code, iiid.inventory_num, iiid.expire_time, iii.into_date, iii.into_code
from ims_out_inventory_detail ioid
left join ims_into_inventory_detail iiid on ioid.into_detail_id = iiid.into_detail_id
left join ims_into_inventory iii on iii.into_id = iiid.into_id
left join ims_supplier isr on iiid.supplier_id = isr.supplier_id
left join cook_material cm on iiid.material_id = cm.material_id
left join cook_material_type cmt on cm.material_type_id = cmt.material_type_id
left join ims_unit iu on iiid.unit_id = iu.unit_id
where out_id = #{outId} and ioid.del_flag = '0'
order by ioid.out_detail_id
</select>
<select id="selectImsOutInventoryDetailListWithoutIntoId" resultMap="ImsOutInventoryDetailResult">
select out_detail_id, out_id, out_code, ioid.inventory_id, fetch_num, ioid.total_price,
ioid.into_detail_id, interval_id, ioid.size, ioid.img_url, if_overdraft, ioid.remark,
ioid.create_by, ioid.create_time, ioid.update_by, ioid.update_time,
cm.material_name, cmt.material_type_name, iu.unit_name, cm.bar_code,
cm.size AS material_size, cm.material_code, ii.material_num
from ims_out_inventory_detail ioid
left join ims_inventory ii on ioid.inventory_id = ii.inventory_id
left join cook_material cm on ii.material_id = cm.material_id
left join cook_material_type cmt on cm.material_type_id = cmt.material_type_id
left join ims_unit iu on cm.unit_id = iu.unit_id
where out_id = #{outId} and ioid.del_flag = '0'
order by ioid.out_detail_id
</select>
<insert id="insertImsOutInventory" parameterType="com.bonus.canteen.core.ims.domain.ImsOutInventory" useGeneratedKeys="true" keyProperty="outId">
insert into ims_out_inventory
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="outCode != null and outCode != ''">out_code,</if>
<if test="warehouseId != null">warehouse_id,</if>
<if test="outDate != null">out_date,</if>
<if test="fetchUserId != null">fetch_user_id,</if>
<if test="fetchUser != null and fetchUser != ''">fetch_user,</if>
<if test="totalNum != null">total_num,</if>
<if test="outType != null">out_type,</if>
<if test="status != null">status,</if>
<if test="orderId != null">order_id,</if>
<if test="totalAmount != null">total_amount,</if>
<if test="planId != null">plan_id,</if>
<if test="fetchMaterialId != null">fetch_material_id,</if>
<if test="goodsAllocationId != null">goods_allocation_id,</if>
<if test="remark != null">remark,</if>
<if test="delFlag != null">del_flag,</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="outCode != null and outCode != ''">#{outCode},</if>
<if test="warehouseId != null">#{warehouseId},</if>
<if test="outDate != null">#{outDate},</if>
<if test="fetchUserId != null">#{fetchUserId},</if>
<if test="fetchUser != null and fetchUser != ''">#{fetchUser},</if>
<if test="totalNum != null">#{totalNum},</if>
<if test="outType != null">#{outType},</if>
<if test="status != null">#{status},</if>
<if test="orderId != null">#{orderId},</if>
<if test="totalAmount != null">#{totalAmount},</if>
<if test="planId != null">#{planId},</if>
<if test="fetchMaterialId != null">#{fetchMaterialId},</if>
<if test="goodsAllocationId != null">#{goodsAllocationId},</if>
<if test="remark != null">#{remark},</if>
<if test="delFlag != null">#{delFlag},</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="updateImsOutInventory" parameterType="com.bonus.canteen.core.ims.domain.ImsOutInventory">
update ims_out_inventory
<trim prefix="SET" suffixOverrides=",">
<if test="outCode != null and outCode != ''">out_code = #{outCode},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
<if test="outDate != null">out_date = #{outDate},</if>
<if test="fetchUserId != null">fetch_user_id = #{fetchUserId},</if>
<if test="fetchUser != null and fetchUser != ''">fetch_user = #{fetchUser},</if>
<if test="totalNum != null">total_num = #{totalNum},</if>
<if test="outType != null">out_type = #{outType},</if>
<if test="status != null">status = #{status},</if>
<if test="orderId != null">order_id = #{orderId},</if>
<if test="totalAmount != null">total_amount = #{totalAmount},</if>
<if test="planId != null">plan_id = #{planId},</if>
<if test="fetchMaterialId != null">fetch_material_id = #{fetchMaterialId},</if>
<if test="goodsAllocationId != null">goods_allocation_id = #{goodsAllocationId},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="delFlag != null">del_flag = #{delFlag},</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 out_id = #{outId}
</update>
<delete id="deleteImsOutInventoryByOutId" parameterType="Long">
update ims_out_inventory set del_flag = '2' where out_id = #{outId}
</delete>
<delete id="deleteImsOutInventoryByOutIds" parameterType="String">
update ims_out_inventory set del_flag = '2' where out_id in
<foreach item="outId" collection="array" open="(" separator="," close=")">
#{outId}
</foreach>
</delete>
<delete id="deleteImsOutInventoryDetailByOutIds" parameterType="String">
update ims_out_inventory_detail set del_flag = '2' where out_id in
<foreach item="outId" collection="array" open="(" separator="," close=")">
#{outId}
</foreach>
</delete>
<delete id="deleteImsOutInventoryDetailByOutId" parameterType="Long">
update ims_out_inventory_detail set del_flag = '2' where out_id = #{outId}
</delete>
<insert id="batchImsOutInventoryDetail">
insert into ims_out_inventory_detail( out_detail_id, out_id, out_code, inventory_id, fetch_num, total_price, into_detail_id, interval_id, size, img_url, if_overdraft, remark, del_flag, create_by, create_time, update_by, update_time) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.outDetailId}, #{item.outId}, #{item.outCode}, #{item.inventoryId}, #{item.fetchNum}, #{item.totalPrice}, #{item.intoDetailId}, #{item.intervalId}, #{item.size}, #{item.imgUrl}, #{item.ifOverdraft}, #{item.remark}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime})
</foreach>
</insert>
</mapper>