20d2255a25e85eec0f5e8067f46ed6fe33533a8d.svn-base 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package xin.glue.nui.G.G02;
  2. import java.math.BigDecimal;
  3. import xin.glue.ui.common.PosMessageInfo;
  4. import xin.glue.user.common.GlobalConstants;
  5. import com.posdata.glue.biz.activity.PosActivity;
  6. import com.posdata.glue.biz.constants.PosBizControlConstants;
  7. import com.posdata.glue.context.PosContext;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRow;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. public class XinRecvDataL2 extends PosActivity implements GlobalConstants {
  12. public String runActivity(PosContext context) {
  13. //System.out.println("####################################################################");
  14. logger.logDebug("XinRecvDataL2 runActivity START...");
  15. PosRowSet recvDataVO = getDao("mesdao").find("UIG060010_RECV_DATA.select");
  16. if (recvDataVO.hasNext()) {
  17. PosParameter param = new PosParameter();
  18. param.setWhereClauseParameter(0, (recvDataVO.count() + 1) + "");
  19. getDao("mesdao").update("UIG060010_RECV_DATA.update", param);
  20. while (recvDataVO.hasNext()) {
  21. PosRow recvDataROW = recvDataVO.next();
  22. // Number SEQ_NO = (Number) recvDataROW.getAttribute("SEQ_NO");
  23. // Number MSG_LEN = (Number) recvDataROW.getAttribute("MSG_LEN");
  24. String TRAN_DTIME = (String) recvDataROW.getAttribute("TRAN_DTIME");
  25. String MSG_ID = (String) recvDataROW.getAttribute("MSG_ID");
  26. String MSG_DATA = (String) recvDataROW.getAttribute("MSG_DATA");
  27. //System.out.println("####################################################################");
  28. String TC_DATA = MSG_ID + TRAN_DTIME + MSG_DATA;
  29. try {
  30. PosMessageInfo.TC_SEND(TC_DATA, MSG_ID);
  31. logger.logDebug("XinRecvDataL2 TC_SEND call\nTcid: " + MSG_ID + "\nMessage:" + TC_DATA);
  32. } catch (Exception e) {
  33. logger.logError("XinRecvDataL2 Data format error!!!\n" + PosMessageInfo.getMessage(TC_DATA, MSG_ID));
  34. }
  35. }
  36. }
  37. String[] CHEM_CD = new String[35];
  38. String[] CHEM_VAL = new String[35];
  39. PosRowSet chemVO = getDao("mesdao").find("NIG060100_L2_CHEM_RST.select");
  40. if (chemVO.hasNext()) {
  41. PosParameter param = new PosParameter();
  42. param.setWhereClauseParameter(0, (chemVO.count() + 1) + "");
  43. getDao("mesdao").update("NIG060100_L2_CHEM_RST.update", param);
  44. while (chemVO.hasNext()) {
  45. PosRow chemROW = chemVO.next();
  46. // Number SEQ_NO1 = (Number) chemROW.getAttribute("SEQ_NO");
  47. String PLAN_CHARGE_NO = (String) chemROW.getAttribute("PLAN_CHARGE_NO");
  48. String RT_CD = ((String) chemROW.getAttribute("RT_CD")).substring(0,2);
  49. String TRAN_DTIME = (String) chemROW.getAttribute("TRAN_DTIME");
  50. BigDecimal EXAMINE_SEQ = (BigDecimal) chemROW.getAttribute("EXAMINE_SEQ");
  51. for (int i = 0; i < 35; i++) {
  52. CHEM_CD[i] = (String) chemROW.getAttribute("ELE_CD_" + (i+1));
  53. CHEM_VAL[i] = (String) chemROW.getAttribute("ELE_" + (i+1));
  54. }
  55. String PROC_CD = null;
  56. if (PLAN_CHARGE_NO.substring(0, 1).equals("J")
  57. && (RT_CD.equals("LD") || RT_CD.equals("YQ")
  58. || RT_CD.equals("LF") || RT_CD.equals("YH")
  59. || RT_CD.equals("CP") || RT_CD.equals("RH"))
  60. || RT_CD.equals("YC")) {
  61. if (RT_CD.equals("LD")) PROC_CD = "JB";
  62. else if (RT_CD.equals("YQ")) PROC_CD = "J1";
  63. else if (RT_CD.equals("YH")) PROC_CD = "J2";
  64. else if (RT_CD.equals("LF")) PROC_CD = "JL";
  65. else if (RT_CD.equals("CP")) PROC_CD = "JJ";
  66. else if (RT_CD.equals("RH")) PROC_CD = "JR";
  67. else if (RT_CD.equals("YC")) PROC_CD = "SL";
  68. String TcId = "NIB027080";
  69. StringBuffer sMsg = new StringBuffer(); int iLen = 0;
  70. sMsg.append(TcId); iLen += 9; //sMsg.setLength(iLen);
  71. sMsg.append(TRAN_DTIME); iLen += 14; sMsg.setLength(iLen);
  72. sMsg.append(PLAN_CHARGE_NO).append('A'); iLen += 10; sMsg.setLength(iLen);
  73. sMsg.append(PROC_CD); iLen += 2; sMsg.setLength(iLen);
  74. sMsg.append(EXAMINE_SEQ); iLen += 2; sMsg.setLength(iLen);
  75. for (int j = 0; j < 35; j++) {
  76. if (CHEM_CD[j] != null) {
  77. sMsg.append(CHEM_CD[j]); iLen += 3; sMsg.setLength(iLen);
  78. sMsg.append(CHEM_VAL[j]); iLen += 7; sMsg.setLength(iLen);
  79. } else {
  80. for (int i = 0; i < 10; i++)
  81. sMsg.append(' ');
  82. }
  83. }
  84. try {
  85. PosMessageInfo.TC_SEND(sMsg.toString(), TcId);
  86. logger.logDebug("XinRecvDataL2 CHEM_TC_SEND call\nTcid: " + TcId + "\nMessage:" + sMsg.toString());
  87. } catch (Exception e) {
  88. logger.logError("XinRecvDataL2 Chem Data format error!!!\n" + PosMessageInfo.getMessage(sMsg.toString(), TcId));
  89. }
  90. }
  91. }
  92. }
  93. return PosBizControlConstants.SUCCESS;
  94. }
  95. }