select into_id, into_code, iii.warehouse_id, into_date, total_num, into_type, status,
refund_out_id, relate_delivery_goods_id, total_amount, relate_order_goods_id,
relate_inspect_goods_id, into_relate_out_id, goods_allocation_id, remark, iii.del_flag,
iii.create_by, iii.create_time, iii.update_by, iii.update_time, iwi.warehouse_name,
ba.area_name, ba.area_id
from ims_into_inventory iii
left join ims_warehouse_info iwi on iii.warehouse_id = iwi.warehouse_id
left join basic_area ba on iwi.area_id = ba.area_id
insert into ims_into_inventory
into_code,
warehouse_id,
into_date,
total_num,
into_type,
status,
refund_out_id,
relate_delivery_goods_id,
total_amount,
relate_order_goods_id,
relate_inspect_goods_id,
into_relate_out_id,
goods_allocation_id,
remark,
del_flag,
create_by,
create_time,
update_by,
update_time,
#{intoCode},
#{warehouseId},
#{intoDate},
#{totalNum},
#{intoType},
#{status},
#{refundOutId},
#{relateDeliveryGoodsId},
#{totalAmount},
#{relateOrderGoodsId},
#{relateInspectGoodsId},
#{intoRelateOutId},
#{goodsAllocationId},
#{remark},
#{delFlag},
#{createBy},
#{createTime},
#{updateBy},
#{updateTime},
update ims_into_inventory
into_code = #{intoCode},
warehouse_id = #{warehouseId},
into_date = #{intoDate},
total_num = #{totalNum},
into_type = #{intoType},
status = #{status},
refund_out_id = #{refundOutId},
relate_delivery_goods_id = #{relateDeliveryGoodsId},
total_amount = #{totalAmount},
relate_order_goods_id = #{relateOrderGoodsId},
relate_inspect_goods_id = #{relateInspectGoodsId},
into_relate_out_id = #{intoRelateOutId},
goods_allocation_id = #{goodsAllocationId},
remark = #{remark},
del_flag = #{delFlag},
create_by = #{createBy},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime},
where into_id = #{intoId}
update ims_into_inventory set del_flag = '2' where into_id = #{intoId}
update ims_into_inventory set del_flag = '2' where into_id in
#{intoId}
update ims_into_inventory_detail set del_flag = '2' where into_id in
#{intoId}
update ims_into_inventory_detail set del_flag = '2' where into_id = #{intoId}
insert into ims_into_inventory_detail( into_detail_id, into_id, into_code, inventory_id, material_id, supplier_id, unit_id, size, unit_price, total_price, delivery_num, pur_num, unqualified_num, inventory_num, product_date, expire_time, img_url, if_fill_inventory, relate_order_goods_detail_id, relate_delivery_goods_detail_id, del_flag, create_by, create_time, update_by, update_time) values
( #{item.intoDetailId}, #{item.intoId}, #{item.intoCode}, #{item.inventoryId}, #{item.materialId}, #{item.supplierId}, #{item.unitId}, #{item.size}, #{item.unitPrice}, #{item.totalPrice}, #{item.deliveryNum}, #{item.purNum}, #{item.unqualifiedNum}, #{item.inventoryNum}, #{item.productDate}, #{item.expireTime}, #{item.imgUrl}, #{item.ifFillInventory}, #{item.relateOrderGoodsDetailId}, #{item.relateDeliveryGoodsDetailId}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime})
update ims_into_inventory_detail
set inventory_num = inventory_num - #{fetchNum}
where into_detail_id = #{intoDetailId}
AND inventory_num >= #{fetchNum}
AND del_flag = '0'