InsCompanyClauseMapper.xml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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.order.dao.InsCompanyClauseMapper">
  6. <resultMap id="InsCompanyClauseMap" type="com.ydtech.modules.order.entity.vo.InsCompanyClauseVo">
  7. <id property="id" column="id" />
  8. <result property="riskCode" column="risk_code" />
  9. <result property="companyId" column="company_id" />
  10. <result property="clauseCode" column="clause_code" />
  11. <result property="clauseName" column="clause_name" />
  12. <result property="clauseContent" column="clause_content" />
  13. <collection property="replaces" ofType="com.ydtech.modules.order.entity.po.InsCompanyClauseReplace">
  14. <result property="fieldId" column="field_id" />
  15. <result property="clauseId" column="clause_id" />
  16. <result property="replaceSymbol" column="replace_symbol" />
  17. <result property="sort" column="sort" />
  18. </collection>
  19. <collection property="infoMap" ofType="com.ydtech.modules.order.entity.po.InsCompanyClauseQuoteInfoMap">
  20. <result property="id" column="imid"/>
  21. <result property="groupType" column="group_type" />
  22. <result property="modelName" column="model_name" />
  23. <result property="mapFiled" column="map_filed" />
  24. </collection>
  25. </resultMap>
  26. <select id="getClauseByParam" resultMap="InsCompanyClauseMap">
  27. SELECT
  28. *,
  29. im.id as imid
  30. FROM
  31. ins_company_clause ic
  32. LEFT JOIN ins_company_clause_replace ir ON ir.clause_id = ic.id
  33. LEFT JOIN ins_company_clause_quote_info_map im ON ir.field_id = im.id
  34. WHERE
  35. 1=1
  36. <if test="param.companyId != null and param.companyId != ''">
  37. AND ic.company_id = #{param.companyId}
  38. </if>
  39. <if test="param.clauseId != null and param.clauseId != ''">
  40. AND ic.id = #{param.clauseId}
  41. </if>
  42. <if test="param.riskCodes != null and param.riskCodes.size() > 0">
  43. AND (
  44. <foreach item="code" index="index" collection="param.riskCodes" open="" separator=" OR " close="">
  45. (ic.risk_code = #{code})
  46. </foreach>)
  47. </if>
  48. ORDER BY
  49. CASE WHEN ir.sort IS NULL THEN 1 ELSE 0 END,
  50. ir.sort ASC
  51. </select>
  52. <select id="getClausePageByParam" resultMap="InsCompanyClauseMap">
  53. SELECT
  54. *,
  55. im.id as imid
  56. FROM
  57. ins_company_clause ic
  58. LEFT JOIN ins_company_clause_replace ir ON ir.clause_id = ic.id
  59. LEFT JOIN ins_company_clause_quote_info_map im ON ir.field_id = im.id
  60. WHERE
  61. 1=1
  62. <if test="param.companyId != null and param.companyId != ''">
  63. AND ic.company_id = #{param.companyId}
  64. </if>
  65. <if test="param.clauseId != null and param.clauseId != ''">
  66. AND ic.id = #{param.clauseId}
  67. </if>
  68. <if test="param.riskCodes != null and param.riskCodes.size() > 0">
  69. AND (
  70. <foreach item="code" index="index" collection="param.riskCodes" open="" separator=" OR " close="">
  71. (ic.risk_code = #{code})
  72. </foreach>)
  73. </if>
  74. ORDER BY
  75. CASE WHEN ir.sort IS NULL THEN 1 ELSE 0 END,
  76. ir.sort ASC
  77. </select>
  78. </mapper>