You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2299 lines
91 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  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.xujie.sys.modules.pms.mapper.EamMapper">
  4. <select id="eamAdminSearch" parameterType="com.xujie.sys.modules.pms.data.EamAdminData" resultType="com.xujie.sys.modules.pms.data.EamAdminData">
  5. SELECT distinct
  6. ea.Site,
  7. ea.AdminID,
  8. ea.AdminName,
  9. ea.Phone,
  10. ea.Email,
  11. ea.Tel,
  12. ea.LevelID,
  13. eal.AdminLevelDesc,
  14. ea.MesUser,
  15. ea.Active,
  16. ea.CreatedDate,
  17. ea.created_by,
  18. ea.update_date,
  19. ea.update_by
  20. FROM eam_admin as ea
  21. LEFT JOIN eam_adminLevel as eal ON ea.LevelID = eal.AdminLevelID and ea.site = eal.site
  22. left join eam_admin_dept as ead on ea.site = ead.site and ea.AdminID = ead.admin_id
  23. LEFT JOIN sys_department as ved ON ead.site = ved.site and ead.dept_id = ved.department_id
  24. <where>
  25. <if test="query.site != null and query.site != ''">
  26. AND ea.site = #{query.site}
  27. </if>
  28. <if test="query.adminID != null and query.adminID != ''">
  29. AND ea.adminID like '%' + #{query.adminID} +'%'
  30. </if>
  31. <if test="query.adminName != null and query.adminName != ''">
  32. AND ea.adminName like '%' + #{query.adminName}+'%'
  33. </if>
  34. <if test="query.departmentName != null and query.departmentName != ''">
  35. AND ved.department_name like '%' + #{query.departmentName}+'%'
  36. </if>
  37. <if test="query.active != null and query.active != ''">
  38. AND ea.active = #{query.active}
  39. </if>
  40. </where>
  41. </select>
  42. <select id="eamAdminSearch2" parameterType="com.xujie.sys.modules.pms.data.EamAdminData" resultType="com.xujie.sys.modules.pms.data.EamAdminData">
  43. SELECT distinct
  44. ea.Site,
  45. ea.AdminID,
  46. ea.AdminName,
  47. ea.Phone,
  48. ea.Email,
  49. ea.Tel,
  50. ea.LevelID,
  51. eal.AdminLevelDesc,
  52. ea.MesUser,
  53. ea.Active,
  54. ea.CreatedDate,
  55. ea.created_by,
  56. ea.update_date,
  57. ea.update_by
  58. FROM eam_admin as ea
  59. LEFT JOIN eam_adminLevel as eal ON ea.LevelID = eal.AdminLevelID and ea.site = eal.site
  60. left join eam_admin_dept as ead on ea.site = ead.site and ea.AdminID = ead.admin_id
  61. LEFT JOIN sys_department as ved ON ead.site = ved.site and ead.dept_id = ved.department_id
  62. <where>
  63. <if test="site != null and site != ''">
  64. AND ea.site = #{site}
  65. </if>
  66. <if test="adminID != null and adminID != ''">
  67. AND ea.adminID like '%' + #{adminID} +'%'
  68. </if>
  69. <if test="adminName != null and adminName != ''">
  70. AND ea.adminName like '%' + #{adminName}+'%'
  71. </if>
  72. <if test="departmentName != null and departmentName != ''">
  73. AND ved.department_name like '%' + #{departmentName}+'%'
  74. </if>
  75. <if test="active != null and active != ''">
  76. AND ea.active = #{active}
  77. </if>
  78. </where>
  79. </select>
  80. <select id="eamFamilySearch" parameterType="com.xujie.sys.modules.pms.data.EamFamilyData" resultType="com.xujie.sys.modules.pms.data.EamFamilyData">
  81. SELECT
  82. Site,
  83. FamilyID,
  84. FamilyDesc,
  85. Active,
  86. create_date,
  87. create_by,
  88. update_date,
  89. update_by
  90. FROM eam_family
  91. <where>
  92. <if test="query.site != null and query.site != ''">
  93. AND site = #{query.site}
  94. </if>
  95. <if test="query.familyID != null and query.familyID != ''">
  96. AND familyID like '%' + #{query.familyID} +'%'
  97. </if>
  98. <if test="query.familyDesc != null and query.familyDesc != ''">
  99. AND familyDesc like '%' + #{query.familyDesc} +'%'
  100. </if>
  101. <if test="query.active != null and query.active != ''">
  102. AND active = #{query.active}
  103. </if>
  104. </where>
  105. </select>
  106. <select id="eamGroupSearch" parameterType="com.xujie.sys.modules.pms.data.EamGroupData" resultType="com.xujie.sys.modules.pms.data.EamGroupData">
  107. SELECT
  108. Site,
  109. GroupID,
  110. GroupDesc,
  111. Active,
  112. create_date,
  113. create_by,
  114. update_date,
  115. update_by
  116. FROM eam_group
  117. <where>
  118. <if test="query.site != null and query.site != ''">
  119. AND site = #{query.site}
  120. </if>
  121. <if test="query.groupID != null and query.groupID != ''">
  122. AND groupID like '%' + #{query.groupID}
  123. </if>
  124. <if test="query.groupDesc != null and query.groupDesc != ''">
  125. AND groupDesc like '%' + #{query.groupDesc}
  126. </if>
  127. <if test="query.active != null and query.active != ''">
  128. AND active = #{query.active}
  129. </if>
  130. </where>
  131. </select>
  132. <select id="eamLocationSearch" parameterType="com.xujie.sys.modules.pms.data.EamLocationData" resultType="com.xujie.sys.modules.pms.data.EamLocationData">
  133. SELECT
  134. Site,
  135. LocationID,
  136. LocationName,
  137. Active,
  138. create_date,
  139. create_by,
  140. update_date,
  141. update_by
  142. FROM eam_location
  143. <where>
  144. <if test="query.site != null and query.site != ''">
  145. AND site = #{query.site}
  146. </if>
  147. <if test="query.locationID != null and query.locationID != ''">
  148. AND locationID like '%' + #{query.locationID} +'%'
  149. </if>
  150. <if test="query.locationName != null and query.locationName != ''">
  151. AND locationName like '%' + #{query.locationName} +'%'
  152. </if>
  153. <if test="query.active != null and query.active != ''">
  154. AND active = #{query.active}
  155. </if>
  156. </where>
  157. </select>
  158. <select id="eamManufacturerSearch" parameterType="com.xujie.sys.modules.pms.data.EamManufacturerData" resultType="com.xujie.sys.modules.pms.data.EamManufacturerData">
  159. SELECT
  160. Site,
  161. ManufacturerID,
  162. ManufacturerName,
  163. Active,
  164. Contact,
  165. Phone,
  166. Address,
  167. Email,
  168. Remark,
  169. create_date,
  170. create_by,
  171. update_date,
  172. update_by
  173. FROM eam_manufacturer
  174. <where>
  175. <if test="query.site != null and query.site != ''">
  176. AND site = #{query.site}
  177. </if>
  178. <if test="query.manufacturerID != null and query.manufacturerID != ''">
  179. AND manufacturerID like '%' + #{query.manufacturerID} +'%'
  180. </if>
  181. <if test="query.manufacturerName != null and query.manufacturerName != ''">
  182. AND manufacturerName like '%' + #{query.manufacturerName} +'%'
  183. </if>
  184. <if test="query.active != null and query.active != ''">
  185. AND active = #{query.active}
  186. </if>
  187. </where>
  188. </select>
  189. <select id="eamAdminLevelSearch" parameterType="com.xujie.sys.modules.pms.data.EamAdminLevelData" resultType="com.xujie.sys.modules.pms.data.EamAdminLevelData">
  190. SELECT
  191. Site,
  192. AdminLevelID,
  193. AdminLevelDesc,
  194. Active,
  195. create_date,
  196. create_by,
  197. update_date,
  198. update_by
  199. FROM eam_adminLevel
  200. <where>
  201. <if test="query.site != null and query.site != ''">
  202. AND site = #{query.site}
  203. </if>
  204. <if test="query.adminLevelID != null and query.adminLevelID != ''">
  205. AND adminLevelID like '%' + #{query.adminLevelID} +'%'
  206. </if>
  207. <if test="query.adminLevelDesc != null and query.adminLevelDesc != ''">
  208. AND adminLevelDesc like '%' + #{query.adminLevelDesc}+'%'
  209. </if>
  210. <if test="query.active != null and query.active != ''">
  211. AND active = #{query.active}
  212. </if>
  213. </where>
  214. </select>
  215. <select id="eamSupplierSearch" parameterType="com.xujie.sys.modules.pms.data.EamSupplierData" resultType="com.xujie.sys.modules.pms.data.EamSupplierData">
  216. SELECT
  217. Site,
  218. SupplierID,
  219. SupplierName,
  220. [Group],
  221. Active,
  222. Contact,
  223. Phone,
  224. Address,
  225. Email,
  226. Remark,
  227. create_date,
  228. create_by,
  229. update_date,
  230. update_by
  231. FROM eam_supplier
  232. <where>
  233. <if test="query.site != null and query.site != ''">
  234. AND site = #{query.site}
  235. </if>
  236. <if test="query.supplierID != null and query.supplierID != ''">
  237. AND supplierID like '%' + #{query.supplierID} +'%'
  238. </if>
  239. <if test="query.supplierName != null and query.supplierName != ''">
  240. AND supplierName like '%' + #{query.supplierName} +'%'
  241. </if>
  242. <if test="query.active != null and query.active != ''">
  243. AND active = #{query.active}
  244. </if>
  245. </where>
  246. </select>
  247. <select id="searchItemAvailable" resultType="com.xujie.sys.modules.pms.data.EamPropertiesItemAvailableData">
  248. SELECT
  249. site,
  250. ItemNo,
  251. ValueNo,
  252. AvailableValue,
  253. CreatedDate,
  254. CreatedBy,
  255. ItemType
  256. from eam_properties_item_available
  257. where itemNo = #{itemNo} and ItemType = #{itemType} and site = #{site}
  258. </select>
  259. <select id="getItemValueNo" resultType="Double">
  260. SELECT isnull( max(valueNo),0)+1 from eam_properties_item_available where itemNo = #{itemNo} and ItemType = #{itemType} and site = #{site}
  261. </select>
  262. <select id="getItemValueNoForPlan" resultType="Double">
  263. SELECT isnull( max(valueNo),0)+1 from eam_workPlan_item_available where itemNo=#{itemNo} and ItemType=#{itemType} and site=#{site} and PlanID=#{planID}
  264. </select>
  265. <insert id="saveItemAvailable">
  266. insert into eam_properties_item_available (ItemNo,ValueNo,AvailableValue,CreatedDate,CreatedBy,ItemType,site)
  267. values(#{itemNo},#{valueNo},#{availableValue},GetDate(),#{createdBy},#{itemType},#{site})
  268. </insert>
  269. <update id="updateItemAvailable">
  270. update eam_properties_item_available set AvailableValue = #{availableValue} where itemNo = #{itemNo} and ItemType = #{itemType} and ValueNo = #{valueNo} and site = #{site}
  271. </update>
  272. <delete id="deleteItemAvailable">
  273. delete from eam_properties_item_available where itemNo = #{itemNo} and ItemType = #{itemType} and ValueNo = #{valueNo} and site = #{site}
  274. </delete>
  275. <select id="eamPropertiesModelSearch" parameterType="com.xujie.sys.modules.pms.data.EamPropertiesModelHeaderData" resultType="com.xujie.sys.modules.pms.data.EamPropertiesModelHeaderData">
  276. SELECT
  277. site,
  278. function_type,
  279. code_no,
  280. code_desc,
  281. active,
  282. created_date,
  283. created_by,
  284. update_date,
  285. update_by,
  286. delflag,
  287. version
  288. FROM eam_properties_model_header
  289. <where>
  290. site = #{query.site}
  291. <if test="query.codeNo != null and query.codeNo != ''">
  292. AND code_no like '%' + #{query.codeNo} +'%'
  293. </if>
  294. <if test="query.codeDesc != null and query.codeDesc != ''">
  295. AND code_desc like '%' + #{query.codeDesc} +'%'
  296. </if>
  297. <if test="query.active != null and query.active != ''">
  298. AND active = #{query.active}
  299. </if>
  300. and function_type = #{query.functionType}
  301. </where>
  302. </select>
  303. <insert id="eamPropertiesModelSave" >
  304. insert into eam_properties_model_header
  305. (function_type, code_no, code_desc, active, created_date, created_by, delflag, version, update_date, update_by,site)
  306. values(#{functionType}, #{codeNo}, #{codeDesc}, #{active}, GetDate(), #{userId}, 'N', 0, getDate(), #{updateBy},#{site})
  307. </insert>
  308. <update id="eamPropertiesModelEdit">
  309. update eam_properties_model_header
  310. set version = version + 1,
  311. code_desc = #{codeDesc},
  312. active = #{active},
  313. update_by = #{updateBy},
  314. update_date = GetDate()
  315. where function_type = #{functionType}
  316. and code_no = #{codeNo}
  317. and site = #{site}
  318. </update>
  319. <select id="checkPropertiesModel" resultType="EamPropertiesModelHeaderData">
  320. SELECT
  321. function_type,
  322. code_no,
  323. code_desc,
  324. active,
  325. created_date,
  326. created_by,
  327. update_date,
  328. update_by,
  329. delflag,
  330. version
  331. FROM eam_properties_model_header
  332. where function_type = #{functionType} and code_no = #{codeNo} and site = #{site}
  333. </select>
  334. <delete id="eamPropertiesModelDelete" >
  335. delete from eam_properties_model_header where function_type = #{functionType} and code_no = #{codeNo} and site = #{site}
  336. </delete>
  337. <select id="searchModalDetails" resultType="EamPropertiesModelDetailData">
  338. SELECT
  339. a.site,
  340. a.function_type,
  341. a.code_no,
  342. a.properties_item_no itemNo,
  343. a.seq_no,
  344. b.ItemDesc,
  345. b.DefaultValue,
  346. b.ValueType,
  347. b.ValueType_DB,
  348. b.ValueChooseFlag,
  349. b.MaxValue,
  350. b.MinValue,
  351. b.ItemRemark,
  352. b.ItemType
  353. FROM eam_properties_model_detail a
  354. left join eam_properties_item b on a.function_type = b.itemType and a.properties_item_no = b.itemNo and a.site = b.site
  355. where a.function_type = #{functionType} and a.code_no = #{codeNo} and a.site = #{site}
  356. </select>
  357. <select id="checkItem" resultType="EamPropertiesModelDetailData">
  358. SELECT
  359. ItemDesc
  360. FROM eam_properties_item
  361. where itemType = #{functionType}
  362. and itemNo = #{itemNo}
  363. and site = #{site}
  364. </select>
  365. <select id="checkModalDetails" resultType="EamPropertiesModelDetailData">
  366. SELECT
  367. function_type,
  368. code_no,
  369. properties_item_no itemNo,
  370. seq_no
  371. FROM eam_properties_model_detail
  372. where function_type = #{functionType}
  373. and code_no = #{codeNo}
  374. and properties_item_no = #{itemNo}
  375. and site = #{site}
  376. </select>
  377. <select id="getModalDetailSeqNo" resultType="Integer">
  378. SELECT
  379. isnull(max(seq_no),0) + 1
  380. from eam_properties_model_detail
  381. where function_type = #{functionType} and code_no = #{codeNo} and site = #{site}
  382. </select>
  383. <insert id="saveModalDetails" >
  384. insert into eam_properties_model_detail
  385. (function_type, code_no, properties_item_no, seq_no, created_date, created_by, delflag, version, site)
  386. values (#{functionType}, #{codeNo}, #{itemNo}, #{seqNo}, GetDate(), #{userId}, 'N', 0, #{site})
  387. </insert>
  388. <delete id="deleteModalDetails" >
  389. delete from eam_properties_model_detail
  390. where function_type = #{functionType}
  391. and code_no = #{codeNo}
  392. and properties_item_no = #{itemNo}
  393. and site = #{site}
  394. </delete>
  395. <select id="eamWorkPlanOverviewSearch" parameterType="com.xujie.sys.modules.pms.data.EamWorkPlanInData" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData">
  396. SELECT
  397. a.site,
  398. a.plan_id,
  399. a.plan_desc,
  400. a.status,
  401. a.plan_start_date,
  402. a.plan_end_date,
  403. a.created_date,
  404. a.created_by,
  405. a.update_date,
  406. a.update_by,
  407. a.remark,
  408. a.next_work_date,
  409. a.delete_flag,
  410. a.operator,
  411. a.operator_name,
  412. a.checker,
  413. a.checker_name,
  414. a.function_type,
  415. a.properties_code,
  416. a.plan_period,
  417. d.code_desc,
  418. a.work_order_rule,
  419. a.plan_cycle,
  420. a.task_start_date
  421. FROM eam_workPlan_overview as a
  422. LEFT JOIN eam_properties_model_header as d ON a.site = d.site and a.function_type = d.function_type and a.properties_code = d.code_no
  423. <where>
  424. a.site = #{query.site} and a.delete_flag = 'N'
  425. AND a.function_type = #{query.functionType}
  426. <if test="query.planID != null and query.planID != ''">
  427. AND a.plan_id like '%' + #{query.planID} +'%'
  428. </if>
  429. <if test="query.planDesc != null and query.planDesc != ''">
  430. AND a.plan_desc like '%' + #{query.planDesc}+'%'
  431. </if>
  432. <if test="query.status != null and query.status != ''">
  433. AND a.status = #{query.status}
  434. </if>
  435. <if test="query.startDate != null ">
  436. AND a.plan_start_date >= #{query.startDate}
  437. </if>
  438. <if test="query.endDate != null ">
  439. AND #{query.endDate} >= a.plan_start_date
  440. </if>
  441. </where>
  442. ORDER BY a.created_date DESC
  443. </select>
  444. <select id="eamWorkPlanSearch" parameterType="com.xujie.sys.modules.pms.data.EamWorkPlanInData" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData">
  445. SELECT
  446. a.Site,
  447. a.PlanID,
  448. a.PlanDesc,
  449. a.ObjectID,
  450. a.FunctionType,
  451. a.PropertiesCode,
  452. a.Operator,
  453. a.checker,
  454. a.PlanPeriod,
  455. a.Status,
  456. a.PlanStartDate,
  457. a.PlanEndDate,
  458. a.CreatedDate,
  459. a.CreatedBy,
  460. a.UpdateDate,
  461. a.UpdateBy,
  462. a.Version,
  463. a.Remark,
  464. a.NextWorkDate,
  465. b.ObjectDesc,
  466. d.code_desc
  467. FROM eam_workPlan a
  468. left join eam_object b on a.Site = b.Site and a.ObjectID = b.ObjectID
  469. left join eam_properties_model_header d on a.FunctionType = d.function_type and a.PropertiesCode = d.code_no
  470. <where>
  471. AND a.DeleteFlag = 'N'
  472. AND a.FunctionType = #{query.functionType}
  473. <if test="query.planID != null and query.planID != ''">
  474. AND a.PlanID like '%' + #{query.planID} +'%'
  475. </if>
  476. <if test="query.planDesc != null and query.planDesc != ''">
  477. AND a.PlanDesc like '%' + #{query.planDesc}+'%'
  478. </if>
  479. <if test="query.status != null and query.status != ''">
  480. AND a.status = #{query.status}
  481. </if>
  482. <if test="query.startDate != null ">
  483. AND a.PlanStartDate >= #{query.startDate}
  484. </if>
  485. <if test="query.endDate != null ">
  486. AND #{query.endDate} >= a.PlanStartDate
  487. </if>
  488. </where>
  489. </select>
  490. <select id="selectNameById" resultType="string" parameterType="string">
  491. SELECT
  492. AdminName
  493. FROM eam_admin
  494. WHERE AdminID = #{s}
  495. </select>
  496. <select id="searchPlanItems" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanItemData">
  497. SELECT
  498. a.Site,
  499. a.PlanID,
  500. a.ItemNo,
  501. a.ItemDesc,
  502. a.DefaultValue,
  503. a.ValueType,
  504. a.ValueType_DB,
  505. a.ValueChooseFlag,
  506. a.UpdateDate,
  507. a.UpdateBy,
  508. a.MaxValue,
  509. a.MinValue,
  510. a.ItemRemark,
  511. a.ItemType,
  512. a.CreatedDate,
  513. a.CreatedBy,
  514. a.ObjectID
  515. FROM eam_workPlan_item a
  516. <where>
  517. and a.PlanID = #{planID}
  518. and a.Site = #{site}
  519. and a.ItemType = #{functionType}
  520. <if test = "objectID != null and objectID != ''">
  521. AND a.ObjectID = #{objectID}
  522. </if>
  523. </where>
  524. </select>
  525. <select id="searchPlanItemAvailable" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanItemAvailableData">
  526. SELECT
  527. Site,
  528. PlanID,
  529. ItemNo,
  530. ItemType,
  531. ValueNo,
  532. AvailableValue,
  533. CreatedDate,
  534. CreatedBy,
  535. UpdateDate,
  536. UpdateBy,
  537. ObjectID
  538. from eam_workPlan_item_available
  539. where PlanID = #{planID} and itemNo = #{itemNo} and site = #{site} and ItemType = #{itemType} and ObjectID = #{objectID}
  540. </select>
  541. <update id="updatePlanItems">
  542. update eam_workPlan_item
  543. set DefaultValue = #{defaultValue},
  544. ValueType = #{valueType},
  545. ValueType_DB = #{valueTypeDb},
  546. ValueChooseFlag = #{valueChooseFlag},
  547. UpdateDate = GetDate(),
  548. UpdateBy = #{createdBy},
  549. MaxValue = #{maxValue,jdbcType=FLOAT},
  550. MinValue = #{minValue,jdbcType=FLOAT},
  551. ItemRemark = #{itemRemark}
  552. where site = #{site}
  553. and planID = #{planID}
  554. and ItemType = #{itemType}
  555. and ItemNo = #{itemNo}
  556. and ObjectID = #{objectID}
  557. </update>
  558. <update id="updatePlanItemsForNull">
  559. update eam_workPlan_item set DefaultValue=#{defaultValue},ValueType=#{valueType},ValueType_DB=#{valueTypeDb}
  560. ,ValueChooseFlag=#{valueChooseFlag},UpdateDate=GetDate(),UpdateBy=#{createdBy},MaxValue=null,MinValue=null,
  561. ItemRemark=#{itemRemark}
  562. where site=#{site} and planID=#{planID} and ItemType=#{itemType}
  563. and ItemNo=#{itemNo}
  564. </update>
  565. <insert id="saveItemAvailableForPlan">
  566. insert into eam_workPlan_item_available
  567. (Site,PlanID,ItemNo,ValueNo,AvailableValue,CreatedDate,CreatedBy,ItemType,ObjectID)
  568. values(#{site},#{planID},#{itemNo},#{valueNo},#{availableValue},GetDate(),#{createdBy},#{itemType},#{objectID})
  569. </insert>
  570. <update id="updateItemAvailableForPlan">
  571. update eam_workPlan_item_available
  572. set AvailableValue = #{availableValue},
  573. updateBy = #{createdBy},
  574. updateDate = GetDate()
  575. where itemNo = #{itemNo} and ItemType = #{itemType} and ValueNo = #{valueNo} AND site = #{site} and planID = #{planID} and ObjectID = #{objectID}
  576. </update>
  577. <delete id="deletePlanItemAvailable">
  578. delete from eam_workPlan_item_available
  579. where itemNo=#{itemNo} and ItemType=#{itemType} and ValueNo=#{valueNo} AND site=#{site} and planID=#{planID} and ObjectID = #{objectID}
  580. </delete>
  581. <select id="objectIDBlur" resultType="com.xujie.sys.modules.pms.data.EamObjectData">
  582. select objectID,ObjectDesc from eam_object where active='Y' and Site=#{site} and ObjectID=#{objectID}
  583. </select>
  584. <select id="modalCodeBlur" resultType="com.xujie.sys.modules.pms.data.EamPropertiesModelHeaderData">
  585. select code_no,code_desc from eam_properties_model_header where active='Y' and function_type=#{functionType} and code_no=#{codeNo}
  586. </select>
  587. <select id="eamWorkOrderSearch" parameterType="com.xujie.sys.modules.pms.data.EamWorkOrderInData" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderInData">
  588. SELECT
  589. a.Site,
  590. a.OrderNo,
  591. a.PlanID,
  592. a.PlanDesc,
  593. a.PropertiesCode,
  594. a.ObjectID,
  595. a.Status,
  596. a.PlanOperator,
  597. a.checker,
  598. a.ActualOperator,
  599. a.PlanDate,
  600. a.ActualDate,
  601. a.FunctionType,
  602. a.CreateDate,
  603. d.operator_name as createBy,
  604. a.Remark,
  605. a.StartTime,
  606. a.EndTime,
  607. a.WorkTime,
  608. a.PlanOperatorName,
  609. a.checkerName,
  610. dbo.eam_Get_eamAdminName(a.Site,a.ActualOperator) ActualOperatorName,
  611. dbo.eam_Get_eamObjectDesc(a.Site,a.ObjectID) objectDesc,
  612. dbo.eam_Get_eam_properties_CodeDesc(a.FunctionType,a.PropertiesCode) codeDesc,
  613. a.result,
  614. b.urgency,
  615. a.checkResult,
  616. b.DefectID,
  617. c.DefectDesc,
  618. a.disposal_measures,
  619. a.check_work_plan_id,
  620. a.check_item_no,
  621. a.reach_date,
  622. a.reach_operator,
  623. a.reach_operator_name,
  624. b.FeedBackDesc,
  625. dbo.joint_id(a.Site,a.OrderNo,a.FunctionType) as adminID,
  626. dbo.joint_name(a.Site,a.OrderNo,a.FunctionType) as operator,
  627. check_remark
  628. FROM eam_workOrder a
  629. LEFT JOIN eam_defect_feedBack b on a.site = b.site and a.PlanID = b.feedBackID
  630. LEFT JOIN eam_defect c on b.DefectID = c.DefectID
  631. LEFT JOIN operator as d on a.site = d.site and a.CreateBy = d.operator_id and d.active = 'Y'
  632. left join eam_object as eo on eo.site = a.site and eo.ObjectID = a.ObjectID
  633. left join sys_department as sd ON eo.site = sd.site and eo.dept_id = sd.department_id
  634. left join eam_admin_dept as ead ON ead.site = sd.site and ead.dept_id = sd.department_id
  635. left join eam_admin as ea on ead.site = ea.site and ead.admin_id = ea.AdminID
  636. left join eam_workPlan_overview as ewo on a.site = ewo.site and a.PlanID = ewo.plan_id
  637. <where>
  638. and a.Site = #{query.site}
  639. and ea.MesUser = #{query.username}
  640. <if test="query.orderNo != null and query.orderNo != ''">
  641. AND a.OrderNo like '%' + #{query.orderNo} +'%'
  642. </if>
  643. <if test="query.planID != null and query.planID != ''">
  644. AND a.PlanID like '%' + #{query.planID} +'%'
  645. </if>
  646. <if test="query.planDesc != null and query.planDesc != ''">
  647. AND a.PlanDesc like '%' + #{query.planDesc} +'%'
  648. </if>
  649. <if test="query.objectID != null and query.objectID != ''">
  650. AND a.ObjectID like '%' + #{query.objectID} +'%'
  651. </if>
  652. <if test="query.planOperatorName != null and query.planOperatorName != ''">
  653. AND a.PlanOperatorName like '%' + #{query.planOperatorName} +'%'
  654. </if>
  655. <if test='(query.status == null || query.status == "") and query.functionType == "A" and query.searchType == "checkOrder" '>
  656. AND a.status != '已取消'
  657. </if>
  658. <if test='query.status != null and query.status != "" and query.functionType == "A" and query.searchType == "checkOrder" '>
  659. AND a.status = #{query.status}
  660. </if>
  661. <if test='query.functionType == "A" and query.searchType == "reportCheck" '>
  662. AND a.status = '未开工'
  663. </if>
  664. <if test='(query.status == null || query.status == "") and query.functionType == "B" and query.searchType == "maintenanceOrder" '>
  665. AND a.status != '已取消'
  666. </if>
  667. <if test='query.status != null and query.status != "" and query.functionType == "B" and query.searchType == "maintenanceOrder" '>
  668. AND a.status = #{query.status}
  669. </if>
  670. <if test='query.functionType == "B" and query.searchType == "reportMaintenance" '>
  671. AND (a.status = '未开工' or a.status = '已到达')
  672. </if>
  673. <if test='query.functionType == "C" and query.searchType == "reportDefect" '>
  674. AND (a.status = '未开工' or a.status = '已到达')
  675. </if>
  676. <if test="query.planDate != null">
  677. AND a.PlanDate = #{query.planDate}
  678. </if>
  679. <if test="query.startDate != null ">
  680. AND a.PlanDate >= #{query.startDate}
  681. </if>
  682. <if test="query.endDate != null ">
  683. AND #{query.endDate} >= a.PlanDate
  684. </if>
  685. <if test="query.endDate == null ">
  686. AND getDate() >= a.PlanDate
  687. </if>
  688. <if test='query.functionType == "A"'>
  689. and getDate() >= dbo.compare_date(ewo.task_start_date)
  690. </if>
  691. AND a.FunctionType = #{query.functionType}
  692. </where>
  693. ORDER BY a.CreateDate,
  694. CASE WHEN b.urgency = '事故' THEN 1
  695. WHEN b.urgency = '紧急' THEN 2
  696. WHEN b.urgency = '正常' THEN 3
  697. END
  698. </select>
  699. <select id="eamWorkOrderSearchForDefect" parameterType="com.xujie.sys.modules.pms.data.EamWorkOrderInData" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderInData">
  700. SELECT
  701. a.Site,
  702. a.OrderNo,
  703. a.PlanID,
  704. a.ObjectID,
  705. a.Status,
  706. a.PlanOperator,
  707. a.ActualOperator,
  708. a.PlanDate,
  709. a.ActualDate,
  710. a.FunctionType,
  711. a.CreateDate,
  712. d.operator_name as createBy,
  713. a.Remark,
  714. a.StartTime,
  715. a.EndTime,
  716. a.WorkTime,
  717. dbo.eam_Get_eamAdminName(a.Site,a.PlanOperator) as planOperatorName,
  718. b.DefectID,
  719. c.DefectDesc,
  720. dbo.eam_Get_eamObjectDesc(a.Site,a.ObjectID) as objectDesc,
  721. dbo.eam_Get_eam_properties_CodeDesc(a.FunctionType,a.PropertiesCode) as codeDesc,
  722. a.result,
  723. b.urgency,
  724. a.disposal_measures,
  725. a.difficulty_level,
  726. a.difficulty_remark,
  727. f.department_name,
  728. a.reach_date,
  729. b.CreatedDate,
  730. a.handling_method,
  731. dbo.eam_Get_eamResourceDesc(a.Site, a.ObjectID) as resourceDesc,
  732. CASE
  733. WHEN (DATEDIFF(SECOND, b.CreatedDate, a.reach_date) <![CDATA[<]]> 60) THEN DATEDIFF(SECOND, b.CreatedDate, a.reach_date) / 60.0
  734. ELSE DATEDIFF(MINUTE, b.CreatedDate, a.reach_date)
  735. END AS responseTime,
  736. b.FeedBackDesc,
  737. dbo.joint_name(a.Site,a.OrderNo,a.FunctionType) as actualOperatorName
  738. FROM eam_workOrder a
  739. left join eam_defect_feedBack b on a.site = b.site and a.PlanID = b.feedBackID
  740. left join eam_defect c on b.DefectID = c.DefectID
  741. left join operator as d on a.site = d.site and a.CreateBy = d.operator_id and d.active = 'Y'
  742. left join eam_object as e on a.site = e.site and a.ObjectID = e.ObjectID and e.Active = 'Y'
  743. left join sys_department as f on e.site = f.site and e.dept_id = f.department_id
  744. <where>
  745. and a.Site = #{query.site}
  746. <if test="query.deptArr != null">
  747. AND
  748. <foreach collection="query.deptArr" item="item" open="(" separator="or" close=")">
  749. f.department_name like '%' + #{item} + '%'
  750. </foreach>
  751. </if>
  752. <if test="query.orderNo != null and query.orderNo != ''">
  753. AND a.OrderNo like '%' + #{query.orderNo} +'%'
  754. </if>
  755. <if test="query.planID != null and query.planID != ''">
  756. AND a.PlanID like '%' + #{query.planID} +'%'
  757. </if>
  758. <if test="query.objectID != null and query.objectID != ''">
  759. AND a.ObjectID like '%' + #{query.objectID} +'%'
  760. </if>
  761. <if test="query.planOperator != null and query.planOperator != ''">
  762. AND a.PlanOperator like '%' + #{query.planOperator} +'%'
  763. </if>
  764. <if test="query.status != null and query.status != ''">
  765. AND a.status=#{query.status}
  766. </if>
  767. <if test="query.startDate != null ">
  768. AND a.PlanDate >= #{query.startDate}
  769. </if>
  770. <if test="query.endDate != null ">
  771. AND #{query.endDate} >= a.PlanDate
  772. </if>
  773. and a.FunctionType =#{query.functionType}
  774. </where>
  775. ORDER BY a.PlanDate,
  776. CASE WHEN b.urgency = '事故' THEN 1
  777. WHEN b.urgency = '紧急' THEN 2
  778. WHEN b.urgency = '正常' THEN 3
  779. END
  780. </select>
  781. <select id="eamDefectSearch" parameterType="com.xujie.sys.modules.pms.data.EamDefectData" resultType="com.xujie.sys.modules.pms.data.EamDefectData">
  782. SELECT
  783. DefectID,
  784. DefectDesc,
  785. Active,
  786. create_date,
  787. create_by,
  788. update_date,
  789. update_by,
  790. fault_type
  791. FROM eam_defect
  792. <where>
  793. <if test="query.defectID != null and query.defectID != ''">
  794. AND defectID like '%' + #{query.defectID} + '%'
  795. </if>
  796. <if test="query.defectDesc != null and query.defectDesc != ''">
  797. AND defectDesc like '%' + #{query.defectDesc} + '%'
  798. </if>
  799. <if test="query.active != null and query.active != ''">
  800. AND active = #{query.active}
  801. </if>
  802. </where>
  803. order by id
  804. </select>
  805. <select id="eamObjectDefectSearch" parameterType="com.xujie.sys.modules.pms.data.EamObjectDefectInData" resultType="com.xujie.sys.modules.pms.data.EamObjectDefectInData">
  806. SELECT
  807. a.site,
  808. a.ObjectID,
  809. a.DefectID,
  810. a.Active,
  811. a.id,
  812. b.ObjectDesc,
  813. c.DefectDesc,
  814. a.create_date,
  815. a.create_by,
  816. a.update_date,
  817. a.update_by
  818. FROM eam_object_defect a
  819. left join eam_object b on a.site=b.site and a.ObjectID=b.ObjectID
  820. left join eam_defect c on a.DefectID=c.DefectID
  821. <where>
  822. <if test="query.objectID != null and query.objectID != ''">
  823. AND a.ObjectID like '%' + #{query.objectID} + '%'
  824. </if>
  825. <if test="query.objectDesc != null and query.objectDesc != ''">
  826. AND b.ObjectDesc like '%' + #{query.objectDesc} + '%'
  827. </if>
  828. <if test="query.defectID != null and query.defectID != ''">
  829. AND a.defectID like '%' + #{query.defectID} + '%'
  830. </if>
  831. <if test="query.defectDesc != null and query.defectDesc != ''">
  832. AND c.defectDesc like '%' + #{query.defectDesc} + '%'
  833. </if>
  834. <if test="query.active != null and query.active != ''">
  835. AND a.active = #{query.active}
  836. </if>
  837. </where>
  838. order by a.id
  839. </select>
  840. <select id="getObjectList" parameterType="com.xujie.sys.modules.pms.data.EamObjectInData" resultType="com.xujie.sys.modules.pms.data.EamObjectInData">
  841. SELECT
  842. a.Site,
  843. a.ObjectID,
  844. a.ObjectDesc,
  845. a.LocationID,
  846. a.FamilyID,
  847. a.GroupID,
  848. b.FamilyDesc,
  849. c.LocationName
  850. FROM eam_object a
  851. LEFT JOIN eam_family b
  852. ON a.site = b.site and a.FamilyID = b.FamilyID
  853. LEFT JOIN eam_location as c
  854. ON a.LocationID = c.LocationID and a.site = c.site
  855. <where>
  856. <if test="objectID != null and objectID != ''">
  857. AND a.ObjectID like '%' + #{objectID} + '%'
  858. </if>
  859. <if test="objectDesc != null and objectDesc != ''">
  860. AND a.ObjectDesc like '%' + #{objectDesc} + '%'
  861. </if>
  862. AND a.site = #{site}
  863. AND a.active = 'Y'
  864. </where>
  865. </select>
  866. <select id="checkEamFamilyDelete" resultType="com.xujie.sys.modules.pms.data.EamObjectData">
  867. SELECT
  868. a.site,
  869. a.objectID
  870. from eam_object as a
  871. left join eam_family as b on a.site = b.site and a.FamilyID = b.FamilyID
  872. where a.site = '2' and (b.son_id like #{sonId} + '%' or a.FamilyID = #{familyID})
  873. </select>
  874. <select id="checkEamGroupDelete" resultType="com.xujie.sys.modules.pms.data.EamObjectData">
  875. SELECT site ,objectID from eam_object where site=#{site} and GroupID=#{groupID}
  876. </select>
  877. <select id="checkEamLocationDelete" resultType="com.xujie.sys.modules.pms.data.EamObjectData">
  878. SELECT site ,objectID from eam_object where site=#{site} and LocationID=#{locationID}
  879. </select>
  880. <select id="eamWorkPlanItemSearchForReport" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderItemInData">
  881. SELECT
  882. a.Site,
  883. c.OrderNo,
  884. a.ItemNo,
  885. a.ItemDesc,
  886. a.DefaultValue,
  887. a.ValueType,
  888. a.ValueType_DB,
  889. a.ValueChooseFlag,
  890. a.MaxValue,
  891. a.MinValue,
  892. a.ItemRemark,
  893. a.ItemType,
  894. a.image_flag,
  895. a.produce_control_flag,
  896. CASE WHEN b.id is null THEN 'N'
  897. ELSE 'Y'
  898. END as uploadFlag,
  899. a.item_notes
  900. from eam_workPlan_item as a
  901. left join eam_workOrder as c on a.site = c.site and a.PlanID = c.PlanID
  902. left join (SELECT MAX (id) as id, order_ref1, order_ref2, order_ref3 FROM sys_oss GROUP BY order_ref1, order_ref2, order_ref3) as b
  903. on b.order_ref1 = a.site and b.order_ref2 = c.OrderNo and b.order_ref3 = a.ItemNo
  904. where a.site = #{site} and c.orderNo = #{orderNo} and a.ObjectID = #{objectID}
  905. </select>
  906. <select id="checkEamOrderStatus" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderInData">
  907. SELECT
  908. Site,
  909. status,
  910. OrderNo
  911. from eam_workOrder
  912. where site = #{site}
  913. and orderNo = #{orderNo}
  914. </select>
  915. <select id="getAdminIDWithMesUser" resultType="com.xujie.sys.modules.pms.data.EamAdminData">
  916. SELECT adminID
  917. from eam_admin
  918. where site = #{site} and mesUser = #{mesUser} and active = 'Y'
  919. </select>
  920. <update id="updateDefectResult" >
  921. update eam_defect_feedBack
  922. set Status = #{result},
  923. FinishDate = GetDate(),
  924. DefectID = #{defectID}
  925. where Site = #{site}
  926. and FeedBackID = #{planID}
  927. </update>
  928. <update id="reportWorkOrder" parameterType="EamWorkOrderInData">
  929. update eam_workOrder
  930. set Status = '待审核',
  931. ActualOperator = #{actualOperator},
  932. ActualDate = #{actualDate},
  933. Remark = #{remark},
  934. disposal_measures = #{disposalMeasures},
  935. WorkTime = CASE
  936. WHEN (DATEDIFF(SECOND, reach_date, #{actualDate}) <![CDATA[<]]> 60) THEN DATEDIFF(SECOND, reach_date, #{actualDate}) / 60.0
  937. ELSE DATEDIFF(MINUTE, reach_date, #{actualDate})
  938. END,
  939. result = #{result,jdbcType=VARCHAR},
  940. checkResult = #{checkResult},
  941. handling_method = #{handlingMethod}
  942. where site = #{site} and orderNo = #{orderNo} and FunctionType = #{functionType}
  943. </update>
  944. <update id="reportWorkOrder2" parameterType="EamWorkOrderInData">
  945. update eam_workOrder
  946. set Status = '待审核',
  947. ActualOperator = #{actualOperator},
  948. ActualDate = #{actualDate},
  949. Remark = #{remark},
  950. disposal_measures = #{disposalMeasures},
  951. WorkTime = #{workTime},
  952. result = #{result,jdbcType=VARCHAR},
  953. checkResult = #{checkResult},
  954. handling_method = #{handlingMethod},
  955. check_remark = #{checkRemark}
  956. where site = #{site} and orderNo = #{orderNo} and FunctionType = #{functionType}
  957. </update>
  958. <update id="defectReportWorkOrder" >
  959. update eam_workOrder
  960. set Status = '已完工',
  961. ActualOperator = #{actualOperator},
  962. ActualDate = GetDate(),
  963. Remark = #{remark},
  964. disposal_measures = #{disposalMeasures},
  965. WorkTime = #{workTime},
  966. result = #{result,jdbcType=VARCHAR},
  967. checkResult = #{checkResult}
  968. where site = #{site}
  969. and orderNo = #{orderNo}
  970. </update>
  971. <insert id="saveWorkOrderItem">
  972. INSERT into eam_workOrder_item
  973. (Site, OrderNo, ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, MaxValue, MinValue, ItemRemark, ItemType, TextValue, NumberValue, CreatedDate, CreatedBy, FinishFlag, itemResult, item_notes)
  974. values (#{site}, #{orderNo}, #{itemNo}, #{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, #{valueChooseFlag}, #{maxValue,jdbcType=DOUBLE}, #{minValue,jdbcType=DOUBLE}, #{itemRemark,jdbcType=VARCHAR}, #{itemType}, #{textValue,jdbcType=VARCHAR}, #{numberValue,jdbcType=DOUBLE}, GetDate(), #{createdBy}, #{finishFlag}, #{itemResult}, #{itemNotes})
  975. </insert>
  976. <!-- 修改 eam_workPlan 状态为已结束 -->
  977. <update id="closePlanWithCheck">
  978. update eam_workPlan
  979. set status = '已结束'
  980. where site = #{site}
  981. and PlanID = #{planID}
  982. and ObjectID = #{objectID}
  983. and GetDate() > PlanEndDate
  984. </update>
  985. <!-- 报工后更新下一个工作日期 -->
  986. <update id="updatePlanNextDate">
  987. update eam_workPlan_overview
  988. set next_work_date = (select top 1 PlanDate from eam_workOrder where site = #{site} and PlanID = #{planID} and PlanDate > GetDate() and status = '未开工' order by PlanDate)
  989. where site = #{site} and plan_id = #{planID}
  990. </update>
  991. <select id="eamWorkOrderReportSearch" resultType="com.xujie.sys.modules.pms.data.EamWorkOrderItemInData">
  992. SELECT
  993. Site,
  994. OrderNo,
  995. ItemNo,
  996. ItemDesc,
  997. DefaultValue,
  998. ValueType,
  999. ValueType_DB,
  1000. ValueChooseFlag,
  1001. MaxValue,
  1002. MinValue,
  1003. ItemRemark,
  1004. ItemType,
  1005. TextValue,
  1006. NumberValue,
  1007. CreatedDate,
  1008. CreatedBy,
  1009. FinishFlag,
  1010. itemResult
  1011. from eam_workOrder_item
  1012. where site = #{site} and orderNo = #{orderNo}
  1013. </select>
  1014. <update id="cancelOrder" parameterType="EamWorkOrderInData">
  1015. update eam_workOrder
  1016. set Status = '已取消'
  1017. where site = #{site}
  1018. and orderNo = #{orderNo}
  1019. and FunctionType = #{functionType}
  1020. </update>
  1021. <update id="cancelOrderAll" parameterType="EamWorkOrderInData">
  1022. update eam_workOrder
  1023. set Status = '已取消'
  1024. where site = #{site} and PlanID = #{planID} and FunctionType = #{functionType} and ObjectID = #{objectID} and Status = #{status}
  1025. </update>
  1026. <select id="checkPlanStatus" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData">
  1027. SELECT
  1028. site,
  1029. status
  1030. from eam_workPlan_overview
  1031. where site = #{site}
  1032. and plan_id = #{planID}
  1033. and delete_flag = 'N'
  1034. </select>
  1035. <update id="planOrder">
  1036. update eam_workPlan
  1037. set Status = '已计划',
  1038. NextWorkDate = null
  1039. where site = #{site}
  1040. and PlanID = #{planID}
  1041. and deleteFlag = 'N'
  1042. </update>
  1043. <update id="cancelPlan">
  1044. update eam_workPlan_overview
  1045. set status = '已取消',
  1046. next_work_date = null
  1047. where site = #{site}
  1048. and plan_id = #{planID}
  1049. and delete_flag = 'N'
  1050. </update>
  1051. <update id="updateWorkPlanStatus">
  1052. update eam_workPlan
  1053. set Status = '已取消',
  1054. NextWorkDate = null
  1055. where Site = #{site}
  1056. and PlanID = #{planID}
  1057. and deleteFlag = 'N'
  1058. </update>
  1059. <update id="cancelOrderWithPlanID">
  1060. update eam_workOrder
  1061. set Status = '已取消'
  1062. where site = #{site}
  1063. and PlanID = #{planID}
  1064. and status = '未开工'
  1065. </update>
  1066. <update id="deleteOrderDetailWithPlanID">
  1067. delete from eam_workOrder_item
  1068. where site = #{site}
  1069. and OrderNo in (select OrderNo from eam_workOrder where site = #{site} and PlanID = #{planID} and status = '未开工' and PlanDate > GetDate() - 1 )
  1070. </update>
  1071. <update id="deleteOrderWithPlanID">
  1072. delete from eam_workOrder
  1073. where site = #{site}
  1074. and PlanID = #{planID}
  1075. and status = '未开工'
  1076. and PlanDate > GetDate() - 1
  1077. </update>
  1078. <update id="updateOrderPlanOperator">
  1079. update eam_workOrder
  1080. set PlanOperator = #{planOperator}
  1081. where site = #{site} and orderNo = #{orderNo}
  1082. </update>
  1083. <select id="getSpareSelectList" resultType="com.xujie.sys.modules.pms.data.PartSpareInData">
  1084. select a.site ,a.part_no,a.part_description,a.spec,b.resource_id objectID from part_spare a
  1085. left join resource_spare b on a.site = b.site and a.part_no = b.part_no and resource_id = #{objectID}
  1086. <where>
  1087. <if test="partNo != null and partNo != ''">
  1088. AND a.part_no like '%' + #{partNo} + '%'
  1089. </if>
  1090. <if test="partDescription != null and partDescription != ''">
  1091. AND a.part_description like '%' + #{partDescription} + '%'
  1092. </if>
  1093. and a.site=#{site} and a.active='Y'
  1094. </where>
  1095. </select>
  1096. <select id="checkPartSpare" resultType="com.xujie.sys.modules.pms.data.PartSpareInData">
  1097. select part_no
  1098. from resource_spare
  1099. where site = #{site}
  1100. and resource_id = #{objectID}
  1101. and part_no = #{partNo}
  1102. </select>
  1103. <insert id="savePartSpare" >
  1104. INSERT Into resource_spare (resource_id,part_no,delflag,version,site)
  1105. values(#{objectID},#{partNo},'',0,#{site})
  1106. </insert>
  1107. <delete id="deletePartSpare">
  1108. delete from resource_spare
  1109. where resource_id = #{objectID}
  1110. and site = #{site}
  1111. </delete>
  1112. <insert id="copyPartSpare" >
  1113. INSERT Into resource_spare (resource_id,part_no,delflag,version,site)
  1114. select #{objectID},part_no,delflag,0,site from resource_spare where resource_id=#{oldObjectID} and site=#{site}
  1115. </insert>
  1116. <select id="getWorkPlanDataWithObjectID" resultType="com.xujie.sys.modules.pms.data.EamWorkPlanInData">
  1117. SELECT a.Site,a.PlanID,a.PlanDesc,a.ObjectID,a.FunctionType,a.PropertiesCode,a.Operator,a.PlanPeriod,a.Status,
  1118. a.PlanStartDate,a.PlanEndDate,a.CreatedDate,a.CreatedBy,a.UpdateDate,a.UpdateBy,a.Version,a.Remark
  1119. ,a.NextWorkDate,b.ObjectDesc,c.adminName,d.code_desc
  1120. FROM eam_workPlan a
  1121. left join eam_object b on a.Site=b.Site and a.ObjectID=b.ObjectID
  1122. left join eam_admin c on a.Site=c.Site and a.operator=c.AdminID
  1123. left join eam_properties_model_header d on a.FunctionType=d.function_type and a.PropertiesCode=d.code_no
  1124. where a.site=#{site} and a.ObjectID=#{objectID} and a.FunctionType=#{functionType} and a.DeleteFlag='N'
  1125. and status in ('已计划','进行中')
  1126. </select>
  1127. <select id="getObjectItemList" resultType="com.xujie.sys.modules.pms.data.EamObjectItemInData">
  1128. SELECT a.site,a.objectID,a.ItemNo,a.DefaultValue,a.ValueType,a.ValueType_DB,a.ValueChooseFlag,a.CreatedDate,a.CreatedBy,
  1129. a.MaxValue,a.MinValue,a.ItemType,b.ItemDesc,b.ItemRemark from eam_object_item a left join eam_properties_item b
  1130. on a.ItemNo=b.ItemNo and a.ItemType=b.ItemType
  1131. where a.site=#{site} and a.ObjectID=#{objectID}
  1132. and a.ItemType=#{itemType}
  1133. </select>
  1134. <select id="getDefectWithObject" resultType="com.xujie.sys.modules.pms.data.EamObjectDefectInData">
  1135. SELECT a.site,a.ObjectID,a.DefectID,a.Active,a.id,b.DefectDesc
  1136. from eam_object_defect a left join eam_defect b
  1137. on a.DefectID=b.DefectID
  1138. where a.site=#{site} and a.ObjectID=#{objectID}
  1139. </select>
  1140. <select id="checkEamObjectItemData" resultType="com.xujie.sys.modules.pms.data.EamObjectItemInData">
  1141. select site,objectID,ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,CreatedDate,CreatedBy,MaxValue,MinValue,
  1142. ItemType from eam_object_item where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo}
  1143. </select>
  1144. <insert id="saveNewEamObjectItem" >
  1145. insert into eam_object_item (site,objectID,ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,CreatedDate,CreatedBy,MaxValue,MinValue,
  1146. ItemType) values(#{site},#{objectID},#{itemNo},#{defaultValue},#{valueType},#{valueTypeDb},#{valueChooseFlag},GetDate(),#{userId},#{maxValue,jdbcType=DOUBLE},#{minValue,jdbcType=DOUBLE},#{itemType})
  1147. </insert>
  1148. <update id="editEamObjectItem">
  1149. update eam_object_item set DefaultValue=#{defaultValue},ValueType=#{valueType},ValueType_DB=#{valueTypeDb}
  1150. ,ValueChooseFlag=#{valueChooseFlag},MaxValue=#{maxValue,jdbcType=FLOAT},MinValue=#{minValue,jdbcType=FLOAT}
  1151. where site=#{site} and objectID=#{objectID} and ItemType=#{itemType}
  1152. and ItemNo=#{itemNo}
  1153. </update>
  1154. <delete id="deleteObjectItem">
  1155. delete from eam_object_item where site=#{site} and objectID=#{objectID} and ItemType=#{itemType}
  1156. and ItemNo=#{itemNo}
  1157. </delete>
  1158. <insert id="saveNewEamObjectItemAvailable">
  1159. insert into eam_object_item_available (Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue,CreatedDate,CreatedBy)
  1160. select #{site},#{objectID},ItemNo,ItemType,ValueNo,AvailableValue,GetDate() ,#{userId} from eam_properties_item_available
  1161. where ItemNo=#{itemNo} and ItemType=#{itemType}
  1162. </insert>
  1163. <delete id="deleteEamObjectItemAvailable">
  1164. delete from eam_object_item_available where site=#{site} and objectID=#{objectID} and ItemType=#{itemType}
  1165. and ItemNo=#{itemNo}
  1166. </delete>
  1167. <select id="searchObjectItemAvailable" resultType="com.xujie.sys.modules.pms.data.EamObjectItemAvailableData">
  1168. select Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue from eam_object_item_available
  1169. where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo}
  1170. </select>
  1171. <select id="getItemValueNoForObject" resultType="Double">
  1172. SELECT isnull( max(valueNo),0)+1 from eam_object_item_available where itemNo=#{itemNo} and ItemType=#{itemType} and site=#{site} and objectID=#{objectID}
  1173. </select>
  1174. <insert id="saveObjectItemAvailable">
  1175. insert into eam_object_item_available(Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue,CreatedDate,CreatedBy)
  1176. values(#{site},#{objectID},#{itemNo},#{itemType},#{valueNo},#{availableValue},GetDate(),#{createdBy})
  1177. </insert>
  1178. <update id="updateObjectItemAvailable">
  1179. update eam_object_item_available set AvailableValue=#{availableValue},updateDate=GetDate(),updateBy=#{createdBy}
  1180. where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo} and ValueNo=#{valueNo}
  1181. </update>
  1182. <delete id="deleteObjectItemAvailable">
  1183. delete from eam_object_item_available where site=#{site} and objectID=#{objectID} and ItemType=#{itemType} and ItemNo=#{itemNo} and ValueNo=#{valueNo}
  1184. </delete>
  1185. <delete id="deleteObjectItemForCopy">
  1186. delete from eam_object_item where site=#{site} and objectID=#{objectID} and ItemType=#{itemType}
  1187. </delete>
  1188. <delete id="deleteObjectItemAvailableForCopy">
  1189. delete from eam_object_item_available where site=#{site} and objectID=#{objectID} and ItemType=#{itemType}
  1190. </delete>
  1191. <insert id="copyObjectItem" >
  1192. insert into eam_object_item (site,objectID,ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,CreatedDate,CreatedBy,MaxValue,MinValue,
  1193. ItemType)
  1194. select #{site},#{objectID},ItemNo,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,GetDate(),#{createBy},MaxValue,MinValue,ItemType
  1195. from eam_object_item where site=#{site} and objectID=#{oldObjectID} and ItemType=#{itemType}
  1196. </insert>
  1197. <insert id="copyObjectItemAvailable">
  1198. insert into eam_object_item_available(Site,ObjectID,ItemNo,ItemType,ValueNo,AvailableValue,CreatedDate,CreatedBy)
  1199. select #{site},#{objectID},ItemNo,ItemType,ValueNo,AvailableValue,GetDate(),#{createBy}
  1200. from eam_object_item_available where site=#{site} and objectID=#{oldObjectID} and ItemType=#{itemType}
  1201. </insert>
  1202. <delete id="deleteObjectDefectForCopy">
  1203. delete from eam_object_defect where site=#{site} and objectID=#{objectID}
  1204. </delete>
  1205. <insert id="copyObjectDefect">
  1206. insert into eam_object_defect(site,ObjectID,DefectID,Active)
  1207. select #{site},#{objectID},DefectID,Active
  1208. from eam_object_defect where site=#{site} and objectID=#{oldObjectID}
  1209. </insert>
  1210. <select id="eamFeedBackSearch" resultType="com.xujie.sys.modules.pms.data.EamDefectFeedBackInData">
  1211. select
  1212. a.Site,
  1213. a.FeedBackID,
  1214. a.FeedBackDesc,
  1215. a.ObjectID,
  1216. a.DefectID,
  1217. a.FunctionType,
  1218. a.PlanOperator,
  1219. a.ActualOperator,
  1220. a.Status,
  1221. a.PlanDate,
  1222. a.Remark,
  1223. a.urgency,
  1224. a.deleteFlag,
  1225. a.CreatedDate,
  1226. a.CreatedBy,
  1227. c.operator_name as feedbackBy,
  1228. a.UpdateDate,
  1229. a.UpdateBy,
  1230. a.Version,
  1231. a.DefectDate,
  1232. dbo.eam_Get_eamAdminName(a.Site,a.PlanOperator) PlanOperatorName,
  1233. b.defectDesc,
  1234. dbo.eam_Get_eamObjectDesc(a.Site,a.ObjectID) ObjectDesc,
  1235. FinishDate,
  1236. dbo.joint_name(a.Site,(select OrderNo from eam_workOrder where PlanID = a.FeedBackID and site = a.site and Result = '维修完成'),a.FunctionType) as actualOperatorName
  1237. from eam_defect_feedBack a
  1238. left join eam_defect b on a.DefectID = b.DefectID
  1239. left join operator as c on a.site = c.site and a.CreatedBy = c.operator_id
  1240. <where>
  1241. and a.Site = #{query.site}
  1242. <if test="query.feedBackID != null and query.feedBackID != ''">
  1243. AND a.feedBackID like '%' + #{query.feedBackID} +'%'
  1244. </if>
  1245. <if test="query.defectDesc != null and query.defectDesc != ''">
  1246. AND b.defectDesc like '%' + #{query.defectDesc} +'%'
  1247. </if>
  1248. <if test="query.objectID != null and query.objectID != ''">
  1249. AND a.ObjectID like '%' + #{query.objectID} +'%'
  1250. </if>
  1251. <if test="query.planOperator != null and query.planOperator != ''">
  1252. AND a.PlanOperator like '%' + #{query.planOperator} +'%'
  1253. </if>
  1254. <if test="query.status != null and query.status != ''">
  1255. AND a.status = #{query.status}
  1256. </if>
  1257. <if test="query.startDate != null ">
  1258. AND a.defectDate >= #{query.startDate}
  1259. </if>
  1260. <if test="query.endDate != null ">
  1261. AND #{query.endDate} >= a.defectDate
  1262. </if>
  1263. and a.FunctionType = #{query.functionType}
  1264. </where>
  1265. ORDER BY a.DefectDate,
  1266. CASE WHEN a.urgency = '事故' THEN 1
  1267. WHEN a.urgency = '紧急' THEN 2
  1268. WHEN a.urgency = '正常' THEN 3
  1269. END
  1270. </select>
  1271. <select id="eamFeedBackCheck" resultType="com.xujie.sys.modules.pms.data.EamDefectFeedBackInData">
  1272. select Site,FeedBackID,FeedBackDesc,ObjectID,DefectID,Status from eam_defect_feedBack where FeedBackID=#{feedBackID} and site=#{site}
  1273. </select>
  1274. <update id="cancelFeedBack" >
  1275. update eam_defect_feedBack
  1276. set status = '已取消'
  1277. where FeedBackID = #{feedBackID} and site = #{site}
  1278. </update>
  1279. <update id="updateFeedBack">
  1280. update eam_defect_feedBack
  1281. set status = '已下达',
  1282. PlanOperator = #{planOperator},
  1283. UpdateDate = GetDate(),
  1284. UpdateBy = #{updateBy}
  1285. where FeedBackID = #{feedBackID}
  1286. and site = #{site}
  1287. </update>
  1288. <insert id="saveDefectOrder">
  1289. INSERT INTO eam_workOrder
  1290. (Site, OrderNo, PlanID, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType, CreateDate, CreateBy)
  1291. values(#{site}, (select 'X'+ Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8) from eam_workOrder where site=#{site} and FunctionType='C' ), #{feedBackID}, '', #{objectID}, '未开工', #{planOperator}, #{planDate}, 'C', GetDate(), #{userId})
  1292. </insert>
  1293. <select id="getItemLists" resultType="com.xujie.sys.modules.pms.data.EamPropertiesItemData">
  1294. SELECT
  1295. a.itemNo,
  1296. a.ItemDesc,
  1297. a.ItemRemark
  1298. FROM eam_properties_item a
  1299. LEFT JOIN eam_properties_model_detail b on b.function_type = #{functionType} and b.code_no = #{codeNo} and b.properties_item_no = a.ItemNo and a.site = b.site
  1300. <where>
  1301. a.ItemType = #{functionType}
  1302. and a.site = #{site}
  1303. AND b.code_no is null
  1304. <if test = "itemNo != null and itemNo != ''">
  1305. AND a.ItemNo LIKE '%' + #{itemNo} + '%'
  1306. </if>
  1307. <if test = "itemDesc != null and itemDesc != ''">
  1308. AND a.ItemDesc LIKE '%' + #{itemDesc} + '%'
  1309. </if>
  1310. </where>
  1311. </select>
  1312. <select id="getModelItemLists" resultType="com.xujie.sys.modules.pms.data.EamPropertiesItemData">
  1313. select
  1314. a.properties_item_no itemNo,
  1315. b.ItemDesc,
  1316. b.ItemRemark
  1317. from eam_properties_model_detail a
  1318. left join eam_properties_item b on a.properties_item_no = b.ItemNo and a.function_type = b.ItemType
  1319. where a.code_no = #{codeNo}
  1320. and a.function_type = #{functionType}
  1321. </select>
  1322. <delete id="deleteObjectFile">
  1323. delete from sys_oss where id = #{id}
  1324. </delete>
  1325. <select id="checkSparPartImage" resultType="SysOssEntity" parameterType="EamWorkOrderInData">
  1326. SELECT id, url, create_date, file_name, new_file_name, created_by,
  1327. order_ref1, order_ref2, order_ref3, file_type, file_suffix, file_type_code
  1328. FROM sys_oss
  1329. WHERE order_ref2 = #{orderNo}
  1330. AND order_ref1 = #{site}
  1331. AND order_ref3 = 'reportSparPart'
  1332. </select>
  1333. <!-- 获取机修人员列表 -->
  1334. <select id="getOperatorList" resultType="EamAdminData" parameterType="EamAdminData">
  1335. SELECT
  1336. ea.AdminID,
  1337. ea.AdminName,
  1338. ea.Phone,
  1339. dbo.get_eam_dept_str(ea.site,ea.AdminID) as departmentName,
  1340. ea.Email,
  1341. ea.Tel,
  1342. ea.LevelID,
  1343. eal.AdminLevelDesc,
  1344. ea.MesUser,
  1345. ea.Active,
  1346. ea.CreatedDate
  1347. FROM eam_admin as ea
  1348. LEFT JOIN eam_adminLevel as eaL ON ea.LevelID = eal.AdminLevelID and ea.site = eal.site
  1349. <where>
  1350. ea.Active = 'Y'
  1351. AND ea.Site = #{site}
  1352. <if test = "adminID != null and adminID != ''">
  1353. AND ea.AdminID LIKE '%' + #{adminID}+'%'
  1354. </if>
  1355. <if test = "adminName != null and adminName != ''">
  1356. AND ea.AdminName LIKE '%' + #{adminName}+'%'
  1357. </if>
  1358. </where>
  1359. </select>
  1360. <!-- 获取审核人员列表 -->
  1361. <select id="getCheckerList" resultType="EamAdminData" parameterType="EamAdminData">
  1362. SELECT
  1363. site,
  1364. user_id,
  1365. username as adminID,
  1366. email,
  1367. mobile as phone,
  1368. user_display as adminName
  1369. FROM sys_user
  1370. <where>
  1371. AND site = #{site}
  1372. <if test = "adminID != null and adminID != ''">
  1373. AND username LIKE '%' + #{adminID}+'%'
  1374. </if>
  1375. <if test = "adminName != null and adminName != ''">
  1376. AND user_display LIKE '%' + #{adminName}+'%'
  1377. </if>
  1378. </where>
  1379. </select>
  1380. <!-- 点检工单审核 -->
  1381. <update id="checkWorkOrder" parameterType="EamWorkOrderInData">
  1382. UPDATE eam_workOrder
  1383. SET Status = '已完工'
  1384. WHERE Site = #{site}
  1385. AND OrderNo = #{orderNo}
  1386. </update>
  1387. <update id="cancelCheckWorkOrder" parameterType="EamWorkOrderInData">
  1388. UPDATE eam_workOrder
  1389. SET Status = '待审核'
  1390. WHERE Site = #{site}
  1391. AND OrderNo = #{orderNo}
  1392. </update>
  1393. <!-- 查看点检工单状态 -->
  1394. <select id="checkWorkOrderStatus" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData">
  1395. SELECT
  1396. OrderNo
  1397. FROM eam_workOrder
  1398. WHERE site = #{site}
  1399. AND PlanID = #{planID}
  1400. AND Status != '已完工'
  1401. </select>
  1402. <!-- 点检工单审核 -->
  1403. <update id="updateWorkPlanOverviewStatus" parameterType="EamWorkOrderInData">
  1404. UPDATE eam_workPlan_overview
  1405. SET status = '已结束'
  1406. WHERE site = #{site}
  1407. AND plan_id = #{planID}
  1408. </update>
  1409. <!-- 新增点检计划 -->
  1410. <insert id="saveWorkPlan" parameterType="EamWorkPlanInData">
  1411. INSERT INTO eam_workPlan_overview
  1412. (site, plan_id, plan_desc, status, plan_start_date, plan_end_date, created_date, created_by, update_date, update_by, remark, delete_flag, operator, operator_name, checker, checker_name, function_type, properties_code, plan_period, work_order_rule, plan_cycle, task_start_date)
  1413. VALUES (#{site}, #{planID}, #{planDesc}, '已计划', #{planStartDate}, #{planEndDate}, getDate(), #{createdBy}, getDate(), #{updateBy}, #{remark}, 'N', #{operator}, #{operatorName}, #{checker}, #{checkerName}, #{functionType}, #{propertiesCode}, #{planPeriod}, #{workOrderRule}, #{planCycle}, #{taskStartDate})
  1414. </insert>
  1415. <!-- 生成工单ID -->
  1416. <select id="selectOrderId" resultType="string" parameterType="EamWorkPlanInData">
  1417. SELECT
  1418. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(PlanID,3,10))),0)+1),8)
  1419. FROM eam_workPlan
  1420. WHERE site = #{site}
  1421. AND FunctionType = #{functionType}
  1422. </select>
  1423. <!-- 查询计划中的设备列表 -->
  1424. <select id="getPlanDetailList" resultType="WorkPlanDetailData" parameterType="WorkPlanDetailData">
  1425. SELECT
  1426. ewp.PlanID,
  1427. ewp.PlanDesc,
  1428. ewp.ObjectID,
  1429. eo.ObjectDesc,
  1430. eo.FamilyID,
  1431. ef.FamilyDesc,
  1432. eo.LocationID,
  1433. el.LocationName
  1434. FROM eam_workPlan as ewP
  1435. LEFT JOIN eam_object as eo
  1436. ON ewP.ObjectID = eo.ObjectID and ewP.Site = eo.Site
  1437. LEFT JOIN eam_family as ef
  1438. ON eo.FamilyID = ef.FamilyID and ewP.Site = ef.Site
  1439. LEFT JOIN eam_location as el
  1440. ON eo.LocationID = el.LocationID and ewP.Site = el.Site
  1441. <where>
  1442. ewP.site = #{site}
  1443. AND ewp.PlanID = #{planID}
  1444. <if test = "objectID != null and objectID != ''">
  1445. AND eo.ObjectID LIKE '%' + #{objectID}+'%'
  1446. </if>
  1447. <if test = "objectDesc != null and objectDesc != ''">
  1448. AND eo.ObjectDesc LIKE '%' + #{objectDesc}+'%'
  1449. </if>
  1450. </where>
  1451. </select>
  1452. <!-- 删除计划中的设备 -->
  1453. <delete id="delPlanDetail" parameterType="WorkPlanDetailData">
  1454. DELETE FROM eam_workPlan
  1455. WHERE Site = #{site}
  1456. AND PlanID = #{planID}
  1457. AND ObjectID = #{objectID}
  1458. </delete>
  1459. <!-- 获取当前计划不包含的设备 -->
  1460. <select id="getObjList1" resultType="WorkPlanDetailData" parameterType="WorkPlanDetailData">
  1461. SELECT
  1462. a.ObjectID,
  1463. a.ObjectDesc,
  1464. a.FamilyID,
  1465. ef.FamilyDesc,
  1466. a.LocationID,
  1467. el.LocationName
  1468. FROM eam_object a
  1469. LEFT JOIN eam_workPlan b ON b.PlanID = #{planID} and b.ObjectID = a.ObjectID and a.site = b.site
  1470. LEFT JOIN eam_family as ef ON a.FamilyID = ef.FamilyID and a.site = ef.site
  1471. LEFT JOIN eam_location as el ON a.LocationID = el.LocationID and a.site = el.site
  1472. WHERE a.site = #{site} and b.PlanID is null
  1473. </select>
  1474. <!-- 获取当前计划包含的设备 -->
  1475. <select id="getObjList2" resultType="WorkPlanDetailData" parameterType="WorkPlanDetailData">
  1476. SELECT
  1477. a.ObjectID,
  1478. b.ObjectDesc,
  1479. b.FamilyID,
  1480. ef.FamilyDesc,
  1481. b.LocationID,
  1482. el.LocationName
  1483. FROM eam_workPlan a
  1484. LEFT JOIN eam_object b ON a.ObjectID = b.ObjectID and a.site = b.site
  1485. LEFT JOIN eam_family as ef ON b.FamilyID = ef.FamilyID and a.site = ef.site
  1486. LEFT JOIN eam_location as el ON b.LocationID = el.LocationID and a.site = el.site
  1487. WHERE a.PlanID = #{planID} and a.site = #{site}
  1488. </select>
  1489. <!-- 添加计划设备 -->
  1490. <insert id="addObject" parameterType="EamWorkPlanInData">
  1491. INSERT INTO eam_workPlan
  1492. (Site,PlanID,PlanDesc,ObjectID,FunctionType,PropertiesCode,Operator,OperatorName,checker,checkerName,PlanPeriod,Status,PlanStartDate,PlanEndDate,CreatedDate,CreatedBy,Version,Remark,DeleteFlag)
  1493. values (#{site},#{planID},#{planDesc},#{objectID},#{functionType},#{propertiesCode},#{operator},#{operatorName},#{checker},#{checkerName},#{planPeriod},#{status},#{planStartDate},#{planEndDate},GetDate(),#{createdBy},0,#{remark},'N')
  1494. </insert>
  1495. <!-- 修改工单计划 -->
  1496. <update id="updateWorkPlan" parameterType="EamWorkPlanInData">
  1497. UPDATE eam_workPlan_overview
  1498. SET plan_desc = #{planDesc},
  1499. properties_code = #{propertiesCode},
  1500. plan_start_date = #{planStartDate},
  1501. plan_end_date = #{planEndDate},
  1502. plan_period = #{planPeriod},
  1503. remark = #{remark},
  1504. operator = #{operator},
  1505. operator_name = #{operatorName},
  1506. checker = #{checker},
  1507. checker_name = #{checkerName},
  1508. work_order_rule = #{workOrderRule},
  1509. task_start_date = #{taskStartDate},
  1510. plan_cycle = #{planCycle}
  1511. WHERE site = #{site}
  1512. AND plan_id = #{planID}
  1513. AND function_type = #{functionType}
  1514. </update>
  1515. <!-- 删除该计划的旧设备 -->
  1516. <delete id="delWorkPlanObject" parameterType="EamWorkPlanInData">
  1517. DELETE FROM eam_workPlan
  1518. WHERE Site = #{site}
  1519. AND PlanID = #{planID}
  1520. </delete>
  1521. <!-- 删除该计划的旧设备item -->
  1522. <delete id="delWorkPlanItem" parameterType="EamWorkPlanInData">
  1523. DELETE FROM eam_workPlan_item
  1524. WHERE Site = #{site}
  1525. AND PlanID = #{planID}
  1526. </delete>
  1527. <!-- 删除该计划的旧设备itemAvailable-->
  1528. <delete id="delWorkPlanItemAvailable">
  1529. DELETE FROM eam_workPlan_item_available
  1530. WHERE Site = #{site}
  1531. AND PlanID = #{planID}
  1532. AND ObjectID = #{objectID}
  1533. </delete>
  1534. <!-- 查询该计划的设备 -->
  1535. <select id="planObjectSearch" resultType="EamWorkPlanItemData" parameterType="EamWorkPlanItemData">
  1536. SELECT DISTINCT
  1537. a.ObjectID,
  1538. b.ObjectDesc
  1539. FROM eam_workPlan_item as a
  1540. LEFT JOIN eam_object as b
  1541. ON a.ObjectID = b.ObjectID
  1542. WHERE a.Site = #{site}
  1543. AND a.PlanID = #{planID}
  1544. </select>
  1545. <!-- 修改该计划状态 -->
  1546. <update id="updateOverviewStatus" parameterType="EamWorkPlanInData">
  1547. UPDATE eam_workPlan_overview
  1548. SET status = '进行中',
  1549. next_work_date = plan_start_date
  1550. WHERE site = #{site}
  1551. AND plan_id = #{planID}
  1552. </update>
  1553. <!-- 查询文件路径 -->
  1554. <select id="searchFileUrl" resultType="SysOssEntity" parameterType="EamWorkOrderInData">
  1555. SELECT
  1556. id,
  1557. url,
  1558. file_name
  1559. FROM sys_oss
  1560. WHERE order_ref1 = #{site}
  1561. AND order_ref2 = #{orderNo}
  1562. AND order_ref3 = #{folder}
  1563. </select>
  1564. <!-- 新增子明细信息 -->
  1565. <insert id="saveOperator" parameterType="EamWorkOrderInData">
  1566. INSERT INTO eam_actual_operator
  1567. (site, order_no, function_type, operator)
  1568. VALUES (#{site}, #{orderNo}, #{functionType}, #{operator})
  1569. </insert>
  1570. <!-- AND Status = '已完工' AND PlanOperator is not null-->
  1571. <!-- 查询实际维修人员 -->
  1572. <select id="getActualOperatorList2" resultType="EamAdminData">
  1573. SELECT
  1574. ea.AdminID,
  1575. ea.AdminName
  1576. FROM eam_actual_operator as eao
  1577. LEFT JOIN eam_admin as ea ON eao.operator = ea.AdminID and eao.site = ea.Site
  1578. LEFT JOIN eam_workOrder as ew ON eao.site = ew.Site and eao.function_type = ew.FunctionType and eao.order_no = ew.OrderNo
  1579. WHERE eao.site = #{site} AND eao.function_type = #{functionType} AND ew.PlanID = #{planID}
  1580. </select>
  1581. <!-- 查询实际维修人员 -->
  1582. <select id="getActualOperatorList" resultType="EamAdminData">
  1583. SELECT
  1584. ea.AdminID,
  1585. ea.AdminName
  1586. FROM eam_actual_operator as eao
  1587. LEFT JOIN eam_admin as ea ON eao.operator = ea.AdminID and eao.site = ea.Site
  1588. WHERE eao.site = #{site} AND eao.order_no = #{orderNo} AND eao.function_type = #{functionType}
  1589. </select>
  1590. <!-- 查询设备所属部门 -->
  1591. <select id="selectDeptByObjectID" resultType="string" parameterType="string">
  1592. SELECT ved.department_name
  1593. FROM eam_object as eo
  1594. LEFT JOIN sys_department as ved ON eo.site = ved.site and eo.dept_id = ved.department_id
  1595. WHERE eo.site = #{site}
  1596. AND eo.ObjectID = #{objectID}
  1597. </select>
  1598. <!-- 查询用户所属部门 -->
  1599. <select id="selectAdminIdByUserName" resultType="string" parameterType="string">
  1600. SELECT AdminID
  1601. FROM eam_admin
  1602. WHERE site = #{site}
  1603. AND MesUser = #{username}
  1604. </select>
  1605. <!-- 查询部门列表 -->
  1606. <select id="getDeptList" resultType="string" parameterType="string">
  1607. SELECT
  1608. ved.department_name
  1609. FROM eam_admin_dept as ead
  1610. LEFT JOIN sys_department as ved ON ead.site = ved.site and ead.dept_id = ved.department_id
  1611. LEFT JOIN eam_admin as ea ON ead.site = ea.site and ead.admin_id = ea.AdminID
  1612. WHERE ead.site = #{site} AND ea.MesUser = #{username}
  1613. </select>
  1614. <!-- 生成新的维修工单 -->
  1615. <insert id="saveDefectWorkOrder" parameterType="EamWorkOrderInData">
  1616. INSERT INTO eam_workOrder
  1617. (Site, OrderNo, PlanID, PropertiesCode, ObjectID, Status, PlanDate, FunctionType, CreateDate, CreateBy, check_work_plan_id, check_item_no)
  1618. VALUES (#{site}, #{orderNo}, #{planID}, '', #{objectID}, '未开工', getDate(), 'C', getDate(), #{createBy}, #{checkWorkPlanId}, #{checkItemNo})
  1619. </insert>
  1620. <!-- 创建count表 -->
  1621. <insert id="saveDefectRecordCount2" parameterType="EamWorkOrderInData">
  1622. INSERT INTO eam_workOrder_count
  1623. (Site, OrderNo, PlanID, PropertiesCode, ObjectID, Status, PlanDate, FunctionType, CreateDate, CreateBy, check_work_plan_id, check_item_no)
  1624. VALUES (#{site}, #{orderNo}, #{planID}, '', #{objectID}, '未开工', getDate(), 'C', getDate(), #{createBy}, #{checkWorkPlanId}, #{checkItemNo})
  1625. </insert>
  1626. <!-- 获取旧工单的基础信息 -->
  1627. <select id="queryOldWorkOrderMessage" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData">
  1628. select
  1629. PlanOperator,
  1630. PlanOperatorName,
  1631. checker,
  1632. checkerName
  1633. from eam_workOrder
  1634. where site = #{site}
  1635. and OrderNo = #{orderNo}
  1636. and FunctionType = #{functionType}
  1637. </select>
  1638. <!-- 生成新的维保工单 -->
  1639. <insert id="saveMaintenanceWorkOrder" parameterType="EamWorkOrderInData">
  1640. INSERT INTO eam_workOrder
  1641. (Site, OrderNo, PlanID, PlanDesc, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType, CreateDate, CreateBy, checker, PlanOperatorName, checkerName)
  1642. VALUES (#{site}, (select 'W' + Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8) from eam_workOrder where site = #{site} and FunctionType = 'B'),
  1643. #{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{planOperator}, Dateadd(dd, Datediff(dd,0,Getdate()), 0), #{functionType}, getDate(), #{createBy}, #{checker}, #{planOperatorName}, #{checkerName})
  1644. </insert>
  1645. <!-- 检查系统操作人和审核人员是否一致 -->
  1646. <select id="selectNameByMes" resultType="EamAdminData" parameterType="EamAdminData">
  1647. SELECT AdminName
  1648. FROM eam_admin
  1649. WHERE site = #{site}
  1650. AND MesUser = #{mesUser}
  1651. </select>
  1652. <!-- 维修审核确认 -->
  1653. <update id="submitDefect" parameterType="EamWorkOrderInData">
  1654. UPDATE eam_workOrder
  1655. SET Status = #{status},
  1656. difficulty_level = #{difficultyLevel},
  1657. difficulty_remark = #{difficultyRemark}
  1658. WHERE Site = #{site}
  1659. AND OrderNo = #{orderNo}
  1660. </update>
  1661. <!-- 查询设备的点检和维保历史记录 -->
  1662. <select id="queryHistoryRecord" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData">
  1663. SELECT
  1664. top 10
  1665. ewo.OrderNo,
  1666. ewo.PlanID,
  1667. ewo.PlanDesc,
  1668. ewo.ActualDate,
  1669. ewo.ObjectID,
  1670. eo.ObjectDesc,
  1671. ewo.Remark,
  1672. dbo.eam_Get_eamAdminName(ewo.site,ewo.ActualOperator) ActualOperatorName,
  1673. ewo.checkResult
  1674. FROM eam_workOrder as ewo
  1675. LEFT JOIN eam_object as eo ON ewo.site = eo.site and ewo.ObjectID = eo.ObjectID
  1676. WHERE ewo.site = #{site} AND ewo.ObjectID = #{objectID} AND ewo.FunctionType = #{functionType} AND ewo.Status = '已完工'
  1677. ORDER BY ewo.ActualDate desc
  1678. </select>
  1679. <!-- 查询设备的维修历史记录 -->
  1680. <select id="queryDefectHistoryRecord" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData">
  1681. SELECT
  1682. top 10
  1683. ewo.OrderNo,
  1684. ewo.PlanID,
  1685. ewo.PlanDesc,
  1686. ewo.ActualDate,
  1687. ewo.Remark,
  1688. ewo.Result,
  1689. ewo.disposal_measures,
  1690. ed.DefectDesc,
  1691. ewo.WorkTime
  1692. FROM eam_workOrder as ewo
  1693. LEFT JOIN eam_object as eo ON ewo.site = eo.site and ewo.ObjectID = eo.ObjectID
  1694. LEFT JOIN eam_defect_feedBack as edf ON ewo.site = edf.site and ewo.PlanID = edf.FeedBackID
  1695. LEFT JOIN eam_defect as ed ON ed.DefectID = edf.DefectID
  1696. WHERE ewo.site = #{site}
  1697. AND ewo.ObjectID = #{objectID}
  1698. AND ewo.FunctionType = #{functionType}
  1699. AND ewo.Status = '已完工'
  1700. ORDER BY ewo.ActualDate desc
  1701. </select>
  1702. <!-- AND datediff(week, ewo.ActualDate, getdate()) = 0-->
  1703. <!-- 查询部门列表 -->
  1704. <select id="getEmpyDeptList" resultType="EmpyDept" parameterType="EmpyDept">
  1705. SELECT
  1706. site,
  1707. department_id as deptId,
  1708. department_name as deptName
  1709. FROM sys_department
  1710. <where>
  1711. site = #{site}
  1712. <if test = "deptId != null and deptId != ''">
  1713. AND department_id LIKE '%' + #{deptId}+'%'
  1714. </if>
  1715. <if test = "deptName != null and deptName != ''">
  1716. AND department_name LIKE '%' + #{deptName}+'%'
  1717. </if>
  1718. </where>
  1719. </select>
  1720. <!-- 生成新的维修工单 -->
  1721. <insert id="saveAdminDepartment">
  1722. INSERT INTO eam_admin_dept
  1723. (Site, admin_id, dept_id)
  1724. VALUES (#{site}, #{adminID}, #{deptId})
  1725. </insert>
  1726. <!-- 查询部门详情 -->
  1727. <select id="getDeptDetail" resultType="EamAdminData" parameterType="string">
  1728. SELECT
  1729. ved.department_id as department,
  1730. ved.department_name as departmentName
  1731. FROM eam_admin_dept as ead
  1732. LEFT JOIN sys_department as ved ON ead.site = ved.site and ead.dept_id = ved.department_id
  1733. WHERE ead.site = #{site} AND ead.admin_id = #{adminID}
  1734. </select>
  1735. <!-- 删除旧数据-->
  1736. <delete id="deleteAdminDepartment">
  1737. DELETE FROM eam_admin_dept
  1738. WHERE site = #{site}
  1739. AND admin_id = #{adminID}
  1740. </delete>
  1741. <!-- 获取可用的MES账号 -->
  1742. <select id="getMesList" resultType="SysUserEntity" parameterType="SysUserEntity">
  1743. SELECT
  1744. a.username,
  1745. a.user_display
  1746. FROM sys_user a
  1747. LEFT JOIN eam_admin b
  1748. ON b.MesUser = a.username and a.site = b.site
  1749. WHERE a.site = #{site}
  1750. AND b.MesUser is null
  1751. </select>
  1752. <!-- 查询点检项目 -->
  1753. <select id="eamPropertiesItemSearch" parameterType="EamPropertiesItemData" resultType="EamPropertiesItemData">
  1754. SELECT
  1755. site,
  1756. ItemNo,
  1757. ItemDesc,
  1758. DefaultValue,
  1759. ValueType,
  1760. ValueType_DB as valueTypeDb,
  1761. ValueChooseFlag,
  1762. CreatedDate,
  1763. CreatedBy,
  1764. update_date,
  1765. update_by,
  1766. MaxValue,
  1767. MinValue,
  1768. ItemRemark,
  1769. ItemType,
  1770. image_flag,
  1771. produce_control_flag
  1772. FROM eam_properties_item
  1773. <where>
  1774. site = #{query.site}
  1775. and ItemType = #{query.itemType}
  1776. <if test="query.itemNo != null and query.itemNo != ''">
  1777. AND ItemNo LIKE '%' + #{query.itemNo}+'%'
  1778. </if>
  1779. <if test="query.itemDesc != null and query.itemDesc != ''">
  1780. AND ItemDesc LIKE '%' + #{query.itemDesc}+'%'
  1781. </if>
  1782. </where>
  1783. </select>
  1784. <!-- 删除图片-->
  1785. <delete id="imageDelete" parameterType="SysOssEntity">
  1786. DELETE FROM sys_oss
  1787. WHERE id = #{id}
  1788. </delete>
  1789. <!-- 检查该日期内是否已有该设备的计划 -->
  1790. <select id="checkObjectPlan" resultType="EamWorkPlanInData" parameterType="EamWorkPlanInData">
  1791. SELECT
  1792. a.PlanID,
  1793. a.ObjectID
  1794. FROM eam_workPlan a
  1795. LEFT JOIN eam_workOrder b ON a.site = b.site AND a.PlanID = b.PlanID and a.FunctionType = b.FunctionType and a.ObjectID = b.ObjectID
  1796. WHERE a.site = #{site} AND a.ObjectID = #{objectID} AND a.FunctionType = #{functionType} AND a.Status in ('已计划','进行中') AND a.deleteFlag = 'N'
  1797. AND (convert(varchar(10), a.PlanStartDate, 120) between #{planStartDate} and #{planEndDate}
  1798. or convert(varchar(10), a.PlanEndDate, 120) between #{planStartDate} and #{planEndDate}
  1799. or (DATEDIFF(day, a.PlanStartDate, #{planStartDate}) >= 0 and DATEDIFF(day, #{planEndDate}, a.PlanEndDate) >= 0)
  1800. )
  1801. and a.PropertiesCode = #{propertiesCode} and a.plan_cycle = #{planCycle} and a.PlanPeriod = #{planPeriod}
  1802. and b.Status not in ('已取消','已完成','待审核')
  1803. </select>
  1804. <!-- 获取可用的MES账号 -->
  1805. <select id="queryWorkPlan" resultType="EamWorkPlanInData" parameterType="EamWorkPlanInData">
  1806. SELECT
  1807. site,
  1808. plan_id,
  1809. plan_desc,
  1810. properties_code,
  1811. #{objectID} as objectID,
  1812. status,
  1813. operator,
  1814. delete_flag,
  1815. plan_start_date,
  1816. plan_end_date,
  1817. plan_period,
  1818. function_type,
  1819. checker,
  1820. checker_name,
  1821. operator_name,
  1822. work_order_rule,
  1823. plan_cycle
  1824. FROM eam_workPlan_overview
  1825. WHERE site = #{site}
  1826. AND plan_id = #{planID}
  1827. AND function_type = #{functionType}
  1828. </select>
  1829. <!-- 获得工单号 -->
  1830. <select id="queryPlanOrderNo" resultType="string" parameterType="EamWorkPlanInData">
  1831. SELECT
  1832. Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8)
  1833. FROM eam_workOrder
  1834. WHERE site = #{site}
  1835. AND FunctionType = #{functionType}
  1836. </select>
  1837. <!-- 新增工单 -->
  1838. <insert id="insertWorkOrder" parameterType="EamWorkPlanInData">
  1839. INSERT INTO eam_workOrder
  1840. (Site, OrderNo, PlanID, PlanDesc, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType,CreateDate, CreateBy, checker, PlanOperatorName, checkerName)
  1841. VALUES (#{site}, #{orderNo}, #{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{operator}, #{planStartDate}, #{functionType}, getDate(), #{userId}, #{checker}, #{operatorName}, #{checkerName})
  1842. </insert>
  1843. <!-- 循环新增工单 -->
  1844. <insert id="forInsertWorkOrder" parameterType="EamWorkPlanInData">
  1845. INSERT INTO eam_workOrder
  1846. (Site, OrderNo, PlanID, PlanDesc, PropertiesCode, ObjectID, Status, PlanOperator, PlanDate, FunctionType,CreateDate, CreateBy, checker, PlanOperatorName, checkerName)
  1847. VALUES (#{site}, #{orderNo}, #{planID}, #{planDesc}, #{propertiesCode}, #{objectID}, '未开工', #{operator}, #{orderDate}, #{functionType}, getDate(), #{userId}, #{checker}, #{operatorName}, #{checkerName})
  1848. </insert>
  1849. <!-- 更改plan表的状态为进行中 -->
  1850. <update id="updatePlanStatus" parameterType="EamWorkPlanInData">
  1851. update eam_workPlan
  1852. set status = '进行中',
  1853. NextWorkDate = PlanStartDate
  1854. where site = #{site}
  1855. and PlanID = #{planID}
  1856. and FunctionType = #{functionType}
  1857. and ObjectID = #{objectID}
  1858. </update>
  1859. <!-- 获得工单号 -->
  1860. <select id="queryFileByOrderNoAndItemNo" resultType="SysOssEntity" parameterType="EamWorkOrderItemInData">
  1861. SELECT
  1862. id,
  1863. file_name
  1864. FROM sys_oss
  1865. WHERE order_ref1 = #{site}
  1866. AND order_ref2 = #{orderNo}
  1867. AND order_ref3 = #{itemNo}
  1868. </select>
  1869. <!-- 删除原来工单项目-->
  1870. <delete id="deleteWorkPlanItem" parameterType="EamWorkOrderItemInData">
  1871. DELETE FROM eam_workPlan_item
  1872. WHERE site = #{site} and PlanID = #{planID} and ItemType = #{itemType} and ObjectID = #{objectID}
  1873. </delete>
  1874. <!-- 删除原来的可选值-->
  1875. <delete id="deleteWorkPlanItemAvailable" parameterType="EamWorkOrderItemInData">
  1876. DELETE FROM eam_workPlan_item_available
  1877. WHERE site = #{site} and PlanID = #{planID} and ItemType = #{itemType} and ObjectID = #{objectID}
  1878. </delete>
  1879. <!-- 添加新项目 -->
  1880. <insert id="saveWorkPlanItem" parameterType="EamWorkOrderItemInData">
  1881. INSERT INTO eam_workPlan_item (Site,PlanID,ObjectID,ItemNo,ItemDesc,DefaultValue,ValueType,ValueType_DB,ValueChooseFlag,MaxValue,MinValue,ItemRemark,ItemType,CreatedDate,CreatedBy,image_flag,produce_control_flag)
  1882. select
  1883. #{site},
  1884. #{planID},
  1885. #{objectID},
  1886. a.ItemNo,
  1887. a.ItemDesc,
  1888. case when c.site is not null then c.DefaultValue else a.DefaultValue end,
  1889. case when c.site is not null then c.ValueType else a.ValueType end,
  1890. case when c.site is not null then c.ValueType_DB else a.ValueType_DB end,
  1891. case when c.site is not null then c.ValueChooseFlag else a.ValueChooseFlag end,
  1892. case when c.site is not null then c.MaxValue else a.MaxValue end,
  1893. case when c.site is not null then c.MinValue else a.MinValue end,
  1894. a.ItemRemark,
  1895. a.ItemType,
  1896. GetDate(),
  1897. #{userId},
  1898. a.image_flag,
  1899. a.produce_control_flag
  1900. from eam_properties_item a
  1901. left join eam_properties_model_detail b on a.ItemType = b.function_type and a.ItemNo = b.properties_item_no
  1902. left join eam_object_item c on a.ItemType = c.ItemType and a.ItemNo = c.ItemNo and c.objectID = #{objectID}
  1903. where a.ItemType = #{itemType} and b.code_no = #{propertiesCode}
  1904. </insert>
  1905. <!-- 添加新项目可选值 -->
  1906. <insert id="saveWorkPlanItemAvailable" parameterType="EamWorkOrderItemInData">
  1907. INSERT INTO eam_workPlan_item_available (Site, PlanID, ObjectID, ItemNo, ItemType, ValueNo, AvailableValue, CreatedDate, CreatedBy)
  1908. SELECT DISTINCT
  1909. #{site},
  1910. #{planID},
  1911. #{objectID},
  1912. a.ItemNo,
  1913. a.ItemType,
  1914. case when c.ValueNo is not null then c.ValueNo else a.ValueNo end,
  1915. case when c.ValueNo is not null then c.AvailableValue else a.AvailableValue end,
  1916. GetDate(),
  1917. #{userId}
  1918. FROM eam_properties_item_available a
  1919. LEFT JOIN eam_properties_model_detail b on a.ItemType = b.function_type and a.ItemNo = b.properties_item_no
  1920. LEFT JOIN eam_object_item_available c on a.ItemNo = c.ItemNo and a.ItemType = c.ItemType and c.ObjectID = #{objectID}
  1921. WHERE a.ItemType = #{itemType} and b.code_no = #{propertiesCode}
  1922. </insert>
  1923. <!-- 检查维修任务号是否已存在 -->
  1924. <select id="getEamGzData" resultType="EamDefectFeedBackData" parameterType="EamDefectFeedBackData">
  1925. select
  1926. a.Site,
  1927. a.FeedBackID,
  1928. a.FeedBackDesc,
  1929. a.ObjectID
  1930. from eam_defect_feedBack a
  1931. left join eam_defect b on a.DefectID = b.DefectID
  1932. <where>
  1933. a.site = #{site} and a.deleteFlag = 'N'
  1934. <if test="feedBackID != null and feedBackID != ''">
  1935. AND a.FeedBackID LIKE '%' + #{feedBackID}+'%'
  1936. </if>
  1937. </where>
  1938. </select>
  1939. <!-- 保存故障信息 -->
  1940. <insert id="saveEamGzBbData" parameterType="EamDefectFeedBackData">
  1941. INSERT INTO eam_defect_feedBack
  1942. (Site, FeedBackID, FeedBackDesc, ObjectID, DefectID, FunctionType, PlanOperator, Status, PlanDate, Remark, deleteFlag, CreatedDate, CreatedBy, Version, DefectDate, urgency)
  1943. VALUES (#{site}, #{feedBackID}, #{feedBackDesc}, #{objectID}, #{defectID}, #{functionType}, #{planOperator}, #{status}, #{planDate}, #{remark}, #{deleteFlag}, getDate(), #{createdBy}, #{version}, #{defectDate}, #{urgency})
  1944. </insert>
  1945. <!-- 查看现场动控是否开启 -->
  1946. <select id="selectControlBaseData" resultType="SysSceneDynamicControlModelEntity" parameterType="string">
  1947. SELECT
  1948. type,
  1949. base_data,
  1950. base_desc,
  1951. status,
  1952. remark,
  1953. third_type,
  1954. second_type,
  1955. page_control,
  1956. control_style
  1957. FROM sys_scene_dynamic_control_model
  1958. where site = #{site} and control_no = #{controlNo}
  1959. </select>
  1960. <!-- 修改反馈状态为已下达 -->
  1961. <update id="updateDefectFeedBackStatus" parameterType="EamDefectFeedBackData">
  1962. UPDATE eam_defect_feedBack
  1963. SET Status = '已下达'
  1964. WHERE Site = #{site} AND FeedBackID = #{feedBackID}
  1965. </update>
  1966. <!-- 查询工单号 -->
  1967. <select id="getOrderNo" resultType="string" parameterType="EamWorkOrderInData">
  1968. select
  1969. 'X'+ Right( '0000000000'+ convert(VARCHAR(10),isnull(max(convert(INT,SUBSTRING(OrderNo,3,10))),0)+1),8)
  1970. from eam_workOrder
  1971. where site = #{site} and FunctionType = 'C'
  1972. </select>
  1973. <!-- 创建维修工单 -->
  1974. <insert id="saveWorkOrder" parameterType="EamDefectFeedBackData">
  1975. INSERT INTO eam_workOrder
  1976. (Site, OrderNo, PlanID, PropertiesCode, ObjectID, Status, PlanDate, FunctionType, CreateDate, CreateBy, PlanDesc)
  1977. VALUES (#{site}, #{orderNo}, #{feedBackID}, '', #{objectID}, '未开工', getDate(), 'C', getDate(), #{createdBy}, #{feedBackDesc})
  1978. </insert>
  1979. <!-- 创建维修count表数据 -->
  1980. <insert id="saveDefectRecordCount" parameterType="EamDefectFeedBackData">
  1981. INSERT INTO eam_workOrder_count
  1982. (Site, OrderNo, PlanID, PropertiesCode, ObjectID, Status, PlanDate, FunctionType, CreateDate, CreateBy, PlanDesc)
  1983. VALUES (#{site}, #{orderNo}, #{feedBackID}, '', #{objectID}, '未开工', getDate(), 'C', getDate(), #{createdBy}, #{feedBackDesc})
  1984. </insert>
  1985. <!-- 修改工单 -->
  1986. <update id="updateWorkOrder" parameterType="EamWorkOrderInData">
  1987. update eam_workOrder
  1988. set update_by = #{mesUser},
  1989. update_date = GetDate(),
  1990. Remark = #{remark},
  1991. WorkTime = #{workTime},
  1992. <if test='functionType == "B" and checkResult == "合格"'>
  1993. disposal_measures = '',
  1994. </if>
  1995. <if test='functionType == "B" and checkResult == "异常"'>
  1996. disposal_measures = #{disposalMeasures},
  1997. </if>
  1998. checkResult = #{checkResult},
  1999. check_remark = #{checkRemark}
  2000. where site = #{site}
  2001. and orderNo = #{orderNo}
  2002. </update>
  2003. <!-- 修改工单项目 -->
  2004. <update id="updateWorkOrderItem" parameterType="EamWorkOrderItemInData">
  2005. update eam_workOrder_item
  2006. set update_by = #{updateBy},
  2007. update_date = GetDate(),
  2008. <if test='valueTypeDb == "T"'>
  2009. TextValue = #{textValue},
  2010. </if>
  2011. <if test='valueTypeDb == "N"'>
  2012. NumberValue = #{numberValue},
  2013. </if>
  2014. itemResult = #{itemResult}
  2015. where site = #{site} and OrderNo = #{orderNo} and ItemNo = #{itemNo}
  2016. </update>
  2017. <!-- 删除之前的协同人员-->
  2018. <delete id="delOperator" parameterType="EamWorkOrderInData">
  2019. DELETE FROM eam_actual_operator
  2020. WHERE site = #{site} and order_no = #{orderNo} and function_type = #{functionType}
  2021. </delete>
  2022. <!-- 到达 -->
  2023. <update id="reach" parameterType="EamWorkOrderInData">
  2024. update eam_workOrder
  2025. set Status = #{status},
  2026. reach_date = GetDate(),
  2027. reach_operator = #{reachOperator},
  2028. reach_operator_name = #{reachOperatorName}
  2029. where site = #{site} and OrderNo = #{orderNo} and FunctionType = #{functionType}
  2030. </update>
  2031. <!-- 查询是否已经上传图片 -->
  2032. <select id="checkUploadAlready" resultType="SysOssEntity" parameterType="EamWorkOrderItemData">
  2033. SELECT
  2034. id
  2035. FROM sys_oss
  2036. where order_ref1 = #{site} and order_ref2 = #{orderNo} and order_ref3 = #{itemNo}
  2037. </select>
  2038. <!-- 查询文件路径 -->
  2039. <select id="searchItemFileUrl" resultType="SysOssEntity" parameterType="EamWorkOrderItemData">
  2040. SELECT
  2041. id,
  2042. url,
  2043. file_name
  2044. FROM sys_oss
  2045. WHERE order_ref1 = #{site} and order_ref2 = #{orderNo} and order_ref3 = #{itemNo}
  2046. </select>
  2047. <!-- 根据工单号查询知识库记录 -->
  2048. <select id="selectKnowledgeRecordByOrderNo" resultType="EamKnowledgeBaseData" parameterType="EamWorkOrderInData">
  2049. SELECT
  2050. site,
  2051. num
  2052. FROM eam_knowledge_base
  2053. WHERE site = #{site} and order_no = #{orderNo}
  2054. </select>
  2055. <!-- 根据工单号修改知识库记录 -->
  2056. <update id="updateKnowledgeRecordByOrderNo" parameterType="EamWorkOrderInData">
  2057. update eam_knowledge_base
  2058. set update_date = getDate(),
  2059. update_by = #{updateBy}
  2060. where site = #{site} and order_no = #{orderNo}
  2061. </update>
  2062. <!-- 新增设备知识库记录 -->
  2063. <insert id="saveKnowledgeRecord" parameterType="EamWorkOrderInData">
  2064. INSERT INTO eam_knowledge_base
  2065. (site, num, file_type, defect_describe, disposal_measures, create_date, create_by, object_id, defect_id, order_no)
  2066. VALUES (#{site}, (select 'ZS'+ Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(num, 3, 10))), 0) + 1), 8) from eam_knowledge_base where site = #{site}), '维修', #{planDesc}, #{disposalMeasures}, getDate(), #{createBy}, #{objectID}, #{defectID}, #{orderNo})
  2067. </insert>
  2068. <!-- 修改反馈状态为已取消 -->
  2069. <update id="updateFeedBackStatus" parameterType="EamWorkOrderInData">
  2070. UPDATE eam_defect_feedBack
  2071. SET Status = '已取消'
  2072. WHERE Site = #{site} AND FeedBackID = #{planID}
  2073. </update>
  2074. <!-- 获取所有分类 -->
  2075. <select id="getFamilyTree" resultType="EamFamilyData" parameterType="EamFamilyData">
  2076. SELECT
  2077. site,
  2078. FamilyID,
  2079. FamilyDesc,
  2080. parent_id,
  2081. son_id,
  2082. Active
  2083. FROM eam_family
  2084. WHERE site = #{site} and Active = 'Y'
  2085. </select>
  2086. <!-- 获得familyId -->
  2087. <select id="getFamilyId" resultType="string" parameterType="EamFamilyData">
  2088. SELECT
  2089. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(FamilyID,4))),0)+1),4)
  2090. FROM eam_family
  2091. WHERE site = #{site}
  2092. </select>
  2093. <!-- 获得sonId -->
  2094. <select id="getSonId" resultType="string" parameterType="EamFamilyData">
  2095. SELECT
  2096. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(son_id,2))),0)+1),2)
  2097. FROM eam_family
  2098. WHERE site = #{site} and son_id like #{parentId} + '%'
  2099. </select>
  2100. <!-- 删除该分类以及其子类-->
  2101. <delete id="eamFamilyDelete" parameterType="EamFamilyData">
  2102. DELETE FROM eam_family
  2103. WHERE site = #{site} and FamilyID = #{familyID} and son_id like #{sonId} + '%'
  2104. </delete>
  2105. <select id="getEamWorkOrder" resultType="EamWorkOrderInData" parameterType="EamWorkOrderInData">
  2106. EXEC EAM_WORK_ORDER #{site}, #{username}, #{orderNo}, #{planID}, #{objectID}, #{status}, #{startDate}, #{endDate}, #{functionType}, '*'
  2107. </select>
  2108. <!-- 修改执行结果 -->
  2109. <update id="updateReportResult" parameterType="EamWorkOrderInData">
  2110. update eam_workOrder
  2111. set ActualDate = #{actualDate},
  2112. reach_date = #{reachDate},
  2113. WorkTime = CASE
  2114. WHEN (DATEDIFF(SECOND, #{reachDate}, #{actualDate}) <![CDATA[<]]> 60) THEN DATEDIFF(SECOND, #{reachDate}, #{actualDate}) / 60.0
  2115. ELSE DATEDIFF(MINUTE, #{reachDate}, #{actualDate})
  2116. END
  2117. where site = #{site} and orderNo = #{orderNo} and FunctionType = #{functionType}
  2118. </update>
  2119. </mapper>