ac65f021a79a4b23cfbff5d6b7169e3ba90af8f6.svn-base 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?xml version="1.0" encoding='UTF-8'?>
  2. <queryMap desc="合同完成情况汇总">
  3. <query id="UID070010.OrdPrc.Select" desc="合同完成情况汇总" fetchSize="10">
  4. <![CDATA[
  5. SELECT A.ORD_NO -- 合同号
  6. , A.ORD_SEQ -- 订单号
  7. , B.XSQY -- 销售区域
  8. , C.REG_DTIME -- 品质设计确认时间
  9. , XB_PACKAGE.GF_COMNNAME_FIND('E01001', A.ORD_PROG_CD) ORD_PROG_CD -- 订单进度代码
  10. , XB_PACKAGE.GF_CUSTOMER_FIND(A.CUST_CD) CUST_CD -- 客户代码
  11. , XB_PACKAGE.GF_COMNNAME_FIND('A01012', B.DLIV_TP) DLIV_TP --运输方式
  12. , XB_PACKAGE.GF_COMNNAME_FIND('A01001', A.RCVORD_CLF) RCVORD_CLF -- 订货区分
  13. , XB_PACKAGE.GF_COMNNAME_FIND('B01001', C.SPEC_ABBSYM) PROD_NM --产品分类
  14. , XB_PACKAGE.GF_COMNNAME_FIND('A01004', A.PRD_TY) PRODNM_CD -- 产品代码
  15. , A.STL_GRD -- 厂内牌号
  16. , B.SPEC_STL_GRD -- 成品牌号
  17. , A.SPEC_ABBSYM -- 标准号
  18. , N.SLAB_CUT_DTIME -- 炼钢时间
  19. , O.E_SLAB_REP_DTIME -- 板坯充当最小时间
  20. , P.E_COIL_REP_DTIME -- 钢卷充当最小时间
  21. , Q.SLAB_STOCK_ENT_DTIME -- 热轧库入库时间
  22. , R.EXTRACT_DTIME -- 轧制日期(加热炉出炉时间)
  23. , A.PROD_END_DATE --生产完成时间
  24. , NVL(A.KEEPWARM_YN, 'N') KEEPWARM_YN -- 是否需要进保温坑
  25. , A.ORD_THK -- 订单厚度
  26. , A.ORD_WTH -- 订单宽度
  27. , A.ORD_LEN -- 订单长度
  28. , A.ORD_UNIT_WGT -- 订单单重量
  29. , A.ORD_UNIT_WGT_MIN -- 订单单重量下限
  30. , A.ORD_UNIT_WGT_MAX -- 订单单重量上限
  31. , B.ORD_PLAN_DATA -- 订单预排期
  32. , A.DEL_TO_DATE -- 交货日期(到达)
  33. , PKG_QUALITY_COMM.FID070010(A.ORD_NO , A.ORD_SEQ) SUM_WGT
  34. , A.ORD_WGT -- 订单重量
  35. , A.WGT_ACVAL_MIN -- 交付允许误差最小
  36. , A.WGT_ACVAL_MAX -- 交付允许误差最大
  37. , DECODE(A.ORD_PROG_CD, 'G', 0, A.ORD_REM_WGT) ORD_REM_WGT -- 订单未生产量
  38. , (SELECT SUM(INS_WGT+WRK_WGT) FROM TBE02_ORD_PRC_DET
  39. WHERE ORD_NO = A.ORD_NO
  40. AND ORD_SEQ = A.ORD_SEQ
  41. AND PROC_CD = 'SF') DD -- 发货等待
  42. , (A.SHIP_END_WGT - DECODE(M.WGT_IN_DEL,'',0,M.WGT_IN_DEL)) SHIP_END_WGT -- 发货完重量(交货期内)
  43. , M.WGT_IN_DEL OVER_DATE_WGT -- 发货完重量(交货期外)
  44. --, DECODE(A.ORD_PROG_CD, 'G', 0,(A.ORD_WGT - A.SHIP_END_WGT)) SHIP_REM_WGT -- 剩余发货量
  45. , DECODE(A.PROD_END_GP,'4','',A.SHIP_END_DATE) SHIP_END_DATE --TL 091229 取出新添加的发货结束时间
  46. , DECODE(M.DEL_TO_DATE_YN, '是' ,'是','否') DEL_TO_DATE_YN --是否超交货期
  47. FROM TBE02_ORD_PRC A -- 订单进程表
  48. , TBA01_ORD_LINE B
  49. , TBB01_ORD_HEAD C
  50. , (SELECT DISTINCT ORD_NO, ORD_SEQ, DSN_KIND
  51. FROM TBB01_ORD_INGR
  52. WHERE DSN_KIND = '1') K
  53. , (
  54. ----------------------------------------------------------------------------------------------------------
  55. /*SELECT A.ORD_NO, A.ORD_SEQ, SUM(A.ACT_WGT) WGT_IN_DEL, '是' AS DEL_TO_DATE_YN
  56. FROM TBH02_COIL_COMM A, TBE02_ORD_PRC B
  57. WHERE A.ORD_NO = B.ORD_NO
  58. AND A.ORD_SEQ = B.ORD_SEQ
  59. AND A.ORD_FL = '1'
  60. AND (SUBSTR(A.TRNF_DTIME,1,8) > B.DEL_TO_DATE OR (SYSDATE > TO_DATE(B.DEL_TO_DATE, 'YYYYMMDD') AND B.ORD_PROG_CD IN ('D', 'E', 'F')))
  61. GROUP BY (A.ORD_NO, A.ORD_SEQ, B.ORD_PROG_CD)*/
  62. ---desc:钢卷公共表没数据时 超交货期不能正确显示-----------------------------------------------
  63. ---MOD: WXY 2010-07-14----------------------------------
  64. SELECT b.ORD_NO, b.ORD_SEQ, SUM(A.ACT_WGT) WGT_IN_DEL,
  65. --'是' AS DEL_TO_DATE_YN
  66. CASE WHEN B.SHIP_END_DATE IS NULL AND SYSDATE > TO_DATE(B.DEL_TO_DATE, 'YYYYMMDD') THEN '是'
  67. WHEN TO_DATE(B.SHIP_END_DATE, 'YYYYMMDD') > TO_DATE(B.DEL_TO_DATE, 'YYYYMMDD') THEN '是'
  68. ELSE '否' END DEL_TO_DATE_YN
  69. FROM TBH02_COIL_COMM A, TBE02_ORD_PRC B
  70. WHERE A.ORD_NO(+) = B.ORD_NO
  71. AND A.ORD_SEQ(+) = B.ORD_SEQ
  72. AND nvl(A.ORD_FL,'1') = '1'
  73. AND (SUBSTR(A.TRNF_DTIME,1,8) > B.DEL_TO_DATE OR (SYSDATE > TO_DATE(B.DEL_TO_DATE, 'YYYYMMDD') AND B.ORD_PROG_CD IN ('D', 'E', 'F' , 'G')))
  74. --and a.SHIP_PROG_CD = '08'
  75. --and a.CUR_PROG_CD = 'SFF'
  76. --AND A.COIL_STAT = '3'
  77. GROUP BY (b.ORD_NO, b.ORD_SEQ , B.ORD_PROG_CD , B.SHIP_END_DATE ,B.DEL_TO_DATE )
  78. -------------------------------------------------------------------------------------------------------------------
  79. ) M -- 超交货期量表
  80. , (SELECT A.ORD_NO,A.ORD_SEQ,MIN(A.SLAB_CUT_DTIME) SLAB_CUT_DTIME
  81. FROM TBG02_SLAB_COMM A
  82. GROUP BY (A.ORD_NO,A.ORD_SEQ)) N --炼钢时间(准确的说是该订单第一块板坯的切割时间)
  83. ,(SELECT T.UPD_AFT_ORD_NO,T.UPD_AFT_ORD_SEQ,MIN(T.REG_DTIME) E_SLAB_REP_DTIME
  84. FROM TBE04_REP_HIS T
  85. WHERE T.REP_TYP = 'A' --(余才到订单才)
  86. AND T.MAT_TYPE = 'TM' --板坯
  87. GROUP BY (T.UPD_AFT_ORD_NO,T.UPD_AFT_ORD_SEQ)) O --板坯充当最小时间
  88. ,(SELECT T.UPD_AFT_ORD_NO,T.UPD_AFT_ORD_SEQ,MIN(T.REG_DTIME) E_COIL_REP_DTIME
  89. FROM TBE04_REP_HIS T
  90. WHERE T.REP_TYP = 'A' --(余才到订单才)
  91. AND T.MAT_TYPE = 'AR' --钢卷
  92. GROUP BY (T.UPD_AFT_ORD_NO,T.UPD_AFT_ORD_SEQ)) P --钢卷充当最小时间
  93. ,(SELECT T.ORD_NO,T.ORD_SEQ, MIN(T.SLAB_STOCK_ENT_DTIME) SLAB_STOCK_ENT_DTIME
  94. FROM TBG02_SLAB_COMM T
  95. GROUP BY (T.ORD_NO,T.ORD_SEQ)) Q -- 热轧库入库时间
  96. ,(SELECT A.ORD_NO,A.ORD_SEQ, MIN(B.EXTRACT_DTIME) EXTRACT_DTIME
  97. FROM TBG02_SLAB_COMM A, TBH02_REHEATFUR B
  98. WHERE A.SLAB_NO = B.SLAB_NO
  99. GROUP BY (A.ORD_NO,A.ORD_SEQ)) R --轧制日期(加热炉出炉时间)
  100. WHERE A.ORD_NO LIKE :1||'%' -- 参数:合同号
  101. AND A.ORD_SEQ LIKE :2||'%' -- 参数:订单号
  102. AND A.ORD_NO = B.ORD_NO(+)
  103. AND A.ORD_SEQ = B.ORD_SEQ(+)
  104. AND A.ORD_NO = C.ORD_NO(+)
  105. AND A.ORD_SEQ = C.ORD_SEQ(+)
  106. AND A.ORD_NO = K.ORD_NO(+)
  107. AND A.ORD_SEQ = K.ORD_SEQ(+)
  108. AND A.ORD_NO = M.ORD_NO(+)
  109. AND A.ORD_SEQ = M.ORD_SEQ(+)
  110. AND A.ORD_NO = N.ORD_NO(+)
  111. AND A.ORD_SEQ = N.ORD_SEQ(+)
  112. AND A.ORD_NO = O.UPD_AFT_ORD_NO(+)
  113. AND A.ORD_SEQ = O.UPD_AFT_ORD_SEQ(+)
  114. AND A.ORD_NO = P.UPD_AFT_ORD_NO(+)
  115. AND A.ORD_SEQ = P.UPD_AFT_ORD_SEQ(+)
  116. AND A.ORD_NO = Q.ORD_NO(+)
  117. AND A.ORD_SEQ = Q.ORD_SEQ(+)
  118. AND A.ORD_NO = R.ORD_NO(+)
  119. AND A.ORD_SEQ = R.ORD_SEQ(+)
  120. AND A.PRODNM_CD LIKE :3||'%' -- 参数:产品代码
  121. AND (:4 IS NULL OR A.ORD_PROG_CD IN ( -- 参数:订单进度代码
  122. SELECT COLUMN_VALUE FROM TABLE(CAST(XB_PACKAGE.GF_TABSTR(:5) AS TABSTR_T))))
  123. AND A.ABNOR_ORD_CD||'&' LIKE :6||'%' -- 参数:异常订单类型代码
  124. AND A.CUST_CD||'&' LIKE :7||'%' -- 参数:客户代码
  125. AND A.STL_GRD||'&' LIKE :8||'%' -- 参数:厂内牌号
  126. AND A.DEL_TO_DATE BETWEEN :9 AND :10 -- 参数:交货日期(到达)
  127. AND (:11 IS NULL OR A.RCVORD_CLF IN ( -- 参数:交货区分
  128. SELECT COLUMN_VALUE FROM TABLE(CAST(XB_PACKAGE.GF_TABSTR(:12) AS TABSTR_T))))
  129. AND NVL(B.ORD_PLAN_DATA,A.DEL_TO_DATE) BETWEEN NVL(:13,'0000000') AND NVL(:14,'99999999')
  130. AND B.DLIV_TP||'&' LIKE :15||'%' --运输方式,查询条件TL 091209
  131. AND B.SPEC_STL_GRD||'&' LIKE :16||'%'
  132. AND A.KEEPWARM_YN||'&' LIKE :17||'%'
  133. AND A.ORD_THK BETWEEN NVL(:18,0) AND NVL(:19,99999999)
  134. AND A.ORD_WTH BETWEEN NVL(:20,0) AND NVL(:21,99999999)
  135. AND C.REG_DTIME BETWEEN :22||'000000' AND :23||'235959'
  136. AND DECODE(M.DEL_TO_DATE_YN, '是' ,'是','否')||'&' LIKE :24||'%'
  137. AND INSTR ( DECODE(:25 , NULL , A.ORD_PROG_CD , :26) , A.ORD_PROG_CD) >0
  138. AND C.SPEC_ABBSYM LIKE :27||'%'
  139. ORDER BY A.ORD_NO, A.ORD_SEQ
  140. ]]>
  141. </query>
  142. </queryMap>