EquipmentLedgerMapper.xml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  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.sundot.airport.equipment.mapper.EquipmentLedgerMapper">
  6. <resultMap type="EquipmentLedger" id="EquipmentLedgerResult">
  7. <result property="tenantId" column="tenant_id"/>
  8. <result property="revision" column="revision"/>
  9. <result property="createBy" column="create_by"/>
  10. <result property="createTime" column="create_time"/>
  11. <result property="updateBy" column="update_by"/>
  12. <result property="updateTime" column="update_time"/>
  13. <result property="remark" column="remark"/>
  14. <result property="id" column="id"/>
  15. <result property="equipmentCode" column="equipment_code"/>
  16. <result property="equipmentName" column="equipment_name"/>
  17. <result property="equipmentType" column="equipment_type"/>
  18. <result property="equipmentCategory" column="equipment_category"/>
  19. <result property="equipmentBrand" column="equipment_brand"/>
  20. <result property="equipmentModel" column="equipment_model"/>
  21. <result property="equipmentSerialNumber" column="equipment_serial_number"/>
  22. <result property="manufacturer" column="manufacturer"/>
  23. <result property="manufacturingDate" column="manufacturing_date"/>
  24. <result property="acceptanceDate" column="acceptance_date"/>
  25. <result property="commissioningDate" column="commissioning_date"/>
  26. <result property="initialAcceptanceStatus" column="initial_acceptance_status"/>
  27. <result property="usageStatus" column="usage_status"/>
  28. <result property="scrappingDate" column="scrapping_date"/>
  29. <result property="installationLocation" column="installation_location"/>
  30. <result property="terminlCode" column="terminl_code"/>
  31. <result property="terminlName" column="terminl_name"/>
  32. <result property="regionalCode" column="regional_code"/>
  33. <result property="regionalName" column="regional_name"/>
  34. <result property="channelCode" column="channel_code"/>
  35. <result property="channelName" column="channel_name"/>
  36. <result property="inspectionSelfCheckDate" column="inspection_self_check_date"/>
  37. <result property="inspectionSelfCheckCycle" column="inspection_self_check_cycle"/>
  38. <result property="nextInspectionDueDate" column="next_inspection_due_date"/>
  39. <result property="inspectionTeamLeaderId" column="inspection_team_leader_id"/>
  40. <result property="inspectionTeamLeaderName" column="inspection_team_leader_name"/>
  41. <result property="inspectionTeamMember1Id" column="inspection_team_member1_id"/>
  42. <result property="inspectionTeamMember1Name" column="inspection_team_member1_name"/>
  43. <result property="inspectionTeamMember2Id" column="inspection_team_member2_id"/>
  44. <result property="inspectionTeamMember2Name" column="inspection_team_member2_name"/>
  45. </resultMap>
  46. <sql id="selectEquipmentLedgerVo">
  47. select tenant_id,
  48. revision,
  49. create_by,
  50. create_time,
  51. update_by,
  52. update_time,
  53. remark,
  54. id,
  55. equipment_code,
  56. equipment_name,
  57. equipment_type,
  58. equipment_category,
  59. equipment_brand,
  60. equipment_model,
  61. equipment_serial_number,
  62. manufacturer,
  63. manufacturing_date,
  64. acceptance_date,
  65. commissioning_date,
  66. initial_acceptance_status,
  67. usage_status,
  68. scrapping_date,
  69. installation_location,
  70. terminl_code,
  71. terminl_name,
  72. regional_code,
  73. regional_name,
  74. channel_code,
  75. channel_name,
  76. inspection_self_check_date,
  77. inspection_self_check_cycle,
  78. next_inspection_due_date,
  79. inspection_team_leader_id,
  80. inspection_team_leader_name,
  81. inspection_team_member1_id,
  82. inspection_team_member1_name,
  83. inspection_team_member2_id,
  84. inspection_team_member2_name
  85. from equipment_ledger
  86. </sql>
  87. <select id="selectEquipmentLedgerList" parameterType="EquipmentLedger" resultMap="EquipmentLedgerResult">
  88. <include refid="selectEquipmentLedgerVo"/>
  89. <where>
  90. <if test="tenantId != null and tenantId != ''">and tenant_id = #{tenantId}</if>
  91. <if test="revision != null ">and revision = #{revision}</if>
  92. <if test="equipmentCode != null and equipmentCode != ''">and equipment_code = #{equipmentCode}</if>
  93. <if test="equipmentName != null and equipmentName != ''">and equipment_name like concat('%',
  94. #{equipmentName}, '%')
  95. </if>
  96. <if test="equipmentType != null and equipmentType != ''">and equipment_type = #{equipmentType}</if>
  97. <if test="equipmentCategory != null and equipmentCategory != ''">and equipment_category =
  98. #{equipmentCategory}
  99. </if>
  100. <if test="equipmentBrand != null and equipmentBrand != ''">and equipment_brand = #{equipmentBrand}</if>
  101. <if test="equipmentModel != null and equipmentModel != ''">and equipment_model = #{equipmentModel}</if>
  102. <if test="equipmentSerialNumber != null and equipmentSerialNumber != ''">and equipment_serial_number =
  103. #{equipmentSerialNumber}
  104. </if>
  105. <if test="manufacturer != null and manufacturer != ''">and manufacturer = #{manufacturer}</if>
  106. <if test="manufacturingDate != null ">and manufacturing_date = #{manufacturingDate}</if>
  107. <if test="acceptanceDate != null ">and acceptance_date = #{acceptanceDate}</if>
  108. <if test="commissioningDate != null ">and commissioning_date = #{commissioningDate}</if>
  109. <if test="initialAcceptanceStatus != null and initialAcceptanceStatus != ''">and initial_acceptance_status
  110. = #{initialAcceptanceStatus}
  111. </if>
  112. <if test="usageStatus != null and usageStatus != ''">and usage_status = #{usageStatus}</if>
  113. <if test="scrappingDate != null ">and scrapping_date = #{scrappingDate}</if>
  114. <if test="installationLocation != null and installationLocation != ''">and installation_location =
  115. #{installationLocation}
  116. </if>
  117. <if test="terminlCode != null and terminlCode != ''">and terminl_code =
  118. #{terminlCode}
  119. </if>
  120. <if test="terminlName != null and terminlName != ''">and
  121. terminl_name like concat('%', #{terminlName}, '%')
  122. </if>
  123. <if test="regionalCode != null and regionalCode != ''">and regional_code =
  124. #{regionalCode}
  125. </if>
  126. <if test="regionalName != null and regionalName != ''">and
  127. regional_name like concat('%', #{regionalName}, '%')
  128. </if>
  129. <if test="channelCode != null and channelCode != ''">and channel_code =
  130. #{channelCode}
  131. </if>
  132. <if test="channelName != null and channelName != ''">and
  133. channel_name like concat('%', #{channelName}, '%')
  134. </if>
  135. <if test="inspectionSelfCheckDate != null ">and inspection_self_check_date = #{inspectionSelfCheckDate}</if>
  136. <if test="inspectionSelfCheckCycle != null ">and inspection_self_check_cycle = #{inspectionSelfCheckCycle}
  137. </if>
  138. <if test="nextInspectionDueDate != null ">and next_inspection_due_date = #{nextInspectionDueDate}</if>
  139. <if test="inspectionTeamLeaderId != null ">and inspection_team_leader_id = #{inspectionTeamLeaderId}</if>
  140. <if test="inspectionTeamLeaderName != null and inspectionTeamLeaderName != ''">and
  141. inspection_team_leader_name like concat('%', #{inspectionTeamLeaderName}, '%')
  142. </if>
  143. <if test="inspectionTeamMember1Id != null ">and inspection_team_member1_id = #{inspectionTeamMember1Id}</if>
  144. <if test="inspectionTeamMember1Name != null and inspectionTeamMember1Name != ''">and
  145. inspection_team_member1_name like concat('%', #{inspectionTeamMember1Name}, '%')
  146. </if>
  147. <if test="inspectionTeamMember2Id != null ">and inspection_team_member2_id = #{inspectionTeamMember2Id}</if>
  148. <if test="inspectionTeamMember2Name != null and inspectionTeamMember2Name != ''">and
  149. inspection_team_member2_name like concat('%', #{inspectionTeamMember2Name}, '%')
  150. </if>
  151. <if test="inspectionTeamUserId != null ">and (
  152. inspection_team_leader_id = #{inspectionTeamUserId} or
  153. inspection_team_member1_id = #{inspectionTeamUserId} or
  154. inspection_team_member2_id = #{inspectionTeamUserId}
  155. )
  156. </if>
  157. <if test="inspectionTeamUserName != null and inspectionTeamUserName != ''">and (
  158. inspection_team_leader_name like concat('%', #{inspectionTeamUserName}, '%') or
  159. inspection_team_member1_name like concat('%', #{inspectionTeamUserName}, '%') or
  160. inspection_team_member2_name like concat('%', #{inspectionTeamUserName}, '%')
  161. )
  162. </if>
  163. <if test="startDate != null and endDate != null">
  164. and (next_inspection_due_date >= #{startDate}
  165. and next_inspection_due_date <![CDATA[ < ]]> date_add(#{endDate} , interval 1 day))
  166. </if>
  167. <choose>
  168. <!-- 使用状态=在用 + 早于今天 -->
  169. <when test="'RED'.equals(colorType)">
  170. AND usage_status = 'IN_USE'
  171. AND DATE(next_inspection_due_date) <![CDATA[ < ]]> CURDATE()
  172. </when>
  173. <!-- 使用状态=在用 + 两周内 -->
  174. <when test="'ORANGE'.equals(colorType)">
  175. AND usage_status = 'IN_USE'
  176. AND next_inspection_due_date <![CDATA[ >= ]]> CURDATE()
  177. AND next_inspection_due_date <![CDATA[ <= ]]> DATE_ADD(CURDATE(), INTERVAL 14 DAY)
  178. </when>
  179. <!-- 使用状态=在用 + 一月内 -->
  180. <when test="'YELLOW'.equals(colorType)">
  181. AND usage_status = 'IN_USE'
  182. AND next_inspection_due_date <![CDATA[ >= ]]> CURDATE()
  183. AND next_inspection_due_date <![CDATA[ <= ]]> DATE_ADD(CURDATE(), INTERVAL 30 DAY)
  184. </when>
  185. <!-- 使用状态=非在用 或 (使用状态=在用 + 一月外) -->
  186. <when test="'COLORLESS'.equals(colorType)">
  187. AND (usage_status != 'IN_USE'
  188. OR (usage_status = 'IN_USE'
  189. AND next_inspection_due_date <![CDATA[ > ]]> DATE_ADD(CURDATE(), INTERVAL 30 DAY))
  190. )
  191. </when>
  192. <!-- 使用状态=在用 + (早于今天 或 一月内) -->
  193. <when test="'MIXED'.equals(colorType)">
  194. AND usage_status = 'IN_USE'
  195. AND next_inspection_due_date <![CDATA[ <= ]]> DATE_ADD(CURDATE(), INTERVAL 30 DAY)
  196. </when>
  197. </choose>
  198. </where>
  199. order by
  200. case usage_status
  201. when 'IN_USE' then 1
  202. else 2
  203. end,
  204. next_inspection_due_date asc
  205. </select>
  206. <select id="selectEquipmentLedgerById" parameterType="Long" resultMap="EquipmentLedgerResult">
  207. <include refid="selectEquipmentLedgerVo"/>
  208. where id = #{id}
  209. </select>
  210. <insert id="insertEquipmentLedger" parameterType="EquipmentLedger" useGeneratedKeys="true" keyProperty="id">
  211. insert into equipment_ledger
  212. <trim prefix="(" suffix=")" suffixOverrides=",">
  213. <if test="tenantId != null">tenant_id,</if>
  214. <if test="revision != null">revision,</if>
  215. <if test="createBy != null">create_by,</if>
  216. <if test="createTime != null">create_time,</if>
  217. <if test="updateBy != null">update_by,</if>
  218. <if test="updateTime != null">update_time,</if>
  219. <if test="remark != null">remark,</if>
  220. <if test="equipmentCode != null and equipmentCode != ''">equipment_code,</if>
  221. <if test="equipmentName != null and equipmentName != ''">equipment_name,</if>
  222. <if test="equipmentType != null">equipment_type,</if>
  223. <if test="equipmentCategory != null">equipment_category,</if>
  224. <if test="equipmentBrand != null">equipment_brand,</if>
  225. <if test="equipmentModel != null">equipment_model,</if>
  226. <if test="equipmentSerialNumber != null and equipmentSerialNumber != ''">equipment_serial_number,</if>
  227. <if test="manufacturer != null">manufacturer,</if>
  228. <if test="manufacturingDate != null">manufacturing_date,</if>
  229. <if test="acceptanceDate != null">acceptance_date,</if>
  230. <if test="commissioningDate != null">commissioning_date,</if>
  231. <if test="initialAcceptanceStatus != null">initial_acceptance_status,</if>
  232. <if test="usageStatus != null">usage_status,</if>
  233. <if test="scrappingDate != null">scrapping_date,</if>
  234. <if test="installationLocation != null">installation_location,</if>
  235. <if test="terminlCode != null">terminl_code,</if>
  236. <if test="terminlName != null">terminl_name,</if>
  237. <if test="regionalCode != null">regional_code,</if>
  238. <if test="regionalName != null">regional_name,</if>
  239. <if test="channelCode != null">channel_code,</if>
  240. <if test="channelName != null">channel_name,</if>
  241. <if test="inspectionSelfCheckDate != null">inspection_self_check_date,</if>
  242. <if test="inspectionSelfCheckCycle != null">inspection_self_check_cycle,</if>
  243. <if test="nextInspectionDueDate != null">next_inspection_due_date,</if>
  244. <if test="inspectionTeamLeaderId != null">inspection_team_leader_id,</if>
  245. <if test="inspectionTeamLeaderName != null">inspection_team_leader_name,</if>
  246. <if test="inspectionTeamMember1Id != null">inspection_team_member1_id,</if>
  247. <if test="inspectionTeamMember1Name != null">inspection_team_member1_name,</if>
  248. <if test="inspectionTeamMember2Id != null">inspection_team_member2_id,</if>
  249. <if test="inspectionTeamMember2Name != null">inspection_team_member2_name,</if>
  250. </trim>
  251. <trim prefix="values (" suffix=")" suffixOverrides=",">
  252. <if test="tenantId != null">#{tenantId},</if>
  253. <if test="revision != null">#{revision},</if>
  254. <if test="createBy != null">#{createBy},</if>
  255. <if test="createTime != null">#{createTime},</if>
  256. <if test="updateBy != null">#{updateBy},</if>
  257. <if test="updateTime != null">#{updateTime},</if>
  258. <if test="remark != null">#{remark},</if>
  259. <if test="equipmentCode != null and equipmentCode != ''">#{equipmentCode},</if>
  260. <if test="equipmentName != null and equipmentName != ''">#{equipmentName},</if>
  261. <if test="equipmentType != null">#{equipmentType},</if>
  262. <if test="equipmentCategory != null">#{equipmentCategory},</if>
  263. <if test="equipmentBrand != null">#{equipmentBrand},</if>
  264. <if test="equipmentModel != null">#{equipmentModel},</if>
  265. <if test="equipmentSerialNumber != null and equipmentSerialNumber != ''">#{equipmentSerialNumber},</if>
  266. <if test="manufacturer != null">#{manufacturer},</if>
  267. <if test="manufacturingDate != null">#{manufacturingDate},</if>
  268. <if test="acceptanceDate != null">#{acceptanceDate},</if>
  269. <if test="commissioningDate != null">#{commissioningDate},</if>
  270. <if test="initialAcceptanceStatus != null">#{initialAcceptanceStatus},</if>
  271. <if test="usageStatus != null">#{usageStatus},</if>
  272. <if test="scrappingDate != null">#{scrappingDate},</if>
  273. <if test="installationLocation != null">#{installationLocation},</if>
  274. <if test="terminlCode != null">#{terminlCode},</if>
  275. <if test="terminlName != null">#{terminlName},</if>
  276. <if test="regionalCode != null">#{regionalCode},</if>
  277. <if test="regionalName != null">#{regionalName},</if>
  278. <if test="channelCode != null">#{channelCode},</if>
  279. <if test="channelName != null">#{channelName},</if>
  280. <if test="inspectionSelfCheckDate != null">#{inspectionSelfCheckDate},</if>
  281. <if test="inspectionSelfCheckCycle != null">#{inspectionSelfCheckCycle},</if>
  282. <if test="nextInspectionDueDate != null">#{nextInspectionDueDate},</if>
  283. <if test="inspectionTeamLeaderId != null">#{inspectionTeamLeaderId},</if>
  284. <if test="inspectionTeamLeaderName != null">#{inspectionTeamLeaderName},</if>
  285. <if test="inspectionTeamMember1Id != null">#{inspectionTeamMember1Id},</if>
  286. <if test="inspectionTeamMember1Name != null">#{inspectionTeamMember1Name},</if>
  287. <if test="inspectionTeamMember2Id != null">#{inspectionTeamMember2Id},</if>
  288. <if test="inspectionTeamMember2Name != null">#{inspectionTeamMember2Name},</if>
  289. </trim>
  290. </insert>
  291. <update id="updateEquipmentLedger" parameterType="EquipmentLedger">
  292. update equipment_ledger
  293. <trim prefix="SET" suffixOverrides=",">
  294. <if test="tenantId != null">tenant_id = #{tenantId},</if>
  295. <if test="revision != null">revision = #{revision},</if>
  296. <if test="createBy != null">create_by = #{createBy},</if>
  297. <if test="createTime != null">create_time = #{createTime},</if>
  298. <if test="updateBy != null">update_by = #{updateBy},</if>
  299. <if test="updateTime != null">update_time = #{updateTime},</if>
  300. <if test="remark != null">remark = #{remark},</if>
  301. <if test="equipmentCode != null and equipmentCode != ''">equipment_code = #{equipmentCode},</if>
  302. <if test="equipmentName != null and equipmentName != ''">equipment_name = #{equipmentName},</if>
  303. <if test="equipmentType != null">equipment_type = #{equipmentType},</if>
  304. <if test="equipmentCategory != null">equipment_category = #{equipmentCategory},</if>
  305. <if test="equipmentBrand != null">equipment_brand = #{equipmentBrand},</if>
  306. <if test="equipmentModel != null">equipment_model = #{equipmentModel},</if>
  307. <if test="equipmentSerialNumber != null and equipmentSerialNumber != ''">equipment_serial_number =
  308. #{equipmentSerialNumber},
  309. </if>
  310. <if test="manufacturer != null">manufacturer = #{manufacturer},</if>
  311. <if test="manufacturingDate != null">manufacturing_date = #{manufacturingDate},</if>
  312. <if test="acceptanceDate != null">acceptance_date = #{acceptanceDate},</if>
  313. <if test="commissioningDate != null">commissioning_date = #{commissioningDate},</if>
  314. <if test="initialAcceptanceStatus != null">initial_acceptance_status = #{initialAcceptanceStatus},</if>
  315. <if test="usageStatus != null">usage_status = #{usageStatus},</if>
  316. <if test="scrappingDate != null">scrapping_date = #{scrappingDate},</if>
  317. <if test="installationLocation != null">installation_location = #{installationLocation},</if>
  318. <if test="terminlCode != null">terminl_code = #{terminlCode},</if>
  319. <if test="terminlName != null">terminl_name = #{terminlName},</if>
  320. <if test="regionalCode != null">regional_code = #{regionalCode},</if>
  321. <if test="regionalName != null">regional_name = #{regionalName},</if>
  322. <if test="channelCode != null">channel_code = #{channelCode},</if>
  323. <if test="channelName != null">channel_name = #{channelName},</if>
  324. <if test="inspectionSelfCheckDate != null">inspection_self_check_date = #{inspectionSelfCheckDate},</if>
  325. <if test="inspectionSelfCheckCycle != null">inspection_self_check_cycle = #{inspectionSelfCheckCycle},</if>
  326. <if test="nextInspectionDueDate != null">next_inspection_due_date = #{nextInspectionDueDate},</if>
  327. <if test="inspectionTeamLeaderId != null">inspection_team_leader_id = #{inspectionTeamLeaderId},</if>
  328. <if test="inspectionTeamLeaderName != null">inspection_team_leader_name = #{inspectionTeamLeaderName},</if>
  329. <if test="inspectionTeamMember1Id != null">inspection_team_member1_id = #{inspectionTeamMember1Id},</if>
  330. <if test="inspectionTeamMember1Name != null">inspection_team_member1_name = #{inspectionTeamMember1Name},
  331. </if>
  332. <if test="inspectionTeamMember2Id != null">inspection_team_member2_id = #{inspectionTeamMember2Id},</if>
  333. <if test="inspectionTeamMember2Name != null">inspection_team_member2_name = #{inspectionTeamMember2Name},
  334. </if>
  335. </trim>
  336. where id = #{id}
  337. </update>
  338. <delete id="deleteEquipmentLedgerById" parameterType="Long">
  339. delete
  340. from equipment_ledger
  341. where id = #{id}
  342. </delete>
  343. <delete id="deleteEquipmentLedgerByIds" parameterType="String">
  344. delete from equipment_ledger where id in
  345. <foreach item="id" collection="array" open="(" separator="," close=")">
  346. #{id}
  347. </foreach>
  348. </delete>
  349. <select id="selectExpiredInspectionList" resultMap="EquipmentLedgerResult">
  350. <include refid="selectEquipmentLedgerVo"/>
  351. where next_inspection_due_date &lt; NOW()
  352. and next_inspection_due_date is not null
  353. order by next_inspection_due_date asc
  354. </select>
  355. <select id="selectUpcomingInspectionList" resultMap="EquipmentLedgerResult">
  356. <include refid="selectEquipmentLedgerVo"/>
  357. where next_inspection_due_date &gt;= NOW()
  358. and next_inspection_due_date &lt;= DATE_ADD(NOW(), INTERVAL 30 DAY)
  359. and next_inspection_due_date is not null
  360. order by next_inspection_due_date asc
  361. </select>
  362. <select id="selectTwoWeeksUpcomingInspectionList" resultMap="EquipmentLedgerResult">
  363. <include refid="selectEquipmentLedgerVo"/>
  364. where next_inspection_due_date &gt;= NOW()
  365. and next_inspection_due_date &lt;= DATE_ADD(NOW(), INTERVAL 14 DAY)
  366. and next_inspection_due_date is not null
  367. order by next_inspection_due_date asc
  368. </select>
  369. </mapper>