23e8ad266961ae7b30784f18c58ee0c134833bfd.svn-base 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package xin.glue.ui.J.J01;
  2. /*
  3. * desc:为火运的与装车处理,垛位移到预装垛位。记录移垛历史信息
  4. * author:唐亮 tangliang
  5. * date:2010-3-25
  6. */
  7. import java.io.ByteArrayOutputStream;
  8. import java.io.PrintStream;
  9. import java.sql.CallableStatement;
  10. import java.text.SimpleDateFormat;
  11. import java.util.Calendar;
  12. import org.apache.commons.lang.StringUtils;
  13. import com.posdata.glue.biz.activity.PosActivity;
  14. import com.posdata.glue.biz.constants.PosBizControlConstants;
  15. import com.posdata.glue.context.PosContext;
  16. import com.posdata.glue.dao.vo.PosParameter;
  17. import com.posdata.glue.dao.vo.PosRow;
  18. import com.posdata.glue.dao.vo.PosRowSet;
  19. public class saveYZCoil extends PosActivity{
  20. public String runActivity(PosContext context)
  21. {
  22. //获取行状态
  23. String[] rowStatus = (String[]) context.get("rowStatus");
  24. String[] CHK = (String[]) context.get("CHK");
  25. //卷号
  26. String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO");
  27. //现在位置
  28. String[] CUR_LOAD_LOC = (String[]) context.get("CUR_LOAD_LOC");
  29. String[] pDlivDirNo = (String[]) context.get("DLIV_DIRNO");
  30. String[] CARNO = (String[]) context.get("CARNO");
  31. String[] KZ_WGT = (String[]) context.get("KZ");
  32. String[] REG_ID = (String[]) context.get("REG_ID");
  33. for (int i = 0; i < rowStatus.length; i++){
  34. if(CHK[i] != null && CHK[i].equals("Y")){
  35. //清除公共表信息,把正式垛位改为预装垛位
  36. PosParameter param = new PosParameter();
  37. param.setWhereClauseParameter(0,CARNO[i]);
  38. param.setWhereClauseParameter(1,OLD_SAMPL_NO[i]);
  39. this.getDao("mesdao").update("FAHUO_03.select", param);
  40. //清除垛位表信息
  41. PosParameter param1 = new PosParameter();
  42. param1.setWhereClauseParameter(0,OLD_SAMPL_NO[i]);
  43. this.getDao("mesdao").update("FAHUO_04.select", param1);
  44. Number SEQ = null;
  45. int SEQ_1 = 0;
  46. // 记录库存移动的情况
  47. PosParameter param11 = new PosParameter();
  48. PosRowSet rows11 = getDao("mesdao").find("UIH050700_05.select", param11);
  49. if(rows11.hasNext()){
  50. PosRow row11 = rows11.next();
  51. SEQ = (Number) row11.getAttribute("ROLL_SEQ");
  52. if(null == SEQ){
  53. SEQ_1 = 1;
  54. }else{
  55. SEQ_1 = SEQ.intValue()+1;
  56. }
  57. //取出主键后,更新移动表
  58. PosParameter param4 = new PosParameter();
  59. param4.setValueParamter(0, new Integer(SEQ_1));
  60. param4.setValueParamter(1, CUR_LOAD_LOC[i]);
  61. param4.setValueParamter(2, "YZ");
  62. param4.setValueParamter(3, OLD_SAMPL_NO[i]);
  63. param4.setValueParamter(4, "");
  64. param4.setValueParamter(5, "");
  65. param4.setValueParamter(6, "");
  66. param4.setValueParamter(7, "");
  67. param4.setValueParamter(8, REG_ID[0]);
  68. getDao("mesdao").insert("UIH050700_01.insert", param4);
  69. saveXgcxTable( pDlivDirNo[i],CARNO[i]) ;//pc要求火车预装车时候发送预报 20211011
  70. CallableStatement cstm = null;
  71. try {
  72. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  73. String trnFTime = "";
  74. if(StringUtils.isEmpty(trnFTime) || "-".equals(trnFTime))
  75. trnFTime = sdf.format(Calendar.getInstance().getTime());
  76. cstm = getDao("mesdao").getCallableStatement("UIJ010060_04.CALL");
  77. cstm.setString(1, "1");
  78. cstm.setString(2,OLD_SAMPL_NO[i]);
  79. cstm.setString(3, pDlivDirNo[i]);
  80. cstm.setString(4, "");
  81. cstm.setString(5, CARNO[i]);
  82. cstm.setString(6, "");
  83. cstm.setString(7, trnFTime);
  84. cstm.setString(8, KZ_WGT[i]);
  85. cstm.setString(9, "0");
  86. cstm.setString(10, "H");
  87. cstm.setString(11, REG_ID[0]);
  88. cstm.execute();
  89. logger.logInfo(pDlivDirNo[i] + "明细数据发送到铁前数据库成功执行UIJ010060_01.CALL-------------------");
  90. } catch (Exception ex) {
  91. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  92. ex.printStackTrace(new PrintStream(baos));
  93. String exception = baos.toString();
  94. String errStr = "\n异常原因:" + exception;
  95. logger.logInfo(pDlivDirNo[i] + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL;" + errStr);
  96. }
  97. if (cstm != null) {
  98. try {
  99. cstm.close();
  100. } catch (Exception e) {
  101. }
  102. }
  103. }
  104. }
  105. }
  106. return PosBizControlConstants.SUCCESS;
  107. }
  108. public void saveXgcxTable(String pDlivDirNo,String TRANS_CAR_NO) {
  109. int iCnt = 0;
  110. CallableStatement cstm = null;
  111. try {
  112. cstm = getDao("mesdao").getCallableStatement("UIJ010060_01.CALL");
  113. cstm.setString(1, "1");
  114. cstm.setString(2, pDlivDirNo);
  115. cstm.setString(3, TRANS_CAR_NO);
  116. cstm.setString(4, "");
  117. cstm.setString(5, "");
  118. cstm.setString(6, "1");
  119. cstm.setString(7, "");
  120. cstm.setString(8, "");
  121. cstm.setString(9, "4001RZ1");
  122. cstm.setString(10, "热轧线");
  123. cstm.execute();
  124. logger.logInfo(pDlivDirNo + "明细数据发送到铁前数据库成功执行UIJ010060_01.CALL-------------------");
  125. } catch (Exception ex) {
  126. //System.out.println(pDlivDirNo[i] + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL**********");
  127. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  128. ex.printStackTrace(new PrintStream(baos));
  129. String exception = baos.toString();
  130. String errStr = "\n异常原因:" + exception;
  131. logger.logInfo(pDlivDirNo + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL;" + errStr);
  132. //ex.printStackTrace();
  133. }
  134. if (cstm != null) {
  135. try {
  136. cstm.close();
  137. } catch (Exception e) {
  138. }
  139. }
  140. }
  141. }