| | |
| | | |
| | | <!-- |
| | | 向前追溯:从某个原材料批次出发,查找它被哪些工单消耗后,产出了哪些成品批次 |
| | | SQL 路径:消耗明细(icd) → 消耗单(ic) → 报工记录(pf) → 生产入库单(pp) → 入库行(ppl) |
| | | SQL 路径:库存事务(消耗 OUT) → 消耗单 → 报工记录 → 库存事务(产出 IN) → 批次 |
| | | --> |
| | | <select id="selectListByForward" parameterType="String" resultMap="BatchTraceResult"> |
| | | SELECT DISTINCT pf.work_order_id, pf.item_id, ppl.batch_id, ppl.batch_code |
| | | FROM mes_wm_item_consume_detail icd |
| | | LEFT JOIN mes_wm_item_consume ic ON icd.consume_id = ic.id AND ic.deleted = 0 |
| | | FROM mes_wm_transaction tx_consume |
| | | LEFT JOIN mes_wm_item_consume ic ON tx_consume.biz_id = ic.id AND tx_consume.biz_type = 123 AND ic.deleted = 0 |
| | | LEFT JOIN mes_pro_feedback pf ON pf.id = ic.feedback_id AND pf.deleted = 0 |
| | | LEFT JOIN mes_wm_product_produce pp ON pp.work_order_id = ic.work_order_id AND pp.deleted = 0 |
| | | LEFT JOIN mes_wm_product_produce_line ppl ON pp.id = ppl.produce_id AND ppl.deleted = 0 |
| | | WHERE icd.batch_code = #{batchCode} |
| | | AND icd.deleted = 0 |
| | | LEFT JOIN mes_wm_transaction tx_produce ON tx_produce.biz_id = pf.id AND tx_produce.biz_type = 124 AND tx_produce.deleted = 0 |
| | | LEFT JOIN mes_wm_product_produce pp ON tx_produce.biz_id = pp.id AND tx_produce.biz_type = 124 AND pp.deleted = 0 |
| | | WHERE tx_consume.batch_code = #{batchCode} |
| | | AND tx_consume.biz_type = 123 |
| | | AND tx_consume.deleted = 0 |
| | | AND tx_produce.batch_id IS NOT NULL |
| | | </select> |
| | | |
| | | <!-- |
| | | 向后追溯:从某个成品批次出发,查找生产它时消耗了哪些原材料批次 |
| | | SQL 路径:入库明细(ppd) → 入库单(pp) → 消耗单(ic) → 消耗明细(icd) |
| | | SQL 路径:库存事务(产出 IN) → 产出单 → 报工记录 → 库存事务(消耗 OUT) → 批次 |
| | | --> |
| | | <select id="selectListByBackward" parameterType="String" resultMap="BatchTraceResult"> |
| | | SELECT DISTINCT ic.work_order_id, icd.item_id, icd.batch_id, icd.batch_code |
| | | FROM mes_wm_product_produce_detail ppd |
| | | LEFT JOIN mes_wm_product_produce pp ON ppd.produce_id = pp.id AND pp.deleted = 0 |
| | | LEFT JOIN mes_wm_item_consume ic ON pp.work_order_id = ic.work_order_id AND ic.deleted = 0 |
| | | LEFT JOIN mes_wm_item_consume_detail icd ON ic.id = icd.consume_id AND icd.deleted = 0 |
| | | WHERE ppd.batch_code = #{batchCode} |
| | | AND ppd.deleted = 0 |
| | | AND icd.batch_code IS NOT NULL |
| | | FROM mes_wm_transaction tx_produce |
| | | LEFT JOIN mes_wm_product_produce pp ON tx_produce.biz_id = pp.id AND tx_produce.biz_type = 124 AND pp.deleted = 0 |
| | | LEFT JOIN mes_pro_feedback pf ON pf.id = pp.feedback_id AND pf.deleted = 0 |
| | | LEFT JOIN mes_wm_transaction tx_consume ON tx_consume.biz_id = pf.id AND tx_consume.biz_type = 123 AND tx_consume.deleted = 0 |
| | | LEFT JOIN mes_wm_item_consume ic ON tx_consume.biz_id = ic.id AND tx_consume.biz_type = 123 AND ic.deleted = 0 |
| | | WHERE tx_produce.batch_code = #{batchCode} |
| | | AND tx_produce.biz_type = 124 |
| | | AND tx_produce.deleted = 0 |
| | | AND tx_consume.batch_id IS NOT NULL |
| | | </select> |
| | | |
| | | </mapper> |