EsmYaPolicyInformationMapper.xml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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.EsmYaPolicyInformationMapper">
  6. <resultMap id="BaseResultMap" type="com.ydtech.modules.esm.model.EsmYaPolicyInformation">
  7. <result property="id" column="id" jdbcType="BIGINT"/>
  8. <result property="licenseNo" column="license_no" jdbcType="VARCHAR"/>
  9. <result property="policyNo" column="policy_no" jdbcType="VARCHAR"/>
  10. <result property="commercePolicyNo" column="commerce_policy_no" jdbcType="VARCHAR"/>
  11. <result property="sumPremium" column="sum_premium" jdbcType="DECIMAL"/>
  12. <result property="commerceSumPremium" column="commerce_sum_premium" jdbcType="DECIMAL"/>
  13. <result property="sumPayTax" column="sum_pay_tax" jdbcType="DECIMAL"/>
  14. <result property="policyDate" column="policy_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,policy_no,sum_premium,
  26. sum_pay_tax,policy_date
  27. </sql>
  28. <select id="jqCalculationTable" resultMap="CalculationTableMap" parameterType="java.lang.String">
  29. select '单交' as insurance,
  30. sum_premium as premium,
  31. count(*) as number,
  32. sum(sum_premium) as premiums1_sum,
  33. sum(commerce_sum_premium) as premiums2_sum,
  34. sum(sum_pay_tax) as sum_tax,
  35. concat(round(sum(sum_pay_tax) / (sum(sum_premium) + sum(commerce_sum_premium)) * 100, 2),
  36. '%') as proportion
  37. from esm_ya_policy_information
  38. where (commerce_policy_no is null
  39. or commerce_policy_no = '')
  40. and policy_date = #{today}
  41. group by sum_premium
  42. order by sum_premium;
  43. </select>
  44. <select id="jqCalculationTableSum" resultMap="CalculationTableMap" parameterType="java.lang.String">
  45. select '单交' as insurance,
  46. count(*) as number,
  47. sum(sum_premium) as premiums1_sum,
  48. sum(commerce_sum_premium) as premiums2_sum,
  49. sum(sum_pay_tax) as sum_tax,
  50. concat(round(sum(sum_pay_tax) / (sum(sum_premium) + sum(commerce_sum_premium)) * 100, 2),
  51. '%') as proportion
  52. from esm_ya_policy_information
  53. where (commerce_policy_no is null
  54. or commerce_policy_no = '')
  55. and policy_date = #{today}
  56. </select>
  57. <select id="syCalculationTable" resultMap="CalculationTableMap" parameterType="java.lang.String">
  58. select '交三' as insurance,
  59. sum_premium as premium,
  60. count(*) as number,
  61. sum(sum_premium) as premiums1_sum,
  62. sum(commerce_sum_premium) as premiums2_sum,
  63. sum(sum_pay_tax) as sum_tax,
  64. concat(round(sum(sum_pay_tax) / (sum(sum_premium) + sum(commerce_sum_premium)) * 100, 2),
  65. '%') as proportion
  66. from esm_ya_policy_information
  67. where (commerce_policy_no is not null
  68. or commerce_policy_no != '')
  69. and policy_date = #{today}
  70. group by sum_premium
  71. order by sum_premium;
  72. </select>
  73. <select id="syCalculationTableSum" resultMap="CalculationTableMap" parameterType="java.lang.String">
  74. select '交三' as insurance,
  75. count(*) as number,
  76. sum(sum_premium) as premiums1_sum,
  77. sum(commerce_sum_premium) as premiums2_sum,
  78. sum(sum_pay_tax) as sum_tax,
  79. concat(round(sum(sum_pay_tax) / (sum(sum_premium) + sum(commerce_sum_premium)) * 100, 2),
  80. '%') as proportion
  81. from esm_ya_policy_information
  82. where (commerce_policy_no is not null
  83. or commerce_policy_no != '')
  84. and policy_date = #{today}
  85. </select>
  86. <select id="sumCalculationTable" resultMap="CalculationTableMap" parameterType="java.lang.String">
  87. select '合计' as insurance,
  88. count(*) as number,
  89. sum(sum_premium) as premiums1_sum,
  90. sum(commerce_sum_premium) as premiums2_sum,
  91. sum(sum_pay_tax) as sum_tax,
  92. concat(round(sum(sum_pay_tax) / (sum(sum_premium) + sum(commerce_sum_premium)) * 100, 2),
  93. '%') as proportion
  94. from esm_ya_policy_information
  95. where policy_date = #{today};
  96. </select>
  97. <select id="sumMonthlyDaily" resultType="java.util.Map">
  98. SELECT policy_date,
  99. sum(sum_premium) AS premiums1_sum,
  100. sum(commerce_sum_premium) AS premiums2_sum,
  101. sum(sum_pay_tax) AS sum_tax
  102. FROM esm_ya_policy_information
  103. where DATE(policy_date) >= (
  104. DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
  105. GROUP BY policy_date
  106. </select>
  107. </mapper>