| | |
| | | <result column="version" property="version"/> |
| | | <result column="locked_quantity" property="lockedQuantity"/> |
| | | <result column="warn_num" property="warnNum"/> |
| | | <result column="process_category" property="processCategory"/> |
| | | <result column="voltage" property="voltage"/> |
| | | <result column="batch_no" property="batchNo"/> |
| | | </resultMap> |
| | | <update id="updateAddStockInventory"> |
| | | update stock_inventory |
| | |
| | | where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity} |
| | | </update> |
| | | <select id="pagestockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto"> |
| | | select si.id, |
| | | SELECT |
| | | si.id, |
| | | si.qualitity, |
| | | COALESCE(si.locked_quantity, 0) AS locked_quantity, |
| | | si.product_model_id, |
| | | si.create_time, |
| | | si.update_time, |
| | | COALESCE(si.warn_num, 0) AS warn_num, |
| | | si.version, |
| | | (si.qualitity - COALESCE(si.locked_quantity, 0)) AS un_locked_quantity, |
| | | pm.model, |
| | | si.remark, |
| | | si.process_category as processCategory, |
| | | si.voltage, |
| | | pm.unit, |
| | | pm.material_code as materialCode, |
| | | p.product_name, |
| | | p.parent_id, |
| | | p2.product_name AS parent_name, |
| | | si.batch_no |
| | | FROM stock_inventory si |
| | | LEFT JOIN product_model pm ON si.product_model_id = pm.id |
| | | LEFT JOIN product p ON pm.product_id = p.id |
| | | LEFT JOIN product p2 ON p.parent_id = p2.id |
| | | WHERE 1 = 1 |
| | | AND (p2.product_name != '半成品' OR p2.product_name IS NULL) |
| | | <if test="ew.productName != null and ew.productName != ''"> |
| | | AND p.product_name LIKE CONCAT('%', #{ew.productName}, '%') |
| | | </if> |
| | | <if test="ew.processCategory != null and ew.processCategory != ''"> |
| | | AND si.process_category = #{ew.processCategory} |
| | | </if> |
| | | <if test="ew.voltage != null and ew.voltage != ''"> |
| | | AND si.voltage = #{ew.voltage} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="pageListCombinedStockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto"> |
| | | WITH RECURSIVE product_tree AS ( |
| | | SELECT id |
| | | FROM product |
| | | WHERE id = #{ew.topParentProductId} |
| | | |
| | | UNION ALL |
| | | |
| | | SELECT p.id |
| | | FROM product p |
| | | INNER JOIN product_tree pt ON p.parent_id = pt.id |
| | | ) |
| | | select |
| | | MAX(qualifiedId) as qualifiedId, |
| | | MAX(unQualifiedId) as unQualifiedId, |
| | | SUM(qualifiedQuantity) as qualifiedQuantity, |
| | | SUM(unQualifiedQuantity) as unQualifiedQuantity, |
| | | SUM(qualifiedLockedQuantity) as qualifiedLockedQuantity, |
| | | SUM(unQualifiedLockedQuantity) as unQualifiedLockedQuantity, |
| | | SUM(qualifiedQuantity - qualifiedLockedQuantity) as qualifiedUnLockedQuantity, |
| | | SUM(unQualifiedQuantity - unQualifiedLockedQuantity) as unQualifiedUnLockedQuantity, |
| | | product_model_id, |
| | | MAX(create_time) as create_time, |
| | | MAX(update_time) as update_time, |
| | | MAX(warn_num) as warn_num, |
| | | MAX(version) as version, |
| | | model, |
| | | MAX(remark) as remark, |
| | | processCategory, |
| | | voltage, |
| | | unit, |
| | | product_name, |
| | | product_id, |
| | | MAX(qualifiedBatchNo) as qualifiedBatchNo, |
| | | MAX(unQualifiedBatchNo) as unQualifiedBatchNo, |
| | | MAX(materialCode) as materialCode, |
| | | 'combined' as stockType |
| | | from ( |
| | | select |
| | | si.id as qualifiedId, |
| | | null as unQualifiedId, |
| | | si.qualitity as qualifiedQuantity, |
| | | 0 as unQualifiedQuantity, |
| | | COALESCE(si.locked_quantity, 0) as locked_quantity, |
| | | COALESCE(si.locked_quantity, 0) as qualifiedLockedQuantity, |
| | | 0 as unQualifiedLockedQuantity, |
| | | si.product_model_id, |
| | | si.create_time, |
| | | si.update_time, |
| | |
| | | (si.qualitity - COALESCE(si.locked_quantity, 0)) as un_locked_quantity, |
| | | pm.model, |
| | | si.remark, |
| | | si.process_category as processCategory, |
| | | si.voltage as voltage, |
| | | pm.unit, |
| | | p.product_name |
| | | p.product_name, |
| | | p.id as product_id, |
| | | si.batch_no as qualifiedBatchNo, |
| | | null as unQualifiedBatchNo, |
| | | pm.material_code as materialCode |
| | | from stock_inventory si |
| | | left join product_model pm on si.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | where 1 = 1 |
| | | <if test="ew.productName != null and ew.productName !=''"> |
| | | and p.product_name like concat('%',#{ew.productName},'%') |
| | | </if> |
| | | |
| | | union all |
| | | |
| | | select |
| | | null as qualifiedId, |
| | | su.id as unQualifiedId, |
| | | 0 as qualifiedQuantity, |
| | | su.qualitity as unQualifiedQuantity, |
| | | COALESCE(su.locked_quantity, 0) as locked_quantity, |
| | | 0 as qualifiedLockedQuantity, |
| | | COALESCE(su.locked_quantity, 0) as unQualifiedLockedQuantity, |
| | | su.product_model_id, |
| | | su.create_time, |
| | | su.update_time, |
| | | 0 as warn_num, |
| | | su.version, |
| | | (su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity, |
| | | pm.model, |
| | | su.remark, |
| | | '' as processCategory, |
| | | '' as voltage, |
| | | pm.unit, |
| | | p.product_name, |
| | | p.id as product_id, |
| | | null as qualifiedBatchNo, |
| | | su.batch_no as unQualifiedBatchNo, |
| | | pm.material_code as materialCode |
| | | from stock_uninventory su |
| | | left join product_model pm on su.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | ) as combined |
| | | <where> |
| | | <if test="ew.productName != null and ew.productName !=''"> |
| | | and combined.product_name in ( |
| | | select distinct p.product_name |
| | | from product p |
| | | left join product_model pm on p.id = pm.product_id |
| | | where p.product_name like concat('%',#{ew.productName},'%') or pm.model like concat('%',#{ew.productName},'%') |
| | | ) |
| | | </if> |
| | | <if test="ew.topParentProductId != null and ew.topParentProductId > 0"> |
| | | and combined.product_id in (select id from product_tree) |
| | | </if> |
| | | </where> |
| | | group by product_model_id, model, unit, product_name, product_id, unQualifiedBatchNo, materialCode, processCategory, voltage |
| | | </select> |
| | | |
| | | <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData"> |
| | | select si.qualitity, |
| | | WITH RECURSIVE product_tree AS ( |
| | | SELECT id |
| | | FROM product |
| | | WHERE id = #{ew.topParentProductId} |
| | | |
| | | UNION ALL |
| | | |
| | | SELECT p.id |
| | | FROM product p |
| | | INNER JOIN product_tree pt ON p.parent_id = pt.id |
| | | ) |
| | | select |
| | | SUM(qualifiedQuantity) as qualifiedQuantity, |
| | | SUM(unQualifiedQuantity) as unQualifiedQuantity, |
| | | SUM(qualifiedLockedQuantity) as qualifiedLockedQuantity, |
| | | SUM(unQualifiedLockedQuantity) as unQualifiedLockedQuantity, |
| | | model, |
| | | unit, |
| | | product_name, |
| | | processCategory, |
| | | voltage, |
| | | MAX(warn_num) as warn_num, |
| | | MAX(remark) as remark, |
| | | MAX(update_time) as update_time, |
| | | MAX(qualifiedBatchNo) as qualifiedBatchNo, |
| | | MAX(unQualifiedBatchNo) as unQualifiedBatchNo, |
| | | MAX(materialCode) as materialCode |
| | | from ( |
| | | select |
| | | si.qualitity as qualifiedQuantity, |
| | | 0 as unQualifiedQuantity, |
| | | COALESCE(si.locked_quantity, 0) as qualifiedLockedQuantity, |
| | | 0 as unQualifiedLockedQuantity, |
| | | si.product_model_id, |
| | | si.create_time, |
| | | si.update_time, |
| | | COALESCE(si.warn_num, 0) as warn_num, |
| | | si.remark, |
| | | pm.model, |
| | | pm.unit, |
| | | p.product_name, |
| | | coalesce(si.warn_num, 0) as warn_num, |
| | | coalesce(si.locked_quantity, 0) as locked_quantity, |
| | | si.remark, |
| | | si.update_time |
| | | si.process_category as processCategory, |
| | | si.voltage as voltage, |
| | | p.id as product_id, |
| | | si.batch_no as qualifiedBatchNo, |
| | | null as unQualifiedBatchNo, |
| | | pm.material_code as materialCode |
| | | from stock_inventory si |
| | | left join product_model pm on si.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | where 1 = 1 |
| | | <if test="ew.productName != null and ew.productName !=''"> |
| | | and p.product_name like concat('%',#{ew.productName},'%') |
| | | </if> |
| | | |
| | | union all |
| | | |
| | | select |
| | | 0 as qualifiedQuantity, |
| | | su.qualitity as unQualifiedQuantity, |
| | | 0 as qualifiedLockedQuantity, |
| | | COALESCE(su.locked_quantity, 0) as unQualifiedLockedQuantity, |
| | | su.product_model_id, |
| | | su.create_time, |
| | | su.update_time, |
| | | 0 as warn_num, |
| | | su.remark, |
| | | pm.model, |
| | | pm.unit, |
| | | p.product_name, |
| | | '' as processCategory, |
| | | '' as voltage, |
| | | p.id as product_id, |
| | | null as qualifiedBatchNo, |
| | | su.batch_no as unQualifiedBatchNo, |
| | | pm.material_code as materialCode |
| | | from stock_uninventory su |
| | | left join product_model pm on su.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | ) as combined |
| | | <where> |
| | | <if test="ew.productName != null and ew.productName !=''"> |
| | | and combined.product_name in ( |
| | | select distinct p.product_name |
| | | from product p |
| | | left join product_model pm on p.id = pm.product_id |
| | | where p.product_name like concat('%',#{ew.productName},'%') or pm.model like concat('%',#{ew.productName},'%') |
| | | ) |
| | | </if> |
| | | <if test="ew.topParentProductId != null and ew.topParentProductId > 0"> |
| | | and combined.product_id in (select id from product_tree) |
| | | </if> |
| | | </where> |
| | | group by product_model_id, model, unit, product_name, unQualifiedBatchNo, materialCode, processCategory, voltage |
| | | </select> |
| | | <select id="stockInventoryPage" resultType="com.ruoyi.stock.dto.StockInRecordDto"> |
| | | select sir.*,si.qualitity as current_stock, |
| | | pm.model, |
| | | sir.process_category as processCategory, |
| | | sir.voltage, |
| | | pm.unit, |
| | | pm.material_code as materialCode, |
| | | p.product_name, |
| | | su.nick_name as create_by |
| | | from |
| | | stock_in_record sir |
| | | left join stock_inventory si on sir.product_model_id = si.product_model_id |
| | | left join stock_inventory si |
| | | on sir.product_model_id = si.product_model_id |
| | | and ( |
| | | (ifnull(sir.process_category, '') != '' or ifnull(sir.voltage, '') != '') |
| | | and ifnull(sir.process_category, '') = ifnull(si.process_category, '') |
| | | and ifnull(sir.voltage, '') = ifnull(si.voltage, '') |
| | | or |
| | | ifnull(sir.process_category, '') = '' |
| | | and ifnull(sir.voltage, '') = '' |
| | | and ifnull(si.process_category, '') = '' |
| | | and ifnull(si.voltage, '') = '' |
| | | and si.product_model_id = sir.product_model_id |
| | | ) |
| | | left join product_model pm on sir.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | left join sys_user su on sir.create_user = su.user_id |
| | |
| | | GROUP BY DATE(sor.create_time) |
| | | ORDER BY DATE(sor.create_time) ASC |
| | | </select> |
| | | <select id="selectProductList" resultType="com.ruoyi.stock.dto.StockInventoryDto"> |
| | | select si.id, |
| | | si.qualitity, |
| | | COALESCE(si.locked_quantity, 0) as locked_quantity, |
| | | si.product_model_id, |
| | | si.create_time, |
| | | si.update_time, |
| | | COALESCE(si.warn_num, 0) as warn_num, |
| | | si.version, |
| | | (si.qualitity - COALESCE(si.locked_quantity, 0)) as un_locked_quantity, |
| | | pm.model, |
| | | si.remark, |
| | | si.process_category as processCategory, |
| | | si.voltage, |
| | | pm.unit, |
| | | p.product_name, |
| | | p.id as product_id |
| | | from stock_inventory si |
| | | left join product_model pm on si.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | </select> |
| | | |
| | | <select id="selectFinishedProductInventoryList" resultType="com.ruoyi.stock.dto.StockInventoryDto"> |
| | | select si.id, |
| | | si.product_model_id, |
| | | si.process_category as processCategory, |
| | | si.voltage, |
| | | pm.model, |
| | | pm.material_code as materialCode, |
| | | pm.unit, |
| | | p.product_name, |
| | | p.id as product_id |
| | | from stock_inventory si |
| | | left join product_model pm on si.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | left join product pp on p.parent_id = pp.id |
| | | <where> |
| | | pp.product_name = '成品' |
| | | <if test="ew.productName != null and ew.productName != ''"> |
| | | and (p.product_name like concat('%', #{ew.productName}, '%') |
| | | or pm.model like concat('%', #{ew.productName}, '%') |
| | | or pm.material_code like concat('%', #{ew.productName}, '%')) |
| | | </if> |
| | | <if test="ew.processCategory != null and ew.processCategory != ''"> |
| | | and si.process_category = #{ew.processCategory} |
| | | </if> |
| | | <if test="ew.voltage != null and ew.voltage != ''"> |
| | | and si.voltage = #{ew.voltage} |
| | | </if> |
| | | </where> |
| | | order by p.id asc, pm.id asc, si.id asc |
| | | </select> |
| | | |
| | | </mapper> |