e4dd6461de60fdab380f3e7d64faffeb573c67f1.svn-base 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. package UIJ.UIJ04;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import CoreFS.SA01.CoreIComponent;
  7. import CoreFS.SA06.CoreReturnObject;
  8. /**
  9. * 发运计划查询
  10. *
  11. * @author siy
  12. * @date 2010-9-7
  13. */
  14. public class UIJ040020 extends CoreIComponent {
  15. /**
  16. * 查询运输单位
  17. *
  18. * @return CoreReturnObject
  19. * @throws SQLException
  20. */
  21. public CoreReturnObject queryTransUnits() throws SQLException {
  22. CoreReturnObject cro = new CoreReturnObject();
  23. StringBuffer sqlBuffer = new StringBuffer();
  24. sqlBuffer
  25. .append("SELECT SHIP_COMP_NM AS LABEL, SHIP_COMP_CD AS VALUE\n");
  26. sqlBuffer.append(" FROM TBJ00_SHIP_COMP\n");
  27. sqlBuffer.append(" ORDER BY 1\n");
  28. ArrayList list = (ArrayList) this.getDao("KgDao")
  29. .ExcuteQueryReturnList(sqlBuffer.toString(), new Object[] {});
  30. cro.setResult(list);
  31. return cro;
  32. }
  33. /**
  34. * 查询排车计划
  35. *
  36. * @param shipProgCd
  37. * 发货指示状态
  38. * @param fromDate
  39. * 查询开始时间
  40. * @param toDate
  41. * 查询结束时间
  42. * @param shipDirNo
  43. * 发货指示号
  44. * @param curProgCd
  45. * 物料进度
  46. * @param shipCompNm
  47. * 运输单位
  48. * @param dlivTp
  49. * 运输方式
  50. * @param laneTp
  51. * 火车入库道次
  52. * @param enteranceSeq
  53. * 装车次数
  54. * @return
  55. * @throws SQLException
  56. */
  57. public CoreReturnObject queryTransPlan(String shipProgCd, String fromDate,
  58. String toDate, String shipDirNo, String curProgCd,
  59. String shipCompNm, String dlivTp, String laneTp, String enteranceSeq)
  60. throws SQLException {
  61. CoreReturnObject cro = new CoreReturnObject();
  62. StringBuffer sqlBuffer = new StringBuffer();
  63. sqlBuffer.append("SELECT '' CHK,\n");
  64. sqlBuffer.append(" B.SHIP_DIRNO,\n");
  65. sqlBuffer.append(" B.GET_ON_PCD,\n");
  66. sqlBuffer.append(" B.DEST_PCD,\n");
  67. sqlBuffer
  68. .append(" (SELECT sm_cfnm FROM TBZ00_COMMCD WHERE LG_CD = 'A01009' AND b.DEST_PCD = SM_CD) DEST_PCD_DESC,\n");
  69. sqlBuffer.append(" B.EXLV_LINE_CD,\n");
  70. sqlBuffer
  71. .append(" (SELECT x.SM_CFNM FROM TBZ00_COMMCD x WHERE LG_CD = 'A01015' AND b.EXLV_LINE_CD = SM_CD) EXLV_LINE_CD_DESC,\n");
  72. sqlBuffer
  73. .append(" (select CUST_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = b.CUST_CD and REC_TP='01') CUST_NM, \n");
  74. sqlBuffer
  75. .append(" (select CUST_NM ORD_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = b.ORD_CUST_CD and REC_TP='02') ORD_NM,\n");
  76. sqlBuffer.append(" B.GET_OFF_PCD,\n");
  77. sqlBuffer.append(" B.DLIV_TP,\n");
  78. sqlBuffer.append(" D.SM_CFNM AS DLIV_TP_NM,\n");
  79. sqlBuffer.append(" B.SHIP_COMP_CD,\n");
  80. sqlBuffer.append(" C.SHIP_COMP_NM SM_CFNM,\n");
  81. sqlBuffer.append(" B.TRAIN_DLIVNO,\n");
  82. sqlBuffer.append(" B.DLIV_DIRNO,\n");
  83. sqlBuffer.append(" NVL(B.CNT,0) AS CNT,\n");
  84. sqlBuffer.append(" NVL(B.ACT_WGT,0) AS ACT_WGT,\n");
  85. sqlBuffer.append(" B.ALLOC_SEQ,\n");
  86. sqlBuffer.append(" B.TRANS_CAR_NO,\n");
  87. sqlBuffer.append(" B.LANE_TP,\n");
  88. sqlBuffer.append(" B.ENTERANCE_SEQ,\n");
  89. sqlBuffer.append(" B.ORD_NO,\n");
  90. sqlBuffer.append(" B.ORD_SEQ,\n");
  91. sqlBuffer.append(" B.SPEC_STL_GRD,\n");
  92. sqlBuffer.append(" B.INSTR_COIL_THK||'*'||B.INSTR_COIL_WTH T_W \n");
  93. sqlBuffer.append(" FROM(SELECT *\n");
  94. sqlBuffer.append(" FROM TBJ01_SHIP_DIR\n");
  95. sqlBuffer.append(" WHERE 1 = 1\n");
  96. sqlBuffer
  97. .append(" AND SHIP_PROG_CD = ? -- SHIP_PROG_CD = '03' 发货指示状态\n");
  98. sqlBuffer
  99. .append(" AND SHIP_DIRNO BETWEEN NVL(?,'00000101')||'0000' AND NVL(?,'99991231')||'9999'\n");
  100. sqlBuffer.append(" AND SHIP_DIRNO LIKE ?||'%') A \n");
  101. sqlBuffer
  102. .append(" ,(SELECT X.*, Y.CNT CNT, Y.ACT_WGT ACT_WGT,Y.ORD_NO,Y.ORD_SEQ,Y.SPEC_STL_GRD,Y.INSTR_COIL_THK,Y.INSTR_COIL_WTH \n");
  103. sqlBuffer.append(" FROM TBJ01_DLIV_DIR X\n");
  104. sqlBuffer.append(" ,(SELECT DLIV_DIRNO\n");
  105. sqlBuffer.append(" , COUNT(*) AS CNT\n");
  106. sqlBuffer.append(" , NVL(SUM(ACT_WGT),0) AS ACT_WGT\n");
  107. sqlBuffer.append(" , MAX(ORD_NO) AS ORD_NO\n");
  108. sqlBuffer.append(" , MAX(ORD_SEQ) AS ORD_SEQ\n");
  109. sqlBuffer.append(" , MAX(SPEC_STL_GRD) AS SPEC_STL_GRD\n");
  110. sqlBuffer.append(" , MAX(INSTR_COIL_THK) AS INSTR_COIL_THK\n");
  111. sqlBuffer.append(" , MAX(INSTR_COIL_WTH) AS INSTR_COIL_WTH\n");
  112. sqlBuffer.append(" FROM TBH02_COIL_COMM\n");
  113. sqlBuffer.append(" WHERE 1 = 1\n");
  114. sqlBuffer
  115. .append(" AND CUR_PROG_CD like ?||'%' -- CUR_PROG_CD = 'SFB'(物料进度)\n");
  116. sqlBuffer
  117. .append(" AND SHIP_DIRNO BETWEEN NVL(?,'00000101')||'0000' AND NVL(?,'99991231')||'9999'\n");
  118. sqlBuffer.append(" GROUP BY DLIV_DIRNO) Y\n");
  119. sqlBuffer.append(" WHERE X.DLIV_DIRNO = Y.DLIV_DIRNO\n");
  120. sqlBuffer.append(" AND X.DLIV_TP LIKE ?||'%'\n");
  121. sqlBuffer.append(" AND NVL(X.LANE_TP,'*') LIKE ?||'%'\n");
  122. sqlBuffer.append(" AND NVL(X.ENTERANCE_SEQ,0) = NVL(?,0)) B\n");
  123. sqlBuffer.append(" ,(SELECT *\n");
  124. sqlBuffer.append(" FROM TBJ00_SHIP_COMP\n");
  125. sqlBuffer.append(" WHERE SHIP_COMP_CD LIKE ?||'%') C\n");
  126. sqlBuffer
  127. .append(" ,(SELECT SM_CD, SM_CFNM FROM TBZ00_COMMCD WHERE LG_CD = 'A01012' AND SM_CD LIKE ?||'%') D\n");
  128. sqlBuffer.append(" WHERE A.SHIP_DIRNO = B.SHIP_DIRNO(+)\n");
  129. sqlBuffer.append(" AND B.SHIP_COMP_CD = C.SHIP_COMP_CD(+)\n");
  130. sqlBuffer.append(" AND D.SM_CD = B.DLIV_TP \n");
  131. sqlBuffer.append(" AND B.ISDELETED = 0\n");
  132. sqlBuffer.append(" AND B.ISCANCEL = 0\n");
  133. sqlBuffer.append(" ORDER BY B.ALLOC_SEQ,B.DLIV_DIRNO\n");
  134. cro = this.getDao("KgDao").ExcuteQuery(
  135. sqlBuffer.toString(),
  136. new Object[] { shipProgCd, fromDate, toDate, shipDirNo,
  137. curProgCd, fromDate, toDate, dlivTp, laneTp,
  138. enteranceSeq, shipCompNm, dlivTp, });
  139. return cro;
  140. }
  141. /**
  142. * 查询待装车钢卷
  143. *
  144. * @param dlivTp
  145. * @return
  146. */
  147. public CoreReturnObject queryShipDir(String dlivTp) throws SQLException {
  148. CoreReturnObject cro = new CoreReturnObject();
  149. StringBuffer sqlBuffer = new StringBuffer();
  150. sqlBuffer.append("SELECT '' CHK,\n");
  151. sqlBuffer.append(" A.OLD_SAMPL_NO,\n");
  152. sqlBuffer.append(" A.COIL_NO,\n");
  153. sqlBuffer
  154. .append(" DECODE(A.TOT_DEC_GRD,'1','合格','2','次品',' ') TOT_DEC_GRD,\n");
  155. sqlBuffer
  156. .append(" DECODE(A.MATRL_END_CAUSE_CD,'1','合格','2','次品',' ') MATRL_END_CAUSE_CD,\n");
  157. sqlBuffer.append(" a.instr_coil_wth COIL_WTH,\n");
  158. sqlBuffer.append(" a.instr_coil_thk COIL_THK,\n");
  159. sqlBuffer.append(" a.ORD_NO,\n");
  160. sqlBuffer.append(" a.ORD_SEQ,\n");
  161. sqlBuffer.append(" a.spec_stl_grd,\n");
  162. sqlBuffer.append(" A.COIL_OUTDIA,\n");
  163. sqlBuffer.append(" NVL(A.ACT_WGT,0) ACT_WGT,\n");
  164. sqlBuffer.append(" NVL(A.CAL_WGT,0) CAL_WGT,\n");
  165. sqlBuffer.append(" A.CUR_LOAD_LOC,\n");
  166. sqlBuffer.append(" B.DEST_PCD,\n");
  167. sqlBuffer.append(" B.ALLOC_SEQ,\n");
  168. sqlBuffer.append(" B.TRANS_CAR_NO,\n");
  169. sqlBuffer.append(" B.DLIV_DIRNO,\n");
  170. sqlBuffer.append(" B.SHIP_DIRNO,\n");
  171. sqlBuffer
  172. .append(" (SELECT sm_cfnm FROM TBZ00_COMMCD WHERE LG_CD = 'A01009' AND b.DEST_PCD = SM_CD) DEST_PCD_DESC,\n");
  173. sqlBuffer
  174. .append(" (SELECT x.SM_CFNM FROM TBZ00_COMMCD x WHERE LG_CD = 'A01015' AND b.EXLV_LINE_CD = SM_CD) EXLV_LINE_CD_DESC,\n");
  175. sqlBuffer
  176. .append(" (select CUST_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = B.CUST_CD and REC_TP='01') CUST_NM, \n");
  177. sqlBuffer
  178. .append(" (select CUST_NM ORD_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = B.ORD_CUST_CD and REC_TP='02') ORD_NM,\n");
  179. sqlBuffer.append(" A.HCOLOUR_REM \n");
  180. sqlBuffer
  181. .append(" FROM TBH02_COIL_COMM A,TBJ01_DLIV_DIR B,TBJ01_SHIP_DIR C\n");
  182. sqlBuffer.append(" WHERE A.DLIV_DIRNO = B.DLIV_DIRNO\n");
  183. sqlBuffer.append(" AND B.SHIP_DIRNO = C.SHIP_DIRNO\n");
  184. sqlBuffer.append(" AND A.SHIP_PROG_CD = '04'\n");
  185. sqlBuffer.append(" AND B.DLIV_TP = ? \n");
  186. sqlBuffer.append(" ORDER BY B.ALLOC_SEQ\n");
  187. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  188. new Object[] { dlivTp });
  189. return cro;
  190. }
  191. /**
  192. * 查询下达排车计划时排车计划对应的钢卷信息
  193. *
  194. * @param dlivNo
  195. * @return
  196. */
  197. public CoreReturnObject queryPlanCoil(String dlivNo) throws SQLException {
  198. CoreReturnObject cro = new CoreReturnObject();
  199. StringBuffer sqlBuffer = new StringBuffer();
  200. sqlBuffer
  201. .append("SELECT substr(A.DLIV_NO,5,8) DLIV_NO,A.COIL_NO,A.COIL_STEEL,A.COIL_HEIGHT||'*'||A.COIL_WIDTH T_W FROM TBJ01_DLIVNO_COIL A \n");
  202. sqlBuffer.append(" WHERE A.DLIV_NO = ? \n");
  203. sqlBuffer.append(" order by a.COIL_NO\n");
  204. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  205. new Object[] { dlivNo });
  206. return cro;
  207. }
  208. /**
  209. * 待装车取消
  210. *
  211. * @param list
  212. * @return
  213. * @throws SQLException
  214. */
  215. public CoreReturnObject returnSHIPDIRCAR(ArrayList<String[]> list)
  216. throws SQLException {
  217. CoreReturnObject cro = new CoreReturnObject();
  218. String[] param = null;
  219. for (int i = 0; i < list.size(); i++) {
  220. param = (String[]) list.get(i);
  221. // 取消放入运输表的车厢号和排车顺序号,不能改变运输表的状态
  222. StringBuffer sqlBuffer = new StringBuffer();
  223. sqlBuffer.append("update tbj01_dliv_dir\n");
  224. sqlBuffer.append(" set \n");
  225. sqlBuffer.append(" ALLOC_SEQ = '',\n");
  226. sqlBuffer.append(" TRANS_CAR_NO = '',\n");
  227. sqlBuffer.append(" LANE_TP = '',\n");
  228. sqlBuffer.append(" ENTERANCE_SEQ = '' \n");
  229. sqlBuffer.append(" where DLIV_DIRNO = ? \n");
  230. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  231. new Object[] { param[0] });
  232. // 取消钢卷公共表中的车辆号,排车顺序号
  233. sqlBuffer = new StringBuffer();
  234. sqlBuffer.append(" update TBH02_COIL_COMM\n");
  235. sqlBuffer.append(" set \n");
  236. sqlBuffer.append(" TRAIN_STEP_NO = '',\n");
  237. sqlBuffer.append(" TRANS_CAR_NO = '',\n");
  238. sqlBuffer.append(" SHIP_PROG_CD = '03' \n");
  239. sqlBuffer.append(" where DLIV_DIRNO =?\n");
  240. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  241. new Object[] { param[0] });
  242. // 更新发货表状态标志
  243. sqlBuffer = new StringBuffer();
  244. sqlBuffer.append(" update tbj01_ship_dir\n");
  245. sqlBuffer.append(" set \n");
  246. sqlBuffer.append(" ship_prog_cd = '03' \n");
  247. sqlBuffer.append(" where ship_dirno =?\n");
  248. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  249. new Object[] { param[1] });
  250. }
  251. return cro;
  252. }
  253. /**
  254. * 汽车排车及装车指示,运送指示状态不由下车改变,下车只读运送指示表。发货指示状态由3改为4,不改变物料进度状态'SFB'(运送待机)
  255. * 这里需要判断同一发货指示下的运输指示是否全部发完,没有发完的情况下是不能改变发货指示状态的。
  256. *
  257. * @param list
  258. * @return
  259. * @throws SQLException
  260. */
  261. public CoreReturnObject saveSHIPDIRCAR(ArrayList<String[]> list)
  262. throws SQLException {
  263. CoreReturnObject cro = new CoreReturnObject();
  264. StringBuffer sqlBuffer = null;
  265. for (int i = 0; i < list.size(); i++) {
  266. // 判断是否全部选择的标志位
  267. boolean flag = true;
  268. String[] param = list.get(i);
  269. // 把车厢号和排车顺序号放入运输表,不改变运输表的状态
  270. sqlBuffer = new StringBuffer();
  271. sqlBuffer.append(" update tbj01_dliv_dir\n");
  272. sqlBuffer.append(" set \n");
  273. sqlBuffer.append(" ALLOC_SEQ = ?,\n");
  274. sqlBuffer.append(" TRANS_CAR_NO = ? \n");
  275. sqlBuffer.append(" where DLIV_DIRNO = ?\n");
  276. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  277. new Object[] { param[0], param[1], param[2] });
  278. // 更新钢卷公共表中的车辆号,排车顺序号
  279. sqlBuffer = new StringBuffer();
  280. sqlBuffer.append(" update TBH02_COIL_COMM\n");
  281. sqlBuffer.append(" set \n");
  282. sqlBuffer.append(" TRAIN_STEP_NO = ?,\n");
  283. sqlBuffer.append(" TRANS_CAR_NO = ?,\n");
  284. sqlBuffer.append(" SHIP_PROG_CD = '04'\n");
  285. sqlBuffer.append(" where DLIV_DIRNO =?\n");
  286. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  287. new Object[] { param[0], param[1], param[2] });
  288. // 查询钢卷公共表中的SHIP_PROG_CD状态
  289. sqlBuffer = new StringBuffer();
  290. sqlBuffer
  291. .append("select a.SHIP_PROG_CD from tbh02_coil_comm a where a.ship_dirno = '"
  292. + param[3] + "'\n");
  293. ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(
  294. sqlBuffer.toString());
  295. while (rs.next()) {
  296. String shipProgCd = rs.getString("SHIP_PROG_CD");
  297. if ("03".equals(shipProgCd)) {
  298. flag = false;
  299. break;
  300. }
  301. }
  302. // 更新发货表发货状态
  303. if (flag) {
  304. sqlBuffer = new StringBuffer();
  305. sqlBuffer.append(" update tbj01_ship_dir\n");
  306. sqlBuffer.append(" set \n");
  307. sqlBuffer.append(" ship_prog_cd = '04' \n");
  308. sqlBuffer.append(" where ship_dirno =?\n");
  309. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  310. new Object[] { param[3] });
  311. }
  312. }
  313. return cro;
  314. }
  315. /**
  316. * 确认排车操作
  317. *
  318. * @param regId
  319. * @param list
  320. * @return
  321. * @throws SQLException
  322. */
  323. public CoreReturnObject saveDLIVDIRCAR(String regId,
  324. ArrayList<String[]> list) throws SQLException {
  325. CoreReturnObject cro = new CoreReturnObject();
  326. String[] param = null;
  327. ArrayList<String> dlivDirNoList = new ArrayList<String>();
  328. StringBuffer sqlBuffer = null;
  329. // 根据运输指示号的个数来生成发货清单号
  330. for (int i = 0; i < list.size(); i++) {
  331. param = list.get(i);
  332. boolean flag = false;// 运输号是否重复标识
  333. for (int j = 0; j < dlivDirNoList.size(); j++) {
  334. if (param[2].equals(dlivDirNoList.get(i))) {
  335. flag = true;
  336. break;
  337. }
  338. }
  339. // 生成发货清单号
  340. if (!flag) {
  341. sqlBuffer = new StringBuffer();
  342. sqlBuffer.append("UPDATE TBJ01_DLIV_DIR\n");
  343. sqlBuffer
  344. .append(" SET INV_NO = (SELECT SUBSTRB(A.INV_NO,1,4)||TO_CHAR(TO_NUMBER(SUBSTRB(INV_NO,5,6)) + 1,'FM000000')\n");
  345. sqlBuffer
  346. .append(" FROM (SELECT ROW_NUMBER() OVER (ORDER BY NVL(INV_NO,'JB0-0000000') DESC) AS RN\n");
  347. sqlBuffer.append(" ,INV_DTIME\n");
  348. sqlBuffer.append(" ,INV_NO\n");
  349. sqlBuffer.append(" FROM TBJ01_DLIV_DIR \n");
  350. sqlBuffer.append(" WHERE INV_NO LIKE 'JB0%') A\n");
  351. sqlBuffer.append(" WHERE A.RN = 1) \n");
  352. sqlBuffer
  353. .append(" , INV_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')\n");
  354. sqlBuffer.append(" WHERE DLIV_DIRNO = ?\n");
  355. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  356. new Object[] { param[2] });
  357. }
  358. // 将发货清单号更新到钢卷公共表
  359. sqlBuffer = new StringBuffer();
  360. sqlBuffer
  361. .append("SELECT A.INV_NO FROM TBJ01_DLIV_DIR A WHERE A.DLIV_DIRNO = '"
  362. + param[2] + "'\n");
  363. ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(
  364. sqlBuffer.toString());
  365. if (rs.next()) {
  366. String invNo = rs.getString("INV_NO");
  367. sqlBuffer = new StringBuffer();
  368. sqlBuffer.append("update tbh02_coil_comm X SET \n");
  369. sqlBuffer.append(" X.SHIP_INVNO = ?\n");
  370. sqlBuffer.append(" WHERE X.DLIV_DIRNO = ?\n");
  371. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  372. new Object[] { invNo, param[2] });
  373. }
  374. // 根据钢卷号更新车厢号和排车顺序
  375. sqlBuffer = new StringBuffer();
  376. sqlBuffer.append("update TBH02_COIL_COMM\n");
  377. sqlBuffer.append(" set \n");
  378. sqlBuffer.append(" TRANS_CAR_NO = ?,\n");
  379. sqlBuffer.append(" TRAIN_STEP_NO = ?,\n");
  380. sqlBuffer.append(" DLIV_DIRNO = ?,\n");
  381. sqlBuffer.append(" SHIP_DIRNO = ?,\n");
  382. sqlBuffer.append(" ACT_WGT = ?,\n");
  383. sqlBuffer.append(" SHIP_PROG_CD = '06',\n");
  384. sqlBuffer.append(" CUR_LOAD_LOC = 'C' \n");
  385. sqlBuffer.append(" where OLD_SAMPL_NO =? \n");
  386. this.getDao("KgDao").ExcuteNonQuery(
  387. sqlBuffer.toString(),
  388. new Object[] { param[1], param[0], param[2], param[3],
  389. param[4], param[6] });
  390. // 清除垛位表钢卷信息
  391. sqlBuffer = new StringBuffer();
  392. sqlBuffer.append("update TBH05_COIL_YARD A SET \n");
  393. sqlBuffer.append(" A.COIL_NO = '',\n");
  394. sqlBuffer.append(" A.REG_ID = '',\n");
  395. sqlBuffer.append(" A.REG_DTIME = ''\n");
  396. sqlBuffer.append(" WHERE A.COIL_NO = ?\n");
  397. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  398. new Object[] { param[6] });
  399. flag = true;
  400. // 查询钢卷发运状态
  401. sqlBuffer = new StringBuffer();
  402. sqlBuffer
  403. .append("select a.SHIP_PROG_CD from tbh02_coil_comm a where a.ship_dirno = '"
  404. + param[3] + "'\n");
  405. rs = this.getDao("KgDao").ExceuteQueryForResultSet(
  406. sqlBuffer.toString());
  407. while (rs.next()) {
  408. String tmpShipProgCd = rs.getString("SHIP_PROG_CD");
  409. if ("03".equals(tmpShipProgCd) || "04".equals(tmpShipProgCd)) {
  410. flag = false;
  411. break;
  412. }
  413. }
  414. if (flag) {
  415. // 更新发运表发运状态
  416. sqlBuffer = new StringBuffer();
  417. sqlBuffer.append("update tbj01_ship_dir\n");
  418. sqlBuffer.append(" set \n");
  419. sqlBuffer.append(" ship_prog_cd = '05'\n");
  420. sqlBuffer.append(" where ship_dirno =?\n");
  421. this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
  422. new Object[] { param[3] });
  423. // 开具质保书
  424. String[] inparams = new String[] { param[3] };
  425. String sCRET_NO = "";
  426. String sRETURN_CD = "";
  427. String sRETURN_MSG = "";
  428. this.getDao("KgDao").ExcuteProcedure(
  429. "ExecuteProcedure_NIB029020", inparams,
  430. new String[] { sCRET_NO, sRETURN_CD, sRETURN_MSG });
  431. if ("YY".equals(sRETURN_CD)) {
  432. // SendProg_NIE012080();
  433. } else {
  434. // 这里出现的异常情况是板坯号与钢卷号不匹配
  435. cro.setV_errMsg("开具质保书失败,请联系管理员!");
  436. // 回滚
  437. this.getDao("KgDao").getConnection().rollback();
  438. }
  439. }
  440. }
  441. return cro;
  442. }
  443. public void SendProg_NIE012080() {
  444. }
  445. }