9f4f177a6ae495980591e87288165a7c37bd2237.svn-base 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. package UIJ.UIJ04;
  2. import java.sql.SQLException;
  3. import CoreFS.SA01.CoreIComponent;
  4. import CoreFS.SA06.CoreReturnObject;
  5. /**
  6. * 发运计划查询
  7. *
  8. * @author siy
  9. * @date 2010-9-6
  10. */
  11. public class UIJ040010 extends CoreIComponent {
  12. /**
  13. * 查询发运计划
  14. *
  15. * @param dlivDirDate
  16. * @param dlivTp
  17. * @param ordNo
  18. * @return
  19. * @throws SQLException
  20. */
  21. public CoreReturnObject queryShippingPlan(String dlivDirDate,
  22. String dlivTp, String ordNo) throws SQLException {
  23. CoreReturnObject cro = new CoreReturnObject();
  24. StringBuffer sqlBuffer = new StringBuffer();
  25. sqlBuffer.append("SELECT '' CHK,\n");
  26. sqlBuffer.append("(SELECT TBZ00_COMMCD.CD_DESC\n");
  27. sqlBuffer.append(" FROM TBZ00_COMMCD\n");
  28. sqlBuffer.append(" WHERE TBZ00_COMMCD.SM_CD = A.DEST_PCD\n");
  29. sqlBuffer.append(" AND ROWNUM = 1) YWD, --运往地\n");
  30. sqlBuffer.append(" A.DLIV_DIR_DATE, \n");
  31. sqlBuffer
  32. .append(" SUBSTR(A.ORDERNO, 1, LENGTH(A.ORDERNO) - 3) PACTNO, --合同号\n");
  33. sqlBuffer.append(" ORDERNO, --计划号\n");
  34. sqlBuffer.append(" A.ISOUT, --是否出口\n");
  35. sqlBuffer.append(" A.DLIV_DIR_DATE PLANDATE, --计划时间\n");
  36. sqlBuffer.append(" '热轧线' PL, --产线\n");
  37. sqlBuffer.append(" B.SHIP_DIR_DTIME REALSENDTIME, --实际发货时间\n");
  38. sqlBuffer.append(" B.TRANS_CAR_NO, --车牌号\n");
  39. sqlBuffer.append(" A.DLIV_DIRNO, --出库指示号\n");
  40. sqlBuffer.append(" (SELECT CUST_NM\n");
  41. sqlBuffer.append(" FROM TBZ00_CUSTOMER\n");
  42. sqlBuffer.append(" WHERE CUST_CD = A.CUST_CD\n");
  43. sqlBuffer.append(" AND ROWNUM = 1) BUYERCODE, --客户名称\n");
  44. sqlBuffer.append(" '承运' TRANSTYPE, --合同性质\n");
  45. sqlBuffer.append(" (SELECT CUST_NM\n");
  46. sqlBuffer.append(" FROM TBZ00_CUSTOMER\n");
  47. sqlBuffer.append(" WHERE CUST_CD = ORD_CUST_CD\n");
  48. sqlBuffer.append(" AND ROWNUM = 1) INCEPTCORPCODE, --收货单位,\n");
  49. sqlBuffer
  50. .append(" (SELECT SM_CFNM FROM TBZ00_COMMCD WHERE SM_CD = A.CATEGORY)STL_GRD, --钢种,\n");
  51. sqlBuffer.append(" B.SPEC_STL_GRD, --牌号,\n");
  52. sqlBuffer.append(" B.ACT_WGT,--重量\n");
  53. sqlBuffer.append(" '热轧厂' LOADPOSITION,--装车点\n");
  54. sqlBuffer.append(" B.INSTR_COIL_THK, --订单厚度\n");
  55. sqlBuffer.append(" B.INSTR_COIL_WTH, --订单宽度\n");
  56. sqlBuffer.append(" B.CNT, -- 总件数\n");
  57. sqlBuffer.append(" B.CUR_LOAD_LOC, --垛位信息\n");
  58. sqlBuffer.append(" (SELECT TBZ00_COMMCD.SM_CFNM\n");
  59. sqlBuffer.append(" FROM TBZ00_COMMCD\n");
  60. sqlBuffer.append(" WHERE TBZ00_COMMCD.SM_CD = A.TRAIN_DLIVNO\n");
  61. sqlBuffer.append(" AND ROWNUM = 1) MOTORMANNAME,--承运单位\n");
  62. sqlBuffer.append(" (SELECT TBZ00_COMMCD.SM_CFNM\n");
  63. sqlBuffer.append(" FROM TBZ00_COMMCD\n");
  64. sqlBuffer.append(" WHERE TBZ00_COMMCD.SM_CD = A.DEST_PCD\n");
  65. sqlBuffer.append(" AND ROWNUM = 1) STATIONCODE, --到站\n");
  66. sqlBuffer.append(" A.BY_SEA_YN, --是否水运\n");
  67. sqlBuffer
  68. .append(" --这里通过状态标志位来区分是否火运批车(01为下车02为待批车03为已批车)。这里汽运无批车情况\n");
  69. sqlBuffer
  70. .append(" DECODE(B.SHIP_PROG_CD,'01','销售下车','02','待批车','03','已批车/排车','04','待装车','05','行车作业结束','06','发货待机','07','发货结束','08','明细发行结束','09','板加移送') SHIP_PROG_CD\n");
  71. sqlBuffer.append(" FROM TBJ01_DLIV_DIR A,\n");
  72. sqlBuffer.append(" (SELECT MIN(TRANS_CAR_NO) TRANS_CAR_NO,\n");
  73. sqlBuffer.append(" MIN(SPEC_STL_GRD) SPEC_STL_GRD,\n");
  74. sqlBuffer.append(" SUM(ACT_WGT) ACT_WGT,\n");
  75. sqlBuffer.append(" DLIV_DIRNO,\n");
  76. sqlBuffer.append(" MIN(SHIP_DIR_DTIME) SHIP_DIR_DTIME,\n");
  77. sqlBuffer.append(" MIN(INSTR_COIL_THK) INSTR_COIL_THK,\n");
  78. sqlBuffer.append(" MIN(INSTR_COIL_WTH) INSTR_COIL_WTH,\n");
  79. sqlBuffer.append(" COUNT(OLD_SAMPL_NO) CNT,\n");
  80. sqlBuffer.append(" MIN(SHIP_PROG_CD) SHIP_PROG_CD,\n");
  81. sqlBuffer.append(" MIN(CUR_LOAD_LOC) CUR_LOAD_LOC,\n");
  82. sqlBuffer.append(" MIN(ORD_NO) ORD_NO\n");
  83. sqlBuffer.append(" FROM C_TBL02_COIL_COMM\n");
  84. sqlBuffer.append(" GROUP BY DLIV_DIRNO UNION \n");
  85. sqlBuffer.append(" SELECT MIN(TRANS_CAR_NO) TRANS_CAR_NO,\n");
  86. sqlBuffer.append(" MIN(SPEC_STL_GRD) SPEC_STL_GRD,\n");
  87. sqlBuffer.append(" SUM(ACT_WGT) ACT_WGT,\n");
  88. sqlBuffer.append(" DLIV_DIRNO,\n");
  89. sqlBuffer.append(" MIN(SHIP_DIR_DTIME) SHIP_DIR_DTIME,\n");
  90. sqlBuffer.append(" MIN(INSTR_COIL_THK) INSTR_COIL_THK,\n");
  91. sqlBuffer.append(" MIN(INSTR_COIL_WTH) INSTR_COIL_WTH,\n");
  92. sqlBuffer.append(" COUNT(OLD_SAMPL_NO) CNT,\n");
  93. sqlBuffer.append(" MIN(SHIP_PROG_CD) SHIP_PROG_CD,\n");
  94. sqlBuffer.append(" MIN(CUR_LOAD_LOC) CUR_LOAD_LOC,\n");
  95. sqlBuffer.append(" MIN(ORD_NO) ORD_NO\n");
  96. sqlBuffer.append(" FROM C_TBM02_COIL_COMM\n");
  97. sqlBuffer.append(" GROUP BY DLIV_DIRNO) B\n");
  98. sqlBuffer.append(" WHERE A.DLIV_DIRNO = B.DLIV_DIRNO\n");
  99. sqlBuffer.append(" AND A.DLIV_DIR_DATE = ? --做主要查询条件\n");
  100. sqlBuffer.append(" AND A.DLIV_TP = ? -- 'T' 火车 'C' 汽车\n");
  101. sqlBuffer.append(" AND B.ORD_NO LIKE ?||'%'\n");
  102. sqlBuffer.append(" AND A.ISDELETED <> '1'\n");
  103. sqlBuffer.append(" ORDER BY ACT_WGT\n");
  104. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  105. new Object[] { dlivDirDate, dlivTp, ordNo });
  106. return cro;
  107. }
  108. /**
  109. * 查询发运计划对应的钢卷
  110. *
  111. * @param dlivDirNo
  112. * @return
  113. */
  114. public CoreReturnObject queryShippingCoil(String dlivDirNo) {
  115. CoreReturnObject cro = new CoreReturnObject();
  116. StringBuffer sqlBuffer = new StringBuffer();
  117. sqlBuffer
  118. .append("SELECT '' CHK,A.C_COIL_NO,A.SPEC_STL_GRD,A.COIL_THK||'*'||A.COIL_WTH T_W,A.INSTR_COIL_THK||'*'||A.INSTR_COIL_WTH IT_IW,\n");
  119. sqlBuffer
  120. .append(" DECODE(NVL(A.ACT_WGT,0),0,A.CAL_WGT,A.ACT_WGT) AS ACT_WGT,A.ORD_NO,A.ORD_SEQ,A.CUR_LOAD_LOC,\n");
  121. sqlBuffer
  122. .append(" DECODE(A.TOT_DEC_GRD,'1','合格','2','不合格','待判定') as TOT_DEC_GRD,\n");
  123. sqlBuffer
  124. .append(" DECODE(A.CUR_PROG_CD,'SED','判定待机','SRC','充当待机','SFA','发货待机','SFB','运送待机','SFF','发货完成',null) CUR_PROG_CD,\n");
  125. sqlBuffer.append(" D.CHARGE_NO,\n");
  126. sqlBuffer.append(" B.CAS_END_DTIME,\n");
  127. sqlBuffer.append(" A.MILL_DTIME,\n");
  128. sqlBuffer
  129. .append(" (SELECT sm_cfnm FROM TBZ00_COMMCD WHERE LG_CD = 'A01009' AND C.DEST_PCD = SM_CD) DEST_PCD_DESC,\n");
  130. sqlBuffer
  131. .append(" (select CUST_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = C.CUST_CD and REC_TP='01') CUST_NM, \n");
  132. sqlBuffer
  133. .append(" (select CUST_NM ORD_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = C.ORD_CUST_CD and REC_TP='02') ORD_NM,\n");
  134. sqlBuffer.append(" A.HCOLOUR_REM,\n");
  135. sqlBuffer.append(" A.SPEC_ABBSYM,\n");
  136. sqlBuffer.append(" A.DLIV_DIRNO ,\n");
  137. sqlBuffer
  138. .append(" XB_PACKAGE.GF_COMNNAME_FIND('A01004' , A.PRODNM_CD ) PRODNM_CD,\n");
  139. sqlBuffer.append(" C.DLIV_TP\n");
  140. sqlBuffer
  141. .append(" FROM C_TBL02_COIL_COMM A,TBG02_CHARGE_COMM b,TBJ01_DLIV_DIR C,TBG02_CHARGE_COMM_D D \n");
  142. sqlBuffer.append(" WHERE substr(A.SLAB_NO,0,10) = D.CHARGE_NO \n");
  143. sqlBuffer.append(" AND A.DLIV_DIRNO = C.DLIV_DIRNO\n");
  144. sqlBuffer
  145. .append(" AND substr(B.CHARGE_NO,0,9) = SUBSTR(D.CHARGE_NO,0,9)\n");
  146. sqlBuffer.append(" AND A.DLIV_DIRNO = ?\n");
  147. sqlBuffer.append(" UNION \n");
  148. sqlBuffer
  149. .append(" SELECT '' CHK,A.OLD_SAMPL_NO,A.SPEC_STL_GRD,A.COIL_THK||'*'||A.COIL_WTH T_W,A.INSTR_COIL_THK||'*'||A.INSTR_COIL_WTH IT_IW,\n");
  150. sqlBuffer
  151. .append(" DECODE(NVL(A.ACT_WGT,0),0,A.CAL_WGT,A.ACT_WGT) AS ACT_WGT,A.ORD_NO,A.ORD_SEQ,A.CUR_LOAD_LOC,\n");
  152. sqlBuffer
  153. .append(" DECODE(A.TOT_DEC_GRD,'1','合格','2','不合格','待判定') as TOT_DEC_GRD,\n");
  154. sqlBuffer
  155. .append(" DECODE(A.CUR_PROG_CD,'SED','判定待机','SRC','充当待机','SFA','发货待机','SFB','运送待机','SFF','发货完成',null) CUR_PROG_CD,\n");
  156. sqlBuffer.append(" D.CHARGE_NO,\n");
  157. sqlBuffer.append(" B.CAS_END_DTIME,\n");
  158. sqlBuffer.append(" A.MILL_DTIME,\n");
  159. sqlBuffer
  160. .append(" (SELECT sm_cfnm FROM TBZ00_COMMCD WHERE LG_CD = 'A01009' AND C.DEST_PCD = SM_CD) DEST_PCD_DESC,\n");
  161. sqlBuffer
  162. .append(" (select CUST_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = C.CUST_CD and REC_TP='01') CUST_NM, \n");
  163. sqlBuffer
  164. .append(" (select CUST_NM ORD_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = C.ORD_CUST_CD and REC_TP='02') ORD_NM,\n");
  165. sqlBuffer.append(" A.HCOLOUR_REM,\n");
  166. sqlBuffer.append(" A.SPEC_ABBSYM,\n");
  167. sqlBuffer.append(" A.DLIV_DIRNO ,\n");
  168. sqlBuffer
  169. .append(" XB_PACKAGE.GF_COMNNAME_FIND('A01004' , A.PRODNM_CD ) PRODNM_CD,\n");
  170. sqlBuffer.append(" C.DLIV_TP\n");
  171. sqlBuffer
  172. .append(" FROM C_TBM02_COIL_COMM A,TBG02_CHARGE_COMM b,TBJ01_DLIV_DIR C,TBG02_CHARGE_COMM_D D \n");
  173. sqlBuffer.append(" WHERE substr(A.SLAB_NO,0,10) = D.CHARGE_NO \n");
  174. sqlBuffer.append(" AND A.DLIV_DIRNO = C.DLIV_DIRNO\n");
  175. sqlBuffer
  176. .append(" AND substr(B.CHARGE_NO,0,9) = SUBSTR(D.CHARGE_NO,0,9)\n");
  177. sqlBuffer.append(" AND A.DLIV_DIRNO = ? \n");
  178. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  179. new Object[] { dlivDirNo, dlivDirNo });
  180. return cro;
  181. }
  182. }