调整命名
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<?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.bms.ar.mapper.ArBillScopeMapper">
|
||||
<resultMap id="CustomerOption" type="com.bms.customer.customerinfo.domain.BmsCustomerOption">
|
||||
<id property="customerId" column="customer_id"/>
|
||||
<result property="customerCode" column="customer_code"/>
|
||||
<result property="customerName" column="customer_name"/>
|
||||
</resultMap>
|
||||
<select id="countCustomerSourceBills" resultType="int">
|
||||
SELECT COUNT(*) FROM prc_order_bill WHERE customer_id = #{customerId}
|
||||
AND bill_id IN
|
||||
<foreach collection="sourceIds" item="sourceId" open="(" separator="," close=")">#{sourceId}</foreach>
|
||||
</select>
|
||||
<!-- c 固定为客户表别名;无部门层级扩展,不按角色管理 data_scope 过滤。 -->
|
||||
<sql id="customerScope">
|
||||
<choose>
|
||||
<when test="scope != null and scope.all"/>
|
||||
<when test="scope != null and (scope.self or scope.department)">
|
||||
AND c.del_flag = '0'
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM sys_user su
|
||||
WHERE CAST(su.user_id AS CHAR) = c.sales_user_id AND su.del_flag = '0'
|
||||
AND (1 = 0
|
||||
<if test="scope.self">OR su.user_id = #{scope.userId}</if>
|
||||
<if test="scope.department">OR su.dept_id = #{scope.deptId}</if>
|
||||
)
|
||||
)
|
||||
</when>
|
||||
<otherwise>AND 1 = 0</otherwise>
|
||||
</choose>
|
||||
</sql>
|
||||
<!-- b 固定为账单表别名;ALL 无需关联客户,保留归属异常的历史账单。 -->
|
||||
<sql id="billScope">
|
||||
<choose>
|
||||
<when test="scope != null and scope.all"/>
|
||||
<otherwise>
|
||||
AND EXISTS (SELECT 1 FROM ctr_customer c WHERE c.customer_id = b.customer_id
|
||||
<include refid="com.bms.receivable.mapper.ArBillScopeMapper.customerScope"/>
|
||||
)
|
||||
</otherwise>
|
||||
</choose>
|
||||
</sql>
|
||||
<select id="countAccessibleBill" resultType="int">
|
||||
SELECT COUNT(*) FROM ar_bill b WHERE b.ar_bill_id = #{arBillId}
|
||||
<include refid="billScope"/>
|
||||
</select>
|
||||
<select id="selectAccessibleCustomer" resultMap="CustomerOption">
|
||||
SELECT c.customer_id, c.customer_code, c.customer_name FROM ctr_customer c
|
||||
WHERE c.customer_id = #{customerId} AND c.del_flag = '0'
|
||||
<include refid="customerScope"/>
|
||||
</select>
|
||||
<select id="selectCustomerOptions" resultMap="CustomerOption">
|
||||
SELECT c.customer_id, c.customer_code, c.customer_name FROM ctr_customer c WHERE c.del_flag = '0'
|
||||
<include refid="customerScope"/>
|
||||
<if test="keywords != null and !keywords.isEmpty()">
|
||||
AND (<foreach collection="keywords" item="keyword" separator=" OR ">
|
||||
(c.customer_name LIKE CONCAT('%', #{keyword}, '%') OR c.customer_code LIKE CONCAT('%', #{keyword}, '%')
|
||||
OR c.customer_code_dw LIKE CONCAT('%', #{keyword}, '%'))
|
||||
</foreach>)
|
||||
</if>
|
||||
ORDER BY c.customer_id DESC
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user