4af0d3e6730b23aa157e5fbf1309562e1e4528fd.svn-base 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?xml version="1.0" encoding='UTF-8'?>
  2. <queryMap desc="STEEL MAKING QUERY ">
  3. <query id="UIG020600_01.select" desc=" " fetchSize="10">
  4. <![CDATA[
  5. SELECT SUBSTR(A.HM_STR_DTIME,1,8) CHARGE_START_DTIME
  6. ,SUBSTR(B.CASTING_END_DTIME,1,8) CHARGE_END_DTIME
  7. ,B.CHARGE_NO
  8. ,B.CAST_NO
  9. ,B.STL_GRD
  10. ,C.PLAN_SLAB_CNT
  11. ,C.PLAN_SLAB_WGT
  12. ,NVL(C.SHRT_PLAN_SLAB_CNT, 0) SHRT_PLAN_SLAB_CNT --计划生产块数
  13. ,NVL(C.SHRT_PLAN_SLAB_WGT / 1000, 0) SHRT_PLAN_SLAB_WGT --计划产量
  14. ,NVL(C.LONG_PLAN_SLAB_CNT, 0) LONG_PLAN_SLAB_CNT --计划生产块数
  15. ,NVL(C.LONG_PLAN_SLAB_WGT / 1000, 0) LONG_PLAN_SLAB_WGT --计划产量
  16. ,D.SLAB_CNT
  17. ,NVL(D.SLAB_WGT,0) SLAB_WGT
  18. ,E.TOTAL_SLAB_CNT
  19. ,E.SURP_SLAB_CNT
  20. ,E.DIFF_SLAB_CNT
  21. ,E.TW_SLAB_CNT
  22. ,E.SHAP_SLAB_CNT
  23. ,E.SIZE_SLAB_CNT
  24. ,E.INGR_SLAB_CNT
  25. ,NVL(ROUND(E.TOTAL_NORD_SLAB_CNT / D.SLAB_CNT * 100,2),0) NORD_SLAB_CNT_RATE
  26. ,NVL(DECODE(C.PLAN_SLAB_WGT,'0','0',ROUND(D.SLAB_WGT/C.PLAN_SLAB_WGT*100,2)),0) SLAB_WGT_RATE
  27. ,H.YDZ_WGT_MIN||'-'||H.YDZ_WGT_MAX YDZ_WGT
  28. ,H.DEL_TO_DATE
  29. ,H.RCVORD_CLF
  30. ,H.ORD_NO ORD_NOS
  31. FROM TBF01_SPEC_CHARGE A
  32. ,TBG02_CHARGE_COMM B
  33. ,(SELECT T.CHARGE_MANA_NO
  34. ,COUNT(T.SLAB_MANA_NO) PLAN_SLAB_CNT
  35. ,SUM(T.SLAB_WGT) PLAN_SLAB_WGT
  36. ,COUNT(CASE WHEN T.SLAB_LEN <= (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  37. WHERE TTT.LG_CD LIKE 'D01003'
  38. AND TTT.CD_SEQ = '2')
  39. THEN T.CHARGE_MANA_NO
  40. END ) SHRT_PLAN_SLAB_CNT
  41. ,SUM(CASE WHEN T.SLAB_LEN <= (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  42. WHERE TTT.LG_CD LIKE 'D01003'
  43. AND TTT.CD_SEQ = '2')
  44. THEN T.SLAB_WGT
  45. END ) SHRT_PLAN_SLAB_WGT
  46. ,COUNT(CASE WHEN T.SLAB_LEN > (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  47. WHERE TTT.LG_CD LIKE 'D01003'
  48. AND TTT.CD_SEQ = '2')
  49. THEN T.CHARGE_MANA_NO
  50. END ) LONG_PLAN_SLAB_CNT
  51. ,SUM(CASE WHEN T.SLAB_LEN > (SELECT TTT.SM_CD FROM TBZ00_COMMCD TTT
  52. WHERE TTT.LG_CD LIKE 'D01003'
  53. AND TTT.CD_SEQ = '2')
  54. THEN T.SLAB_WGT
  55. END ) LONG_PLAN_SLAB_WGT
  56. FROM TBF01_SPEC_SLAB T GROUP BY T.CHARGE_MANA_NO) C
  57. ,(SELECT SUBSTR(T.SLAB_NO,1,10) CHARGE_NO,COUNT(T.SLAB_NO) SLAB_CNT,SUM(T.SLAB_WGT) SLAB_WGT
  58. FROM TBG02_SLAB_COMM T
  59. WHERE T.SLAB_STAT <> '1'
  60. AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5'
  61. GROUP BY SUBSTR(T.SLAB_NO,1,10))D
  62. ,(SELECT SUBSTR(T.SLAB_NO ,1,10) CHARGE_NO
  63. ,COUNT(T.SLAB_NO) TOTAL_SLAB_CNT
  64. ,COUNT(CASE WHEN T.ORD_FL = '2' AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5' AND T.SLAB_RT = 'H' and t.SLAB_STAT <> '1' THEN T.SLAB_NO END) TOTAL_NORD_SLAB_CNT
  65. ,COUNT(CASE WHEN T.ORD_FL = '2' AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5' and t.SLAB_STAT <> '1' THEN DECODE(T.SURPLMATL_YN,'S',T.SLAB_NO) END) SURP_SLAB_CNT
  66. ,COUNT(CASE WHEN T.ORD_FL = '2' AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5' and t.SLAB_STAT <> '1' THEN DECODE(T.DIFF_STL_GRD_STA_END_YN,'2',T.SLAB_NO)END) DIFF_SLAB_CNT
  67. ,COUNT(CASE WHEN T.ORD_FL = '2' AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5' and t.SLAB_STAT <> '1' THEN DECODE(T.TW_SLAB_YN,'1',T.SLAB_NO,'2',T.SLAB_NO)END) TW_SLAB_CNT
  68. ,COUNT(CASE WHEN T.ORD_FL = '2' AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5' and t.SLAB_STAT <> '1' THEN DECODE(T.EXTSHAPE_GRD,'2',T.SLAB_NO)END) SHAP_SLAB_CNT
  69. ,COUNT(CASE WHEN T.ORD_FL = '2' AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5' and t.SLAB_STAT <> '1' THEN DECODE(T.SLAB_SIZE_DEC_GRD,'2',T.SLAB_NO)END) SIZE_SLAB_CNT
  70. ,COUNT(CASE WHEN T.ORD_FL = '2' AND NVL(T.MATRL_END_CAUSE_CD, '1') <> '5' and t.SLAB_STAT <> '1' THEN DECODE(T.SLAB_INGR_DEC_GRD,'2',T.SLAB_NO,'',T.SLAB_NO)END) INGR_SLAB_CNT
  71. FROM TBG02_SLAB_COMM T
  72. GROUP BY SUBSTR(T.SLAB_NO,1,10))E
  73. ,( --合同号
  74. select charge_no, wmsys.wm_concat(ord_no) ord_no
  75. ,min(ydz_wgt_max)/1000 ydz_wgt_max
  76. ,max(ydz_wgt_min)/1000 ydz_wgt_min
  77. ,min(DEL_TO_DATE) del_to_date
  78. ,DECODE(MIN(RCVORD_CLF),'0','出口','否')RCVORD_CLF
  79. from (select distinct substr(t.slab_no, 1, 10) charge_no
  80. ,(tt.WGT_ACVAL_MAX - tt.ORD_WGT) YDZ_WGT_MAX --溢短装量
  81. ,(tt.ORD_WGT - tt.WGT_ACVAL_MIN) YDZ_WGT_MIN --溢短装量下限
  82. ,t.ord_no || t.ord_seq ord_no
  83. ,tt.DEL_TO_DATE
  84. ,CASE WHEN tt.RCVORD_CLF = 'W'
  85. THEN 0
  86. ELSE 1
  87. END RCVORD_CLF
  88. from tbg02_slab_comm t
  89. ,tbe02_ord_prc tt
  90. where t.ORD_NO || t.ORD_SEQ is not null
  91. and t.ORD_NO = tt.ORD_NO
  92. and t.ORD_SEQ = tt.ORD_SEQ
  93. AND NVL(T.ORD_NO,' ') LIKE ?||'%' --:3
  94. AND NVL(T.ORD_SEQ,' ') LIKE ?||'%'
  95. )
  96. group by charge_no) H
  97. WHERE '1' = '1'
  98. AND A.CHARGE_MANA_NO = B.PLAN_CHARGE_NO
  99. AND A.CHARGE_MANA_NO = C.CHARGE_MANA_NO
  100. AND B.CHARGE_NO = D.CHARGE_NO
  101. AND B.CHARGE_NO = E.CHARGE_NO
  102. AND B.CHARGE_NO = H.CHARGE_NO(+)
  103. and decode(?,NULL,0,SUBSTR(H.DEL_TO_DATE,1,8)) BETWEEN NVL(?,0) AND NVL(?,0)
  104. --AND SUBSTR(H.DEL_TO_DATE, 1, 8) >= nvl(?, '10000000')
  105. --AND SUBSTR(H.DEL_TO_DATE, 1, 8) <= nvl(?, '50000000')
  106. AND SUBSTR(B.CASTING_END_DTIME,1,8) >= nvl(?, '10000000')
  107. AND SUBSTR(B.CASTING_END_DTIME,1,8) <= nvl(?, '50000000')
  108. AND SUBSTR(A.HM_STR_DTIME, 1, 8) >= NVL(?, '10000000') --:21
  109. AND SUBSTR(A.HM_STR_DTIME, 1, 8) <= NVL(?, '50000000') --:22
  110. ORDER BY B.CHARGE_NO
  111. ]]>
  112. </query>
  113. </queryMap>