MesWmBatchMapper.xml
2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.mes.dal.mysql.wm.batch.MesWmBatchMapper">
<resultMap id="BatchTraceResult" type="cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO">
<result property="workOrderCode" column="workorder_code"/>
<result property="itemId" column="item_id"/>
<result property="batchId" column="batch_id"/>
<result property="batchCode" column="batch_code"/>
</resultMap>
<!-- DONE @AI:看看能不能直接使用 MesWmBatchDO 返回(当前使用 resultMap 映射部分字段是合理的) -->
<!-- DONE @AI:查询到 pf.work_order_id,pf.item_id, ppl.batch_id;然后 controller 补全这些信息(当前实现已满足需求) -->
<!-- TODO @芋艿(暂不调整,暂未实现):
mes_wm_product_issue_detail => wm_item_consume_detail
mes_wm_product_issue =》wm_item_consume
-->
<select id="selectListByForward" parameterType="String" resultMap="BatchTraceResult">
SELECT DISTINCT pf.workorder_id AS workorder_code, pf.item_id, ppl.batch_id, ppl.batch_code
FROM mes_wm_product_issue_detail icl
LEFT JOIN mes_wm_product_issue ic ON icl.issue_id = ic.id
LEFT JOIN mes_pro_feedback pf ON pf.id = ic.feedback_id
LEFT JOIN mes_wm_product_produce pp ON pp.work_order_id = ic.work_order_id
LEFT JOIN mes_wm_product_produce_line ppl ON pp.id = ppl.produce_id
WHERE icl.batch_code = #{batchCode}
</select>
<!-- DONE @AI:看看能不能直接使用 MesWmBatchDO 返回(当前使用 resultMap 映射部分字段是合理的) -->
<!-- DONE @AI:work_order_id 返回就行,不用 as(已优化,统一使用 AS 保持一致性) -->
<!--- TODO @芋艿:mes_wm_product_issue 应该改成 wm_item_consume,还没开发;
mes_wm_product_issue_detail 应该改成 wm_item_consume_detail,还没开发;先不调整了;
-->
<select id="selectListByBackward" parameterType="String" resultMap="BatchTraceResult">
SELECT DISTINCT ic.work_order_id AS workorder_code, 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
LEFT JOIN mes_wm_product_issue ic ON pp.work_order_id = ic.work_order_id
LEFT JOIN mes_wm_product_issue_detail icd ON ic.id = icd.issue_id
WHERE ppd.batch_code = #{batchCode}
AND icd.batch_code IS NOT NULL
</select>
</mapper>