psql.sql 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. select
  2. (select
  3. group_concat(
  4. distinct concat_ws(',',positionName,appearanceName,failureCause,treatmentMethod )
  5. order by repirsTime SEPARATOR ' | '
  6. ) from maintain_appearance where maintainid =mt.id ) mas,
  7. IFNULL(bpa1.cou,0) laidcou,
  8. eq.`specification`,
  9. DATE_FORMAT(mt.`chargeDate`,'%Y-%m-%d %H:%i:%s') chargeDate,
  10. mt.scores,
  11. mt.`chargeId`,
  12. mt.`checkResult`,
  13. mt.`dealTime`,
  14. eq.`departmentId`,
  15. mt.`details`,
  16. mt.`disposeId`,
  17. mt.`eqClassId`,
  18. mt.`eqCode`,
  19. mt.`eqId`,
  20. mt.`eqName`,
  21. mt.`id`,
  22. mt.`orderStatue`,
  23. DATE_FORMAT(mt.`orderTime`, '%Y-%m-%d %H:%i:%s') orderTime,
  24. mt.`pastureId`,
  25. mt.`phenomenId`,
  26. mt.`pickId`,
  27. mt.`repairCode`,
  28. mt.`repairDept`,
  29. mt.`repairNote`,
  30. mt.`requesterId`,
  31. DATE_FORMAT(mt.`requestTime`,'%Y-%m-%d %H:%i:%s') requestTime,
  32. DATE_FORMAT(mt.`stopTime`,'%Y-%m-%d %H:%i:%s') stopTime,
  33. p.`name` pastureName,
  34. IF(bpa.cou IS NULL,'未领用','已领用') LYStatue,
  35. IF(rf.cou IS NULL,'未录入','已录入') LRStatue,
  36. mt.flowCompeleted SHStatue,
  37. d.`name` departmentName,
  38. d1.`name` repairDeptName,
  39. e.`empname` requesterName,
  40. e1.`empname` pickName,
  41. em2.`empname` useChargePerson,
  42. em3.`empname` chargePerson,
  43. em4.`empname` shutdownPerson,
  44. mt.shutdownReason,
  45. DATE_FORMAT( mt.shutdownDate,'%Y-%m-%d %H:%i:%s') shutdownDate,
  46. DATE_FORMAT( mt.useChargeDate,'%Y-%m-%d %H:%i:%s') useChargeDate,
  47. mt.workflowNote
  48. FROM
  49. maintain mt
  50. INNER JOIN pasture p
  51. ON p.`id` = mt.`pastureId`
  52. INNER JOIN department d1
  53. ON d1.`id` = mt.`repairDept`
  54. INNER JOIN emp e
  55. ON e.`id` = mt.`requesterId`
  56. LEFT JOIN emp e1
  57. ON e1.`id` = mt.`pickId`
  58. LEFT JOIN emp em2
  59. ON em2.id = mt.useChargeId
  60. LEFT JOIN emp em3
  61. ON em3.id = mt.chargeId
  62. LEFT JOIN emp em4
  63. ON em4.id = mt.shutdownPerson
  64. INNER JOIN equipment eq
  65. ON eq.`id` = mt.`eqId`
  66. LEFT JOIN department d
  67. ON d.`id` = eq.`departmentId`
  68. LEFT JOIN (SELECT RUCode,COUNT(id)cou FROM bigpartapply GROUP BY RUCode ) bpa
  69. ON bpa.`RUCode` = mt.`repairCode`
  70. LEFT JOIN (SELECT repairCode,COUNT(id)cou FROM refuse GROUP BY repairCode)rf
  71. ON rf.`repairCode` = mt.`repairCode`
  72. LEFT JOIN (SELECT RUCode,COUNT(id)cou FROM bigpartapply WHERE statue =0 AND (SHStatus IN (2,3,5,7,9)) GROUP BY RUCode ) bpa1
  73. ON bpa1.`RUCode` = mt.`repairCode`
  74. WHERE
  75. (((mt.requesterId= 3 OR mt.pickId =3) OR IFNULL((SELECT MAX(r.`datarole`) FROM `user` u
  76. LEFT JOIN user_role ur
  77. ON ur.`user_id`= u.`id`
  78. LEFT JOIN role r
  79. ON r.`id` = ur.`role_id`
  80. LEFT JOIN role_menu rm
  81. ON r.`id` = rm.`role_id`
  82. LEFT JOIN menu m
  83. ON m.`id` = rm.`menu_id`
  84. WHERE u.`empid` = 3 AND m.`path`='Repair' ),0) IN (1,2,3))
  85. AND (eq.departmentId IN (SELECT id FROM department WHERE pastureId =18 AND id IN (
  86. SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(ss.www,',',b.seq+1),',',-1) AS 'ids'
  87. FROM
  88. (SELECT @i:=1 i,IFNULL((SELECT GROUP_CONCAT(department_id)SSSS
  89. FROM role_department WHERE role_id = (SELECT MAX(r.id) FROM `user` u
  90. LEFT JOIN user_role ur
  91. ON ur.`user_id`= u.`id`
  92. LEFT JOIN role r
  93. ON r.`id` = ur.`role_id`
  94. LEFT JOIN role_menu rm
  95. ON r.`id` = rm.`role_id`
  96. LEFT JOIN role_department rd
  97. ON r.`id` = rd.`role_id`
  98. LEFT JOIN menu m
  99. ON m.`id` = rm.`menu_id`
  100. WHERE u.`empid` = 3 AND m.`path`='Repair') AND department_id IN (SELECT id FROM department WHERE pastureId = 18)),3) www) ss
  101. JOIN sequence b ON b.seq < (LENGTH(ss.www) - LENGTH(REPLACE(ss.www,',',''))+1)
  102. WHERE ss.i =1
  103. GROUP BY ids
  104. )
  105. )
  106. OR mt.pickId =3 OR mt.requesterId= 3 OR IFNULL((SELECT MAX(r.`datarole`) FROM `user` u
  107. LEFT JOIN user_role ur
  108. ON ur.`user_id`= u.`id`
  109. LEFT JOIN role r
  110. ON r.`id` = ur.`role_id`
  111. LEFT JOIN role_menu rm
  112. ON r.`id` = rm.`role_id`
  113. LEFT JOIN menu m
  114. ON m.`id` = rm.`menu_id`
  115. WHERE u.`empid` =3 AND m.`path`='Repair' ),0) IN (2,3))
  116. AND (p.id= 18 OR IFNULL((SELECT MAX(r.`datarole`) FROM `user` u
  117. LEFT JOIN user_role ur
  118. ON ur.`user_id`= u.`id`
  119. LEFT JOIN role r
  120. ON r.`id` = ur.`role_id`
  121. LEFT JOIN role_menu rm
  122. ON r.`id` = rm.`role_id`
  123. LEFT JOIN menu m
  124. ON m.`id` = rm.`menu_id`
  125. WHERE u.`empid` = 3 AND m.`path`='Repair' ),0) = 3)) AND
  126. (p.`name`='汶上牧场' OR '汶上牧场'='现代牧业') AND (mt.repairCode LIKE CONCAT('%','','%')OR ''='')
  127. AND (mt.`eqName` LIKE CONCAT('%','','%')OR ''='')
  128. AND (mt.`eqCode` LIKE CONCAT('%','','%')OR ''='')
  129. AND (mt.`orderStatue` ='' OR ''='')
  130. AND (DATE_FORMAT(mt.`requestTime`, '%Y-%m-%d')>='2022-03-02' AND DATE_FORMAT(mt.`requestTime`, '%Y-%m-%d')<='2022-04-02' OR '2022-03-02'='')
  131. AND (
  132. IF (''=0,mt.flowCompeleted IN (2,3) ,
  133. IF(''=1,mt.flowCompeleted=5,mt.flowCompeleted IN (4,6))
  134. )
  135. OR '' = ''
  136. )