54773889cdc19cb67ff53fb65051556ba6f9ea7a.svn-base 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package xin.glue.nui.B.B02;
  2. import java.sql.CallableStatement;
  3. import com.posdata.glue.biz.activity.PosActivity;
  4. import com.posdata.glue.biz.constants.PosBizControlConstants;
  5. import com.posdata.glue.context.PosContext;
  6. import com.posdata.glue.dao.vo.PosParameter;
  7. import com.posdata.glue.dao.vo.PosRow;
  8. import com.posdata.glue.dao.vo.PosRowSet;
  9. import com.posdata.glue.msg.PosMessage;
  10. public class XinSaveL2INGR extends PosActivity
  11. {
  12. private PosParameter param;
  13. private PosMessage message;
  14. private String CHEM_CD;
  15. private String CHEM_VAL_WK;
  16. private PosRowSet rowset;
  17. private PosRow row;
  18. private CallableStatement cstm;
  19. private String CHEM_SEQ;
  20. private String PROC_CD;
  21. private String TRAN_DTIME;
  22. public XinSaveL2INGR()
  23. {
  24. param = null;
  25. message = null;
  26. CHEM_CD = null;
  27. CHEM_VAL_WK = null;
  28. rowset = null;
  29. row = null;
  30. cstm = null;
  31. CHEM_SEQ = null;
  32. PROC_CD = null;
  33. TRAN_DTIME = null;
  34. }
  35. public String runActivity(PosContext context)
  36. {
  37. String CHARGE_NO = "";
  38. try
  39. {
  40. message = context.getMessage();
  41. cstm = this.getDao("mesdao").getCallableStatement("NIB027080_01.CALL");
  42. CHARGE_NO = (String)message.get("CHARGE_NO"); //炉号,已带A
  43. PROC_CD = (String)message.get("PROC_CD");//工序
  44. CHEM_SEQ = (String)message.get("CHEM_SEQ");//次数
  45. TRAN_DTIME = (String)message.get("DATE");//日期
  46. param = new PosParameter();
  47. param.setWhereClauseParameter(0, TRAN_DTIME);
  48. rowset = this.getDao("mesdao").find("NIB027080_01.SELECT" , param);
  49. String EXTRA_INFO = "";//L2对应的工序,如CP,YCP
  50. if(rowset.hasNext())
  51. {
  52. row = rowset.next();
  53. EXTRA_INFO = (String)row.getAttribute("EXTRA_INFO");
  54. if("YC".equals(EXTRA_INFO.substring(0, 2)))
  55. {
  56. CHARGE_NO = CHARGE_NO+EXTRA_INFO.substring(3, 6);
  57. PROC_CD = "SL";
  58. }
  59. }
  60. int j = 1;
  61. for(int i=1;i<=35;i++)
  62. {
  63. CHEM_CD = (String)message.get("CHEM_CD"+Integer.toString(i));
  64. CHEM_VAL_WK = message.get("CHEM_VAL_WK"+Integer.toString(i)).toString();
  65. if("AlS".equals(CHEM_CD.trim()))//对应L2发送过来的是AlSol
  66. {
  67. CHEM_CD = "Als";
  68. }
  69. else if("Al".equals(CHEM_CD.trim()))//L2发送过来的Al,转换成MES中的Alt
  70. {
  71. CHEM_CD = "Alt";
  72. }
  73. j = 1;
  74. cstm.setString(j++, CHARGE_NO);
  75. cstm.setString(j++, PROC_CD);
  76. cstm.setString(j++, CHEM_SEQ);
  77. cstm.setString(j++, CHEM_CD);
  78. cstm.setString(j++, CHEM_VAL_WK);
  79. cstm.setString(j++, EXTRA_INFO);//L2发送过来的工序代码
  80. cstm.setInt(j++, i);
  81. cstm.registerOutParameter(j++, java.sql.Types.VARCHAR);
  82. cstm.execute();
  83. }
  84. }
  85. catch(Exception ex)
  86. {
  87. ex.printStackTrace();
  88. }
  89. finally
  90. {
  91. try
  92. {
  93. if(cstm != null)
  94. {
  95. cstm.close();
  96. }
  97. }
  98. catch (Exception ex)
  99. {
  100. logger.logFatal("Can not Close CallableStatement Query ID [callTest]",ex);
  101. }
  102. }
  103. return PosBizControlConstants.SUCCESS;
  104. }
  105. }