SysUserLinkPtlAgreementMapper.xml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ydtech.modules.admin.dao.SysUserLinkPtlAgreementMapper">
  6. <sql id="Base_Column_List">
  7. link.id as id,
  8. u.id as "sysUser.id",
  9. u.name as "sysUser.name",
  10. t2.id AS "sysUser.deptId",
  11. t2.`name` AS "sysUser.deptName",
  12. agree.id as "ptlAgreement.id",
  13. agree.companies_type as "ptlAgreement.companiesType",
  14. agree.agreement_type as "ptlAgreement.agreementType",
  15. agree.agreement_code as "ptlAgreement.agreementCode",
  16. agree.agreement_name as "ptlAgreement.agreementName",
  17. agree.agreement_abbreviation as "ptlAgreement.underwritingDescription",
  18. agree.partner_companies_id as "ptlAgreement.partnerCompaniesId",
  19. agree.association_companies_id as "ptlAgreement.associationCompaniesId",
  20. agree.insurance_company as "ptlAgreement.insuranceCompany",
  21. agree.insurance_company_id as "ptlAgreement.insuranceCompanyId",
  22. agree.start_date as "ptlAgreement.startDate",
  23. agree.end_date as "ptlAgreement.endDate",
  24. agree.money_time as "ptlAgreement.moneyTime",
  25. agree.match_type as "ptlAgreement.matchType",
  26. agree.docking_person as "ptlAgreement.dockingPerson",
  27. agree.docking_phone as "ptlAgreement.dockingPhone",
  28. agree.with_tax as "ptlAgreement.withTax",
  29. agree.money_type as "ptlAgreement.moneyType",
  30. agree.valid_status as "ptlAgreement.validStatus",
  31. agree.file_id as "ptlAgreement.fileId",
  32. agree.audit_content as "ptlAgreement.auditContent",
  33. agree.audit_status as "ptlAgreement.auditStatus",
  34. agree.serial_number as "ptlAgreement.serialNumber",
  35. agree.underwriting_description as "ptlAgreement.underwritingDescription",
  36. com.name as "ptlAgreement.partnerCompaniesName"
  37. </sql>
  38. <select id="queryPage" resultType="com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementDto">
  39. SELECT
  40. <include refid="Base_Column_List"/>
  41. FROM
  42. sys_user_link_pl_agreement link
  43. LEFT JOIN sys_user u ON link.user_id = u.id
  44. LEFT JOIN sys_dept t2 ON u.dept_id = t2.id
  45. LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
  46. LEFT JOIN ptl_agreement agree ON link.ptl_agreement_id = agree.id
  47. left join esm_ins_company com on com.id = agree.partner_companies_id
  48. <where>
  49. agree.id is not null
  50. <if test="vo.userId != null and vo.userId != ''">
  51. and link.user_id = #{vo.userId}
  52. </if>
  53. <if test="vo.userName != null and vo.userName != ''">
  54. and u.name like CONCAT('%', #{vo.userName}, '%')
  55. </if>
  56. <if test="ids != null and ids.size>0">
  57. and agree.partner_companies_id in
  58. <foreach collection="ids" item="item" open="(" separator="," close=")">
  59. #{item}
  60. </foreach>
  61. </if>
  62. </where>
  63. order by agree.agreement_code
  64. </select>
  65. <delete id="deleteByUserId">
  66. delete from sys_user_link_pl_agreement
  67. where user_id=#{userId}
  68. </delete>
  69. <select id="findPtlAgreementListByUserId" resultType="com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementDto">
  70. SELECT
  71. <include refid="Base_Column_List"/>
  72. FROM
  73. sys_user_link_pl_agreement link
  74. LEFT JOIN sys_user u ON link.user_id = u.id
  75. LEFT JOIN sys_dept t2 ON u.dept_id = t2.id
  76. LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
  77. LEFT JOIN ptl_agreement agree ON link.ptl_agreement_id = agree.id
  78. left join esm_ins_company com on link.id = agree.partner_companies_id
  79. <where>
  80. agree.id is not null
  81. <if test="userId != null and userId != ''">
  82. and link.user_id = #{userId}
  83. </if>
  84. </where>
  85. order by agree.agreement_code
  86. </select>
  87. <select id="findAllPtlAgreementListByUserId" resultType="com.ydtech.modules.protocol.entity.po.PtlAgreement">
  88. SELECT
  89. pl.*,
  90. (
  91. SELECT
  92. count(0)
  93. FROM
  94. sys_user_link_pl_agreement link
  95. WHERE
  96. link.user_id = #{userId}
  97. AND link.ptl_agreement_id = pl.id
  98. ) as flag
  99. FROM
  100. ptl_agreement pl
  101. order by agreement_code
  102. </select>
  103. <select id="findPtlAgreementListByUserIdPage"
  104. resultType="com.ydtech.modules.protocol.entity.po.PtlAgreement">
  105. SELECT
  106. pl.*,
  107. (
  108. SELECT
  109. count(0)
  110. FROM
  111. sys_user_link_pl_agreement link
  112. WHERE
  113. link.user_id = #{vo.userId}
  114. AND link.ptl_agreement_id = pl.id
  115. ) as flag
  116. FROM
  117. ptl_agreement pl
  118. <where>
  119. <if test='vo.companyId !=null and vo.companyId!="" '>
  120. and pl.insurance_company_id = #{vo.companyId}
  121. </if>
  122. </where>
  123. ORDER BY
  124. flag DESC,
  125. pl.agreement_code
  126. </select>
  127. <select id="findAgreeIdsByUserId" resultType="java.lang.Long">
  128. SELECT
  129. link.ptl_agreement_id
  130. FROM
  131. sys_user_link_pl_agreement link
  132. WHERE
  133. link.user_id = #{userId}
  134. </select>
  135. </mapper>