430cac750eb6c1dc221a4d167b5bd3365e8f02b0.svn-base 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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.List;
  7. import CoreFS.SA01.CoreIComponent;
  8. import CoreFS.SA06.CoreReturnObject;
  9. /**
  10. * 冷轧中间库库存数据查询
  11. *
  12. * @author siy
  13. * @date 2010-08-19
  14. */
  15. public class UIM010170 extends CoreIComponent {
  16. /**
  17. * 查询连退计划
  18. *
  19. * @param ordNo
  20. * 合同号
  21. * @param ordSeq
  22. * 订单号
  23. * @param coilNo
  24. * 热轧卷号
  25. * @return CoreReturnObject
  26. * @throws SQLException
  27. */
  28. public CoreReturnObject queryMillPlan(String coilNo) throws SQLException {
  29. CoreReturnObject cro = new CoreReturnObject();
  30. StringBuffer sqlBuffer = new StringBuffer();
  31. sqlBuffer.append("SELECT \n");
  32. sqlBuffer.append("a.ROLL_MANA_NO --轧制单元号\n");
  33. sqlBuffer.append(",a.ROLL_COIL_SEQ --单元内序号\n");
  34. sqlBuffer.append(",a.COIL_EDT_SEQ --轧制序号\n");
  35. sqlBuffer.append(",a.C_COIL_NO --冷卷号 \n");
  36. sqlBuffer.append(",a.COIL_NO --热卷号 \n");
  37. sqlBuffer.append(",a.SPEC_STL_GRD --酸轧牌号 \n");
  38. sqlBuffer.append(",a.STL_GRD --热轧牌号 \n");
  39. sqlBuffer.append(",a.STL_GRP_CD --钢号组 \n");
  40. sqlBuffer.append(",a.COIL_THK --热卷厚度 \n");
  41. sqlBuffer.append(",a.COIL_WTH --热卷宽度 \n");
  42. sqlBuffer.append(",a.COIL_WGT --热卷重量 \n");
  43. sqlBuffer.append(",b.CUR_LOAD_LOC --堆放位置 \n");
  44. sqlBuffer.append(",a.ORD_NO --合同号 \n");
  45. sqlBuffer.append(",a.ORD_SEQ --订单号 \n");
  46. sqlBuffer.append(",a.ORD_THK --订单厚度 \n");
  47. sqlBuffer.append(",a.ORD_WTH --订单宽度 \n");
  48. sqlBuffer.append(",a.ORD_WGT --订单重量 \n");
  49. sqlBuffer.append(",a.ORD_WGT_MIN --订单下限 \n");
  50. sqlBuffer.append(",a.ORD_WGT_MAX --订单上限 \n");
  51. sqlBuffer.append(",a.ORD_INDIA --订单内径 \n");
  52. sqlBuffer.append(",a.ORD_OUTDIA --订单外径 \n");
  53. sqlBuffer.append("FROM c_tbf03_spec_mill a, \n");
  54. sqlBuffer.append("c_tbk02_coil_comm b \n");
  55. sqlBuffer.append("WHERE a.COIL_NO = b.COIL_NO \n");
  56. sqlBuffer.append("and a.STATUS_CD = 'A' \n");
  57. sqlBuffer.append("and b.COIL_NO like ?||'%' \n");
  58. sqlBuffer.append("ORDER BY a.ROLL_MANA_NO,a.ROLL_COIL_SEQ \n");
  59. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  60. new Object[] { coilNo });
  61. return cro;
  62. }
  63. /**
  64. * 查询退废出库卷信息
  65. *
  66. * @param coilNo
  67. * 冷轧卷号
  68. * @return CoreReturnObject
  69. */
  70. public CoreReturnObject queryOutCoil(String coilNo) throws SQLException {
  71. CoreReturnObject cro = new CoreReturnObject();
  72. StringBuffer sqlBuffer = new StringBuffer();
  73. sqlBuffer.append("select COIL_NO,SPEC_STL_GRD STL_GRD,COIL_THK,\n");
  74. sqlBuffer
  75. .append("COIL_WTH,ACT_WGT COIL_WGT,CUR_LOAD_LOC,ORD_NO,ORD_SEQ \n");
  76. sqlBuffer.append("from c_tbm02_coil_comm where COIL_NO like ?||'%'\n");
  77. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  78. new Object[] { coilNo });
  79. return cro;
  80. }
  81. /**
  82. * 中间库出库
  83. *
  84. * @param outType
  85. * 出库类型
  86. * @param coilNo
  87. * 钢卷号
  88. * @param regId
  89. * 操作人
  90. * @param trnfShift
  91. * 出库班次
  92. * @param trnfGroup
  93. * 出库班组
  94. * @param trnfTime
  95. * 出库时间
  96. * @return CoreReturnObject
  97. */
  98. public CoreReturnObject saveCoilOut(Integer outType, String coilNo,
  99. String regId, String trnfShift, String trnfGroup, String trnfTime,
  100. String trnfRemark) throws SQLException {
  101. CoreReturnObject cro = new CoreReturnObject();
  102. // 清除原料库垛位表钢卷信息并将原料公共表钢卷垛位信息置为出库
  103. boolean crs = cleanCoil(outType.intValue(), coilNo, regId, trnfShift,
  104. trnfGroup, trnfTime, trnfRemark);
  105. if (crs) {
  106. // 如果是退回出库,将热轧公共表钢卷数据改为可入库
  107. if (3 == outType.intValue()) {
  108. }
  109. // 修改进程、计划
  110. }
  111. return cro;
  112. }
  113. /**
  114. * 清空钢卷库存信息
  115. *
  116. * @param outType
  117. * 出库类型
  118. * @param coilNo
  119. * 钢卷号
  120. * @param regId
  121. * 出库人
  122. * @param trnfShift
  123. * 出库班次
  124. * @param trnfGroup
  125. * 出库班组
  126. * @param tranTime
  127. * 出库时间
  128. * @return boolean
  129. */
  130. private boolean cleanCoil(int outType, String coilNo, String regId,
  131. String trnfShift, String trnfGroup, String trnfTime,
  132. String trnfRemark) throws SQLException {
  133. // 根据钢卷号查询垛位编号
  134. String sql1 = "select clf_no from c_tbk08_coil_yard where coil_no = '"
  135. + coilNo + "'";
  136. ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(sql1);
  137. long yardNo = 0;
  138. // 如果钢卷在原料库中,查询出相应的垛位编号
  139. if (rs.next()) {
  140. yardNo = Long.parseLong(rs.getObject("clf_no").toString());
  141. } else {
  142. return false;
  143. }
  144. //20131014系统连接异常优化
  145. this.getDao("KgDao").closeRs(rs);
  146. // 根据垛位编号清除钢卷信息
  147. String sql2 = "update c_tbk08_coil_yard set coil_no = '' where clf_no = ?";
  148. this.getDao("KgDao").ExcuteNonQuery(sql2, new Object[] { yardNo });
  149. // 修改原料公共表钢卷操作信息
  150. StringBuffer sql3 = new StringBuffer();
  151. sql3.append("update c_tbk02_coil_comm set \n");
  152. sql3.append("coil_stat = '3', --进程状态\n");
  153. // 如果是上料出库,更新物料进程代码为酸轧卷取待机,如果是退废或退回出库,不处理
  154. switch (outType) {
  155. case 1:
  156. sql3.append("cur_prog_cd = 'PCC', --物料进程代码\n");
  157. break;
  158. case 2:
  159. trnfRemark = "退废";
  160. break;
  161. case 3:
  162. trnfRemark = "退回";
  163. break;
  164. }
  165. sql3.append("trnf_reg = :1, --出库人\n");
  166. sql3.append("trnf_shift=:2, --出库班次\n");
  167. sql3.append("trnf_group=:3, --出库班组\n");
  168. sql3
  169. .append("trnf_use_time=TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD'), --出库操作时间\n");
  170. sql3.append("trnf_dtime=:4, --出库时间\n");
  171. sql3.append("trnf_remark=:5 --出库备注\n");
  172. sql3.append("where coil_no = :6 --钢卷号\n");
  173. this.getDao("KgDao").ExcuteNonQuery(
  174. sql3.toString(),
  175. new Object[] { regId, trnfShift, trnfGroup, trnfTime, coilNo,
  176. trnfRemark });
  177. return true;
  178. }
  179. }