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

183 lines
11 KiB
XML
Raw Normal View History

2025-06-30 09:14:45 +08:00
<?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.PurchasePlanMapper">
<resultMap type="com.bonus.canteen.core.ims.domain.PurchasePlan" id="PurchasePlanResult">
<result property="planId" column="plan_id" />
<result property="planCode" column="plan_code" />
<result property="status" column="status" />
<result property="purchaseDate" column="purchase_date" />
<result property="purchaseUserId" column="purchase_user_id" />
<result property="productionPlanId" column="production_plan_id" />
<result property="approveStatus" column="approve_status" />
<result property="processInstanceId" column="process_instance_id" />
<result property="relatePlanIds" column="relate_plan_ids" />
2025-07-01 16:27:45 +08:00
<result property="areaId" column="area_id" />
2025-06-30 09:14:45 +08:00
<result property="canteenId" column="canteen_id" />
<result property="stallId" column="stall_id" />
<result property="purchaseBudgetTotal" column="purchase_budget_total" />
<result property="supplierIds" column="supplier_ids" />
<result property="approveBy" column="approve_by" />
<result property="approveTime" column="approve_time" />
<result property="approveRemark" column="approve_remark" />
<result property="ifMerge" column="if_merge" />
<result property="deliverGoodsDate" column="deliver_goods_date" />
<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" />
2025-07-01 16:27:45 +08:00
<result property="areaName" column="area_name" />
<result property="canteenName" column="canteen_name" />
<result property="stallName" column="stall_name" />
2025-06-30 09:14:45 +08:00
</resultMap>
<sql id="selectPurchasePlanVo">
2025-07-01 16:27:45 +08:00
select plan_id, plan_code, ipp.status, purchase_date, purchase_user_id, production_plan_id,
approve_status, process_instance_id, relate_plan_ids, ipp.area_id, ipp.canteen_id, ipp.stall_id,
purchase_budget_total, supplier_ids, approve_by, approve_time, approve_remark,
if_merge, deliver_goods_date, ipp.remark, ipp.del_flag, ipp.create_by, ipp.create_time,
ipp.update_by, ipp.update_time, bc.canteen_name, bs.stall_name, ba.area_name
from ims_purchase_plan ipp
left join sys_user su on ipp.purchase_user_id = su.user_id
left join basic_area ba on ba.area_id = ipp.area_id
left join basic_canteen bc on bc.canteen_id = ipp.canteen_id
left join basic_stall bs on bs.stall_id = ipp.stall_id
2025-06-30 09:14:45 +08:00
</sql>
<select id="selectPurchasePlanList" parameterType="com.bonus.canteen.core.ims.domain.PurchasePlan" resultMap="PurchasePlanResult">
<include refid="selectPurchasePlanVo"/>
2025-07-01 16:27:45 +08:00
<where>
ipp.del_flag = '0'
2025-07-01 17:09:59 +08:00
<if test="planCode != null and planCode != ''"> and ipp.plan_code like CONCAT('%',#{planCode},'%')</if>
2025-07-01 16:27:45 +08:00
<if test="status != null "> and ipp.status = #{status}</if>
<if test="purchaseDate != null "> and ipp.purchase_date = #{purchaseDate}</if>
<if test="purchaseUserId != null "> and ipp.purchase_user_id = #{purchaseUserId}</if>
<if test="productionPlanId != null and productionPlanId != ''"> and ipp.production_plan_id = #{productionPlanId}</if>
<if test="approveStatus != null "> and ipp.approve_status = #{approveStatus}</if>
<if test="processInstanceId != null "> and ipp.process_instance_id = #{processInstanceId}</if>
<if test="relatePlanIds != null and relatePlanIds != ''"> and ipp.relate_plan_ids = #{relatePlanIds}</if>
<if test="areaId != null "> and ipp.area_id = #{areaId}</if>
<if test="canteenId != null "> and ipp.canteen_id = #{canteenId}</if>
<if test="stallId != null and stallId != ''"> and ipp.stall_id = #{stallId}</if>
<if test="purchaseBudgetTotal != null "> and ipp.purchase_budget_total = #{purchaseBudgetTotal}</if>
<if test="supplierIds != null and supplierIds != ''"> and ipp.supplier_ids = #{supplierIds}</if>
<if test="approveBy != null and approveBy != ''"> and ipp.approve_by = #{approveBy}</if>
<if test="approveTime != null "> and ipp.approve_time = #{approveTime}</if>
<if test="approveRemark != null and approveRemark != ''"> and ipp.approve_remark = #{approveRemark}</if>
<if test="ifMerge != null "> and ipp.if_merge = #{ifMerge}</if>
<if test="deliverGoodsDate != null "> and ipp.deliver_goods_date = #{deliverGoodsDate}</if>
2025-07-01 17:09:59 +08:00
<if test="startDateTime != null">
and ipp.purchase_date <![CDATA[ >= ]]> #{startDateTime}
</if>
<if test="endDateTime != null">
and ipp.purchase_date <![CDATA[ <= ]]> #{endDateTime}
</if>
2025-06-30 09:14:45 +08:00
</where>
</select>
<select id="selectPurchasePlanByPlanId" parameterType="Long" resultMap="PurchasePlanResult">
<include refid="selectPurchasePlanVo"/>
2025-07-01 16:27:45 +08:00
where ipp.del_flag = '0' and ipp.plan_id = #{planId}
2025-06-30 09:14:45 +08:00
</select>
<insert id="insertPurchasePlan" parameterType="com.bonus.canteen.core.ims.domain.PurchasePlan" useGeneratedKeys="true" keyProperty="planId">
insert into ims_purchase_plan
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="planCode != null and planCode != ''">plan_code,</if>
<if test="status != null">status,</if>
<if test="purchaseDate != null">purchase_date,</if>
<if test="purchaseUserId != null">purchase_user_id,</if>
<if test="productionPlanId != null">production_plan_id,</if>
<if test="approveStatus != null">approve_status,</if>
<if test="processInstanceId != null">process_instance_id,</if>
<if test="relatePlanIds != null">relate_plan_ids,</if>
2025-07-01 16:27:45 +08:00
<if test="areaId != null">area_id,</if>
2025-06-30 09:14:45 +08:00
<if test="canteenId != null">canteen_id,</if>
<if test="stallId != null">stall_id,</if>
<if test="purchaseBudgetTotal != null">purchase_budget_total,</if>
<if test="supplierIds != null">supplier_ids,</if>
<if test="approveBy != null">approve_by,</if>
<if test="approveTime != null">approve_time,</if>
<if test="approveRemark != null">approve_remark,</if>
<if test="ifMerge != null">if_merge,</if>
<if test="deliverGoodsDate != null">deliver_goods_date,</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="planCode != null and planCode != ''">#{planCode},</if>
<if test="status != null">#{status},</if>
<if test="purchaseDate != null">#{purchaseDate},</if>
<if test="purchaseUserId != null">#{purchaseUserId},</if>
<if test="productionPlanId != null">#{productionPlanId},</if>
<if test="approveStatus != null">#{approveStatus},</if>
<if test="processInstanceId != null">#{processInstanceId},</if>
<if test="relatePlanIds != null">#{relatePlanIds},</if>
2025-07-01 16:27:45 +08:00
<if test="areaId != null">#{areaId},</if>
2025-06-30 09:14:45 +08:00
<if test="canteenId != null">#{canteenId},</if>
<if test="stallId != null">#{stallId},</if>
<if test="purchaseBudgetTotal != null">#{purchaseBudgetTotal},</if>
<if test="supplierIds != null">#{supplierIds},</if>
<if test="approveBy != null">#{approveBy},</if>
<if test="approveTime != null">#{approveTime},</if>
<if test="approveRemark != null">#{approveRemark},</if>
<if test="ifMerge != null">#{ifMerge},</if>
<if test="deliverGoodsDate != null">#{deliverGoodsDate},</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="updatePurchasePlan" parameterType="com.bonus.canteen.core.ims.domain.PurchasePlan">
update ims_purchase_plan
<trim prefix="SET" suffixOverrides=",">
2025-07-01 16:27:45 +08:00
<!-- <if test="planCode != null and planCode != ''">plan_code = #{planCode},</if>-->
2025-06-30 09:14:45 +08:00
<if test="status != null">status = #{status},</if>
<if test="purchaseDate != null">purchase_date = #{purchaseDate},</if>
<if test="purchaseUserId != null">purchase_user_id = #{purchaseUserId},</if>
<if test="productionPlanId != null">production_plan_id = #{productionPlanId},</if>
<if test="approveStatus != null">approve_status = #{approveStatus},</if>
<if test="processInstanceId != null">process_instance_id = #{processInstanceId},</if>
<if test="relatePlanIds != null">relate_plan_ids = #{relatePlanIds},</if>
2025-07-01 16:27:45 +08:00
<if test="areaId != null">area_id = #{areaId},</if>
2025-06-30 09:14:45 +08:00
<if test="canteenId != null">canteen_id = #{canteenId},</if>
<if test="stallId != null">stall_id = #{stallId},</if>
<if test="purchaseBudgetTotal != null">purchase_budget_total = #{purchaseBudgetTotal},</if>
<if test="supplierIds != null">supplier_ids = #{supplierIds},</if>
<if test="approveBy != null">approve_by = #{approveBy},</if>
<if test="approveTime != null">approve_time = #{approveTime},</if>
<if test="approveRemark != null">approve_remark = #{approveRemark},</if>
<if test="ifMerge != null">if_merge = #{ifMerge},</if>
<if test="deliverGoodsDate != null">deliver_goods_date = #{deliverGoodsDate},</if>
<if test="remark != null">remark = #{remark},</if>
2025-07-01 16:27:45 +08:00
<!-- <if test="delFlag != null">del_flag = #{delFlag},</if>-->
<!-- <if test="createBy != null">create_by = #{createBy},</if>-->
<!-- <if test="createTime != null">create_time = #{createTime},</if>-->
2025-06-30 09:14:45 +08:00
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where plan_id = #{planId}
</update>
<delete id="deletePurchasePlanByPlanId" parameterType="Long">
2025-07-01 16:27:45 +08:00
update ims_purchase_plan set del_flag = '2' where plan_id = #{planId}
2025-06-30 09:14:45 +08:00
</delete>
<delete id="deletePurchasePlanByPlanIds" parameterType="String">
2025-07-01 16:27:45 +08:00
update ims_purchase_plan_detail set del_flag = '2' where plan_id in
2025-06-30 09:14:45 +08:00
<foreach item="planId" collection="array" open="(" separator="," close=")">
#{planId}
</foreach>
</delete>
</mapper>