<?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.mdm.dal.mysql.item.MdmItemMapper">
|
|
<!--
|
查询物料被哪些业务表引用(未删除的记录)
|
返回有引用的表名和引用数量,用于删除校验
|
-->
|
<select id="selectItemReferenceCount" resultType="map">
|
SELECT source, cnt FROM (
|
<!-- 生产:工单BOM -->
|
SELECT '生产-工单BOM' AS source, COUNT(*) AS cnt FROM mes_pro_work_order_bom WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 生产:报工 -->
|
SELECT '生产-报工' AS source, COUNT(*) AS cnt FROM mes_pro_feedback WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 生产:生产任务 -->
|
SELECT '生产-生产任务' AS source, COUNT(*) AS cnt FROM mes_pro_task WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 生产:工艺路线产品 -->
|
SELECT '生产-工艺路线' AS source, COUNT(*) AS cnt FROM mes_pro_route_product WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 生产:工艺路线BOM -->
|
SELECT '生产-工艺路线BOM' AS source, COUNT(*) AS cnt FROM mes_pro_route_product_bom WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 质检:IQC -->
|
SELECT '质检-IQC' AS source, COUNT(*) AS cnt FROM mes_qc_iqc WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 质检:IPQC -->
|
SELECT '质检-IPQC' AS source, COUNT(*) AS cnt FROM mes_qc_ipqc WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 质检:OQC -->
|
SELECT '质检-OQC' AS source, COUNT(*) AS cnt FROM mes_qc_oqc WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 质检:RQC -->
|
SELECT '质检-RQC' AS source, COUNT(*) AS cnt FROM mes_qc_rqc WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 采购:到货通知行 -->
|
SELECT '采购-到货通知' AS source, COUNT(*) AS cnt FROM mes_wm_arrival_notice_line WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 采购:采购入库行 -->
|
SELECT '采购-采购入库' AS source, COUNT(*) AS cnt FROM mes_wm_item_receipt_line WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 销售:销售通知行 -->
|
SELECT '销售-销售通知' AS source, COUNT(*) AS cnt FROM mes_wm_sales_notice_line WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 销售:销售出库行 -->
|
SELECT '销售-销售出库' AS source, COUNT(*) AS cnt FROM mes_wm_product_sales_line WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 销售:销售退货行 -->
|
SELECT '销售-销售退货' AS source, COUNT(*) AS cnt FROM mes_wm_return_sales_line WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 库存:库存记录 -->
|
SELECT '库存-库存' AS source, COUNT(*) AS cnt FROM mes_wm_material_stock WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- CRM:销售报价产品 -->
|
SELECT '销售-报价单' AS source, COUNT(*) AS cnt FROM crm_sale_quotation_product WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- CRM:商机产品 -->
|
SELECT '销售-商机' AS source, COUNT(*) AS cnt FROM crm_business_product WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- CRM:合同产品 -->
|
SELECT '销售-合同' AS source, COUNT(*) AS cnt FROM crm_contract_product WHERE item_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- ERP:采购订单明细(product_id 引用物料) -->
|
SELECT '采购-采购订单' AS source, COUNT(*) AS cnt FROM erp_purchase_order_items WHERE product_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- ERP:采购申请明细(product_id 引用物料) -->
|
SELECT '采购-采购申请' AS source, COUNT(*) AS cnt FROM erp_purchase_request_items WHERE product_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- ERP:销售订单明细(product_id 引用物料) -->
|
SELECT '销售-销售订单' AS source, COUNT(*) AS cnt FROM erp_sale_order_items WHERE product_id = #{itemId} AND deleted = 0
|
UNION ALL
|
<!-- 生产:工单产品(product_id 引用物料) -->
|
SELECT '生产-生产工单' AS source, COUNT(*) AS cnt FROM mes_pro_work_order WHERE product_id = #{itemId} AND deleted = 0
|
) t
|
WHERE t.cnt > 0
|
ORDER BY t.source
|
</select>
|
|
</mapper>
|