| | |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="selectMaterialOutboundLog" type="com.example.erp.entity.mm.MaterialLog" > |
| | | <id column="id" property="id"/> |
| | | <result column="operation_order_number" property="operationOrderNumber"/> |
| | | <result column="operate_type" property="operateType"/> |
| | | <result column="operation_number" property="operationNumber"/> |
| | | <result column="inventory_id" property="inventoryId"/> |
| | | <result column="material_code" property="materialCode"/> |
| | | <result column="material_name" property="materialName"/> |
| | | <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="quantity" property="quantity"/> |
| | | <result column="single_piece_area" property="singlePieceArea"/> |
| | | <result column="inventory_area" property="inventoryArea"/> |
| | | <result column="operator" property="operator"/> |
| | | <result column="remarks" property="remarks"/> |
| | | <result column="operate_time" property="operateTime"/> |
| | | <result column="use_count" property="useCount"/> |
| | | |
| | | <result column="order_id" property="materialOutbound.orderId"/> |
| | | <result column="project" property="materialOutbound.project"/> |
| | | <result column="batch" property="materialOutbound.batch"/> |
| | | </resultMap> |
| | | |
| | | |
| | | |
| | | <select id="getSelectMaterialInventoryDate"> |
| | |
| | | mi.inventory_quantity AS inventoryQuantity, |
| | | ou.not_use_count AS availableQuantity, |
| | | ou.not_use_count AS planQuantity, |
| | | ou.not_use_count AS outboundQuantity, |
| | | mi.id, |
| | | mi.inventory_organization as inventoryOrganization, |
| | | mi.material_code AS materialCode, |
| | |
| | | <if test="materialOutbound.reviewed != null and materialOutbound.reviewed != ''"> |
| | | and mo.reviewed regexp #{materialOutbound.reviewed} |
| | | </if> |
| | | <if test="materialOutbound.project != null and materialOutbound.project != ''"> |
| | | and mo.project regexp #{materialOutbound.project} |
| | | </if> |
| | | <if test="materialOutbound.batch != null and materialOutbound.batch != ''"> |
| | | and mo.batch regexp #{materialOutbound.batch} |
| | | </if> |
| | | </where> |
| | | order by mo.create_time desc |
| | | limit #{offset},#{pageSize}; |
| | |
| | | </if> |
| | | <if test="materialOutbound.reviewed != null and materialOutbound.reviewed != ''"> |
| | | and mo.reviewed regexp #{materialOutbound.reviewed} |
| | | </if> |
| | | <if test="materialOutbound.project != null and materialOutbound.project != ''"> |
| | | and mo.project regexp #{materialOutbound.project} |
| | | </if> |
| | | <if test="materialOutbound.batch != null and materialOutbound.batch != ''"> |
| | | and mo.batch regexp #{materialOutbound.batch} |
| | | </if> |
| | | </where> |
| | | </select> |
| | |
| | | delete from mm.material_log where operation_order_number=#{materialOutboundId} |
| | | </delete> |
| | | |
| | | <delete id="deleteMaterialLogById" > |
| | | delete from mm.material_log where id=#{id} |
| | | </delete> |
| | | |
| | | <delete id="deleteReturningWarehouseDetail" > |
| | | delete from mm.returning_warehouse_detail where returning_id=#{returningId} |
| | | </delete> |
| | |
| | | </select> |
| | | |
| | | <select id="getMaterialInventoryCount" > |
| | | select count(*) 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} |
| | | </select> |
| | | |
| | | <select id="getMaterialInventoryCountNull" > |
| | | select count(*) 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 |
| | | </select> |
| | | |
| | | <select id="getMaterialInventoryCountId" > |
| | |
| | | |
| | | <insert id="insertMaterialOutbound" useGeneratedKeys="true" > |
| | | 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) |
| | | warehouse_manager,material_requisition_date,reviewed_state,create_time,project,batch) |
| | | values ( |
| | | #{number} ,#{materialOutbound.materialRequisitionPersonnel},#{materialOutbound.materialRequisitionTeam}, |
| | | #{materialOutbound.orderId},#{materialOutbound.outboundType},#{materialOutbound.warehouseManager},#{materialOutbound.materialRequisitionDate}, |
| | | 0,now() |
| | | 0,now(),#{materialOutbound.project},#{materialOutbound.batch} |
| | | ) |
| | | </insert> |
| | | |
| | |
| | | order_id=#{materialOutbound.orderId}, |
| | | outbound_type=#{materialOutbound.outboundType}, |
| | | warehouse_manager=#{materialOutbound.warehouseManager}, |
| | | material_requisition_date=#{materialOutbound.materialRequisitionDate} |
| | | material_requisition_date=#{materialOutbound.materialRequisitionDate}, |
| | | project=#{materialOutbound.project}, |
| | | batch=#{materialOutbound.batch} |
| | | where material_outbound_id = #{number} |
| | | </insert> |
| | | |
| | |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryInventoryOut"> |
| | | <update id="updateMaterialInventoryInventoryPlanQuantityOut"> |
| | | update mm.material_inventory |
| | | 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 id="updateMaterialInventoryInventoryPlanQuantityInt"> |
| | | update mm.material_inventory |
| | | set inventory_quantity=inventory_quantity+#{quantity},plan_quantity=plan_quantity+#{quantity},total_area=inventory_quantity*single_piece_area |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryInventoryOut"> |
| | | update mm.material_inventory |
| | | set inventory_quantity=inventory_quantity-#{quantity},total_area=inventory_quantity*single_piece_area |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryInventoryInt"> |
| | | update mm.material_inventory |
| | | set inventory_quantity=inventory_quantity+#{quantity},total_area=inventory_quantity*single_piece_area |
| | | where id=#{inventoryId} |
| | | </update> |
| | | |
| | |
| | | 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} |
| | | where material_code=#{materialCode} and date_of_manufacture is null |
| | | </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} |
| | | </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 |
| | | </update> |
| | | |
| | | <update id="updateMaterialInventoryReturning" > |
| | |
| | | where mi.id = #{id} |
| | | </select> |
| | | |
| | | <select id="getMaterialLogReport" > |
| | | <select id="getMaterialLogReport" resultMap="selectMaterialOutboundLog"> |
| | | select * |
| | | from mm.material_log ml |
| | | from mm.material_log ml left join mm.material_outbound mo on mo.material_outbound_id=ml.operation_order_number |
| | | <where> |
| | | date(ml.operate_time)>=#{startDate} and date(ml.operate_time) <= #{endDate} and ml.operate_type=#{type} |
| | | <if test="materialLog.operateType != null and materialLog.operateType != ''"> |
| | |
| | | </if> |
| | | |
| | | <if test="materialLog.inventoryId != null and materialLog.inventoryId != ''"> |
| | | and ml.inventoryId regexp #{materialLog.inventoryId} |
| | | and ml.inventory_id regexp #{materialLog.inventoryId} |
| | | </if> |
| | | <if test="materialLog.materialCode != null and materialLog.materialCode != ''"> |
| | | and ml.materialCode regexp #{materialLog.materialCode} |
| | | and ml.material_code regexp #{materialLog.materialCode} |
| | | </if> |
| | | <if test="materialLog.materialName != null and materialLog.materialName != ''"> |
| | | and ml.materialName regexp #{materialLog.materialName} |
| | | and ml.material_name regexp #{materialLog.materialName} |
| | | </if> |
| | | <if test="materialLog.producer != null and materialLog.producer != ''"> |
| | | and ml.producer regexp #{materialLog.producer} |
| | |
| | | and ml.operator regexp #{materialLog.operator} |
| | | </if> |
| | | <if test="materialLog.remarks != null and materialLog.remarks != ''"> |
| | | and ml.remarks regexp #{materialLog.remarksr} |
| | | and ml.remarks regexp #{materialLog.remarks} |
| | | </if> |
| | | <if test="materialLog.projectNo != null and materialLog.projectNo != ''"> |
| | | and ml.project_no regexp #{materialLog.projectNo} |
| | | </if> |
| | | <if test="materialLog.materialOutbound!=null and (materialLog.materialOutbound.orderId != null and materialLog.materialOutbound.orderId != '')"> |
| | | and mo.order_id regexp #{materialLog.materialOutbound.orderId} |
| | | </if> |
| | | <if test=" materialLog.materialOutbound!=null and materialLog.materialOutbound.project != null and materialLog.materialOutbound.project != ''"> |
| | | and mo.project regexp #{materialLog.materialOutbound.project} |
| | | </if> |
| | | <if test=" materialLog.materialOutbound!=null and materialLog.materialOutbound.batch != null and materialLog.materialOutbound.batch != ''"> |
| | | and mo.batch regexp #{materialLog.materialOutbound.batch} |
| | | </if> |
| | | </where> |
| | | order by ml.id desc |
| | |
| | | <select id="getMaterialLogReportTotal"> |
| | | select CEILING(count(ml.id)/#{pageSize}) as 'pageTotal', |
| | | count(ml.id) as 'total' |
| | | from mm.material_log ml |
| | | from mm.material_log ml left join mm.material_outbound mo on mo.material_outbound_id=ml.operation_order_number |
| | | <where> |
| | | date(ml.operate_time)>=#{startDate} and date(ml.operate_time) <= #{endDate} and ml.operate_type=#{type} |
| | | <if test="materialLog.operateType != null and materialLog.operateType != ''"> |
| | |
| | | </if> |
| | | |
| | | <if test="materialLog.inventoryId != null and materialLog.inventoryId != ''"> |
| | | and ml.inventoryId regexp #{materialLog.inventoryId} |
| | | and ml.inventory_id regexp #{materialLog.inventoryId} |
| | | </if> |
| | | <if test="materialLog.materialCode != null and materialLog.materialCode != ''"> |
| | | and ml.materialCode regexp #{materialLog.materialCode} |
| | | and ml.material_code regexp #{materialLog.materialCode} |
| | | </if> |
| | | <if test="materialLog.materialName != null and materialLog.materialName != ''"> |
| | | and ml.materialName regexp #{materialLog.materialName} |
| | | and ml.material_name regexp #{materialLog.materialName} |
| | | </if> |
| | | <if test="materialLog.producer != null and materialLog.producer != ''"> |
| | | and ml.producer regexp #{materialLog.producer} |
| | |
| | | and ml.operator regexp #{materialLog.operator} |
| | | </if> |
| | | <if test="materialLog.remarks != null and materialLog.remarks != ''"> |
| | | and ml.remarks regexp #{materialLog.remarksr} |
| | | and ml.remarks regexp #{materialLog.remarks} |
| | | </if> |
| | | <if test="materialLog.projectNo != null and materialLog.projectNo != ''"> |
| | | and ml.project_no regexp #{materialLog.projectNo} |
| | | </if> |
| | | <if test="materialLog.materialOutbound!=null and (materialLog.materialOutbound.orderId != null and materialLog.materialOutbound.orderId != '')"> |
| | | and mo.order_id regexp #{materialLog.materialOutbound.orderId} |
| | | </if> |
| | | <if test=" materialLog.materialOutbound!=null and materialLog.materialOutbound.project != null and materialLog.materialOutbound.project != ''"> |
| | | and mo.project regexp #{materialLog.materialOutbound.project} |
| | | </if> |
| | | <if test=" materialLog.materialOutbound!=null and materialLog.materialOutbound.batch != null and materialLog.materialOutbound.batch != ''"> |
| | | and mo.batch regexp #{materialLog.materialOutbound.batch} |
| | | </if> |
| | | </where> |
| | | </select> |
| | |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="updateMaterialOutboundOptimizeUses"> |
| | | <update id="updateMaterialOutboundOptimizeUses"> |
| | | update mm.material_outbound_detail set outbound_quantity=outbound_quantity+#{quantity} where use_id=#{useId}; |
| | | </select> |
| | | </update> |
| | | |
| | | <select id="updateOptimizeUsesMes"> |
| | | <update id="updateOptimizeUsesMes"> |
| | | update pp.optimize_use set not_use_count=not_use_count-#{quantity} where id=#{useId}; |
| | | </select> |
| | | </update> |
| | | |
| | | <insert id="insertMaterialOutboundDetailOptimizeUses" useGeneratedKeys="true" > |
| | | insert into mm.material_outbound_detail (material_outbound_id,material_outbound_number,material_code,use_id,inventory_id,inventory_organization, |
| | |
| | | ) |
| | | </insert> |
| | | |
| | | <select id="selectProjectNo"> |
| | | select project_no from pp.optimize_use where id=#{useId}; |
| | | </select> |
| | | |
| | | <select id="getOptimizeOutboundReport"> |
| | | SELECT |
| | | ml.operation_order_number, |
| | | ml.project_no, |
| | | ml.inventory_id, |
| | | ml.material_name, |
| | | ml.unit, |
| | | ml.width, |
| | | ml.height, |
| | | ml.thickness, |
| | | ml.quantity, |
| | | round(ml.width*ml.height*ml.quantity/1000000,2) as area, |
| | | ou.use_count, |
| | | ou.not_use_count, |
| | | ml.operator, |
| | | ml.operate_time |
| | | |
| | | FROM |
| | | mm.material_log AS ml |
| | | LEFT JOIN pp.optimize_use AS ou ON ou.project_no = ml.project_no |
| | | AND ou.raw_stock_code = ml.inventory_id |
| | | WHERE |
| | | ou.project_no IS NOT NULL |
| | | AND date( ml.operate_time )>= #{startDate} and date(ml.operate_time) <= #{endDate} |
| | | and ml.operate_type=#{type} |
| | | |
| | | <if test="materialLog.operationOrderNumber != null and materialLog.operationOrderNumber != ''"> |
| | | and ml.operation_order_number regexp #{materialLog.operationOrderNumber} |
| | | </if> |
| | | <if test="materialLog.useCount != null and materialLog.useCount != ''"> |
| | | and ou.use_count regexp #{materialLog.useCount} |
| | | </if> |
| | | <if test="materialLog.quantity != null and materialLog.quantity != ''"> |
| | | and ml.quantity regexp #{materialLog.quantity} |
| | | </if> |
| | | <if test="materialLog.width != null and materialLog.width != ''"> |
| | | and ml.width regexp REGEXP_REPLACE(#{materialLog.width},'\\.0+$','') |
| | | </if> |
| | | <if test="materialLog.height != null and materialLog.height != ''"> |
| | | and ml.height regexp REGEXP_REPLACE(#{materialLog.height},'\\.0+$','') |
| | | </if> |
| | | <if test="materialLog.thickness != null and materialLog.thickness != ''"> |
| | | and ml.thickness regexp REGEXP_REPLACE(#{materialLog.thickness},'\\.0+$','') |
| | | </if> |
| | | |
| | | <if test="materialLog.inventoryId != null and materialLog.inventoryId != ''"> |
| | | and ml.inventory_id regexp #{materialLog.inventoryId} |
| | | </if> |
| | | |
| | | <if test="materialLog.materialName != null and materialLog.materialName != ''"> |
| | | and ml.material_name regexp #{materialLog.materialName} |
| | | </if> |
| | | <if test="materialLog.producer != null and materialLog.producer != ''"> |
| | | and ml.producer regexp #{materialLog.producer} |
| | | </if> |
| | | <if test="materialLog.unit != null and materialLog.unit != ''"> |
| | | and ml.unit regexp #{materialLog.unit} |
| | | </if> |
| | | <if test="materialLog.operator != null and materialLog.operator != ''"> |
| | | and ml.operator regexp #{materialLog.operator} |
| | | </if> |
| | | <if test="materialLog.remarks != null and materialLog.remarks != ''"> |
| | | and ml.remarks regexp #{materialLog.remarksr} |
| | | </if> |
| | | order by ml.id desc |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getOptimizeOutboundReportTotal"> |
| | | SELECT |
| | | CEILING(count(ml.id)/#{pageSize}) as 'pageTotal', |
| | | count(ml.id) as 'total' |
| | | |
| | | FROM |
| | | mm.material_log AS ml |
| | | LEFT JOIN pp.optimize_use AS ou ON ou.project_no = ml.project_no |
| | | AND ou.raw_stock_code = ml.inventory_id |
| | | WHERE |
| | | ou.project_no IS NOT NULL |
| | | AND date( ml.operate_time )>= #{startDate} and date(ml.operate_time) <= #{endDate} |
| | | and ml.operate_type=#{type} |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectMaterialInventoryMes"> |
| | | select |
| | | mi.id, |
| | | mi.material_code AS materialCode, |
| | | mi.producer, |
| | | sum(mi.available_quantity) AS availableQuantity, |
| | | 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 |
| | | 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> |
| | | </mapper> |