CommonDataMapper.xml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  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.ty.lift.system.homepage.dao.mapper.CommonDataMapper">
  4. <!-- 公司id -> 数量sql -->
  5. <sql id="companyIdToCountSql">
  6. mt_company_id as mtCompanyId, count(mt_company_id) as dataCount
  7. </sql>
  8. <!-- 公司id sql设置 -->
  9. <sql id="setCompanyId">
  10. <if test="companyIdList != null">
  11. and mt_company_id in
  12. <foreach item="item" index="index" collection="companyIdList" open="(" separator="," close=")">
  13. #{item}
  14. </foreach>
  15. </if>
  16. </sql>
  17. <!-- 电梯信息 sql -->
  18. <sql id="liftInfoSql">
  19. l.id as liftId,
  20. l.registration_code as registrationCode,
  21. l.lift_code as liftCode,
  22. p.project_name as projectName,
  23. ui.name as workerName,
  24. </sql>
  25. <!-- 电梯信息关联字段 sql -->
  26. <sql id="liftInfoJoinSql">
  27. left join
  28. project_lift_relevance plr
  29. on
  30. l.id = plr.lift_id
  31. left join
  32. project p
  33. on
  34. plr.project_id = p.id
  35. left join
  36. user_info ui
  37. on
  38. plr.worker_id = ui.user_id
  39. </sql>
  40. <!-- 获取维保计划数据 -->
  41. <select id="getMtPlanData" parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest"
  42. resultType="cn.com.ty.lift.system.homepage.dao.model.MtPlanDataModel">
  43. select
  44. mp.lift_id as liftId,
  45. mp.status as status
  46. from
  47. maintenance_plan mp
  48. where
  49. mp.mt_company_id = #{mtCompanyId}
  50. and
  51. mp.plan_date <![CDATA[ >= ]]> #{startDateStr}
  52. and
  53. mp.plan_date <![CDATA[ <= ]]> #{endDateStr}
  54. </select>
  55. <!-- 获取急修记录数据 -->
  56. <select id="getEmergencyRecordData" parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest"
  57. resultType="cn.com.ty.lift.system.homepage.dao.model.EmergencyRecordDataModel">
  58. select
  59. er.lift_id as liftId,
  60. er.status as status
  61. from
  62. emergency_repair er
  63. where
  64. er.mt_company_id = #{mtCompanyId}
  65. and
  66. er.caller_date <![CDATA[ >= ]]> #{startDateStr}
  67. and
  68. er.caller_date <![CDATA[ <= ]]> #{endDateStr}
  69. </select>
  70. <!-- 获取电梯维保记录 -->
  71. <select id="getMtRecordData" parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest"
  72. resultType="cn.com.ty.lift.system.homepage.dao.model.MtRecordDataModel">
  73. select
  74. mr.lift_id as liftId,
  75. mr.status as stats
  76. from
  77. maintenance_record mr
  78. where
  79. mr.mt_company_id = #{mtCompanyId}
  80. and
  81. mr.work_date <![CDATA[ >= ]]> #{startDateStr}
  82. and
  83. mr.work_date <![CDATA[ <= ]]> #{endDateStr}
  84. </select>
  85. <!-- 获取公司项目数 -->
  86. <select id="getMtCompanyIdToProjectNum"
  87. parameterType="cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest"
  88. resultType="cn.com.ty.lift.system.homepage.dao.model.CountDataModel">
  89. select
  90. <include refid="companyIdToCountSql"></include>
  91. from
  92. project
  93. group by
  94. mt_company_id
  95. having
  96. 1=1
  97. <!-- 判断公司id是否在集合中 -->
  98. <include refid="setCompanyId"></include>
  99. </select>
  100. <!-- 获取公司维保记录 -->
  101. <select id="getMtCompanyIdToMtRecord"
  102. parameterType="cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest"
  103. resultType="cn.com.ty.lift.system.homepage.dao.model.CountDataModel">
  104. select
  105. <include refid="companyIdToCountSql"></include>
  106. from
  107. maintenance_record
  108. group by
  109. mt_company_id
  110. having
  111. 1=1
  112. <!-- 判断公司id是否在集合中 -->
  113. <include refid="setCompanyId"></include>
  114. </select>
  115. <!-- 获取公司急修记录 -->
  116. <select id="getMtCompanyIdToEmergencyRecord"
  117. parameterType="cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest"
  118. resultType="cn.com.ty.lift.system.homepage.dao.model.CountDataModel">
  119. select
  120. <include refid="companyIdToCountSql"></include>
  121. from
  122. emergency_repair
  123. group by
  124. mt_company_id
  125. having
  126. 1=1
  127. <!-- 判断公司id是否在集合中 -->
  128. <include refid="setCompanyId"></include>
  129. </select>
  130. <!--################################################################################-->
  131. <!--#############################电梯日历数据库代码####################################-->
  132. <!--################################################################################-->
  133. <!-- 获取当前时间到月末时间段内的公司维保计划 -->
  134. <select id="getMonthNowToEndMtPlan"
  135. parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.PlatformCalendarRequest"
  136. resultType="cn.com.ty.lift.system.homepage.dao.model.MtPlanDataModel">
  137. select
  138. <include refid="liftInfoSql"></include>
  139. mp.plan_date as planDate,
  140. mp.status as status
  141. from
  142. maintenance_plan mp
  143. left join
  144. lift l
  145. on
  146. mp.lift_id = l.id
  147. <include refid="liftInfoJoinSql"></include>
  148. where
  149. mp.mt_company_id = #{mtCompanyId}
  150. and
  151. mp.plan_date <![CDATA[ >= ]]> #{monthEndStr}
  152. and
  153. mp.plan_date <![CDATA[ <= ]]> #{monthEndStr}
  154. </select>
  155. <!-- 获取月初到当前时间段内公司的维保记录信息 -->
  156. <select id="getMonthBeginToNowMtRecord"
  157. parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.PlatformCalendarRequest"
  158. resultType="cn.com.ty.lift.system.homepage.dao.model.MtRecordDataModel">
  159. select
  160. <include refid="liftInfoSql"></include>
  161. mr.work_date as workDate,
  162. mr.status as status
  163. from
  164. maintenance_record mr
  165. left join
  166. lift l
  167. on
  168. mr.lift_id = l.id
  169. <include refid="liftInfoJoinSql"></include>
  170. where
  171. mr.mt_company_id = #{mtCompanyId}
  172. and
  173. mr.work_date <![CDATA[ >= ]]> #{monthBeginStr}
  174. and
  175. mr.work_date <![CDATA[ <= ]]> #{monthEndStr}
  176. </select>
  177. <!-- 获取月初到当前时间段内公司的急修记录信息 -->
  178. <select id="getMonthBeginToNowEmergencyRecord"
  179. parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.PlatformCalendarRequest"
  180. resultType="cn.com.ty.lift.system.homepage.dao.model.EmergencyRecordDataModel">
  181. select
  182. <include refid="liftInfoSql"></include>
  183. er.caller_date as callerDate,
  184. er.recovery_date as recoveryDate,
  185. er.status as status
  186. from
  187. emergency_repair er
  188. left join
  189. lift l
  190. on
  191. er.lift_id = l.id
  192. <include refid="liftInfoJoinSql"></include>
  193. where
  194. er.mt_company_id = #{mtCompanyId}
  195. and
  196. er.caller_date <![CDATA[ >= ]]> #{monthBeginStr}
  197. and
  198. er.caller_date <![CDATA[ <= ]]> #{monthEndStr}
  199. </select>
  200. <!-- 获取本月时间段内的年检记录信息 -->
  201. <select id="getMonthBeginToEndAnnualInspectionRecord"
  202. parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.PlatformCalendarRequest"
  203. resultType="cn.com.ty.lift.system.homepage.dao.model.AnnualInspectionDataModel">
  204. select
  205. <include refid="liftInfoSql"></include>
  206. ai.finish_time as finishTime,
  207. ai.status as status
  208. from
  209. annual_inspection ai
  210. left join
  211. lift l
  212. on
  213. ai.lift_id = l.id
  214. <include refid="liftInfoJoinSql"></include>
  215. where
  216. ai.mt_company_id = #{mtCompanyId}
  217. and
  218. ai.finish_time <![CDATA[ >= ]]> #{monthBeginStr}
  219. and
  220. ai.finish_time <![CDATA[ <= ]]> #{monthEndStr}
  221. </select>
  222. </mapper>