select ob.obj_id,
ob.bom_code,
ob.material_code,
bm.material_name,
bm.MATERIAL_SUBCLASS material_type,
ob.standard_amount,
ob.parent_id,
mp.MATERIAL_NAME parentName,
mp.MATERIAL_SUBCLASS parentMaterialType,
ob.is_flag,
ob.created_by,
ob.created_time,
ob.updated_by,
ob.updated_time,
ob.factory_code,
ob.sort,
ob.ancestors,
ob.vbeln,
ob.vbpos
from order_bominfo ob
LEFT JOIN BASE_MATERIALINFO bm ON bm.MATERIAL_CODE = ob.material_code
LEFT JOIN BASE_MATERIALINFO mp ON mp.MATERIAL_CODE = ob.PARENT_ID
SELECT seq_order_bominfo.NEXTVAL as objId FROM DUAL
insert into order_bominfo
obj_id,
bom_code,
material_code,
material_name,
material_type,
standard_amount,
parent_id,
is_flag,
created_by,
created_time,
updated_by,
updated_time,
factory_code,
sort,
vbeln,
vbpos,
ancestors,
#{objId},
#{bomCode},
#{materialCode},
#{materialName,jdbcType=NVARCHAR},
#{materialType},
#{standardAmount},
#{parentId},
#{isFlag},
#{createdBy},
#{createdTime},
#{updatedBy},
#{updatedTime},
#{factoryCode},
#{sort},
#{vbeln},
#{vbpos},
#{ancestors},
update order_bominfo
bom_code = #{bomCode},
material_code = #{materialCode},
material_name = #{materialName,jdbcType=NVARCHAR},
material_type = #{materialType},
standard_amount = #{standardAmount},
parent_id = #{parentId},
is_flag = #{isFlag},
created_by = #{createdBy},
created_time = #{createdTime},
updated_by = #{updatedBy},
updated_time = #{updatedTime},
factory_code = #{factoryCode},
sort = #{sort},
vbeln = #{vbeln},
vbpos = #{vbpos},
ancestors = #{ancestors},
where obj_id = #{objId}
delete
from order_bominfo
where obj_id = #{objId}
delete from order_bominfo where obj_id in
#{objId}
update order_bominfo set ancestors =
when #{item.materialCode} then #{item.ancestors}
where material_code in
#{item.materialCode}