| | |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.sales.mapper.ShippingInfoMapper"> |
| | | |
| | | <select id="listPage" resultType="com.ruoyi.sales.pojo.ShippingInfo"> |
| | | <select id="listPage" resultType="com.ruoyi.sales.dto.ShippingInfoDto"> |
| | | SELECT |
| | | s.id, |
| | | s.sales_ledger_id, |
| | | s.shipping_date, |
| | | s.shipping_car_number, |
| | | s.express_number, |
| | | s.express_company, |
| | | s.shipping_no, |
| | | s.type, |
| | | s.status, |
| | | s.create_time, |
| | | s.update_time, |
| | | s.create_user, |
| | | s.update_user, |
| | | s.tenant_id, |
| | | sl.sales_contract_no, |
| | | sl.customer_name |
| | | s.outbound_batches, |
| | | pm.model as specification_model, |
| | | pm.unit, |
| | | p.product_name, |
| | | sl.customer_name, |
| | | spd.totalQuantity, |
| | | sor.outboundBatches, |
| | | pl.purchase_contract_number, |
| | | IFNULL(rs.total_return_num, 0) AS returnedQuantity, |
| | | CASE |
| | | WHEN IFNULL(rs.total_return_num, 0) = 0 THEN '无退货' |
| | | WHEN IFNULL(rs.total_return_num, 0) >= spd.totalQuantity THEN '全部退货' |
| | | ELSE '部分退货' |
| | | END AS returnStatus |
| | | FROM shipping_info s |
| | | LEFT JOIN (select shipping_info_id,sum(quantity) totalQuantity from shipping_product_detail GROUP BY shipping_info_id) spd ON spd.shipping_info_id = s.id |
| | | LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id |
| | | LEFT JOIN purchase_ledger pl ON sl.purchase_ledger_id = pl.id |
| | | LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id and slp.type = 1 |
| | | left join product_model pm on slp.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | left join (select record_id,GROUP_CONCAT(outbound_batches SEPARATOR ',') AS outboundBatches |
| | | from stock_out_record |
| | | where record_type='13'and approval_status=1 |
| | | group by record_id)sor on sor.record_id= s.id |
| | | LEFT JOIN ( |
| | | SELECT |
| | | si.id AS shipping_info_id, |
| | | SUM(rsp.num) AS total_return_num |
| | | FROM return_sale_product rsp |
| | | LEFT JOIN return_management rm ON rm.id = rsp.return_management_id |
| | | LEFT JOIN shipping_info si ON si.id = rm.shipping_id |
| | | WHERE rm.status = 1 |
| | | GROUP BY si.id |
| | | ) rs ON rs.shipping_info_id = s.id |
| | | WHERE 1=1 |
| | | <if test="req.salesContractNo != null and req.salesContractNo != ''"> |
| | | AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%') |
| | |
| | | <if test="req.shippingCarNumber != null and req.shippingCarNumber != ''"> |
| | | AND s.shipping_car_number LIKE CONCAT('%',#{req.shippingCarNumber},'%') |
| | | </if> |
| | | <if test="req.shippingNo != null and req.shippingNo != ''"> |
| | | AND s.shipping_no LIKE CONCAT('%',#{req.shippingNo},'%') |
| | | </if> |
| | | <if test="req.expressNumber != null and req.expressNumber != ''"> |
| | | AND s.express_number LIKE CONCAT('%',#{req.expressNumber},'%') |
| | | </if> |
| | | <if test="req.customerId != null"> |
| | | AND sl.customer_id = #{req.customerId} |
| | | </if> |
| | | order by create_time DESC |
| | | </select> |
| | | <select id="listAll" resultType="com.ruoyi.sales.pojo.ShippingInfo"> |
| | | SELECT |
| | |
| | | FROM shipping_info s |
| | | LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id |
| | | </select> |
| | | </mapper> |
| | | <select id="getReturnManagementDtoById" resultType="com.ruoyi.procurementrecord.bean.vo.ShippingProductVo"> |
| | | SELECT distinct |
| | | sor.id, |
| | | slp.product_category, |
| | | slp.specification_model, |
| | | slp.unit, |
| | | slp.product_model_id, |
| | | sor.outbound_batches, |
| | | sor.stock_out_num, |
| | | sor.batch_no, |
| | | slp.tax_inclusive_unit_price, |
| | | GREATEST(sor.stock_out_num - COALESCE(rs.total_return_num, 0), 0) AS un_quantity, |
| | | COALESCE(rs.total_return_num, 0) AS total_return_num |
| | | FROM shipping_info si |
| | | LEFT JOIN shipping_product_detail spd ON spd.shipping_info_id = si.id |
| | | LEFT JOIN stock_out_record sor ON sor.record_id = si.id and sor.record_type = '13' |
| | | LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id and slp.type = 1 |
| | | LEFT JOIN ( |
| | | SELECT |
| | | stock_out_record_id, |
| | | SUM(num) AS total_return_num |
| | | FROM return_sale_product rsp |
| | | left join return_management rm on rm.id = rsp.return_management_id |
| | | left join shipping_info si on si.id = rm.shipping_id |
| | | WHERE 1=1 |
| | | GROUP BY stock_out_record_id |
| | | ) rs ON rs.stock_out_record_id = sor.id |
| | | <where> |
| | | <if test="shippingId != null"> |
| | | si.id = #{shippingId} |
| | | </if> |
| | | </where> |
| | | order by sor.id |
| | | </select> |
| | | <select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo"> |
| | | select * from shipping_info si |
| | | left join sales_ledger sl on si.sales_ledger_id = sl.id |
| | | where sl.customer_name = #{customerName} |
| | | </select> |
| | | |
| | | <!-- 销售退货用:查询发货信息含批次号 --> |
| | | <select id="getShippingInfoForReturn" resultType="com.ruoyi.sales.vo.ShippingInfoForReturnVo"> |
| | | SELECT |
| | | si.id AS shippingId, |
| | | si.shipping_no AS shippingNo, |
| | | sl.sales_contract_no AS salesContractNo, |
| | | sl.customer_name AS customerName, |
| | | IFNULL(p.product_name, slp.product_category) AS productName, |
| | | IFNULL(pm.model, slp.specification_model) AS model, |
| | | sor.stock_out_num AS shippingQuantity, |
| | | IFNULL(rs.total_return_num, 0) AS returnedQuantity, |
| | | CASE |
| | | WHEN IFNULL(rs.total_return_num, 0) = 0 THEN '无退货' |
| | | WHEN IFNULL(rs.total_return_num, 0) >= sor.stock_out_num THEN '全部退货' |
| | | ELSE '部分退货' |
| | | END AS returnStatus, |
| | | sor.batch_no AS batchNo, |
| | | si.shipping_car_number AS shippingCarNumber, |
| | | si.create_time AS createTime, |
| | | CONCAT( |
| | | IFNULL(sor.batch_no, ''), |
| | | '-', |
| | | IFNULL(si.shipping_car_number, ''), |
| | | '-', |
| | | DATE_FORMAT(si.create_time, '%Y-%m-%d') |
| | | ) AS displayLabel |
| | | FROM shipping_info si |
| | | LEFT JOIN sales_ledger sl ON si.sales_ledger_id = sl.id |
| | | LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id AND slp.type = 1 |
| | | LEFT JOIN product_model pm ON slp.product_id = pm.id |
| | | LEFT JOIN product p ON pm.product_id = p.id |
| | | LEFT JOIN stock_out_record sor ON sor.record_id = si.id AND sor.record_type = '13' AND sor.approval_status = 1 |
| | | LEFT JOIN ( |
| | | SELECT |
| | | stock_out_record_id, |
| | | SUM(num) AS total_return_num |
| | | FROM return_sale_product rsp |
| | | LEFT JOIN return_management rm ON rm.id = rsp.return_management_id |
| | | WHERE rm.status = 1 |
| | | GROUP BY stock_out_record_id |
| | | ) rs ON rs.stock_out_record_id = sor.id |
| | | WHERE sl.customer_name = #{customerName} |
| | | ORDER BY si.create_time DESC |
| | | </select> |
| | | </mapper> |