EsmYcPolicyInformationMapper.xml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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.esm.dao.EsmYcPolicyInformationMapper">
  6. <resultMap id="BaseResultMap" type="com.ydtech.modules.esm.model.EsmYcPolicyInformation">
  7. <result property="id" column="id" jdbcType="BIGINT"/>
  8. <result property="licensePlate" column="license_plate" jdbcType="VARCHAR"/>
  9. <result property="contractNo1" column="contract_no1" jdbcType="VARCHAR"/>
  10. <result property="contractNo2" column="contract_no2" jdbcType="VARCHAR"/>
  11. <result property="premiums1" column="premiums1" jdbcType="DECIMAL"/>
  12. <result property="premiums2" column="premiums2" jdbcType="DECIMAL"/>
  13. <result property="tax" column="tax" jdbcType="DECIMAL"/>
  14. <result property="issueDate" column="issue_date" jdbcType="DATE"/>
  15. </resultMap>
  16. <resultMap id="CalculationTableMap" type="com.ydtech.modules.esm.model.CalculationTableDto">
  17. <result property="insurance" column="insurance" jdbcType="VARCHAR"/>
  18. <result property="premium" column="premium" jdbcType="VARCHAR"/>
  19. <result property="number" column="number" jdbcType="VARCHAR"/>
  20. <result property="premiums1Sum" column="premiums1_sum" jdbcType="VARCHAR"/>
  21. <result property="premiums2Sum" column="premiums2_sum" jdbcType="DECIMAL"/>
  22. <result property="sumTax" column="sum_tax" jdbcType="DECIMAL"/>
  23. </resultMap>
  24. <sql id="Base_Column_List">
  25. id,license_plate,contract_no1,
  26. contract_no2,premiums1,premiums2,
  27. tax,issue_date
  28. </sql>
  29. <select id="jqCalculationTable" resultMap="CalculationTableMap" parameterType="java.lang.String">
  30. select '单交' as insurance,
  31. premiums1 as premium,
  32. count(*) as number,
  33. sum(premiums1) as premiums1_sum,
  34. sum(premiums2) as premiums2_sum,
  35. sum(tax) as sum_tax,
  36. concat(round(sum(tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  37. from esm_yc_policy_information
  38. where (contract_no2 is null
  39. or contract_no2 = '')
  40. and issue_date = #{today}
  41. group by premiums1
  42. order by premiums1;
  43. </select>
  44. <select id="jqCalculationTableSum" resultMap="CalculationTableMap" parameterType="java.lang.String">
  45. select '单交' as insurance,
  46. count(*) as number,
  47. sum(premiums1) as premiums1_sum,
  48. sum(premiums2) as premiums2_sum,
  49. sum(tax) as sum_tax,
  50. concat(round(sum(tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  51. from esm_yc_policy_information
  52. where (contract_no2 is null
  53. or contract_no2 = '')
  54. and issue_date = #{today}
  55. </select>
  56. <select id="syCalculationTable" resultMap="CalculationTableMap" parameterType="java.lang.String">
  57. select '交三' as insurance,
  58. premiums1 as premium,
  59. count(*) as number,
  60. sum(premiums1) as premiums1_sum,
  61. sum(premiums2) as premiums2_sum,
  62. sum(tax) as sum_tax,
  63. concat(round(sum(tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  64. from esm_yc_policy_information
  65. where (contract_no2 is not null
  66. or contract_no2 != '')
  67. and issue_date = #{today}
  68. group by premiums1
  69. order by premiums1;
  70. </select>
  71. <select id="syCalculationTableSum" resultMap="CalculationTableMap" parameterType="java.lang.String">
  72. select '交三' as insurance,
  73. count(*) as number,
  74. sum(premiums1) as premiums1_sum,
  75. sum(premiums2) as premiums2_sum,
  76. sum(tax) as sum_tax,
  77. concat(round(sum(tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  78. from esm_yc_policy_information
  79. where (contract_no2 is not null
  80. or contract_no2 != '')
  81. and issue_date = #{today}
  82. </select>
  83. <select id="sumCalculationTable" resultMap="CalculationTableMap" parameterType="java.lang.String">
  84. select '合计' as insurance,
  85. count(*) as number,
  86. sum(premiums1) as premiums1_sum,
  87. sum(premiums2) as premiums2_sum,
  88. sum(tax) as sum_tax,
  89. concat(round(sum(tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  90. from esm_yc_policy_information
  91. where issue_date = #{today};
  92. </select>
  93. <select id="sumMonthlyDaily" resultType="java.util.Map">
  94. SELECT issue_date,
  95. sum(premiums1) AS premiums1_sum,
  96. sum(premiums2) AS premiums2_sum,
  97. sum(tax) AS sum_tax
  98. FROM esm_yc_policy_information
  99. where DATE(issue_date) >= (
  100. DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
  101. GROUP BY issue_date
  102. </select>
  103. </mapper>