daily_plan_id, plan_code, source_type, erp_order_code, manual_order_code,
plan_date, material_id, material_code, material_name, material_spec,
plan_qty, append_qty, stocked_qty, sleeved_qty, packing_info, sort_seq, weight,
order_status, stocking_status, sleeving_status,
previous_order_status, previous_stocking_status, previous_sleeving_status,
order_start_time, order_end_time, stocking_start_time, stocking_complete_time,
sleeving_start_time, sleeving_complete_time, version,
creator, create_time, updater, update_time, deleted, tenant_id
AND (plan_code LIKE CONCAT('%', #{reqVO.planOrOrderCode}, '%')
OR erp_order_code LIKE CONCAT('%', #{reqVO.planOrOrderCode}, '%')
OR manual_order_code LIKE CONCAT('%', #{reqVO.planOrOrderCode}, '%'))
AND (material_code LIKE CONCAT('%', #{reqVO.materialKeyword}, '%')
OR material_name LIKE CONCAT('%', #{reqVO.materialKeyword}, '%')
OR material_spec LIKE CONCAT('%', #{reqVO.materialKeyword}, '%'))
INSERT INTO lms_daily_plan
(daily_plan_id, plan_code, source_type, erp_order_code, manual_order_code,
plan_date, material_id, material_code, material_name, material_spec,
plan_qty, append_qty, stocked_qty, sleeved_qty, packing_info, sort_seq, weight,
order_status, stocking_status, sleeving_status,
previous_order_status, previous_stocking_status, previous_sleeving_status,
order_start_time, order_end_time, stocking_start_time, stocking_complete_time,
sleeving_start_time, sleeving_complete_time, version,
creator, create_time, updater, update_time, deleted, tenant_id)
VALUES
(#{plan.dailyPlanId}, #{plan.planCode}, #{plan.sourceType}, #{plan.erpOrderCode}, #{plan.manualOrderCode},
#{plan.planDate}, #{plan.materialId}, #{plan.materialCode}, #{plan.materialName}, #{plan.materialSpec},
#{plan.planQty}, #{plan.appendQty}, #{plan.stockedQty}, #{plan.sleevedQty}, #{plan.packingInfo},
#{plan.sortSeq}, #{plan.weight}, #{plan.orderStatus}, #{plan.stockingStatus}, #{plan.sleevingStatus},
#{plan.previousOrderStatus}, #{plan.previousStockingStatus}, #{plan.previousSleevingStatus},
#{plan.orderStartTime}, #{plan.orderEndTime}, #{plan.stockingStartTime}, #{plan.stockingCompleteTime},
#{plan.sleevingStartTime}, #{plan.sleevingCompleteTime}, #{plan.version},
#{plan.creator}, #{plan.createTime}, #{plan.updater}, #{plan.updateTime}, #{plan.deleted}, #{plan.tenantId})
UPDATE lms_daily_plan
SET erp_order_code = #{plan.erpOrderCode},
manual_order_code = #{plan.manualOrderCode},
plan_date = #{plan.planDate},
material_id = #{plan.materialId},
material_code = #{plan.materialCode},
material_name = #{plan.materialName},
material_spec = #{plan.materialSpec},
plan_qty = #{plan.planQty},
packing_info = #{plan.packingInfo},
sort_seq = #{plan.sortSeq},
weight = #{plan.weight},
updater = #{plan.updater},
version = version + 1
WHERE daily_plan_id = #{plan.dailyPlanId}
AND version = #{plan.version}
AND deleted = b'0'
AND order_status = 0
UPDATE lms_daily_plan
order_status = #{plan.orderStatus},
stocking_status = #{plan.stockingStatus},
sleeving_status = #{plan.sleevingStatus},
previous_order_status = #{plan.previousOrderStatus},
previous_stocking_status = #{plan.previousStockingStatus},
previous_sleeving_status = #{plan.previousSleevingStatus},
order_start_time = #{plan.orderStartTime},
order_end_time = #{plan.orderEndTime},
stocking_start_time = #{plan.stockingStartTime},
stocking_complete_time = #{plan.stockingCompleteTime},
sleeving_start_time = #{plan.sleevingStartTime},
sleeving_complete_time = #{plan.sleevingCompleteTime},
append_qty = #{plan.appendQty},
updater = #{plan.updater},
version = version + 1
WHERE daily_plan_id = #{plan.dailyPlanId}
AND version = #{plan.version}
AND deleted = b'0'
UPDATE lms_daily_plan
SET sort_seq = #{sortSeq}, updater = #{updater}, version = version + 1
WHERE daily_plan_id = #{dailyPlanId} AND version = #{version} AND deleted = b'0'
UPDATE lms_daily_plan
SET weight = #{weight}, updater = #{updater}, version = version + 1
WHERE daily_plan_id = #{dailyPlanId} AND version = #{version} AND deleted = b'0'
UPDATE lms_daily_plan
SET stocking_status = CASE
WHEN stocked_qty + #{incrementQty} = plan_qty + append_qty THEN 2
ELSE stocking_status END,
stocking_complete_time = CASE
WHEN stocked_qty + #{incrementQty} = plan_qty + append_qty THEN NOW()
ELSE stocking_complete_time END,
stocked_qty = stocked_qty + #{incrementQty},
updater = #{updater},
version = version + 1
WHERE daily_plan_id = #{dailyPlanId}
AND version = #{version}
AND deleted = b'0'
AND order_status = 1
AND stocking_status = 1
AND stocked_qty + #{incrementQty} <= plan_qty + append_qty
UPDATE lms_daily_plan
SET sleeving_status = CASE
WHEN sleeved_qty + #{incrementQty} = plan_qty + append_qty THEN 2
ELSE sleeving_status END,
sleeving_complete_time = CASE
WHEN sleeved_qty + #{incrementQty} = plan_qty + append_qty THEN NOW()
ELSE sleeving_complete_time END,
sleeved_qty = sleeved_qty + #{incrementQty},
updater = #{updater},
version = version + 1
WHERE daily_plan_id = #{dailyPlanId}
AND version = #{version}
AND deleted = b'0'
AND order_status = 1
AND sleeving_status = 1
AND sleeved_qty + #{incrementQty} <= plan_qty + append_qty