7 天以前 7188f28998d47c286e34cbd525986603cfc19ba9
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
44
45
46
47
48
49
50
51
52
<?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.erp.dal.mysql.purchase.ErpSupplierMapper">
 
    <!--
        查询供应商被哪些业务表引用(未删除的记录)
        ERP 模块用 supplier_id,MES 模块用 vendor_id
        返回有引用的来源名和引用数量,用于删除校验
    -->
    <select id="selectSupplierReferenceCount" resultType="map">
        SELECT source, cnt FROM (
            <!-- ERP:采购订单 -->
            SELECT '采购-采购订单' AS source, COUNT(*) AS cnt FROM erp_purchase_order WHERE supplier_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- ERP:采购申请 -->
            SELECT '采购-采购申请' AS source, COUNT(*) AS cnt FROM erp_purchase_request WHERE supplier_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- ERP:付款单 -->
            SELECT '采购-付款单' AS source, COUNT(*) AS cnt FROM erp_finance_payment WHERE supplier_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- MES:到货通知 -->
            SELECT '采购-到货通知' AS source, COUNT(*) AS cnt FROM mes_wm_arrival_notice WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- MES:采购入库 -->
            SELECT '采购-采购入库' AS source, COUNT(*) AS cnt FROM mes_wm_item_receipt WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- MES:委外入库 -->
            SELECT '采购-委外入库' AS source, COUNT(*) AS cnt FROM mes_wm_outsource_receipt WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- MES:委外发料 -->
            SELECT '采购-委外发料' AS source, COUNT(*) AS cnt FROM mes_wm_outsource_issue WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- MES:采购退货 -->
            SELECT '采购-采购退货' AS source, COUNT(*) AS cnt FROM mes_wm_return_vendor WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- 质检:IQC -->
            SELECT '质检-IQC' AS source, COUNT(*) AS cnt FROM mes_qc_iqc WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- 生产:工单 -->
            SELECT '生产-工单' AS source, COUNT(*) AS cnt FROM mes_pro_work_order WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- 库存:库存 -->
            SELECT '库存-库存' AS source, COUNT(*) AS cnt FROM mes_wm_material_stock WHERE vendor_id = #{supplierId} AND deleted = 0
            UNION ALL
            <!-- 库存:批次 -->
            SELECT '库存-批次' AS source, COUNT(*) AS cnt FROM mes_wm_batch WHERE vendor_id = #{supplierId} AND deleted = 0
        ) t
        WHERE t.cnt > 0
        ORDER BY t.source
    </select>
 
</mapper>