PtlAgreementGroupLinkDeptMapper.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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.protocol.dao.PtlAgreementGroupLinkDeptMapper">
  6. <resultMap id="BaseResultMap" type="com.ydtech.modules.protocol.entity.po.PtlAgreementGroupLinkDept">
  7. <id property="id" column="id" jdbcType="BIGINT"/>
  8. <result property="ptlAgreementGroupId" column="ptl_agreement_group_id" jdbcType="BIGINT"/>
  9. <result property="deptId" column="dept_id" jdbcType="VARCHAR"/>
  10. <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
  11. <result property="createUser" column="create_user" jdbcType="VARCHAR"/>
  12. </resultMap>
  13. <resultMap id="AgreementCompanyResultMap" type="com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto">
  14. <id property="id" column="id" jdbcType="VARCHAR"/>
  15. <result property="name" column="name" jdbcType="VARCHAR"/>
  16. <result property="parentId" column="parent_id" jdbcType="VARCHAR"/>
  17. <result property="namesimple" column="namesimple" jdbcType="VARCHAR"/>
  18. <result property="remark" column="remark" jdbcType="VARCHAR"/>
  19. <result property="orderNum" column="order_num" jdbcType="INTEGER"/>
  20. <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
  21. <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
  22. <result property="lastUpdateBy" column="last_update_by" jdbcType="VARCHAR"/>
  23. <result property="lastUpdateTime" column="last_update_time" jdbcType="TIMESTAMP"/>
  24. <result property="cnName" column="cn_name" jdbcType="VARCHAR"/>
  25. <result property="logo" column="logo" jdbcType="VARCHAR"/>
  26. <collection property="agreement" ofType="com.ydtech.modules.protocol.entity.dto.PtlAgreementDto">
  27. <id property="id" column="agreement_id"/>
  28. <result property="agreementName" column="agreement_name"/>
  29. <result property="underwritingDescription" column="underwriting_description"/>
  30. <result property="businessDescription" column="business_description"/>
  31. <result property="jobDescription" column="job_description"/>
  32. <result property="apiType" column="api_type"/>
  33. <result property="productsCode" column="products_code"/>
  34. </collection>
  35. </resultMap>
  36. <sql id="Base_Column_List">
  37. id,ptl_agreement_group_id,dept_id,
  38. create_time,create_user
  39. </sql>
  40. <select id="getAgreementCompany" resultMap="AgreementCompanyResultMap">
  41. select eic.*, pa.id as agreement_id, pa.agreement_name, pa.products_code, paa.api_type, pa.underwriting_description,
  42. pa.business_description,pa.job_description
  43. from esm_ins_company as eic
  44. left join ptl_agreement as pa on pa.insurance_company_id = eic.id
  45. left join ptl_agreement_attribution as paa on paa.id = pa.id
  46. where
  47. (#{localDate} between pa.start_date and DATE_SUB(pa.end_date, INTERVAL 1 DAY))
  48. and pa.valid_status = 1
  49. and pa.deleted = 0
  50. and pa.id in (
  51. SELECT
  52. pagla.ptl_agreement_id
  53. FROM
  54. ptl_agreement_group_link_agreement pagla
  55. LEFT JOIN ptl_agreement_group pag on pagla.ptl_agreement_group_id = pag.id
  56. where pag.default_flag=1
  57. and pag.del_flag=0
  58. UNION
  59. SELECT
  60. pagla.ptl_agreement_id
  61. FROM
  62. ptl_agreement_group_link_dept pagld
  63. LEFT JOIN ptl_agreement_group_link_agreement pagla ON pagld.ptl_agreement_group_id = pagla.ptl_agreement_group_id
  64. LEFT JOIN ptl_agreement pa ON pagla.ptl_agreement_id = pa.id
  65. LEFT JOIN ptl_agreement_group pag on pagla.ptl_agreement_group_id = pag.id
  66. where
  67. pag.default_flag=0
  68. and pag.del_flag=0
  69. and pagld.dept_id = #{deptId}
  70. )
  71. order by eic.order_num IS NULL, eic.order_num ASC
  72. </select>
  73. <select id="getAgreementByDeptId" resultType="java.lang.String">
  74. select * from (
  75. SELECT
  76. pagla.ptl_agreement_id
  77. FROM
  78. ptl_agreement_group_link_agreement pagla
  79. LEFT JOIN ptl_agreement_group pag on pagla.ptl_agreement_group_id = pag.id
  80. where pag.default_flag=1
  81. UNION
  82. SELECT
  83. pagla.ptl_agreement_id
  84. FROM
  85. ptl_agreement_group_link_dept pagld
  86. LEFT JOIN ptl_agreement_group_link_agreement pagla ON pagld.ptl_agreement_group_id = pagla.ptl_agreement_group_id
  87. LEFT JOIN ptl_agreement pa ON pagla.ptl_agreement_id = pa.id
  88. LEFT JOIN ptl_agreement_group pag on pagla.ptl_agreement_group_id = pag.id
  89. where
  90. pag.default_flag=0
  91. and pagld.dept_id = #{deptId}
  92. ) a
  93. where a.ptl_agreement_id =#{agreementId}
  94. </select>
  95. </mapper>