6b8a3d8e35401433d0ba7f07874e91a965ce8654.svn-base 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <?xml version="1.0" encoding='UTF-8'?>
  2. <queryMap desc="STEEL MAKING QUERY ">
  3. <query id="UIG020500_01.select" desc=" " fetchSize="10">
  4. <![CDATA[
  5. SELECT SUBSTR(A.HM_STR_DTIME, 1, 8) CHARGE_START_DTIME --计划炼钢日期
  6. ,
  7. SUBSTR(C.CASTING_END_DTIME, 1, 8) CHARGE_END_DTIME --炼钢完成日期
  8. ,
  9. C.CHARGE_NO --炉次号
  10. ,
  11. C.STL_GRD --钢种
  12. ,
  13. C.CAST_NO,
  14. NVL(E.PLAN_SLAB_CNT, 0) PLAN_SLAB_CNT --计划生产块数
  15. ,
  16. NVL(E.PLAN_SLAB_WGT / 1000, 0) PLAN_SLAB_WGT --计划产量
  17. ,
  18. NVL(E.SHRT_PLAN_SLAB_CNT, 0) SHRT_PLAN_SLAB_CNT --计划生产块数
  19. ,
  20. NVL(E.SHRT_PLAN_SLAB_WGT / 1000, 0) SHRT_PLAN_SLAB_WGT --计划产量
  21. ,
  22. NVL(E.LONG_PLAN_SLAB_CNT, 0) LONG_PLAN_SLAB_CNT --计划生产块数
  23. ,
  24. NVL(E.LONG_PLAN_SLAB_WGT / 1000, 0) LONG_PLAN_SLAB_WGT --计划产量
  25. ,
  26. NVL(B.SLAB_CNT, 0) SLAB_CNT --实际生产块数
  27. ,
  28. NVL(B.SLAB_WGT / 1000, 0) SLAB_WGT --实际产量
  29. ,
  30. NVL(D.SLAB_CNT, 0) ORD_SLAB_CNT --订单块数
  31. ,
  32. NVL(D.SLAB_WGT / 1000, 0) ORD_SLAB_WGT --订单重量
  33. ,
  34. NVL(K.SLAB_CNT, 0) ORD2_SLAB_CNT --历库块数
  35. ,
  36. NVL(K.SLAB_WGT / 1000, 0) ORD2_SLAB_WGT --历库重量
  37. ,
  38. case
  39. when ((NVL(E.PLAN_SLAB_CNT,0) - NVL(D.SLAB_CNT,0)) > 0)
  40. then (NVL(E.PLAN_SLAB_CNT,0) - NVL(D.SLAB_CNT,0))
  41. else 0
  42. end DEBT_SLAB_CNT --欠量块数
  43. ,
  44. case
  45. when ((NVL(E.PLAN_SLAB_WGT,0) - NVL(D.SLAB_WGT,0)) > 0)
  46. then (NVL(E.PLAN_SLAB_WGT,0) - NVL(D.SLAB_WGT,0))/1000
  47. else 0
  48. end DEBT_SLAB_WGT --欠量重量
  49. ,
  50. NVL(G.SLAB_CNT, 0) DP_SLAB_CNT
  51. ,
  52. NVL(G.SLAB_WGT / 1000, 0) DP_SLAB_WGT
  53. ,
  54. NVL(F.SLAB_CNT, 0) NORD_SLAB_CNT --非计划块数
  55. ,
  56. NVL(F.SLAB_WGT / 1000, 0) NORD_SLAB_CWGT --非计划重量
  57. ,
  58. NVL(ROUND(NVL(F.SLAB_CNT, 0) / (NVL(B.SLAB_CNT,0) - NVL(G.SLAB_CNT,0)) * 100,2),0) NORD_SLAB_CNT_RATE --非计划率
  59. ,
  60. NVL(ROUND(NVL(F.SLAB_WGT / 1000, 0) / (NVL(B.SLAB_WGT / 1000, 0) - NVL(G.SLAB_WGT / 1000, 0)) * 100,2),0) NORD_SLAB_WGT_RATE --非计划率
  61. ,
  62. NVL(ROUND(D.SLAB_CNT / E.PLAN_SLAB_CNT * 100, 2), 0) SLAB_CNT_RATE --块数完成率
  63. ,
  64. NVL(ROUND(D.SLAB_WGT / E.PLAN_SLAB_WGT * 100, 2), 0) SLAB_WGT_RATE --重量完成率
  65. ,
  66. H.ORD_NO ORD_NOS
  67. ,I.SLAB_SIZE
  68. ,H.YDZ_WGT_MIN||'-'||H.YDZ_WGT_MAX YDZ_WGT
  69. ,H.DEL_TO_DATE
  70. ,H.RCVORD_CLF
  71. FROM TBF01_SPEC_CHARGE A,
  72. TBG02_CHARGE_COMM C,
  73. ( --计划
  74. SELECT TT.CHARGE_MANA_NO
  75. ,COUNT(T.CHARGE_MANA_NO) PLAN_SLAB_CNT
  76. ,SUM(T.SLAB_WGT) PLAN_SLAB_WGT
  77. ,COUNT(CASE WHEN T.SLAB_LEN <= (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  78. WHERE TTT.LG_CD LIKE 'D01003'
  79. AND TTT.CD_SEQ = '2')
  80. THEN T.CHARGE_MANA_NO
  81. END ) SHRT_PLAN_SLAB_CNT
  82. ,SUM(CASE WHEN T.SLAB_LEN <= (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  83. WHERE TTT.LG_CD LIKE 'D01003'
  84. AND TTT.CD_SEQ = '2')
  85. THEN T.SLAB_WGT
  86. END ) SHRT_PLAN_SLAB_WGT
  87. ,COUNT(CASE WHEN T.SLAB_LEN > (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  88. WHERE TTT.LG_CD LIKE 'D01003'
  89. AND TTT.CD_SEQ = '2')
  90. THEN T.CHARGE_MANA_NO
  91. END ) LONG_PLAN_SLAB_CNT
  92. ,SUM(CASE WHEN T.SLAB_LEN > (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  93. WHERE TTT.LG_CD LIKE 'D01003'
  94. AND TTT.CD_SEQ = '2')
  95. THEN T.SLAB_WGT
  96. END ) LONG_PLAN_SLAB_WGT
  97. FROM TBF01_SPEC_SLAB T, TBF01_SPEC_CHARGE TT
  98. WHERE '1' = '1'
  99. AND T.CHARGE_MANA_NO = TT.CHARGE_MANA_NO
  100. --AND TT.CHARGE_MANA_NO = '391-03547A'
  101. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  102. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%' --:2
  103. GROUP BY TT.CHARGE_MANA_NO) E,
  104. ( --实际完成
  105. SELECT TT.CHARGE_NO CHARGE_NO,
  106. COUNT(T.SLAB_NO) SLAB_CNT,
  107. SUM(T.SLAB_WGT) SLAB_WGT
  108. FROM TBG02_SLAB_COMM T, TBG02_CHARGE_COMM TT
  109. WHERE SUBSTR(T.SLAB_NO, 1, 10) = TT.CHARGE_NO
  110. AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5'
  111. AND T.SLAB_STAT <> '1'
  112. --AND TT.CHARGE_NO = 'J91-03556A'
  113. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  114. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%' --:4
  115. GROUP BY TT.CHARGE_NO) B,
  116. ( --计划内
  117. SELECT SUBSTR(T.SLAB_NO, 1, 10) CHARGE_NO,
  118. COUNT(T.SLAB_NO) SLAB_CNT,
  119. SUM(T.SLAB_WGT) SLAB_WGT
  120. FROM TBG02_SLAB_COMM T
  121. ,TBF01_SPEC_SLAB TT
  122. WHERE '1' = '1'
  123. AND T.PLAN_SLAB_NO = TT.SLAB_MANA_NO
  124. AND T.ORD_NO = TT.ORD_NO
  125. AND T.ORD_SEQ = TT.ORD_SEQ
  126. AND T.ORD_FL = '1'
  127. AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5'
  128. AND T.CUR_PROG_CD <> 'RAB'
  129. AND T.SLAB_STAT <> '1'
  130. --AND SUBSTR(T.SLAB_NO,1,10) = 'J91-03547A'
  131. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  132. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%' --:6
  133. GROUP BY SUBSTR(T.SLAB_NO, 1, 10)) D,
  134. ( --历库量
  135. SELECT SUBSTR(T.SLAB_NO, 1, 10) CHARGE_NO,
  136. COUNT(T.SLAB_NO) SLAB_CNT,
  137. SUM(T.SLAB_WGT) SLAB_WGT
  138. FROM TBG02_SLAB_COMM T
  139. ,TBF01_SPEC_SLAB TT
  140. WHERE '1' = '1'
  141. AND T.PLAN_SLAB_NO = TT.SLAB_MANA_NO
  142. AND (T.ORD_NO <> TT.ORD_NO OR T.ORD_SEQ <> TT.ORD_SEQ)
  143. AND T.ORD_FL = '1'
  144. AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5'
  145. AND T.CUR_PROG_CD <> 'RAB'
  146. AND T.SLAB_STAT <> '1'
  147. --AND SUBSTR(T.SLAB_NO,1,10) = 'J91-03547A'
  148. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  149. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%' --:8
  150. GROUP BY SUBSTR(T.SLAB_NO, 1, 10)) K,
  151. ( --非计划
  152. SELECT SUBSTR(T.SLAB_NO, 1, 10) CHARGE_NO,
  153. COUNT(T.SLAB_NO) SLAB_CNT,
  154. SUM(T.SLAB_WGT) SLAB_WGT
  155. FROM TBG02_SLAB_COMM T
  156. WHERE T.ORD_FL <> '1'
  157. AND T.CUR_PROG_CD <> 'RAB'
  158. AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5'
  159. AND T.SLAB_STAT <> '1'
  160. -- AND SUBSTR(T.SLAB_NO,1,10) = 'J91-04269A'
  161. AND nvl(T.ORD_NO,' ') like ?||'%'
  162. AND nvl(T.ORD_SEQ,' ') like ?||'%'
  163. GROUP BY SUBSTR(T.SLAB_NO, 1, 10)) F,
  164. ( --待判
  165. SELECT SUBSTR(T.SLAB_NO, 1, 10) CHARGE_NO,
  166. COUNT(T.SLAB_NO) SLAB_CNT,
  167. SUM(T.SLAB_WGT) SLAB_WGT
  168. FROM TBG02_SLAB_COMM T
  169. WHERE T.CUR_PROG_CD = 'RAB'
  170. AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5'
  171. AND T.SLAB_STAT <> '1'
  172. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  173. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%' --:12
  174. GROUP BY SUBSTR(T.SLAB_NO, 1, 10)) G,
  175. ( --合同号
  176. select charge_no, wmsys.wm_concat(ord_no) ord_no
  177. ,min(ydz_wgt_max)/1000 ydz_wgt_max
  178. ,max(ydz_wgt_min)/1000 ydz_wgt_min
  179. ,min(DEL_TO_DATE) del_to_date
  180. ,DECODE(MIN(RCVORD_CLF),'0','出口','否')RCVORD_CLF
  181. from (select distinct substr(t.slab_no, 1, 10) charge_no
  182. ,(tt.WGT_ACVAL_MAX - tt.ORD_WGT) YDZ_WGT_MAX --溢短装量
  183. ,(tt.ORD_WGT - tt.WGT_ACVAL_MIN) YDZ_WGT_MIN --溢短装量下限
  184. ,t.ord_no || t.ord_seq ord_no
  185. ,tt.DEL_TO_DATE
  186. ,CASE WHEN tt.RCVORD_CLF = 'W'
  187. THEN 0
  188. ELSE 1
  189. END RCVORD_CLF
  190. from tbg02_slab_comm t
  191. ,tbe02_ord_prc tt
  192. where t.ORD_NO || t.ORD_SEQ is not null
  193. and t.ORD_NO = tt.ORD_NO
  194. and t.ORD_SEQ = tt.ORD_SEQ
  195. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  196. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%'
  197. )
  198. group by charge_no) H,
  199. (SELECT CHARGE_NO, WMSYS.WM_CONCAT(SLAB_SIZE) SLAB_SIZE
  200. FROM (SELECT DISTINCT SUBSTR(T.SLAB_NO, 1, 10) CHARGE_NO,
  201. T.SLAB_THK||'*'||T.SLAB_WTH SLAB_SIZE
  202. FROM TBG02_SLAB_COMM T
  203. WHERE '1' = '1'
  204. AND T.SLAB_THK IS NOT NULL
  205. AND T.SLAB_WTH IS NOT NULL
  206. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  207. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%' --:16
  208. )
  209. GROUP BY CHARGE_NO)I
  210. WHERE C.PLAN_CHARGE_NO = A.CHARGE_MANA_NO
  211. AND C.CHARGE_NO = H.CHARGE_NO(+)
  212. AND C.CHARGE_NO = I.CHARGE_NO
  213. AND A.CHARGE_MANA_NO = E.CHARGE_MANA_NO
  214. AND C.CHARGE_NO = B.CHARGE_NO
  215. AND C.CHARGE_NO = D.CHARGE_NO(+)
  216. AND C.CHARGE_NO = F.CHARGE_NO(+)
  217. AND C.CHARGE_NO = G.CHARGE_NO(+)
  218. AND C.CHARGE_NO = K.CHARGE_NO(+)
  219. and decode(?,NULL,0,SUBSTR(H.DEL_TO_DATE,1,8)) BETWEEN NVL(?,0) AND NVL(?,0)
  220. --AND NVL(SUBSTR(H.DEL_TO_DATE, 1, 8),' ') >= nvl(?, '10000000')
  221. --AND NVL(SUBSTR(H.DEL_TO_DATE, 1, 8),' ' <= nvl(?, '50000000')
  222. AND SUBSTR(C.CASTING_END_DTIME, 1, 8) >= NVL(?, '10000000') --:19
  223. AND SUBSTR(C.CASTING_END_DTIME, 1, 8) <= NVL(?, '50000000') --:20
  224. AND SUBSTR(A.HM_STR_DTIME, 1, 8) >= NVL(?, '10000000') --:21
  225. AND SUBSTR(A.HM_STR_DTIME, 1, 8) <= NVL(?, '50000000') --:22
  226. ORDER BY C.CHARGE_NO
  227. ]]>
  228. </query>
  229. </queryMap>