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,
version, creator, updater)
VALUES
(#{plan.dailyPlanId}, #{plan.planCode}, #{plan.sourceType}, #{plan.erpOrderCode}, #{plan.manualOrderCode},
#{plan.planDate}, #{plan.materialId}, #{plan.materialCode}, #{plan.materialName}, #{plan.materialSpec},
#{plan.planQty}, 0, 0, 0, #{plan.packingInfo}, #{plan.sortSeq}, #{plan.weight},
0, 0, 0, 0, #{plan.creator}, #{plan.updater})
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
SET order_status = previous_order_status,
previous_order_status = NULL,
updater = #{updater},
version = version + 1
WHERE daily_plan_id = #{dailyPlanId}
AND version = #{version}
AND deleted = b'0'
AND order_status = 3
AND previous_order_status IS NOT NULL
AND previous_order_status IN (0, 1)
UPDATE lms_daily_plan
SET stocking_status = previous_stocking_status,
previous_stocking_status = NULL,
updater = #{updater},
version = version + 1
WHERE daily_plan_id = #{dailyPlanId}
AND version = #{version}
AND deleted = b'0'
AND order_status = 1
AND stocking_status = 3
AND previous_stocking_status IS NOT NULL
AND previous_stocking_status IN (0, 1)
UPDATE lms_daily_plan
SET sleeving_status = previous_sleeving_status,
previous_sleeving_status = NULL,
updater = #{updater},
version = version + 1
WHERE daily_plan_id = #{dailyPlanId}
AND version = #{version}
AND deleted = b'0'
AND order_status = 1
AND sleeving_status = 3
AND previous_sleeving_status IS NOT NULL
AND previous_sleeving_status IN (0, 1)
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 #{incrementQty} > 0
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 #{incrementQty} > 0
AND sleeved_qty + #{incrementQty} <= plan_qty + append_qty