EsmPolicyInformationMapper.xml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.ydtech.modules.esm.dao.EsmPolicyInformationMapper">
  4. <resultMap id="BaseResultMap" type="com.ydtech.modules.esm.model.EsmPolicyInformation">
  5. <result property="id" column="id" jdbcType="BIGINT"/>
  6. <result property="contractMainNo" column="contract_main_no" jdbcType="VARCHAR"/>
  7. <result property="contractNo1" column="contract_no1" jdbcType="VARCHAR"/>
  8. <result property="contractNo2" column="contract_no2" jdbcType="VARCHAR"/>
  9. <result property="premiums1" column="premiums1" jdbcType="DECIMAL"/>
  10. <result property="premiums2" column="premiums2" jdbcType="DECIMAL"/>
  11. <result property="annualTaxDue" column="annual_tax_due" jdbcType="DECIMAL"/>
  12. <result property="sumTaxDefault" column="sum_tax_default" jdbcType="DECIMAL"/>
  13. <result property="sumTax" column="sum_tax" jdbcType="DECIMAL"/>
  14. </resultMap>
  15. <resultMap id="CalculationTableMap" type="com.ydtech.modules.esm.model.CalculationTableDto">
  16. <result property="insurance" column="insurance" jdbcType="VARCHAR"/>
  17. <result property="premium" column="premium" jdbcType="VARCHAR"/>
  18. <result property="number" column="number" jdbcType="VARCHAR"/>
  19. <result property="premiums1Sum" column="premiums1_sum" jdbcType="VARCHAR"/>
  20. <result property="premiums2Sum" column="premiums2_sum" jdbcType="DECIMAL"/>
  21. <result property="sumTax" column="sum_tax" jdbcType="DECIMAL"/>
  22. </resultMap>
  23. <sql id="Base_Column_List">
  24. id
  25. ,contract_main_no,contract_no1,
  26. contract_no2,premiums1,premiums2,
  27. annual_tax_due,sum_tax_default,sum_tax
  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(sum_tax) as sum_tax,
  36. concat(round(sum(sum_tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  37. from esm_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(sum_tax) as sum_tax,
  50. concat(round(sum(sum_tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  51. from esm_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(sum_tax) as sum_tax,
  63. concat(round(sum(sum_tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  64. from esm_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(sum_tax) as sum_tax,
  77. concat(round(sum(sum_tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  78. from esm_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(sum_tax) as sum_tax,
  89. concat(round(sum(sum_tax) / (sum(premiums1) + sum(premiums2)) * 100, 2), '%') as proportion
  90. from esm_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(sum_tax) AS sum_tax
  98. FROM esm_policy_information
  99. where DATE(issue_date) >= (
  100. DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
  101. GROUP BY issue_date
  102. </select>
  103. <select id="getTotalInsurance" resultType="com.ydtech.modules.esm.model.dto.TotalInsuranceDTO" parameterType="java.lang.String">
  104. SELECT
  105. '中煤' AS `name`,
  106. issue_date AS date_time,
  107. sum( premiums2 )+ sum( premiums1 ) AS premiums_sum,
  108. sum( sum_tax ) AS sum_tax
  109. FROM
  110. esm_policy_information
  111. WHERE
  112. issue_date = #{today} UNION ALL
  113. SELECT
  114. '永安' AS `name`,
  115. policy_date AS date_time,
  116. sum( sum_premium )+ sum( commerce_sum_premium ) AS premiums_sum,
  117. sum( sum_pay_tax ) AS sum_tax
  118. FROM
  119. esm_ya_policy_information
  120. WHERE
  121. policy_date =#{today} UNION ALL
  122. SELECT
  123. '永诚' AS `name`,
  124. issue_date AS date_time,
  125. sum( premiums1 ) + sum( premiums2 ) AS premiums_sum,
  126. sum( tax ) AS sum_tax
  127. FROM
  128. esm_yc_policy_information
  129. WHERE
  130. issue_date = #{today}
  131. </select>
  132. </mapper>