| | |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | |
| | | <select id="listPage" resultType="com.ruoyi.stock.dto.StockOutRecordDto"> |
| | |
| | | sor.*, |
| | | p.product_name as productName, |
| | | pm.model, |
| | | pm.unit |
| | | pm.unit, |
| | | pm.thickness, |
| | | u.nick_name as createBy, |
| | | CASE |
| | | WHEN sor.record_type IN ('9', '16', '12') THEN pl.purchase_contract_number |
| | | ELSE sl.sales_contract_no |
| | | END as salesContractNo |
| | | FROM stock_out_record as sor |
| | | LEFT JOIN product_model as pm on sor.product_model_id = pm.id |
| | | LEFT JOIN product as p on pm.product_id = p.id |
| | | LEFT JOIN sys_user as u on sor.create_user = u.user_id |
| | | LEFT JOIN sales_ledger_product as slp_link on slp_link.id = COALESCE(sor.sales_ledger_product_id, sor.record_id) |
| | | LEFT JOIN sales_ledger as sl on sl.id = COALESCE(sor.sales_ledger_id, slp_link.sales_ledger_id, sor.record_id) |
| | | and sor.record_type NOT IN ('9', '16', '12') |
| | | LEFT JOIN purchase_ledger as pl on pl.id = COALESCE(sor.sales_ledger_id, slp_link.sales_ledger_id, sor.record_id) |
| | | and sor.record_type IN ('9', '16', '12') |
| | | <where> |
| | | <if test="params.timeStr != null and params.timeStr != ''"> |
| | | and sor.create_time like concat('%',#{param.timeStr},'%') |
| | | and sor.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 ( |
| | | (sor.record_type IN ('9', '16', '12') and pl.purchase_contract_number like concat('%',#{params.salesContractNo},'%')) |
| | | or |
| | | (sor.record_type NOT IN ('9', '16', '12') and sl.sales_contract_no like concat('%',#{params.salesContractNo},'%')) |
| | | ) |
| | | </if> |
| | | <if test="params.type != null and params.type != ''"> |
| | | and sor.type = #{params.type} |
| | | </if> |
| | | <if test="params.recordType != null and params.recordType != ''"> |
| | | and sor.record_type = #{params.recordType} |
| | | </if> |
| | | </where> |
| | | order by sor.id desc |
| | | </select> |
| | | <select id="listStockOutRecordExportData" resultType="com.ruoyi.stock.execl.StockOutRecordExportData"> |
| | | SELECT |
| | | sor.*, |
| | | p.product_name as productName, |
| | | pm.model, |
| | | pm.unit, |
| | | u.nick_name as createBy, |
| | | CASE |
| | | WHEN sor.record_type IN ('9', '16', '12') THEN pl.purchase_contract_number |
| | | ELSE sl.sales_contract_no |
| | | END as salesContractNo |
| | | FROM stock_out_record as sor |
| | | LEFT JOIN product_model as pm on sor.product_model_id = pm.id |
| | | LEFT JOIN product as p on pm.product_id = p.id |
| | | LEFT JOIN sys_user as u on sor.create_user = u.user_id |
| | | LEFT JOIN sales_ledger_product as slp_link on slp_link.id = COALESCE(sor.sales_ledger_product_id, sor.record_id) |
| | | LEFT JOIN sales_ledger as sl on sl.id = COALESCE(sor.sales_ledger_id, slp_link.sales_ledger_id, sor.record_id) |
| | | and sor.record_type NOT IN ('9', '16', '12') |
| | | LEFT JOIN purchase_ledger as pl on pl.id = COALESCE(sor.sales_ledger_id, slp_link.sales_ledger_id, sor.record_id) |
| | | and sor.record_type IN ('9', '16', '12') |
| | | <where> |
| | | <if test="params.timeStr != null and params.timeStr != ''"> |
| | | and sor.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 ( |
| | | (sor.record_type IN ('9', '16', '12') and pl.purchase_contract_number like concat('%',#{params.salesContractNo},'%')) |
| | | or |
| | | (sor.record_type NOT IN ('9', '16', '12') and sl.sales_contract_no like concat('%',#{params.salesContractNo},'%')) |
| | | ) |
| | | </if> |
| | | <if test="params.type != null and params.type != ''"> |
| | | and sor.type = #{params.type} |
| | | </if> |
| | | <if test="params.recordType != null and params.recordType != ''"> |
| | | and sor.record_type = #{params.recordType} |
| | | </if> |
| | | </where> |
| | | order by sor.id desc |