3ae6641f2c959bd9aadf06b1f93a0f54e2cc54c5.svn-base 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package UIM;
  2. import java.sql.PreparedStatement;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.util.List;
  6. import com.sun.corba.se.pept.transport.Connection;
  7. import CoreFS.SA01.CoreIComponent;
  8. import CoreFS.SA06.CoreReturnObject;
  9. public class UIM010130 extends CoreIComponent {
  10. /**
  11. * 中间库外购卷入库
  12. * @param coilNo 钢卷号
  13. * @param yardAddr 垛位
  14. * @param entryShift 入库班次
  15. * @param entryGroup 入库班组
  16. * @param entryDtime 入库时间
  17. * @param reg_id 操作人
  18. * @param element 成份信息
  19. * @param performance 性能信息
  20. * @return CoreReturnObject
  21. * @throws SQLException
  22. */
  23. public CoreReturnObject saveCoilYard(String coilNo,String yardAddr,String entryShift,
  24. String entryGroup,String entryDtime,String reg_id,String element,String performance) throws SQLException
  25. {
  26. CoreReturnObject cro = new CoreReturnObject();
  27. //查询钢卷入库信息
  28. String sqlEntry = "select COIL_NO from c_tbl02_coil_comm where OLD_SAMPL_NO = ? AND COIL_STAT = '2'";
  29. List listEntry = this.getDao("KgDao").ExcuteQueryReturnList(sqlEntry,new Object[]{coilNo});
  30. if(listEntry.size() < 1){
  31. cro.setV_errCode(new Integer(1));
  32. cro.setV_errMsg("此钢卷没有轧制完成,或者已经出库!");
  33. }
  34. else{
  35. //查询钢卷出库信息
  36. String sqlOut = "select COIL_NO from c_tbk08_coil_yard where COIL_NO = ?";
  37. List listOut = this.getDao("KgDao").ExcuteQueryReturnList(sqlOut, new Object[]{coilNo});
  38. if(listOut.size() > 0){
  39. cro.setV_errCode(new Integer(2));
  40. cro.setV_errMsg("此钢卷已在垛位中存在!");
  41. }
  42. else{
  43. //将入库操作信息和垛位信息加入冷轧原料公共表
  44. String sqlucomm = "update c_tbl02_coil_comm set CUR_LOAD_LOC = ?," +
  45. " CUR_LOAD_LOC_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')," +
  46. " YARD_ENTRY_SHIFT = ?, YARD_ENTRY_GROUP = ?, YARD_ENTRY_REG = ?," +
  47. " YARD_ENTRY_DTIME = ?, " +
  48. " YARD_ENTRY_USE_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')" +
  49. " where OLD_SAMPL_NO = ?";
  50. this.getDao("KgDao").ExcuteNonQuery(sqlucomm,
  51. new Object[]{yardAddr,entryShift,entryGroup,reg_id,entryDtime,coilNo});
  52. //将钢卷信息加入垛位表
  53. String sqluyard = "update c_tbk08_coil_yard set COIL_NO = ?, " +
  54. "MOD_ID = ?, MOD_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')" +
  55. " where CLF_NAME = substr(?,0,5) and CLF_ROW = substr(?,6,2)" +
  56. " and CLF_COL = substr(?,8,1) and CLF_FL = substr(?,9,1)";
  57. this.getDao("KgDao").ExcuteNonQuery(sqluyard,
  58. new Object[]{coilNo,reg_id,yardAddr,yardAddr,yardAddr,yardAddr});
  59. //入库完成后将入库记录加入移垛记录,便于跟踪钢卷移动记录
  60. long seq = 0;//移垛记录表主键
  61. String sqlqmaxseq = "select max(ROLL_SEQ) ROLL_SEQ from c_tbk08_coil_move";
  62. PreparedStatement pSta = this.getDao("KgDao").getPreparedStatement(sqlqmaxseq);
  63. ResultSet rs = pSta.executeQuery();
  64. java.sql.Connection con = pSta.getConnection();
  65. if(rs.next()){
  66. seq = rs.getLong("ROLL_SEQ");
  67. }
  68. try{
  69. rs.close(); //添加了关闭连接
  70. pSta.close(); //添加了关闭连接
  71. con.close();
  72. } catch (Exception e) {
  73. }
  74. String sqlimove = "insert into c_tbk08_coil_move T(T.ROLL_SEQ,T.CUR_LOAD_LOC_F,T.CUR_LOAD_LOC_T,T.COIL_NO,T.REG_ID,T.REG_SHIFT,T.REG_GROUP,T.REG_DTIME,T.REG_USE_ID,T.REG_USE_DTIME)VALUES(?,?,?,?,?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))";
  75. this.getDao("KgDao").ExcuteNonQuery(sqlimove, new Object[]{seq,"",yardAddr,coilNo,reg_id,entryShift,entryGroup,entryDtime,reg_id});
  76. //录入钢卷成份信息和性能信息
  77. String []eleArray = element.split("\\|");
  78. String []pfmArray = performance.split("\\|");
  79. //成份信息
  80. String chargeNo = eleArray[0];//炉号
  81. String procCd = eleArray[1];//工序
  82. String chemSeq = eleArray[2];//次数
  83. String chemCd = eleArray[3];//元素名
  84. String chemVar = eleArray[4];//实际值
  85. String imgrRmk = "";//备注
  86. if(eleArray.length > 5){
  87. imgrRmk = eleArray[5];
  88. }
  89. //性能信息
  90. }
  91. }
  92. return cro;
  93. }
  94. }