<?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.pusong.business.mapper.PsContractInfoMapper"> <resultMap id="contractResult" type="com.pusong.business.domain.vo.PsContractInfoVo"> <id column="contract_code" property="contractCode"></id> <collection columnPrefix="com_" property="psCompanyInfoVo" ofType="com.pusong.business.domain.vo.PsCompanyInfoVo" > </collection> <collection columnPrefix="cus_" property="psCustomInfoVo" ofType="com.pusong.business.domain.vo.PsCustomInfoVo" > </collection> </resultMap> <sql id="queryContractList" > select info.*, (select apply_date from ps_contract_info pci where pci.custom_id = info.custom_id and pci.is_cancel != '03' and pci.contract_status != '10' order by pci.apply_date limit 0,1) as first_apply_date, com.id com_id, com.company_name com_company_name, com.company_adress com_company_adress, com.company_account_bank com_company_account_bank, com.legal_person_name com_legal_person_name, com.legal_person_idcard com_legal_person_idcard, com.legal_person_phone com_legal_person_phone, cus.id cus_id, cus.custom_name cus_custom_name , cus.custom_mobile cus_custom_mobile, cus.custom_status cus_custom_status, us.nick_name custom_manager_name, (select ptm.invoice from ps_task_main ptm where ptm.task_type = '3' and ptm.contract_code = info.contract_code and ptm.task_status = 30 limit 0,1) as invoice_ossid from ps_contract_info info left join ps_company_info com on info.company_id = com.id left join ps_custom_info cus on info.custom_id = cus.id left join sys_user us on info.custom_manager = us.user_id </sql> <select id="selectPageContractList" resultMap="contractResult"> <include refid="queryContractList"/> ${ew.getCustomSqlSegment} </select> <select id="selectContractList" resultMap="contractResult"> <include refid="queryContractList"/> ${ew.getCustomSqlSegment} </select> <select id="querySalaryListByCodes" resultType="com.pusong.business.domain.PsSalaryContract"> select info.contract_code ,info.custom_manager ,cus.custom_name ,cus.custom_mobile ,com.company_name ,info.contract_amount ,info.start_service_date service_start_date from ps_contract_info info left join ps_custom_info cus on info.custom_id = cus.id left join ps_company_info com on info.company_id = com.id ${ew.getCustomSqlSegment} </select> <select id="homePageReturnMoneyInfo" resultType="java.util.Map"> SELECT info.contract_code, info.contract_amount, pay.money, pay.business_type, info.apply_date FROM ps_contract_info info LEFT JOIN ps_contract_pay pay on pay.contract_code=info.contract_code and pay.pay_status=#{queryParam.payStatus} and pay.del_flag=0 WHERE <if test="queryParam.startDate != null"> info.apply_date >= #{queryParam.startDate} and </if> <if test="queryParam.endDate != null"> info.apply_date <= #{queryParam.endDate} and </if> info.contract_status != #{queryParam.contractStatus} and info.is_cancel != #{queryParam.isCancel} </select> <select id="byChannel" resultType="com.pusong.business.domain.vo.home.ChannelPayInfo"> select cus.custom_source channel, info.contract_code, info.contract_amount, pay.business_type, pay.money from ps_contract_info info left join ps_custom_info cus on info.custom_id = cus.id left join ps_contract_pay pay on info.contract_code = pay.contract_code ${ew.getCustomSqlSegment} </select> </mapper>