| | |
| | | WHERE rl.batch_code = #{batchCode} AND rl.deleted = 0 |
| | | </select> |
| | | |
| | | <!-- 批次销售去向:批次 → 销售出库行 → 销售出库单 → OQC --> |
| | | <!-- |
| | | 批次销售去向(种子流向): |
| | | ① 行级匹配:批次 → 销售出库行 → 销售出库单 → OQC(行上直接记录批次的流程); |
| | | ② 明细级匹配:批次 → 扫码出库明细 → 销售出库单 → OQC(种子袋码/托盘扫码出库时批次只写入明细表,按单据聚合数量)。 |
| | | 同一出库行若已有明细级匹配则不再重复出行级记录;排除已取消(状态 5)单据。 |
| | | --> |
| | | <select id="selectSalesTargetList" parameterType="String" |
| | | resultType="cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchSalesTargetRespVO"> |
| | | SELECT s.code AS sales_code, s.sales_date, s.sales_order_code, s.client_id, |
| | | SELECT s.code AS sales_code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, |
| | | oqc.code AS oqc_code, oqc.check_result AS check_result, |
| | | sl.batch_code, sl.item_id, sl.quantity, sl.quality_status |
| | | FROM mes_wm_product_sales_line sl |
| | | JOIN mes_wm_product_sales s ON s.id = sl.sales_id AND s.deleted = 0 |
| | | LEFT JOIN mes_qc_oqc oqc ON oqc.id = sl.oqc_id AND oqc.deleted = 0 |
| | | WHERE sl.batch_code = #{batchCode} AND sl.deleted = 0 |
| | | WHERE sl.batch_code = #{batchCode} AND sl.deleted = 0 AND s.status != 5 |
| | | AND NOT EXISTS (SELECT 1 FROM mes_wm_product_sales_detail d |
| | | WHERE d.line_id = sl.id AND d.batch_code = #{batchCode} AND d.deleted = 0) |
| | | UNION ALL |
| | | SELECT s.code AS sales_code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, |
| | | oqc.code AS oqc_code, oqc.check_result AS check_result, |
| | | d.batch_code, d.item_id, SUM(d.quantity) AS quantity, MAX(sl.quality_status) AS quality_status |
| | | FROM mes_wm_product_sales_detail d |
| | | JOIN mes_wm_product_sales s ON s.id = d.sales_id AND s.deleted = 0 |
| | | JOIN mes_wm_product_sales_line sl ON sl.id = d.line_id AND sl.deleted = 0 |
| | | LEFT JOIN mes_qc_oqc oqc ON oqc.id = sl.oqc_id AND oqc.deleted = 0 |
| | | WHERE d.batch_code = #{batchCode} AND d.deleted = 0 AND s.status != 5 |
| | | GROUP BY s.id, s.code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, |
| | | oqc.code, oqc.check_result, d.batch_code, d.item_id |
| | | ORDER BY sales_date |
| | | </select> |
| | | |
| | | <!-- 批次出入库流水(种子流向):库存事务 → 仓库/库区/库位 → 销售出库单(biz_type 119 带出客户名称) --> |
| | | <select id="selectBatchFlowList" parameterType="String" |
| | | resultType="cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchFlowRespVO"> |
| | | SELECT tx.type, tx.biz_type, tx.biz_code, tx.quantity, tx.transaction_time, |
| | | w.name AS warehouse_name, loc.name AS location_name, area.name AS area_name, |
| | | sales.client_name |
| | | FROM mes_wm_transaction tx |
| | | LEFT JOIN mes_wm_warehouse w ON w.id = tx.warehouse_id AND w.deleted = 0 |
| | | LEFT JOIN mes_wm_warehouse_location loc ON loc.id = tx.location_id AND loc.deleted = 0 |
| | | LEFT JOIN mes_wm_warehouse_area area ON area.id = tx.area_id AND area.deleted = 0 |
| | | LEFT JOIN mes_wm_product_sales sales ON tx.biz_type = 119 AND sales.id = tx.biz_id AND sales.deleted = 0 |
| | | WHERE tx.batch_code = #{batchCode} AND tx.deleted = 0 |
| | | ORDER BY tx.transaction_time |
| | | </select> |
| | | |
| | | <!-- 批次工序流转:产出(OUT)/投入(IN) 事件聚合,无需建表 --> |