AchievementStatisticsDao.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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.AchievementStatisticsDao">
  4. <resultMap type="cn.com.goldenwater.dcproj.dto.AchievementStatisticsDto" id="achStaResultMap">
  5. <result property="objNmae" column="obj_name"/>
  6. <result property="baseNmae" column="base_name"/>
  7. <result property="adCode" column="ad_code"/>
  8. <result property="adName" column="ad_name"/>
  9. <result property="pblmNameBz" column="pblm_name_bz"/>
  10. <result property="checkPointBz" column="check_point_bz"/>
  11. <result property="pblmDescBz" column="pblm_desc_bz"/>
  12. <result property="inspPblmDesc" column="insp_pblm_desc"/>
  13. <result property="cate" column="cate"/>
  14. <result property="persName" column="pers_name"/>
  15. <result property="collTime" column="coll_time"/>
  16. <result property="pc" column="pc"/>
  17. <result property="ptype" column="ptype"/>
  18. <result property="num" column="num"/>
  19. </resultMap>
  20. <!-- 使用like用法:columnName like concat('%',#columnName#,'%') -->
  21. <select id="getQuestionInfoByObjtypeTimetype" resultMap="achStaResultMap" parameterType="cn.com.goldenwater.dcproj.param.AchievementStatisticsParam" >
  22. select b.name obj_name,b.nm base_name,b.obj_ad_code ad_code,b.ad_name,
  23. a.pblm_name_bz,a.check_point_bz,a.pblm_desc_bz,a.insp_pblm_desc,
  24. CASE a.insp_pblm_cate
  25. when 0 then '一般'
  26. when 1 then '较严重'
  27. when 2 then '严重'
  28. ELSE '特别严重' END AS cate,
  29. a.pers_name,a.coll_time from
  30. (select k.*,m.pers_name from BIS_INSP_PBLM k left join Bis_Insp_All_Rlation_Pers m on k.rec_pers = m.guid
  31. where k.obj_type=#{objType}
  32. and m.org_id=#{orgId}
  33. <if test="sttime != null and sttime != '' and ettime != null and ettime != '' ">
  34. and STR_TO_DATE(DATE_FORMAT(k.coll_time, '%Y-%m-%d'), '%Y-%m-%d')
  35. between STR_TO_DATE(substr(#{sttime}, 1, 10), '%Y-%m-%d') and STR_TO_DATE(substr(#{ettime}, 1, 10), '%Y-%m-%d')
  36. </if>
  37. ) a
  38. left join
  39. (select s.*,q.name,x.ad_name from bis_insp_all_obj s left join att_insp_type q on s.ptype=q.ptype left join att_ad_x_base x
  40. on s.obj_ad_code=x.ad_code) b
  41. on a.obj_id=b.obj_id
  42. order by b.ad_code
  43. </select>
  44. <select id="getQuestionInfoByObjtypeTimetypeCate" resultMap="achStaResultMap" parameterType="cn.com.goldenwater.dcproj.param.AchievementStatisticsParam" >
  45. select b.name obj_name,b.nm base_name,b.obj_ad_code ad_code,b.ad_name,
  46. a.pblm_name_bz,a.check_point_bz,a.pblm_desc_bz,a.insp_pblm_desc,
  47. CASE a.insp_pblm_cate
  48. when 0 then '一般'
  49. when 1 then '较严重'
  50. when 2 then '严重'
  51. ELSE '特别严重' END AS cate,
  52. a.pers_name,a.coll_time from
  53. (select k.*,m.pers_name from BIS_INSP_PBLM k left join Bis_Insp_All_Rlation_Pers m on k.rec_pers = m.guid
  54. where
  55. 1=1
  56. <if test="objType != null and objType != ''">
  57. and k.obj_type=#{objType}
  58. </if>
  59. <if test="cate != null and cate != ''">
  60. and k.insp_pblm_cate=#{cate}
  61. </if>
  62. and m.org_id=#{orgId}
  63. <if test="sttime != null and sttime != '' and ettime != null and ettime != '' ">
  64. and STR_TO_DATE(DATE_FORMAT(k.coll_time, '%Y-%m-%d'), '%Y-%m-%d')
  65. between STR_TO_DATE(substr(#{sttime}, 1, 10), '%Y-%m-%d') and STR_TO_DATE(substr(#{ettime}, 1, 10), '%Y-%m-%d')
  66. </if>
  67. ) a
  68. left join
  69. (select s.*,q.name,x.ad_name from bis_insp_all_obj s left join att_insp_type q on s.ptype=q.ptype left join att_ad_x_base x
  70. on s.obj_ad_code=x.ad_code) b
  71. on a.obj_id=b.obj_id
  72. order by b.ad_code
  73. </select>
  74. <select id="getQuestionInfoByObjtypeTimetypeAdcode" resultMap="achStaResultMap" parameterType="cn.com.goldenwater.dcproj.param.AchievementStatisticsParam" >
  75. select b.name obj_name,b.nm base_name,b.obj_ad_code ad_code,b.ad_name,
  76. a.pblm_name_bz,a.check_point_bz,a.pblm_desc_bz,a.insp_pblm_desc,
  77. CASE a.insp_pblm_cate
  78. when 0 then '一般'
  79. when 1 then '较严重'
  80. when 2 then '严重'
  81. ELSE '特别严重' END AS cate,
  82. a.pers_name,a.coll_time from
  83. (select k.*,m.pers_name from BIS_INSP_PBLM k left join Bis_Insp_All_Rlation_Pers m on k.rec_pers = m.guid
  84. where
  85. 1=1
  86. <if test="objType != null and objType != ''">
  87. and k.obj_type=#{objType}
  88. </if>
  89. <if test="cate != null and cate != ''">
  90. and k.insp_pblm_cate=#{cate}
  91. </if>
  92. and m.org_id=#{orgId}
  93. <if test="sttime != null and sttime != '' and ettime != null and ettime != '' ">
  94. and STR_TO_DATE(DATE_FORMAT(k.coll_time, '%Y-%m-%d'), '%Y-%m-%d')
  95. between STR_TO_DATE(substr(#{sttime}, 1, 10), '%Y-%m-%d') and STR_TO_DATE(substr(#{ettime}, 1, 10), '%Y-%m-%d')
  96. </if>
  97. ) a
  98. left join
  99. (select s.*,q.name,x.ad_name from bis_insp_all_obj s left join att_insp_type q on s.ptype=q.ptype left join att_ad_x_base x
  100. on s.obj_ad_code=x.ad_code) b
  101. on a.obj_id=b.obj_id
  102. where b.obj_ad_code like concat(#{adcode},'%')
  103. order by b.ad_code
  104. </select>
  105. <!-- 其他自定义SQL -->
  106. <select id="getObjNum" resultMap="achStaResultMap" parameterType="String">
  107. select m.ptype,n.name obj_name,count(*) num,concat('第',substr(id,9,1),'批次') pc
  108. from bis_insp_all_obj m
  109. join att_insp_type n on m.ptype=n.ptype
  110. where
  111. org_id=#{orgId}
  112. and obj_intm > str_to_date(date_format(now(), '%Y0101'), '%Y%m%d')
  113. group by substr(id,9,1),m.ptype,n.name
  114. order by pc
  115. </select>
  116. </mapper>