| | |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.example.erp.mapper.mm.MaterialInventoryMapper"> |
| | | |
| | | <resultMap id="selectMaterialOutboundDetail" type="com.example.erp.entity.mm.MaterialOutboundDetail" > |
| | | <id column="id" property="id"/> |
| | | <result column="material_outbound_id" property="materialOutboundId"/> |
| | | <result column="material_outbound_number" property="materialOutboundNumber"/> |
| | | <result column="inventory_id" property="inventoryId"/> |
| | | <result column="inventory_organization" property="inventoryOrganization"/> |
| | | <result column="material_code" property="materialCode"/> |
| | | <result column="material_name" property="materialName"/> |
| | | <result column="use_id" property="useId"/> |
| | | <result column="producer" property="producer"/> |
| | | <result column="unit" property="unit"/> |
| | | <result column="width" property="width"/> |
| | | <result column="height" property="height"/> |
| | | <result column="thickness" property="thickness"/> |
| | | <result column="outbound_quantity" property="outboundQuantity"/> |
| | | <result column="single_piece_area" property="singlePieceArea"/> |
| | | <result column="inventory_area" property="inventoryArea"/> |
| | | <result column="date_of_manufacture" property="dateOfManufacture"/> |
| | | <result column="remarks" property="remarks"/> |
| | | |
| | | <result column="material_requisition_personnel" property="materialOutbound.materialRequisitionPersonnel"/> |
| | | <result column="material_requisition_team" property="materialOutbound.materialRequisitionTeam"/> |
| | | <result column="order_id" property="materialOutbound.orderId"/> |
| | | <result column="outbound_type" property="materialOutbound.outboundType"/> |
| | | <result column="warehouse_manager" property="materialOutbound.warehouseManager"/> |
| | | <result column="material_requisition_date" property="materialOutbound.materialRequisitionDate"/> |
| | | <result column="reviewed" property="materialOutbound.reviewed"/> |
| | | <result column="reviewed_time" property="materialOutbound.reviewedTime"/> |
| | | |
| | | </resultMap> |
| | | |
| | | |
| | | |
| | | <select id="getSelectMaterialInventoryDate"> |
| | |
| | | mi.producer, |
| | | mi.inventory_quantity AS inventoryQuantity, |
| | | mi.available_quantity AS availableQuantity, |
| | | mi.plan_quantity AS planQuantity, |
| | | mi.safety_stock AS safetyStock, |
| | | mi.total_area AS totalArea, |
| | | mi.single_piece_area singlePieceArea, |
| | |
| | | date(mi.create_time)>=#{startDate} and date(mi.create_time) <= #{endDate} and mi.available_quantity>0 |
| | | |
| | | </where> |
| | | order by mi.id desc |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectMaterialInventoryEngineeringDate"> |
| | | select |
| | | ou.id as useId, |
| | | ou.project_no as projectNo, |
| | | mi.inventory_quantity AS inventoryQuantity, |
| | | mi.plan_quantity AS availableQuantity, |
| | | mi.plan_quantity AS planQuantity, |
| | | mi.id, |
| | | mi.inventory_organization as inventoryOrganization, |
| | | mi.material_code AS materialCode, |
| | | mi.producer, |
| | | mi.safety_stock AS safetyStock, |
| | | mi.total_area AS totalArea, |
| | | mi.single_piece_area singlePieceArea, |
| | | date(mi.date_of_manufacture) AS dateOfManufacture, |
| | | mi.quality_guarantee_period qualityGuaranteePeriod, |
| | | mi.inventory_area AS inventoryArea, |
| | | mi.dead_stock AS deadStock, |
| | | mi.remarks, |
| | | date(mi.create_time) AS createTime, |
| | | ms.json from pp.optimize_use ou left join mm.material_inventory mi on ou.raw_stock_code=mi.id left join mm.material_store ms on mi.material_code=ms.id |
| | | left join pp.optimize_project op on op.project_no=ou.project_no |
| | | <where> |
| | | mi.plan_quantity>0 and op.state>=100 and |
| | | date(ou.create_time)>=#{startDate} and date(ou.create_time) <= #{endDate} |
| | | |
| | | </where> |
| | | order by ou.id desc |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectMaterialInventoryEngineeringDatePageTotal"> |
| | | select |
| | | CEILING(count(id)/#{pageSize}) as 'pageTotal', |
| | | count(id) as 'total' |
| | | from |
| | | pp.optimize_use ou |
| | | <where> |
| | | ou.not_use_count>0 and ou.state=1 and |
| | | date(ou.create_time)>=#{startDate} and date(ou.create_time) <= #{endDate} |
| | | |
| | | </where> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectMaterialInventory"> |
| | | select |
| | | mi.id, |
| | |
| | | mi.producer, |
| | | mi.inventory_quantity AS inventoryQuantity, |
| | | mi.available_quantity AS availableQuantity, |
| | | mi.plan_quantity AS planQuantity, |
| | | mi.safety_stock AS safetyStock, |
| | | mi.total_area AS totalArea, |
| | | mi.single_piece_area singlePieceArea, |
| | |
| | | from mm.material_inventory mi left join mm.material_store ms on mi.material_code=ms.id |
| | | <where> |
| | | <if test="materialInventory.stockId != null and materialInventory.stockId != ''"> |
| | | and mi.id regexp #{materialInventory.stockId} |
| | | and mi.id in |
| | | <foreach item="id" collection="ids" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | |
| | | </where> |
| | |
| | | <where> |
| | | <if test="materialInventory.id != null and materialInventory.id != ''"> |
| | | and mi.id regexp #{materialInventory.id} |
| | | </if> |
| | | |
| | | </where> |
| | | |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectMaterialInventoryEngineering"> |
| | | select |
| | | ou.id as useId, |
| | | ou.project_no as projectNo, |
| | | mi.inventory_quantity AS inventoryQuantity, |
| | | mi.plan_quantity AS availableQuantity, |
| | | mi.plan_quantity AS planQuantity, |
| | | mi.id, |
| | | mi.inventory_organization as inventoryOrganization, |
| | | mi.material_code AS materialCode, |
| | | mi.producer, |
| | | mi.safety_stock AS safetyStock, |
| | | mi.total_area AS totalArea, |
| | | mi.single_piece_area singlePieceArea, |
| | | date(mi.date_of_manufacture) AS dateOfManufacture, |
| | | mi.quality_guarantee_period qualityGuaranteePeriod, |
| | | mi.inventory_area AS inventoryArea, |
| | | mi.dead_stock AS deadStock, |
| | | mi.remarks, |
| | | date(mi.create_time) AS createTime, |
| | | ms.json from pp.optimize_use ou left join mm.material_inventory mi on ou.raw_stock_code=mi.id left join mm.material_store ms on mi.material_code=ms.id |
| | | |
| | | <where> |
| | | <if test="optimizeUse.rawStockCode != null and optimizeUse.rawStockCode != ''"> |
| | | and ou.id in |
| | | <foreach item="id" collection="ids" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | |
| | | </where> |
| | | |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectMaterialInventoryEngineeringPageTotal"> |
| | | select |
| | | CEILING(count(id)/#{pageSize}) as 'pageTotal', |
| | | count(id) as 'total' |
| | | from |
| | | pp.optimize_use ou |
| | | <where> |
| | | <if test="optimizeUse.rawStockCode != null and optimizeUse.rawStockCode != ''"> |
| | | and ou.id in |
| | | <foreach item="id" collection="ids" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | |
| | | </where> |
| | |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="SelectMaterialOutboundDetail" > |
| | | select |
| | | * |
| | | from mm.material_outbound_detail modd |
| | | <where> |
| | | <if test="materialOutboundDetail.materialOutboundId != null and materialOutboundDetail.materialOutboundId != ''"> |
| | | and modd.material_outbound_id regexp #{materialOutboundDetail.materialOutboundId} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="getSelectMaterialOutboundDetail" > |
| | | select |
| | | modd.use_id as useId, |
| | | modd.inventory_id as id, |
| | | modd.inventory_organization as inventoryOrganization, |
| | | modd.material_code as materialCode, |
| | |
| | | from mm.material_outbound_detail modd left join mm.material_inventory mi on modd.inventory_id=mi.id |
| | | left join mm.material_outbound mo on modd.material_outbound_id=mo.material_outbound_id |
| | | left join mm.material_store ms on modd.material_code=ms.id |
| | | <where> |
| | | <if test="materialOutboundDetail.materialOutboundId != null and materialOutboundDetail.materialOutboundId != ''"> |
| | | and modd.material_outbound_id regexp #{materialOutboundDetail.materialOutboundId} |
| | | </if> |
| | | </where> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectMaterialOutboundEngineering" > |
| | | select |
| | | ou.project_no as projectNo, |
| | | modd.inventory_id as id, |
| | | modd.inventory_organization as inventoryOrganization, |
| | | modd.material_code as materialCode, |
| | | modd.material_name as materialName, |
| | | modd.producer, |
| | | modd.width, |
| | | modd.height, |
| | | modd.thickness, |
| | | modd.unit, |
| | | modd.outbound_quantity as outboundQuantity, |
| | | date(modd.date_of_manufacture) as dateOfManufacture, |
| | | modd.single_piece_area as singlePieceArea, |
| | | modd.inventory_area as inventoryArea, |
| | | modd.remarks, |
| | | ou.use_count as inventoryQuantity, |
| | | if(mo.reviewed_state!=1,modd.outbound_quantity+ou.not_use_count,ou.not_use_count) as availableQuantity, |
| | | ms.json |
| | | from mm.material_outbound_detail modd left join pp.optimize_use ou on modd.use_id=ou.id |
| | | left join mm.material_outbound mo on modd.material_outbound_id=mo.material_outbound_id |
| | | left join mm.material_store ms on modd.material_code=ms.id |
| | | <where> |
| | | <if test="materialOutboundDetail.materialOutboundId != null and materialOutboundDetail.materialOutboundId != ''"> |
| | | and modd.material_outbound_id regexp #{materialOutboundDetail.materialOutboundId} |
| | |
| | | ) |
| | | </insert> |
| | | |
| | | <insert id="updateMaterialOutbound" > |
| | | update mm.material_outbound |
| | | set material_requisition_personnel=#{materialOutbound.materialRequisitionPersonnel}, |
| | | material_requisition_team=#{materialOutbound.materialRequisitionTeam}, |
| | | order_id=#{materialOutbound.orderId}, |
| | | outbound_type=#{materialOutbound.outboundType}, |
| | | warehouse_manager=#{materialOutbound.warehouseManager}, |
| | | material_requisition_date=#{materialOutbound.materialRequisitionDate} |
| | | where material_outbound_id = #{number} |
| | | </insert> |
| | | |
| | | <insert id="insertMaterialOutboundDetail" useGeneratedKeys="true" > |
| | | insert into mm.material_outbound_detail (material_outbound_id,material_outbound_number,material_code,material_name,inventory_id,inventory_organization,producer,unit,width, |
| | | 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.id}, |
| | | #{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> |
| | | |
| | | <update id="updateMaterialInventoryAvailableOptOut"> |
| | | update mm.material_inventory |
| | | set available_quantity=available_quantity-#{quantity} |
| | | where id=#{useId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryAvailableOptInt"> |
| | | update mm.material_inventory |
| | | set available_quantity=available_quantity+#{quantity} |
| | | where id=#{useId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryAvailableOut"> |
| | | update mm.material_inventory |
| | | set available_quantity=available_quantity-#{quantity} |
| | |
| | | |
| | | <update id="updateMaterialInventoryInventoryOut"> |
| | | update mm.material_inventory |
| | | set inventory_quantity=inventory_quantity-#{quantity} |
| | | set inventory_quantity=inventory_quantity-#{quantity},plan_quantity=if(plan_quantity-#{quantity}>=0,plan_quantity-#{quantity},0),total_area=inventory_quantity*single_piece_area |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryInventoryInt"> |
| | | update mm.material_inventory |
| | | set inventory_quantity=inventory_quantity+#{quantity} |
| | | set inventory_quantity=inventory_quantity+#{quantity},plan_quantity=plan_quantity+#{quantity},total_area=inventory_quantity*single_piece_area |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryAvailableInventoryOut"> |
| | | update mm.material_inventory |
| | | set available_quantity=available_quantity-#{quantity},inventory_quantity=inventory_quantity-#{quantity} |
| | | set available_quantity=available_quantity-#{quantity},inventory_quantity=inventory_quantity-#{quantity},total_area=inventory_quantity*single_piece_area |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryAvailableInventoryInt"> |
| | | update mm.material_inventory |
| | | set available_quantity=available_quantity+#{quantity},inventory_quantity=inventory_quantity+#{quantity} |
| | | set available_quantity=available_quantity+#{quantity},inventory_quantity=inventory_quantity+#{quantity},total_area=inventory_quantity*single_piece_area |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryReturning" > |
| | | update mm.material_inventory set inventory_quantity=inventory_quantity+#{returningWarehouseDetail.returnQuantity}, |
| | | update mm.material_inventory set available_quantity=available_quantity+#{returningWarehouseDetail.returnQuantity}, |
| | | total_area=total_area+#{totalArea} |
| | | where material_code=#{materialCode} and |
| | | date_of_manufacture=#{returningWarehouseDetail.dateOfManufacture} |
| | |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryReturningNull" > |
| | | update mm.material_inventory set inventory_quantity=inventory_quantity+#{returningWarehouseDetail.returnQuantity}, |
| | | update mm.material_inventory set available_quantity=available_quantity+#{returningWarehouseDetail.returnQuantity}, |
| | | total_area=total_area+#{totalArea} |
| | | where material_code=#{materialCode} and |
| | | date_of_manufacture is null |
| | |
| | | where returning_id=#{number} and returning_number=#{returningWarehouseNumber} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryArea" > |
| | | update mm.material_inventory set single_piece_area=#{singlePieceArea}, |
| | | total_area=inventory_quantity*#{singlePieceArea} |
| | | where material_code=#{materialCode} |
| | | </update> |
| | | |
| | | |
| | | <select id="getSelectSurplusMaterialsDate" > |
| | | select * |
| | | from mm.surplus_materials |
| | | <where> |
| | | and date(create_time)>=#{startDate} and date(create_time) <= #{endDate} and quantity>0 |
| | | <if test="surplusMaterials.width != null and surplusMaterials.width != ''"> |
| | | and width regexp #{surplusMaterials.width} |
| | | </if> |
| | | <if test="surplusMaterials.height != null and surplusMaterials.height != ''"> |
| | | and height regexp #{surplusMaterials.height} |
| | | </if> |
| | | <if test="surplusMaterials.thickness != null and surplusMaterials.thickness != ''"> |
| | | and thickness regexp #{surplusMaterials.thickness} |
| | | </if> |
| | | <if test="surplusMaterials.quantity != null and surplusMaterials.quantity != ''"> |
| | | and quantity regexp #{surplusMaterials.quantity} |
| | | </if> |
| | | <if test="surplusMaterials.colour != null and surplusMaterials.colour != ''"> |
| | | and colour regexp #{surplusMaterials.colour} |
| | | </if> |
| | | <if test="surplusMaterials.remarks != null and surplusMaterials.remarks != ''"> |
| | | and remarks regexp #{surplusMaterials.remarks} |
| | | </if> |
| | | </where> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectSurplusMaterialsDatePageTotal" > |
| | | select CEILING(count(id)/#{pageSize}) as 'pageTotal', |
| | | count(id) as 'total' |
| | | from mm.surplus_materials |
| | | <where> |
| | | and date(create_time)>=#{startDate} and date(create_time) <= #{endDate} and quantity>0 |
| | | <if test="surplusMaterials.width != null and surplusMaterials.width != ''"> |
| | | and width regexp #{surplusMaterials.width} |
| | | </if> |
| | | <if test="surplusMaterials.height != null and surplusMaterials.height != ''"> |
| | | and height regexp #{surplusMaterials.height} |
| | | </if> |
| | | <if test="surplusMaterials.thickness != null and surplusMaterials.thickness != ''"> |
| | | and thickness regexp #{surplusMaterials.thickness} |
| | | </if> |
| | | <if test="surplusMaterials.quantity != null and surplusMaterials.quantity != ''"> |
| | | and quantity regexp #{surplusMaterials.quantity} |
| | | </if> |
| | | <if test="surplusMaterials.colour != null and surplusMaterials.colour != ''"> |
| | | and colour regexp #{surplusMaterials.colour} |
| | | </if> |
| | | <if test="surplusMaterials.remarks != null and surplusMaterials.remarks != ''"> |
| | | and remarks regexp #{surplusMaterials.remarks} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectSurplusMaterialsCount" > |
| | | select * |
| | | from mm.surplus_materials |
| | | where width=#{surplusMaterials.width} and height=#{surplusMaterials.height} |
| | | and thickness=#{surplusMaterials.thickness} and colour=#{surplusMaterials.colour} limit 0,1 |
| | | </select> |
| | | |
| | | |
| | | <insert id="insertSurplusMaterials"> |
| | | insert into mm.surplus_materials (width,height,thickness,quantity,colour,create_time) |
| | | values (#{surplusMaterials.width},#{surplusMaterials.height},#{surplusMaterials.thickness},#{surplusMaterials.quantity},#{surplusMaterials.colour},now()) |
| | | </insert> |
| | | |
| | | <insert id="insertSurplusMaterialsLog"> |
| | | insert into mm.surplus_materials_log (width,height,thickness,quantity,colour,type,creator,create_time) |
| | | values (#{surplusMaterials.width},#{surplusMaterials.height},#{surplusMaterials.thickness}, |
| | | #{surplusMaterials.quantity},#{surplusMaterials.colour},#{type},#{creator},now()) |
| | | </insert> |
| | | |
| | | <update id="updateSurplusMaterialsOutQuantity"> |
| | | update mm.surplus_materials set quantity=quantity-#{surplusMaterials.quantity} where id=#{surplusMaterials.id} |
| | | </update> |
| | | |
| | | <update id="updateSurplusMaterialsIntQuantity"> |
| | | update mm.surplus_materials set quantity=quantity+#{surplusMaterials.quantity} where id=#{surplusMaterials.id} |
| | | </update> |
| | | |
| | | <select id="getPrintCreateOutbound" > |
| | | select id, |
| | | material_outbound_id, |
| | | material_requisition_personnel, |
| | | material_requisition_team, |
| | | order_id, |
| | | outbound_type, |
| | | warehouse_manager, |
| | | date(material_requisition_date) as material_requisition_date, |
| | | reviewed, |
| | | date(reviewed_time) as reviewed_time, |
| | | reviewed_state, |
| | | date(create_time) as create_time |
| | | from mm.material_outbound |
| | | where material_outbound_id = #{materialOutboundId} |
| | | </select> |
| | | |
| | | <select id="getPrintCreateOutboundDetail" > |
| | | select |
| | | ou.project_no as projectNo, |
| | | modd.inventory_id as id, |
| | | modd.inventory_organization as inventoryOrganization, |
| | | modd.material_code as materialCode, |
| | | modd.material_name as materialName, |
| | | modd.producer, |
| | | modd.width, |
| | | modd.height, |
| | | modd.thickness, |
| | | modd.unit, |
| | | modd.outbound_quantity as outboundQuantity, |
| | | date(modd.date_of_manufacture) as dateOfManufacture, |
| | | modd.single_piece_area as singlePieceArea, |
| | | modd.inventory_area as inventoryArea, |
| | | modd.remarks, |
| | | ou.use_count as inventoryQuantity, |
| | | if(mo.reviewed_state!=1,modd.outbound_quantity+ou.not_use_count,ou.not_use_count) as availableQuantity, |
| | | ms.json, |
| | | modd.producer |
| | | from mm.material_outbound_detail modd left join pp.optimize_use ou on modd.use_id=ou.id |
| | | left join mm.material_outbound mo on modd.material_outbound_id=mo.material_outbound_id |
| | | left join mm.material_store ms on modd.material_code=ms.id |
| | | where modd.material_outbound_id = #{materialOutboundId} |
| | | </select> |
| | | |
| | | <select id="getMaterialInventoryById" > |
| | | select |
| | | * |
| | | from mm.material_inventory mi |
| | | where mi.id = #{id} |
| | | </select> |
| | | |
| | | |
| | | </mapper> |