FrmJgxSInfo.xml 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc=" 加工排产信息">
  3. <query id="FrmJgxSInfo.getPlanInfo" desc="查询排产信息">
  4. <![CDATA[
  5. SELECT Q4.BASECODE GROUP_ID,
  6. Q4.BASENAME GROUP_PLAN,
  7. Q4.PLINE_CODE,
  8. Q4.PLINE_NAME,
  9. TO_CHAR(Q1.DIFFER_TIME, '99D9') REMAIN_DAY1,
  10. ROUND(Q1.WEIGTH_S, 0) WGT1,
  11. ROUND(Q1.PLAN_WGT, 0) PLAN_WGT1,
  12. TO_CHAR(Q2.DIFFER_TIME, '99D9') REMAIN_DAY2,
  13. ROUND(Q2.WEIGTH_S, 0) WGT2,
  14. ROUND(Q2.PLAN_WGT, 0) PLAN_WGT2,
  15. TO_CHAR(Q3.DIFFER_TIME, '99D9') REMAIN_DAY3,
  16. ROUND(Q3.WEIGTH_S, 0) WGT3,
  17. ROUND(Q3.PLAN_WGT, 0) PLAN_WGT3,
  18. TO_CHAR(Q5.PLAN_TIME_B, 'YYYY-MM-DD HH24:MI:SS') PLAN_TIME_B,
  19. TO_CHAR(Q5.PLAN_TIME_E, 'YYYY-MM-DD HH24:MI:SS') PLAN_TIME_E,
  20. Q5.REPAIR_TYPE
  21. FROM (SELECT NVL(SUM(T3.WEIGTH_S), 0) WEIGTH_S,
  22. SUM(CASE
  23. WHEN T3.EXE_STATUS = '0' THEN
  24. T3.WEIGTH_S
  25. WHEN T3.EXE_STATUS = '1' THEN
  26. T3.WEIGTH_S
  27. ELSE
  28. 0
  29. END) PLAN_WGT,
  30. (CASE
  31. WHEN (TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') - --最大时间
  32. MAX(T3.PLAN_TIME_E)) < 0 THEN
  33. 0
  34. ELSE
  35. (TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') - MAX(T3.PLAN_TIME_E)) --最大时间
  36. END) DIFFER_TIME,
  37. T3.PLINE_CODE
  38. FROM (SELECT (CASE
  39. WHEN T5.PLAN_TIME_B <
  40. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') THEN --最小时间
  41. CEIL((T5.PLAN_TIME_E -
  42. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60) / --最小时间
  43. (CASE WHEN TO_NUMBER(T5.PLAN_USETIME)=0 THEN CEIL((T5.PLAN_TIME_E - T5.PLAN_TIME_B) * 24 * 60) ELSE TO_NUMBER(T5.PLAN_USETIME) END) * T5.WEIGTH_S
  44. WHEN T5.PLAN_TIME_E >
  45. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') THEN --最大时间
  46. CEIL((TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') - --最大时间
  47. T5.PLAN_TIME_B) * 24 * 60) /
  48. (CASE WHEN TO_NUMBER(T5.PLAN_USETIME)=0 THEN CEIL((T5.PLAN_TIME_E - T5.PLAN_TIME_B) * 24 * 60) ELSE TO_NUMBER(T5.PLAN_USETIME) END) * T5.WEIGTH_S
  49. ELSE
  50. T5.WEIGTH_S
  51. END) WEIGTH_S,
  52. T5.PLAN_TIME_B,
  53. T5.PLAN_TIME_E,
  54. T5.EXE_STATUS,
  55. T5.PLINE_CODE
  56. FROM PLN_ORDER_JGX_S T5
  57. WHERE T5.PLAN_TIME_E >= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') --最小时间
  58. AND T5.PLAN_TIME_B <= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')) T3 --最大时间
  59. GROUP BY T3.PLINE_CODE) Q1,
  60. (SELECT NVL(SUM(T3.WEIGTH_S), 0) WEIGTH_S,
  61. SUM(CASE
  62. WHEN T3.EXE_STATUS = '0' THEN
  63. T3.WEIGTH_S
  64. WHEN T3.EXE_STATUS = '1' THEN
  65. T3.WEIGTH_S
  66. ELSE
  67. 0
  68. END) PLAN_WGT,
  69. (CASE
  70. WHEN (TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') -
  71. MAX(T3.PLAN_TIME_E)) < 0 THEN
  72. 0
  73. ELSE
  74. (TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') - MAX(T3.PLAN_TIME_E))
  75. END) DIFFER_TIME,
  76. T3.PLINE_CODE
  77. FROM (SELECT (CASE
  78. WHEN T5.PLAN_TIME_B <
  79. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') THEN --最小时间
  80. CEIL((T5.PLAN_TIME_E -
  81. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60) / --最小时间
  82. (CASE WHEN TO_NUMBER(T5.PLAN_USETIME)=0 THEN CEIL((T5.PLAN_TIME_E - T5.PLAN_TIME_B) * 24 * 60) ELSE TO_NUMBER(T5.PLAN_USETIME) END) * T5.WEIGTH_S
  83. WHEN T5.PLAN_TIME_E >
  84. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') THEN --最大时间
  85. CEIL((TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') - --最大时间
  86. T5.PLAN_TIME_B) * 24 * 60) /
  87. (CASE WHEN TO_NUMBER(T5.PLAN_USETIME)=0 THEN CEIL((T5.PLAN_TIME_E - T5.PLAN_TIME_B) * 24 * 60) ELSE TO_NUMBER(T5.PLAN_USETIME) END) * T5.WEIGTH_S
  88. ELSE
  89. T5.WEIGTH_S
  90. END) WEIGTH_S,
  91. T5.PLAN_TIME_B,
  92. T5.PLAN_TIME_E,
  93. T5.EXE_STATUS,
  94. T5.PLINE_CODE
  95. FROM PLN_ORDER_JGX_S T5
  96. WHERE T5.PLAN_TIME_E >= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') --最小时间
  97. AND T5.PLAN_TIME_B <= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')) T3
  98. GROUP BY T3.PLINE_CODE) Q2,
  99. (SELECT NVL(SUM(T3.WEIGTH_S), 0) WEIGTH_S,
  100. SUM(CASE
  101. WHEN T3.EXE_STATUS = '0' THEN
  102. T3.WEIGTH_S
  103. WHEN T3.EXE_STATUS = '1' THEN
  104. T3.WEIGTH_S
  105. ELSE
  106. 0
  107. END) PLAN_WGT,
  108. (CASE
  109. WHEN (TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') -
  110. MAX(T3.PLAN_TIME_E)) < 0 THEN
  111. 0
  112. ELSE
  113. (TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') - MAX(T3.PLAN_TIME_E))
  114. END) DIFFER_TIME,
  115. T3.PLINE_CODE
  116. FROM (SELECT (CASE
  117. WHEN T5.PLAN_TIME_B <
  118. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') THEN --最小时间
  119. CEIL((T5.PLAN_TIME_E -
  120. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60) / --最小时间
  121. (CASE WHEN TO_NUMBER(T5.PLAN_USETIME)=0 THEN CEIL((T5.PLAN_TIME_E - T5.PLAN_TIME_B) * 24 * 60) ELSE TO_NUMBER(T5.PLAN_USETIME) END) * T5.WEIGTH_S
  122. WHEN T5.PLAN_TIME_E >
  123. TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') THEN --最大时间
  124. CEIL((TO_DATE(?, 'yyyy-mm-dd hh24-mi-ss') - --最大时间
  125. T5.PLAN_TIME_B) * 24 * 60) /
  126. (CASE WHEN TO_NUMBER(T5.PLAN_USETIME)=0 THEN CEIL((T5.PLAN_TIME_E - T5.PLAN_TIME_B) * 24 * 60) ELSE TO_NUMBER(T5.PLAN_USETIME) END) * T5.WEIGTH_S
  127. ELSE
  128. T5.WEIGTH_S
  129. END) WEIGTH_S,
  130. T5.PLAN_TIME_B,
  131. T5.PLAN_TIME_E,
  132. T5.EXE_STATUS,
  133. T5.PLINE_CODE
  134. FROM PLN_ORDER_JGX_S T5
  135. WHERE T5.PLAN_TIME_E >= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') --最小时间
  136. AND T5.PLAN_TIME_B <= TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')) T3
  137. GROUP BY T3.PLINE_CODE) Q3,
  138. (SELECT T1.BASECODE,
  139. T1.BASENAME,
  140. T2.PLINE_CODE,
  141. T2.PLINE_NAME,
  142. T2.DEPARTMENT_CODE
  143. FROM COM_BASE_PLINE T2,
  144. (SELECT T.BASECODE, T.BASENAME
  145. FROM COM_BASE_INFO T
  146. WHERE T.SORTCODE = '2004') T1
  147. WHERE T2.GROUP_PLAN = T1.BASECODE
  148. ORDER BY T1.BASECODE, T2.PLINE_CODE) Q4,
  149. (SELECT T5.PLAN_TIME_E,
  150. T5.PLAN_TIME_B,
  151. NVL(T5.REPAIR_TYPE, '合同') REPAIR_TYPE,
  152. T5.PLINE_CODE
  153. FROM PLN_ORDER_JGX_S T5
  154. WHERE T5.EXE_STATUS = '1') Q5
  155. WHERE Q4.PLINE_CODE = Q1.PLINE_CODE(+)
  156. AND Q4.PLINE_CODE = Q2.PLINE_CODE(+)
  157. AND Q4.PLINE_CODE = Q3.PLINE_CODE(+)
  158. AND Q4.PLINE_CODE = Q5.PLINE_CODE(+)
  159. ]]>
  160. </query>
  161. <query id="FrmJgxSInfo.getRepairPlan" desc="查询计划分组">
  162. <![CDATA[
  163. SELECT T.BASECODE, T.BASENAME
  164. FROM COM_BASE_INFO T
  165. WHERE T.SORTCODE = ?
  166. AND T.VALIDFLAG = '1'
  167. ]]>
  168. </query>
  169. </queryMap>