846d30735a6fedbb4e17c6b25b5984ae13ed0da9.svn-base 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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="cn.com.goldenwater.dcproj.dao.BisInspAnzeStaticsDao">
  4. <select id="insurerUnderwritingCount" resultType="Map" parameterType="Integer">
  5. SELECT B.INSURANCE_COMPANY, COUNT(*) AS CNT
  6. FROM ATT_PROJECT_INSURANCE A
  7. JOIN ATT_PROJECT_INSURANCE_RECORD B ON A.ID = B.PROJECT_ID
  8. WHERE B.INSURANCE_DATE &gt;= DATE '${year1}-01-01'
  9. AND B.INSURANCE_DATE &lt; DATE '${year2}-01-01'
  10. GROUP BY B.INSURANCE_COMPANY
  11. ORDER BY B.INSURANCE_COMPANY
  12. </select>
  13. <select id="anzeCompletion" resultType="Map" parameterType="Integer">
  14. SELECT A.AD_CODE,
  15. A.AD_NAME,
  16. COUNT(DISTINCT A.ID) AS PROJECT_CNT,
  17. COUNT(DISTINCT B.PROJECT_ID) AS UNDERWRITING_CNT,
  18. COUNT(D.OBJ_ID) AS COMPLETION_CNT
  19. FROM ATT_PROJECT_INSURANCE A
  20. LEFT JOIN (SELECT PROJECT_ID
  21. FROM ATT_PROJECT_INSURANCE_RECORD
  22. WHERE INSURANCE_DATE &gt;= DATE '${year1}-01-01'
  23. AND INSURANCE_DATE &lt; DATE '${year2}-01-01'
  24. GROUP BY PROJECT_ID) B ON A.ID = B.PROJECT_ID
  25. LEFT JOIN BIS_INSP_ALL_OBJ C ON A.ID = C.CODE
  26. LEFT JOIN (SELECT OBJ_ID
  27. FROM BIS_INSP_ANZE_RGSTR
  28. WHERE STATE IN ('2', '3')) D ON C.OBJ_ID = D.OBJ_ID
  29. where A.BUSINESS_TYPE = '1'
  30. GROUP BY A.AD_CODE, A.AD_NAME
  31. ORDER BY A.AD_CODE
  32. </select>
  33. <select id="sixmeCompletion" resultType="Map" parameterType="Integer">
  34. SELECT A.AD_CODE,
  35. A.AD_NAME,
  36. COUNT(DISTINCT A.ID) AS PROJECT_CNT,
  37. COUNT(R.RECORD_ID) AS COMPLETION_CNT
  38. FROM ATT_PROJECT_INSURANCE A
  39. LEFT JOIN BIS_INSP_ALL_OBJ C ON A.ID = C.CODE
  40. LEFT JOIN BIS_INSP_SIXME_RGSTR D ON C.OBJ_ID = D.OBJ_ID
  41. LEFT JOIN (SELECT ID AS RECORD_ID, RGSTR_ID
  42. FROM BIS_INSP_SIXME_RECORD
  43. WHERE STATE IN ('1')
  44. AND INTM &gt;= DATE '${year1}-01-01'
  45. AND INTM &lt; DATE '${year2}-01-01') R ON D.ID = R.RGSTR_ID
  46. where A.BUSINESS_TYPE = '2'
  47. GROUP BY A.AD_CODE, A.AD_NAME
  48. ORDER BY A.AD_CODE
  49. </select>
  50. </mapper>