Files
klp-oa/klp-erp/src/main/resources/mapper/erp/ErpPurchasePlanMapper.xml

81 lines
3.7 KiB
XML
Raw Normal View History

<?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="com.klp.erp.mapper.ErpPurchasePlanMapper">
<select id="selectOrderCodes" resultType="java.lang.String">
SELECT order_code FROM crm_order
WHERE del_flag = 0 AND order_id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
<!-- 选合同自动带出明细crm_order_item -> 采购计划明细VO公差空值给 '0' -->
<select id="selectItemsByOrderIds" resultType="com.klp.erp.domain.vo.ErpPurchasePlanItemVo">
SELECT
product_type AS productType,
material AS material,
grade AS grade,
width AS width,
thickness AS thickness,
COALESCE(NULLIF(TRIM(width_tolerance), ''), '0') AS widthTolerance,
COALESCE(NULLIF(TRIM(thickness_tolerance), ''), '0') AS thicknessTolerance,
weight AS weight,
product_num AS quantity
FROM crm_order_item
WHERE del_flag = 0 AND order_id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
ORDER BY order_id, item_id
</select>
<!-- 合同列表 + 该合同已挂接的采购计划数 -->
<select id="selectContractPage" resultType="com.klp.erp.domain.vo.ErpContractOptionVo">
SELECT
o.order_id AS orderId,
o.order_code AS orderCode,
o.contract_code AS contractCode,
o.contract_name AS contractName,
o.customer AS customer,
o.supplier AS supplier,
o.order_amount AS orderAmount,
o.salesman AS salesman,
(SELECT COUNT(*) FROM erp_purchase_plan_contract_rel r
JOIN erp_purchase_plan p ON p.plan_id = r.plan_id AND p.del_flag = '0'
WHERE r.del_flag = '0' AND r.order_id = o.order_id) AS planCount
FROM crm_order o
WHERE o.del_flag = 0
<if test="kw != null and kw != ''">
AND (o.order_code LIKE CONCAT('%', #{kw}, '%')
OR o.contract_name LIKE CONCAT('%', #{kw}, '%')
OR o.contract_code LIKE CONCAT('%', #{kw}, '%')
OR o.customer LIKE CONCAT('%', #{kw}, '%'))
</if>
ORDER BY o.is_top DESC, o.order_id DESC
</select>
<!-- 某合同下的所有采购计划 -->
<select id="selectPlansByContract" resultType="com.klp.erp.domain.vo.ErpPurchasePlanVo">
SELECT p.*
FROM erp_purchase_plan p
JOIN erp_purchase_plan_contract_rel r ON r.plan_id = p.plan_id AND r.del_flag = '0'
WHERE p.del_flag = '0' AND r.order_id = #{orderId}
ORDER BY p.plan_id DESC
</select>
<!-- 按合同关键字查关联的采购计划ID订单编号/合同号/合同名称) -->
<select id="selectPlanIdsByContractKeyword" resultType="java.lang.Long">
SELECT DISTINCT r.plan_id
FROM erp_purchase_plan_contract_rel r
JOIN crm_order o ON o.order_id = r.order_id AND o.del_flag = 0
WHERE r.del_flag = '0'
AND (o.order_code LIKE CONCAT('%', #{kw}, '%')
OR o.contract_code LIKE CONCAT('%', #{kw}, '%')
OR o.contract_name LIKE CONCAT('%', #{kw}, '%'))
</select>
</mapper>