123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?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.contract.dal.mysql.customercontract.CustomerContractMapper">
- <!--
- 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
- 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
- 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
- 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
- -->
- <select id="getPageCount" resultType="java.lang.Long">
- SELECT
- count(fcc.id)
- FROM
- finance_customer_contract fcc
- LEFT JOIN employee_info ei ON ei.id = fcc.owner_employee_id AND ei.deleted = 0
- LEFT JOIN system_dept sd ON sd.id = fcc.dept_id AND sd.deleted = 0
- LEFT JOIN employee_info ei2 ON ei2.id = fcc.creator AND ei2.deleted = 0
- WHERE
- fcc.deleted = 0
- <if test="page.customerContractCode != null and page.customerContractCode != ''">
- AND fcc.customer_contract_code like concat('%',#{page.customerContractCode},'%')
- </if>
- <if test="page.customerContractName != null and page.customerContractName != ''">
- AND fcc.customer_contract_name like concat('%',#{page.customerContractName},'%')
- </if>
- <if test="page.isFrameContract != null">
- AND fcc.is_frame_contract = #{page.isFrameContract}
- </if>
- <if test="page.customerId != null">
- AND fcc.customer_id = #{page.customerId}
- </if>
- <if test="page.startDate != null and page.startDate.length > 0">
- AND fcc.start_date BETWEEN #{page.startDate[0]} AND #{page.startDate[1]}
- </if>
- <if test="page.endDate != null and page.endDate.length > 0">
- AND fcc.end_date BETWEEN #{page.endDate[0]} AND #{page.endDate[1]}
- </if>
- <if test="page.ownerEmployeeName != null and page.ownerEmployeeName != ''">
- AND ei.name like concat('%',#{page.ownerEmployeeName},'%')
- </if>
- <if test="page.deptId != null">
- AND fcc.dept_id = #{page.deptId}
- </if>
- <if test="page.contractStatus != null and page.contractStatus != ''">
- AND fcc.contract_status = #{page.contractStatus}
- </if>
- <if test="page.closed != null">
- AND fcc.closed = #{page.closed}
- </if>
- <if test="page.terminate != null">
- AND fcc.terminate = #{page.terminate}
- </if>
- </select>
- <select id="getPageList"
- resultType="cn.iocoder.yudao.module.contract.controller.admin.customercontract.vo.CustomerContractRespVO">
- SELECT
- fcc.id,
- fcc.customer_contract_uuid,
- fcc.customer_contract_code,
- fcc.customer_contract_name,
- fcc.is_frame_contract,
- CASE
- WHEN fcc.is_frame_contract = 1 THEN '是'
- WHEN fcc.is_frame_contract = 0 THEN '否'
- ELSE '未知'
- END AS isFrameContractDesc,
- fcc.customer_id,
- fcc.customer_name,
- fcc.start_date,
- fcc.end_date,
- fcc.money,
- fcc.owner_employee_id,
- ei.name AS ownerEmployeeName,
- fcc.dept_id,
- sd.name AS deptName,
- fcc.contract_status,
- CASE
- WHEN fcc.contract_status = 0 THEN '未归档'
- WHEN fcc.contract_status = 1 THEN '已归档'
- WHEN fcc.contract_status = 2 THEN '已完结'
- ELSE '未知'
- END AS contractStatusDesc,
- fcc.closed,
- CASE
- WHEN fcc.closed = 1 THEN '是'
- WHEN fcc.closed = 0 THEN '否'
- ELSE '未知'
- END AS closedDesc,
- fcc.close_reason,
- fcc.terminate,
- CASE
- WHEN fcc.terminate = 1 THEN '是'
- WHEN fcc.terminate = 0 THEN '否'
- ELSE '未知'
- END AS terminateDesc,
- fcc.terminate_date,
- fcc.terminate_reason,
- fcc.is_change,
- fcc.remarks,
- fcc.creator,
- ei2.name AS creatorName,
- fcc.create_time
- FROM
- finance_customer_contract fcc
- LEFT JOIN employee_info ei ON ei.id = fcc.owner_employee_id AND ei.deleted = 0
- LEFT JOIN system_dept sd ON sd.id = fcc.dept_id AND sd.deleted = 0
- LEFT JOIN employee_info ei2 ON ei2.id = fcc.creator AND ei2.deleted = 0
- WHERE
- fcc.deleted = 0
- <if test="page.customerContractCode != null and page.customerContractCode != ''">
- AND fcc.customer_contract_code like concat('%',#{page.customerContractCode},'%')
- </if>
- <if test="page.customerContractName != null and page.customerContractName != ''">
- AND fcc.customer_contract_name like concat('%',#{page.customerContractName},'%')
- </if>
- <if test="page.isFrameContract != null">
- AND fcc.is_frame_contract = #{page.isFrameContract}
- </if>
- <if test="page.customerId != null">
- AND fcc.customer_id = #{page.customerId}
- </if>
- <if test="page.startDate != null and page.startDate.length > 0">
- AND fcc.start_date BETWEEN #{page.startDate[0]} AND #{page.startDate[1]}
- </if>
- <if test="page.endDate != null and page.endDate.length > 0">
- AND fcc.end_date BETWEEN #{page.endDate[0]} AND #{page.endDate[1]}
- </if>
- <if test="page.ownerEmployeeName != null and page.ownerEmployeeName != ''">
- AND ei.name like concat('%',#{page.ownerEmployeeName},'%')
- </if>
- <if test="page.deptId != null">
- AND fcc.dept_id = #{page.deptId}
- </if>
- <if test="page.contractStatus != null and page.contractStatus != ''">
- AND fcc.contract_status = #{page.contractStatus}
- </if>
- <if test="page.closed != null">
- AND fcc.closed = #{page.closed}
- </if>
- <if test="page.terminate != null">
- AND fcc.terminate = #{page.terminate}
- </if>
- ORDER BY
- fcc.create_time DESC
- <if test="page.pageSize != -1">
- LIMIT #{page.pageNo}, #{page.pageSize}
- </if>
- </select>
- <delete id="deleteCustomerContractOriginal">
- DELETE
- FROM
- finance_customer_contract
- WHERE
- id = #{id}
- AND deleted = 0
- </delete>
- </mapper>
|