廖井涛
2025-09-09 b2cefd84dfd1aa051ae4ab342874fbafef74ab3b
north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml
@@ -625,19 +625,19 @@
    </select>
    <select id="getMaterialInventoryCount" >
        select * from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture=#{dateOfManufacture}
        select * from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture=#{dateOfManufacture} and producer=#{producer}
    </select>
    <select id="getMaterialInventoryCountNull" >
        select * from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture is null
        select * from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture is null  and producer=#{producer}
    </select>
    <select id="getMaterialInventoryCountId" >
        select id from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture=#{dateOfManufacture}
        select id from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture=#{dateOfManufacture} and producer=#{producer}
    </select>
    <select id="getMaterialInventoryCountNullId" >
        select id from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture is null
        select id from mm.material_inventory where  material_code=#{materialCode} and date_of_manufacture is null and producer=#{producer}
    </select>
    <select id="getIsNotMaterialOutboundDetail" >
@@ -817,33 +817,34 @@
                                         available_quantity=available_quantity+#{materialInventory.inventoryQuantity},
                                         total_area=single_piece_area*inventory_quantity
                                     where  material_code=#{materialCode} and date_of_manufacture=#{materialInventory.dateOfManufacture}
                                       and producer=#{materialInventory.producer}
    </update>
    <update id="updateMaterialInventoryNull" >
        update mm.material_inventory set inventory_quantity=inventory_quantity+#{materialInventory.inventoryQuantity},
                                         available_quantity=available_quantity+#{materialInventory.inventoryQuantity},
                                         total_area=single_piece_area*inventory_quantity
        where  material_code=#{materialCode} and date_of_manufacture is null
        where  material_code=#{materialCode} and date_of_manufacture is null and producer=#{materialInventory.producer}
    </update>
    <update id="updateMaterialInventoryOut" >
        update mm.material_inventory set inventory_quantity=inventory_quantity-#{quantity},
                                         available_quantity=available_quantity-#{quantity},
                                         total_area=single_piece_area*inventory_quantity
        where  material_code=#{materialCode} and date_of_manufacture=#{dateOfManufacture}
        where  material_code=#{materialCode} and date_of_manufacture=#{dateOfManufacture} and producer=#{producer}
    </update>
    <update id="updateMaterialInventoryNullOut" >
        update mm.material_inventory set inventory_quantity=inventory_quantity-#{quantity},
                                         available_quantity=available_quantity-#{quantity},
                                         total_area=single_piece_area*inventory_quantity
        where  material_code=#{materialCode} and date_of_manufacture is null
        where  material_code=#{materialCode} and date_of_manufacture is null and producer=#{producer}
    </update>
    <update id="updateMaterialInventoryReturning" >
        update mm.material_inventory set available_quantity=available_quantity+#{returningWarehouseDetail.returnQuantity}
       where  material_code=#{materialCode} and
                date_of_manufacture=#{returningWarehouseDetail.dateOfManufacture}
                date_of_manufacture=#{returningWarehouseDetail.dateOfManufacture} and producer=#{returningWarehouseDetail.producer}
    </update>
@@ -851,7 +852,7 @@
    <update id="updateMaterialInventoryReturningNull" >
        update mm.material_inventory set available_quantity=available_quantity+#{returningWarehouseDetail.returnQuantity}
        where  material_code=#{materialCode} and
            date_of_manufacture is null
            date_of_manufacture is null and producer=#{returningWarehouseDetail.producer}
    </update>
@@ -1296,19 +1297,38 @@
    <select id="getSelectMaterialInventoryMes">
        select
            mi.id,
            mi.material_code AS materialCode,
            mi.producer,
            sum(mi.available_quantity) AS availableQuantity,
            sum(mi.available_quantity) AS quantity,
            JSON_UNQUOTE(JSON_EXTRACT(ms.json, '$.width')) AS width,
            JSON_UNQUOTE(JSON_EXTRACT(ms.json, '$.height')) AS height,
            JSON_UNQUOTE(JSON_EXTRACT(ms.json, '$.thickness')) AS thickness,
            JSON_UNQUOTE(JSON_EXTRACT(ms.json, '$.name')) AS name,
            JSON_UNQUOTE(JSON_EXTRACT(ms.json, '$.model')) AS model,
            JSON_UNQUOTE(JSON_EXTRACT(ms.json, '$.unit')) AS unit
            JSON_UNQUOTE(JSON_EXTRACT(ms.json, '$.model')) AS model
        from mm.material_inventory mi left join mm.material_store ms on mi.material_code=ms.id
        where mi.available_quantity>0
        group by mi.material_code
        order by mi.id desc
    </select>
    <update id="updateMaterialInventoryAll" >
        update mm.material_inventory set date_of_manufacture=#{materialInventory.dateOfManufacture},
                                         producer=#{materialInventory.producer},
                                         quality_guarantee_period=#{materialInventory.qualityGuaranteePeriod},
                                         inventory_area=#{materialInventory.inventoryArea},
                                         remarks=#{materialInventory.remarks},
                                         inventory_organization=#{materialInventory.inventoryOrganization}
        where id=#{materialInventoryId}
    </update>
    <update id="updateMaterialInventoryOne" >
        update mm.material_inventory set
                                         quality_guarantee_period=#{materialInventory.qualityGuaranteePeriod},
                                         inventory_area=#{materialInventory.inventoryArea},
                                         remarks=#{materialInventory.remarks},
                                         available_quantity=available_quantity+#{materialInventory.availableQuantity},
                                         inventory_quantity=inventory_quantity+#{materialInventory.inventoryQuantity},
                                         total_area=inventory_quantity*single_piece_area
        where id=#{materialInventoryId}
    </update>
</mapper>