| | |
| | | <select id="listPage" resultType="com.ruoyi.stock.dto.StockInRecordDto"> |
| | | SELECT |
| | | sir.*, |
| | | p.product_name as productName, |
| | | p.product_name as product_name, |
| | | pm.model, |
| | | pm.unit |
| | | pm.unit, |
| | | pm.thickness, |
| | | u.nick_name as createBy, |
| | | CASE |
| | | WHEN sir.record_type IN ('6', '7', '18', '19', '20') THEN pl.purchase_contract_number |
| | | ELSE sl.sales_contract_no |
| | | END as salesContractNo |
| | | FROM stock_in_record as sir |
| | | LEFT JOIN product_model as pm on sir.product_model_id = pm.id |
| | | LEFT JOIN product as p on pm.product_id = p.id |
| | | LEFT JOIN sys_user as u on sir.create_user = u.user_id |
| | | LEFT JOIN quality_inspect as qi on qi.id = sir.record_id and sir.record_type = '6' |
| | | LEFT JOIN sales_ledger_product as slp_link on slp_link.id = COALESCE(sir.sales_ledger_product_id, sir.record_id) |
| | | LEFT JOIN sales_ledger as sl on sl.id = COALESCE(sir.sales_ledger_id, slp_link.sales_ledger_id, sir.record_id) |
| | | and sir.record_type NOT IN ('6', '7', '18', '19', '20') |
| | | LEFT JOIN purchase_ledger as pl on pl.id = CASE |
| | | WHEN sir.record_type = '6' THEN qi.purchase_ledger_id |
| | | ELSE COALESCE(sir.sales_ledger_id, slp_link.sales_ledger_id, sir.record_id) |
| | | END |
| | | and sir.record_type IN ('6', '7', '18', '19', '20') |
| | | <where> |
| | | <if test="params.timeStr != null and params.timeStr != ''"> |
| | | and sir.create_time like concat('%',#{param.timeStr},'%') |
| | | and sir.create_time like concat('%',#{params.timeStr},'%') |
| | | </if> |
| | | <if test="params.productName != null and params.productName != ''"> |
| | | and p.product_name like concat('%',#{params.productName},'%') |
| | | </if> |
| | | <if test="params.salesContractNo != null and params.salesContractNo != ''"> |
| | | and ( |
| | | (sir.record_type IN ('6', '7', '18', '19', '20') and pl.purchase_contract_number like concat('%',#{params.salesContractNo},'%')) |
| | | or |
| | | (sir.record_type NOT IN ('6', '7', '18', '19', '20') and sl.sales_contract_no like concat('%',#{params.salesContractNo},'%')) |
| | | ) |
| | | </if> |
| | | <if test="params.type != null and params.type != ''"> |
| | | and sir.type = #{params.type} |
| | | </if> |
| | | <if test="params.recordType != null and params.recordType != ''"> |
| | | and sir.record_type = #{params.recordType} |
| | | </if> |
| | | </where> |
| | | order by sir.id desc |
| | | </select> |
| | | <select id="listStockInRecordExportData" resultType="com.ruoyi.stock.execl.StockInRecordExportData"> |
| | | SELECT |
| | | sir.*, |
| | | p.product_name as product_name, |
| | | pm.model, |
| | | pm.unit, |
| | | u.nick_name as createBy, |
| | | CASE |
| | | WHEN sir.record_type IN ('6', '7', '18', '19', '20') THEN pl.purchase_contract_number |
| | | ELSE sl.sales_contract_no |
| | | END as salesContractNo |
| | | FROM stock_in_record as sir |
| | | LEFT JOIN product_model as pm on sir.product_model_id = pm.id |
| | | LEFT JOIN product as p on pm.product_id = p.id |
| | | LEFT JOIN sys_user as u on sir.create_user = u.user_id |
| | | LEFT JOIN quality_inspect as qi on qi.id = sir.record_id and sir.record_type = '6' |
| | | LEFT JOIN sales_ledger_product as slp_link on slp_link.id = COALESCE(sir.sales_ledger_product_id, sir.record_id) |
| | | LEFT JOIN sales_ledger as sl on sl.id = COALESCE(sir.sales_ledger_id, slp_link.sales_ledger_id, sir.record_id) |
| | | and sir.record_type NOT IN ('6', '7', '18', '19', '20') |
| | | LEFT JOIN purchase_ledger as pl on pl.id = CASE |
| | | WHEN sir.record_type = '6' THEN qi.purchase_ledger_id |
| | | ELSE COALESCE(sir.sales_ledger_id, slp_link.sales_ledger_id, sir.record_id) |
| | | END |
| | | and sir.record_type IN ('6', '7', '18', '19', '20') |
| | | <where> |
| | | <if test="params.timeStr != null and params.timeStr != ''"> |
| | | and sir.create_time like concat('%',#{params.timeStr},'%') |
| | | </if> |
| | | <if test="params.productName != null and params.productName != ''"> |
| | | and p.product_name like concat('%',#{params.productName},'%') |
| | | </if> |
| | | <if test="params.salesContractNo != null and params.salesContractNo != ''"> |
| | | and ( |
| | | (sir.record_type IN ('6', '7', '18', '19', '20') and pl.purchase_contract_number like concat('%',#{params.salesContractNo},'%')) |
| | | or |
| | | (sir.record_type NOT IN ('6', '7', '18', '19', '20') and sl.sales_contract_no like concat('%',#{params.salesContractNo},'%')) |
| | | ) |
| | | </if> |
| | | <if test="params.type != null and params.type != ''"> |
| | | and sir.type = #{params.type} |
| | | </if> |
| | | <if test="params.recordType != null and params.recordType != ''"> |
| | | and sir.record_type = #{params.recordType} |
| | | </if> |
| | | </where> |
| | | order by sir.id desc |