8d0d049f42899e03b8bb78eafbd5cef5970b7692.svn-base 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package UIM;
  2. import java.sql.PreparedStatement;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.util.Iterator;
  6. import java.util.List;
  7. import java.util.Map;
  8. import UIM.UIM01.BEANS.ColdCoilComm;
  9. import CoreFS.SA01.CoreIComponent;
  10. import CoreFS.SA06.CoreReturnObject;
  11. public class UIM030200 extends CoreIComponent{
  12. /**
  13. * 查询可发量
  14. *
  15. * @param dlivTp
  16. * @param ordNo
  17. * @param specStlGrd
  18. * @param hsTot
  19. * @return
  20. * @throws SQLException
  21. */
  22. public CoreReturnObject queryOrdResultForSale(String dlivTp, String ordNo,
  23. String specStlGrd, Integer hsTot) throws SQLException {
  24. CoreReturnObject cro = new CoreReturnObject();
  25. StringBuffer sqlBuffer = new StringBuffer();
  26. sqlBuffer.append(" SELECT A.ORD_NO,\n");
  27. sqlBuffer.append(" A.ORD_SEQ,\n");
  28. sqlBuffer.append(" A.ORD_WGT / 1000 ORD_WGT,\n");
  29. sqlBuffer.append(" C.ACT_WGT,\n");
  30. sqlBuffer.append(" A.SPEC_STL_GRD STL_GRD,\n");
  31. sqlBuffer
  32. .append(" TO_CHAR(A.ORD_THK || '*' || A.ORD_WTH) COIL_THK, \n");
  33. // sqlBuffer.append(" P.ORD_PROG_CD,\n");
  34. sqlBuffer
  35. .append(" (select cust_nm from tbz00_customer where cust_cd=B.CUST_CD)CUST_CD -- 客户代码 B.CUST_CD,\n");
  36. // sqlBuffer.append(" ,(select cust_nm from tbz00_customer where
  37. // cust_cd=B.ORDCUST_CD)ORDCUST_CD -- 订单代码B.ORDCUST_CD,\n");
  38. // sqlBuffer.append(" , (select sm_cfnm from tbz00_commcd where sm_cd=
  39. // A.GET_ON_PCD and lg_cd='A01013')GET_ON_PCD \n");
  40. sqlBuffer
  41. .append(" ,( SELECT SM_CFNM FROM TBZ00_COMMCD WHERE SM_CD= A.DEST_PCD AND LG_CD='A01009')DEST_PCD -- 目的地 A.DEST_PCD, \n");
  42. // sqlBuffer.append(" ,A.GET_OFF_PCD\n");
  43. sqlBuffer
  44. .append(" ,(select sm_cfnm from tbz00_commcd where sm_cd= B.PRDNM_CD and lg_cd='A01004' ) PRODNM_CD --B.PRDNM_CD ,\n");
  45. sqlBuffer.append(" ,A.ORD_DEVLMT_DATE DEVLMT_DTIME,\n");
  46. sqlBuffer
  47. .append(" (select sm_cfnm from tbz00_commcd where lg_cd='A01015' and sm_cd= A.EXLV_LINE_CD)EXLV_LINE_CD ,-- A.EXLV_LINE_CD,\n");
  48. sqlBuffer.append(" A.DLIV_TP,\n");
  49. sqlBuffer.append(" CASE\n");
  50. sqlBuffer.append(" WHEN NVL(A.BY_SEA_YN, 'N') = 'Y' THEN\n");
  51. sqlBuffer.append(" 'TRUE'\n");
  52. sqlBuffer.append(" ELSE\n");
  53. sqlBuffer.append(" 'FALSE'\n");
  54. sqlBuffer.append(" END BY_SEA_YN,\n");
  55. sqlBuffer
  56. .append(" (select sm_cfnm from tbz00_commcd where sm_cd= B.RCVORD_TP and lg_cd='A01001' ) RCVORD_TP -- 订单接受区分B.RCVORD_TP,\n");
  57. // sqlBuffer.append(" ,(SELECT SM_CFNM FROM TBZ00_COMMCD WHERE SM_CD=
  58. // A.ARRIVAL_CD AND LG_CD='A01009')ARRIVAL_CD\n");
  59. sqlBuffer.append(" ,CASE\n");
  60. sqlBuffer
  61. .append(" WHEN P.ORD_PROG_CD IN ('A', 'C', 'D', 'E', 'H', 'F') THEN\n");
  62. sqlBuffer.append(" (P.ORD_WGT - P.SHIP_END_WGT) / 1000\n");
  63. sqlBuffer.append(" ELSE\n");
  64. sqlBuffer.append(" 0 \n");
  65. sqlBuffer.append(" END LEV_WGT,\n");
  66. sqlBuffer.append(" nvl(D.PLAN_WGT,0) PLAN_WGT,\n");
  67. sqlBuffer.append(" A.ORD_PLAN_DATA --新增订单预排期 \n");
  68. sqlBuffer.append(" FROM TBA01_ORD_LINE A,\n");
  69. sqlBuffer.append(" TBA01_ORD_COMM B,\n");
  70. sqlBuffer.append(" TBE02_ORD_PRC P,\n");
  71. sqlBuffer
  72. .append(" (SELECT ORD_NO FROM TBE02_ORD_PRC WHERE ORD_NO NOT LIKE 'TSH%'\n");
  73. sqlBuffer
  74. .append(" AND ORD_PROG_CD IN ('A', 'C', 'D', 'E', 'H', 'F')\n");
  75. sqlBuffer
  76. .append(" GROUP BY ORD_NO) Q, (SELECT ORD_NO,ORD_SEQ, SUM(ACT_WGT / 1000) ACT_WGT, SUM(CASE\n");
  77. sqlBuffer
  78. .append(" WHEN CUR_PROG_CD = 'DFB' THEN ACT_WGT END) / 1000 PLAN_WGT FROM C_TBL02_COIL_COMM\n");
  79. sqlBuffer.append(" WHERE SHIP_PROG_CD IS NULL\n");
  80. sqlBuffer.append(" AND DLIV_DIRNO IS NULL\n");
  81. sqlBuffer.append(" AND COIL_STAT = '2'\n");
  82. if (1 != hsTot.intValue()) {
  83. sqlBuffer
  84. .append(" AND CUR_LOAD_LOC IS NOT NULL AND CUR_PROG_CD = 'DFA' AND TOT_DEC_GRD = '1'\n");
  85. }
  86. sqlBuffer.append(" GROUP BY ORD_NO, ORD_SEQ) C,\n");
  87. sqlBuffer
  88. .append(" (SELECT ORD_NO, ORD_SEQ, SUM(ACT_WGT / 1000) PLAN_WGT\n");
  89. sqlBuffer.append(" FROM C_TBC02_COIL_COMM\n");
  90. sqlBuffer.append(" WHERE CUR_PROG_CD = 'DFB'\n");
  91. sqlBuffer.append(" GROUP BY ORD_NO, ORD_SEQ) D\n");
  92. sqlBuffer.append(" WHERE A.ORD_NO = Q.ORD_NO\n");
  93. sqlBuffer.append(" AND B.ORD_NO = Q.ORD_NO\n");
  94. sqlBuffer.append(" AND A.ORD_NO = P.ORD_NO\n");
  95. sqlBuffer.append(" AND A.ORD_SEQ = P.ORD_SEQ\n");
  96. sqlBuffer.append(" AND A.ORD_NO = D.ORD_NO(+)\n");
  97. sqlBuffer.append(" AND A.ORD_SEQ = D.ORD_SEQ(+)\n");
  98. sqlBuffer.append(" AND A.ORD_NO = C.ORD_NO(+)\n");
  99. sqlBuffer.append(" AND A.ORD_SEQ = C.ORD_SEQ(+)\n");
  100. sqlBuffer.append(" AND B.ORD_NO NOT LIKE 'TS%'\n");
  101. sqlBuffer.append(" and C.ACT_WGT > 0 \n");
  102. sqlBuffer.append(" AND B.RCVORD_TP NOT IN ('T') --测试订单\n");
  103. sqlBuffer.append(" AND A.DLIV_TP LIKE ?||'%'\n");
  104. sqlBuffer.append(" AND A.ORD_NO||'&' LIKE ?||'%'\n");
  105. sqlBuffer.append(" AND A.SPEC_STL_GRD||'&' LIKE ?||'%'\n");
  106. sqlBuffer.append(" ORDER BY A.ORD_NO, A.ORD_SEQ\n");
  107. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  108. new Object[] { dlivTp, ordNo, specStlGrd });// .ExcuteQuery(sql);
  109. return cro;
  110. }
  111. public CoreReturnObject queryCoilResultByOrd(String ordNo, String ordSeq)
  112. throws SQLException {
  113. CoreReturnObject cro = new CoreReturnObject();
  114. StringBuffer sqlBuffer = new StringBuffer();
  115. sqlBuffer.append(" SELECT C.ORD_NO||c.ord_seq ORD_NO \n");
  116. // sqlBuffer.append(" , C.COIL_NO\n");
  117. sqlBuffer.append(" , DECODE(C.TOT_DEC_GRD,'1','合格')TOT_DEC_GRD\n");
  118. sqlBuffer.append(" , TO_CHAR(F.ORD_THK||'*'||F.ORD_WTH) COIL_THK \n");
  119. sqlBuffer.append(" , TO_CHAR(C.COIL_WTH) COIL_WTH \n");
  120. sqlBuffer.append(" , TO_CHAR(C.COIL_LEN) COIL_LTH\n");
  121. sqlBuffer.append(" , C.ACT_WGT\n");
  122. // sqlBuffer.append(" , D.DEPARTURE_CD\n");
  123. // sqlBuffer.append(" , F.ARRIVAL_CD\n");
  124. sqlBuffer.append(" , C.CUR_LOAD_LOC\n");
  125. // sqlBuffer.append(" , E.SHIP_DIRBY_CD\n");
  126. // sqlBuffer.append(" , E.SHIP_DIR_DATE\n");
  127. // sqlBuffer.append(" , E.SHIP_DIRNO \n");
  128. // sqlBuffer.append(" , H.CUST_CD\n");
  129. // sqlBuffer.append(" , H.ORDCUST_CD\n");
  130. // sqlBuffer.append(" , CASE WHEN NVL(F.BY_SEA_YN,'N')='Y' THEN 'TRUE'
  131. // ELSE 'FALSE' END BY_SEA_YN \n");
  132. // sqlBuffer.append(" , D.TRAIN_DLIVNO \n");
  133. sqlBuffer.append(" , C.OLD_SAMPL_NO \n");
  134. sqlBuffer.append(" , C.SHIP_PROG_CD \n");
  135. sqlBuffer.append(" FROM ( SELECT * FROM C_TBC02_COIL_COMM \n");
  136. sqlBuffer.append(" WHERE COIL_STAT='2' \n");
  137. sqlBuffer.append(" AND ORD_NO= ?\n");
  138. sqlBuffer.append(" AND ORD_SEQ= ? \n");
  139. sqlBuffer
  140. .append(" AND (SHIP_PROG_CD IS NULL OR SHIP_PROG_CD ='01' OR SHIP_PROG_CD='02' OR SHIP_PROG_CD='03')\n");
  141. sqlBuffer.append(" ) C\n");
  142. sqlBuffer.append(" ,TBJ01_DLIV_DIR D\n");
  143. sqlBuffer.append(" ,TBJ01_SHIP_DIR E \n");
  144. sqlBuffer.append(" ,TBA01_ORD_LINE F \n");
  145. sqlBuffer.append(" ,TBA01_ORD_COMM H\n");
  146. sqlBuffer.append(" WHERE C.SHIP_DIRNO=E.SHIP_DIRNO(+) \n");
  147. sqlBuffer.append(" AND C.DLIV_DIRNO=D.DLIV_DIRNO(+) \n");
  148. sqlBuffer.append(" AND C.ORD_NO=F.ORD_NO(+) \n");
  149. sqlBuffer.append(" AND C.ORD_NO=H.ORD_NO(+) \n");
  150. sqlBuffer.append(" AND C.ORD_SEQ=F.ORD_SEQ(+)\n");
  151. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  152. new Object[] { ordNo, ordSeq });// .ExcuteQuery(sql);
  153. return cro;
  154. }
  155. }