220b8b79d8be5bc791eb030c52f66428bdf78398.svn-base 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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.Iterator;
  7. import java.util.List;
  8. import java.util.Map;
  9. import CoreFS.SA01.CoreIComponent;
  10. import CoreFS.SA06.CoreReturnObject;
  11. /**
  12. * 成品库移垛操作
  13. *
  14. * @author FLZ
  15. * @date 2011-08-31
  16. */
  17. public class UIM010250 extends CoreIComponent {
  18. /**
  19. * 查询传位置上的钢卷
  20. *
  21. * @param yard
  22. * 垛位
  23. * @return CoreReturnObject
  24. * @throws SQLException
  25. */
  26. public CoreReturnObject queryCoilNo(String yard)throws Exception
  27. {
  28. CoreReturnObject cro = new CoreReturnObject();
  29. StringBuffer sqlBuffer = new StringBuffer();
  30. sqlBuffer.append("SELECT A.OLD_SAMPL_NO COIL_NO, A.CUR_LOAD_LOC \n");
  31. sqlBuffer.append(" FROM C_TBC02_COIL_COMM A \n");
  32. sqlBuffer.append(" WHERE c_Pkg_Uim.GET_FINALYARDNO_BYYARDFLAG(A.CUR_LOAD_LOC) = c_Pkg_Uim.GET_FINALYARDNO_BYYARDFLAG(?) AND A.CUR_LOAD_LOC IS NOT NULL\n");
  33. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  34. new Object[] { yard });
  35. return cro;
  36. }
  37. /**
  38. * 查询钢卷的现在的垛位
  39. *
  40. * @param coilNo
  41. * 钢卷号
  42. * @return CoreReturnObject
  43. * @throws SQLException
  44. */
  45. public CoreReturnObject queryLoadLoc(String coilNo)throws Exception
  46. {
  47. CoreReturnObject cro = new CoreReturnObject();
  48. StringBuffer sqlBuffer = new StringBuffer();
  49. sqlBuffer.append("SELECT DECODE(A.CUR_LOAD_LOC, '', '无垛位', A.CUR_LOAD_LOC, A.CUR_LOAD_LOC) CUR_LOAD_LOC, \n");
  50. sqlBuffer.append("DECODE(A.COIL_STAT,'1','未入库','2','在库','3','出库/结束',null) COIL_STAT \n");
  51. sqlBuffer.append(" FROM C_TBC02_COIL_COMM A \n");
  52. sqlBuffer.append(" WHERE A.OLD_SAMPL_NO = ? \n");
  53. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  54. new Object[] { coilNo });
  55. return cro;
  56. }
  57. /**
  58. * 查询钢卷的移垛记录
  59. *
  60. * @param coilNo
  61. * 钢卷号
  62. * @return CoreReturnObject
  63. * @throws SQLException
  64. */
  65. public CoreReturnObject queryCoilNoLOG(String coilNo)throws Exception
  66. {
  67. CoreReturnObject cro = new CoreReturnObject();
  68. StringBuffer sqlBuffer = new StringBuffer();
  69. sqlBuffer.append("SELECT A.CUR_LOAD_LOC_F, A.CUR_LOAD_LOC_T, A.CR_NO, A.REG_DTIME, \n");
  70. sqlBuffer.append(" (SELECT U.USERNAME FROM CORE_APP_USER U WHERE U.USERID = A.REG_ID) REG_ID, \n");
  71. sqlBuffer.append(" DECODE(A.REG_SHIFT,'0','常白班','1','早班','2','中班','3','晚班') REG_SHIFT, \n");
  72. sqlBuffer.append(" DECODE(A.REG_GROUP,'0','常白班','1','甲班','2','乙班','3','丙班','4','丁班') REG_GROUP, \n");
  73. sqlBuffer.append(" (SELECT U.USERNAME FROM CORE_APP_USER U WHERE U.USERID = A.REG_USE_ID) REG_USE_ID, \n");
  74. sqlBuffer.append(" A.REG_USE_DTIME \n");
  75. sqlBuffer.append(" FROM C_TBK08_COIL_MOVE A \n");
  76. sqlBuffer.append(" WHERE A.COIL_NO = ? order by A.REG_USE_DTIME DESC\n");
  77. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  78. new Object[] { coilNo });
  79. return cro;
  80. }
  81. /**
  82. * 移垛
  83. *
  84. * @param coilNo
  85. * 钢卷号组
  86. * @return CoreReturnObject
  87. * @throws SQLException
  88. */
  89. public CoreReturnObject moveYard(String[] coilNo,String yardNOW,String yardTO,String regID,String regShift,String regGroup)throws Exception
  90. {
  91. //更新公共表
  92. CoreReturnObject cro1 = new CoreReturnObject();
  93. String sql1 = "UPDATE C_TBC02_COIL_COMM A \n SET A.CUR_LOAD_LOC = ? \n" +
  94. ",A.CUR_LOAD_LOC_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') \n" +
  95. " WHERE A.OLD_SAMPL_NO = ? \n";
  96. Object[] obj1 = new Object[coilNo.length + 1];
  97. obj1[0] = yardTO;
  98. obj1[1] = coilNo[0];
  99. for(int i = 1;i < coilNo.length;i++)
  100. {
  101. sql1 += "OR A.OLD_SAMPL_NO = ? \n";
  102. obj1[i+1] = coilNo[i];
  103. }
  104. //sql1 += "; COMMIT \n";
  105. cro1 = this.getDao("KgDao").ExcuteNonQuery(sql1,obj1);
  106. //添加移垛记录
  107. CoreReturnObject cro2 = new CoreReturnObject();
  108. String sql2 = "INSERT INTO C_TBK08_COIL_MOVE (ROLL_SEQ,CUR_LOAD_LOC_F,CUR_LOAD_LOC_T,COIL_NO,REG_USE_ID,REG_ID" +
  109. ",REG_SHIFT,REG_GROUP,REG_DTIME,REG_USE_DTIME,MOVE_TYPE)" +
  110. "VALUES" +
  111. "\n((SELECT MAX(ROLL_SEQ)+1 ROLL_SEQ FROM C_TBK08_COIL_MOVE)" + //主键 ROLL_SEQ
  112. ",'" + yardNOW + //CUR_LOAD_LOC_F
  113. "','" + yardTO + //CUR_LOAD_LOC_T
  114. "',?" + //COIL_NO
  115. ",'" + regID + //REG_USE_ID
  116. "','" + regID + //REG_ID
  117. "','" + regShift + //REG_SHIFT
  118. "','" + regGroup + //REG_GROUP
  119. "',TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')" + //REG_DTIME
  120. ",TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),'00')";//REG_USE_DTIME
  121. for(int i = 0;i<coilNo.length;i++)
  122. {
  123. cro2 = this.getDao("KgDao").ExcuteNonQuery(sql2,new Object[]{coilNo[i]});
  124. }
  125. //sqlBuffer.append("; COMMIT \n");
  126. // if(cro1.getV_errCode() != 1 || cro2.getV_errCode() != 1)
  127. // {
  128. // cro2.setV_errMsg("fall to move! Querry again.");
  129. // }
  130. return cro2;
  131. }
  132. //垛位表查询 返回区域垛位情况
  133. public CoreReturnObject queryLoad(String kuNo,String areaNoMin,String areaNoMax)throws Exception
  134. {
  135. CoreReturnObject cro = new CoreReturnObject();
  136. StringBuffer sqlBuffer = new StringBuffer();
  137. sqlBuffer.append("select decode(y.AREA_NO,'10','3','11','4','12','5')||'-'||trim(to_char(y.CLF_COL,'00'))||decode(y.CLF_FL,1,'A',2,'B',3,'C')||'-'||trim(to_char(y.CLF_ROW,'000')) cur_load_loc, k.OLD_SAMPL_NO COIL_NO \n");
  138. sqlBuffer.append("from c_tbk08_coil_yard y,c_tbc02_coil_comm k \n");
  139. sqlBuffer.append("where decode(y.AREA_NO,'10','3','11','4','12','5')||'-'||trim(to_char(y.CLF_COL,'00'))||decode(y.CLF_FL,1,'A',2,'B',3,'C')||'-'||trim(to_char(y.CLF_ROW,'000')) = k.CUR_LOAD_LOC(+) \n");
  140. sqlBuffer.append("and y.CLF_ROW >= " +areaNoMin + " \n");
  141. sqlBuffer.append("and y.CLF_ROW <= " +areaNoMax + " \n");
  142. sqlBuffer.append("and decode(y.AREA_NO,'10','3','11','4','12','5') = '" +kuNo + "' \n");
  143. sqlBuffer.append("order by y.CLF_COL,y.CLF_ROW,y.CLF_FL");
  144. cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
  145. new Object[] { });
  146. return cro;
  147. }
  148. }