5b908c6271754ecec9112cf1df4be8e755d16aae.svn-base 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package UIM;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.util.List;
  7. import java.util.Map;
  8. import CoreFS.SA01.CoreIComponent;
  9. import CoreFS.SA06.CoreReturnObject;
  10. import UIB.COM.XmlSqlParsersFactory;
  11. public class UIM010360 extends CoreIComponent{
  12. public CoreReturnObject query(String productTime,String coilNo) throws SQLException
  13. {
  14. String sql = XmlSqlParsersFactory.getSql("UIM010360_01.SELECT");
  15. return this.getDao("KgDao").ExcuteQuery(sql, new Object[]{productTime,coilNo});
  16. }
  17. // public CoreReturnObject selectCoilYard(String yardAddr) throws SQLException {
  18. // String sqlQuery = "select coil_no from c_tbk08_coil_yard where clf_no = C_PKG_UIM.GET_MIDDLEYARDNO_BYYARDFLAG(?)";
  19. //
  20. // return this.getDao("KgDao").ExcuteQuery(sqlQuery,
  21. // new Object[] { yardAddr });
  22. //
  23. // }
  24. //
  25. public CoreReturnObject saveCoilYard(String coilNo,String yardAddr,String entryShift,
  26. String entryGroup,String entryDtime,String reg_id) throws SQLException
  27. {
  28. CoreReturnObject cro = new CoreReturnObject();
  29. Connection con=null;
  30. //判断垛位是否存在
  31. String sqlYard = "select 1 from c_tbk08_coil_yard t where t.clf_no = C_PKG_UIM.GET_MIDDLEYARDNO_BYYARDFLAG(?)";
  32. List yardList = this.getDao("KgDao").ExcuteQueryReturnList(sqlYard, new Object[]{yardAddr});
  33. if(yardList.size() >0){
  34. //查询钢卷入库信息
  35. String sqlEntry = "select COIL_NO from c_tbl02_coil_comm where OLD_SAMPL_NO = ? AND COIL_STAT = '2'";
  36. List listEntry = this.getDao("KgDao").ExcuteQueryReturnList(sqlEntry,new Object[]{coilNo});
  37. if(listEntry.size() == 0){
  38. cro.setV_errCode(new Integer(1));
  39. cro.setV_errMsg("此钢卷没有轧制完成,或者已经出库!");
  40. }
  41. else{
  42. //查询钢卷出库信息
  43. String sqlOut = "select CUR_LOAD_LOC from c_tbl02_coil_comm where OLD_SAMPL_NO = ?";
  44. List listOut = this.getDao("KgDao").ExcuteQueryReturnList(sqlOut, new Object[]{coilNo});
  45. //查询垛位是否存在钢卷
  46. String sqlOut1 = "select OLD_SAMPL_NO from c_tbl02_coil_comm where CUR_LOAD_LOC = ?";
  47. List listOut1 = this.getDao("KgDao").ExcuteQueryReturnList(sqlOut1, new Object[]{yardAddr});
  48. if(listOut.size() > 0 && !Tools.isEmpty(((Map)(listOut.get(0))).get("CUR_LOAD_LOC")))
  49. {
  50. cro.setV_errCode(new Integer(2));
  51. cro.setV_errMsg("此钢卷已在垛位中存在!");
  52. }
  53. if(listOut1.size() > 0 && !Tools.isEmpty(((Map)(listOut1.get(0))).get("OLD_SAMPL_NO")))
  54. {
  55. cro.setV_errCode(new Integer(1));
  56. cro.setV_errMsg("此垛位已有钢卷存在!");
  57. }
  58. else{
  59. //将入库操作信息和垛位信息加入冷轧成品公共表
  60. String sqlucomm = "update c_tbl02_coil_comm set CUR_LOAD_LOC = ?," +
  61. " CUR_LOAD_LOC_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')," +
  62. " YARD_ENTRY_SHIFT = ?, YARD_ENTRY_GROUP = ?, YARD_ENTRY_REG = ?," +
  63. " YARD_ENTRY_DTIME = ?, " +
  64. " YARD_ENTRY_USE_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')" +
  65. " where OLD_SAMPL_NO = ?";
  66. this.getDao("KgDao").ExcuteNonQuery(sqlucomm,
  67. new Object[]{yardAddr,entryShift,entryGroup,reg_id,entryDtime,coilNo});
  68. //将钢卷信息加入垛位表
  69. long seq = 0;//移垛记录表主键
  70. String sqlqmaxseq ="select max(ROLL_SEQ) ROLL_SEQ from c_tbk08_coil_move";
  71. PreparedStatement pSta = this.getDao("KgDao").getPreparedStatement(sqlqmaxseq);
  72. ResultSet rs = pSta.executeQuery();
  73. con=pSta.getConnection();
  74. if(rs.next()){
  75. seq = rs.getLong("ROLL_SEQ")+1;
  76. }
  77. rs.close();
  78. pSta.close();
  79. con.close();
  80. // 入库类型
  81. String inType = "";
  82. String sqlType = "select T.IN_YARD_KIND from C_TBl02_COIL_COMM T where T.OLD_SAMPL_NO = ?";
  83. pSta = this.getDao("KgDao").getPreparedStatement(
  84. sqlType);
  85. pSta.setString(1, coilNo);
  86. rs = pSta.executeQuery();
  87. con=pSta.getConnection();
  88. if (rs.next()) {
  89. inType = rs.getString("IN_YARD_KIND");
  90. }
  91. rs.close();
  92. pSta.close();
  93. con.close();
  94. 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,MOVE_TYPE)" +
  95. "VALUES(?,?,?,?,?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),decode(?,'1','02','2','02','3','05','4','05','5','04','6','04','7','04'))";
  96. this.getDao("KgDao").ExcuteNonQuery(sqlimove, new Object[]{seq,"",yardAddr,coilNo,reg_id,entryShift,entryGroup,entryDtime,reg_id,inType});
  97. }
  98. }
  99. }
  100. else{
  101. cro.setV_errCode(new Integer(3));
  102. cro.setV_errMsg("垛位不存在!");
  103. }
  104. return cro;
  105. }
  106. }