1f8b06444b35cde340d2b2b5c1c86e32fd02a1ae.svn-base 7.1 KB

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