insert into mm.material_store (type,json,create_time
)
values (
#{type},#{json},now()
)
update mm.material_store set json=#{json} where id=#{id}
delete from mm.material_outbound where material_outbound_id=#{materialOutboundId}
delete from mm.material_outbound_detail where material_outbound_id=#{materialOutboundId}
delete from mm.returning_warehouse_detail where returning_id=#{returningId}
insert into mm.material_outbound(material_outbound_id,material_requisition_personnel,material_requisition_team,order_id,outbound_type,
warehouse_manager,material_requisition_date,reviewed_state,create_time)
values (
#{number} ,#{materialOutbound.materialRequisitionPersonnel},#{materialOutbound.materialRequisitionTeam},
#{materialOutbound.orderId},#{materialOutbound.outboundType},#{materialOutbound.warehouseManager},#{materialOutbound.materialRequisitionDate},
0,now()
)
insert into mm.material_outbound_detail (material_outbound_id,material_outbound_number,material_code,material_name,use_id,inventory_id,inventory_organization,producer,unit,width,
height,thickness,outbound_quantity,single_piece_area,inventory_area,date_of_manufacture,remarks)
values (
#{number} ,#{materialOutboundNumber},#{materialOutboundDetail.materialCode},#{materialOutboundDetail.materialName},#{materialOutboundDetail.useId},#{materialOutboundDetail.id},
#{materialOutboundDetail.inventoryOrganization},#{materialOutboundDetail.producer},#{materialOutboundDetail.unit},
#{materialOutboundDetail.width},#{materialOutboundDetail.height},#{materialOutboundDetail.thickness},#{materialOutboundDetail.outboundQuantity},
#{materialOutboundDetail.singlePieceArea},#{materialOutboundDetail.inventoryArea},#{materialOutboundDetail.dateOfManufacture},#{materialOutboundDetail.remarks}
)
insert into mm.material_inventory (inventory_organization, material_code, producer, stock_id,
inventory_quantity, available_quantity, safety_stock, total_area, single_piece_area,
date_of_manufacture, quality_guarantee_period, inventory_area, dead_stock, remarks, create_time)
values (
#{materialInventory.inventoryOrganization} ,#{materialCode},
#{materialInventory.producer},0,#{materialInventory.inventoryQuantity},#{materialInventory.inventoryQuantity},0,
#{totalArea},#{singlePieceArea},#{materialInventory.dateOfManufacture},#{materialInventory.qualityGuaranteePeriod},
#{materialInventory.inventoryArea},0,#{materialInventory.remarks},now()
)
insert into mm.material_inventory (inventory_organization, material_code, producer, stock_id,
inventory_quantity, available_quantity, safety_stock, total_area, single_piece_area,
date_of_manufacture, quality_guarantee_period, inventory_area, dead_stock, remarks, create_time)
values (
#{returningWarehouseDetail.inventoryOrganization} ,#{materialCode},
#{returningWarehouseDetail.producer},0,#{returningWarehouseDetail.returnQuantity},0,0,
#{totalArea},#{singlePieceArea},#{returningWarehouseDetail.dateOfManufacture},#{returningWarehouseDetail.qualityGuaranteePeriod},
#{returningWarehouseDetail.inventoryArea},0,#{returningWarehouseDetail.remarks},now()
)
insert into mm.returning_warehouse(returning_id, returning_type, material_requisition_personnel, material_requisition_team,
warehouse_manager, reviewed_state, order_id, batch, project, create_time)
values (
#{number} ,#{returningWarehouse.returningType},#{returningWarehouse.materialRequisitionPersonnel},#{returningWarehouse.materialRequisitionTeam},
#{returningWarehouse.warehouseManager},0,#{returningWarehouse.orderId},#{returningWarehouse.batch},#{returningWarehouse.project},now()
)
insert into mm.returning_warehouse_detail (returning_id, returning_number, inventory_id, material_code, return_quantity,date_of_manufacture, remarks)
values (
#{number} ,#{returningWarehouseNumber},#{returningWarehouseDetail.inventoryId},#{returningWarehouseDetail.id},
#{returningWarehouseDetail.returnQuantity},#{returningWarehouseDetail.dateOfManufacture},#{returningWarehouseDetail.remarks}
)
update pp.optimize_use
set not_use_count=not_use_count-#{quantity}
where id=#{useId}
update pp.optimize_use
set not_use_count=not_use_count+#{quantity}
where id=#{useId}
update mm.material_inventory
set available_quantity=available_quantity-#{quantity}
where id=#{inventoryId}
update mm.material_inventory
set available_quantity=available_quantity+#{quantity}
where id=#{inventoryId}
update mm.material_inventory
set inventory_quantity=inventory_quantity-#{quantity}
where id=#{inventoryId}
update mm.material_inventory
set inventory_quantity=inventory_quantity+#{quantity}
where id=#{inventoryId}
update mm.material_inventory
set available_quantity=available_quantity-#{quantity},inventory_quantity=inventory_quantity-#{quantity}
where id=#{inventoryId}
update mm.material_inventory
set available_quantity=available_quantity+#{quantity},inventory_quantity=inventory_quantity+#{quantity}
where id=#{inventoryId}
update mm.material_outbound set reviewed_state=#{reviewedState},reviewed=#{reviewed},reviewed_time=now()
where material_outbound_id=#{materialOutboundId}
update mm.material_outbound set reviewed_state=#{reviewedState}
where material_outbound_id=#{materialOutboundId}
update mm.returning_warehouse set reviewed_state=#{reviewedState},reviewed=#{reviewed},reviewed_time=now()
where returning_id=#{returningId}
update mm.returning_warehouse set reviewed_state=#{reviewedState}
where returning_id=#{returningId}
update mm.material_inventory set inventory_quantity=inventory_quantity+#{materialInventory.inventoryQuantity},
available_quantity=available_quantity+#{materialInventory.inventoryQuantity},
total_area=total_area+#{totalArea}
where material_code=#{materialCode} and date_of_manufacture=#{materialInventory.dateOfManufacture}
update mm.material_inventory set inventory_quantity=inventory_quantity+#{returningWarehouseDetail.returnQuantity},
total_area=total_area+#{totalArea}
where material_code=#{materialCode} and
date_of_manufacture=#{returningWarehouseDetail.dateOfManufacture}
update mm.material_inventory set inventory_quantity=inventory_quantity+#{returningWarehouseDetail.returnQuantity},
total_area=total_area+#{totalArea}
where material_code=#{materialCode} and
date_of_manufacture is null
update mm.returning_warehouse_detail set inventory_id=#{materialInventoryId}
where returning_id=#{number} and returning_number=#{returningWarehouseNumber}