123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?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.expense.dal.mysql.expenseinfo.ExpenseInfoMapper">
- <!--
- 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
- 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
- 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
- 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
- -->
- <select id="selectPageCount" resultType="java.lang.Long">
- SELECT COUNT(fei.id)
- FROM
- finance_expense_info fei
- LEFT JOIN employee_info ei ON fei.employee_id = ei.id and ei.deleted = 0
- LEFT JOIN system_post sp ON sp.id = ei.post_id and sp.deleted = 0
- LEFT JOIN employee_info ei2 ON fei.create_employee_id = ei2.id and ei2.deleted = 0
- LEFT JOIN system_dept sd ON fei.dept_id = sd.id and sd.deleted = 0
- LEFT JOIN finance_expense_type fet ON fei.expense_type_id = fet.id and fet.deleted = 0
- WHERE fei.deleted = 0
- <if test="page.employeeName != null and page.employeeName != ''">
- AND ei.name like concat('%',#{page.employeeName},'%')
- </if>
- <if test="page.deptId != null">
- AND fei.dept_id = #{page.deptId}
- </if>
- <if test="page.postId != null">
- AND fei.post_id = #{page.postId}
- </if>
- <if test="page.employeePhone != null and page.employeePhone != ''">
- AND ei.phone like concat('%',#{page.employeePhone},'%')
- </if>
- <if test="page.expenseTypeId != null">
- AND fei.expense_type_id = #{page.expenseTypeId}
- </if>
- <if test="page.infoSource != null and page.infoSource != ''">
- AND fei.info_source = #{page.infoSource}
- </if>
- <if test="page.createEmployeeName != null and page.createEmployeeName != ''">
- AND ei2.name like concat('%',#{page.createEmployeeName},'%')
- </if>
- <if test="page.createTime != null and page.createTime.length > 0">
- AND fei.create_time BETWEEN #{page.createTime[0]} AND #{page.createTime[1]}
- </if>
- </select>
- <select id="selectPageList"
- resultType="cn.iocoder.yudao.module.expense.controller.admin.expenseinfo.vo.ExpenseInfoRespVO">
- SELECT
- fei.id,
- fei.expense_uuid,
- fei.employee_id,
- ei.name employeeName,
- ei.phone employeePhone,
- fei.post_id,
- sp.name AS "position",
- fei.dept_id,
- sd.`name` deptName,
- fei.expense_type_id,
- fet.name expenseTypeName,
- fei.expense_month,
- fei.total_money,
- fei.remarks,
- fei.status,
- fei.info_source,
- fei.create_employee_id,
- fei.create_time,
- ei2.name createEmployeeName
- FROM
- finance_expense_info fei
- LEFT JOIN employee_info ei ON fei.employee_id = ei.id and ei.deleted = 0
- LEFT JOIN system_post sp ON sp.id = ei.post_id and sp.deleted = 0
- LEFT JOIN employee_info ei2 ON fei.create_employee_id = ei2.id and ei2.deleted = 0
- LEFT JOIN system_dept sd ON fei.dept_id = sd.id and sd.deleted = 0
- LEFT JOIN finance_expense_type fet ON fei.expense_type_id = fet.id and fet.deleted = 0
- WHERE fei.deleted = 0
- <if test="page.employeeName != null and page.employeeName != ''">
- AND ei.name like concat('%',#{page.employeeName},'%')
- </if>
- <if test="page.deptId != null">
- AND fei.dept_id = #{page.deptId}
- </if>
- <if test="page.postId != null">
- AND fei.post_id = #{page.postId}
- </if>
- <if test="page.employeePhone != null and page.employeePhone != ''">
- AND ei.phone like concat('%',#{page.employeePhone},'%')
- </if>
- <if test="page.expenseTypeId != null">
- AND fei.expense_type_id = #{page.expenseTypeId}
- </if>
- <if test="page.infoSource != null and page.infoSource != ''">
- AND fei.info_source = #{page.infoSource}
- </if>
- <if test="page.createEmployeeName != null and page.createEmployeeName != ''">
- AND ei2.name like concat('%',#{page.createEmployeeName},'%')
- </if>
- <if test="page.createTime != null and page.createTime.length > 0">
- AND fei.create_time BETWEEN #{page.createTime[0]} AND #{page.createTime[1]}
- </if>
- ORDER BY fei.create_time DESC
- <if test="page.pageSize != -1">
- LIMIT #{page.pageNo}, #{page.pageSize}
- </if>
- </select>
- </mapper>
|