49b65f3c9a5a12cddae69832749b11267820b285.svn-base 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package xin.glue.ui.G.G06;
  2. import com.posdata.glue.biz.activity.PosActivity;
  3. import com.posdata.glue.biz.constants.PosBizControlConstants;
  4. import com.posdata.glue.biz.control.PosBizControlIF;
  5. import com.posdata.glue.biz.control.PosBizProvider;
  6. import com.posdata.glue.context.PosContext;
  7. import com.posdata.glue.dao.vo.PosParameter;
  8. import com.posdata.glue.dao.vo.PosRow;
  9. import com.posdata.glue.dao.vo.PosRowSet;
  10. import com.posdata.glue.msg.PosMESMessageImpl;
  11. import com.posdata.glue.msg.PosMessage;
  12. import com.posdata.glue.util.log.PosLog;
  13. import com.posdata.glue.util.log.PosLogFactory;
  14. public class XinMessageSend extends PosActivity{
  15. private final PosLog log = PosLogFactory.getLogger(getClass());
  16. public String runActivity(PosContext context) {
  17. log.logInfo("======== XinMessageSend START " );
  18. String TC_ID = null;
  19. int iSeqLen = 0;
  20. int iTcIdLen = 0;
  21. String[] status = (String[])context.get("rowStatus");
  22. String[] SEQ_NO = (String[]) context.get("SEQ_NO");
  23. String[] MSG_ID = (String[]) context.get("MSG_ID");
  24. String[] MSG_NAME = (String[]) context.get("MSG_NAME");
  25. String[] DATA_TYPE = (String[]) context.get("DATA_TYPE");
  26. String[] DATA_LEN = (String[]) context.get("DATA_LEN");
  27. String[] DATA_VALUE = (String[]) context.get("DATA_VALUE");
  28. TC_ID = DATA_VALUE[0];
  29. log.logInfo("======== XinMessageSend TC_ID:"+TC_ID );
  30. log.logInfo("======== XinMessageSend MSG_ID length:"+MSG_ID.length );
  31. StringBuffer sMsgData = new StringBuffer();
  32. iSeqLen = SEQ_NO.length;
  33. iTcIdLen = TC_ID.length();
  34. String sMsgLen = null;
  35. int iMsgLen = 0;
  36. int iLen = 0;
  37. log.logInfo("======== XinMessageSend iSeqLen:"+iSeqLen );
  38. PosParameter param1 = new PosParameter();
  39. param1.setWhereClauseParameter(0, TC_ID);
  40. PosRowSet TcLenVO = this.getDao("mesdao").find("UIG060010_TC_LEN.select", param1);
  41. String sTC_LEN = null;
  42. if (TcLenVO.hasNext() ) {
  43. PosRow TcLenROW = TcLenVO.next();
  44. sTC_LEN = (String)TcLenROW.getAttribute("TC_LEN");
  45. }
  46. sMsgData.append((String)sTC_LEN);iLen = iLen+4;sMsgData.setLength(iLen);
  47. for ( int i = 0; i < iSeqLen ; i++) {
  48. sMsgLen = DATA_LEN[i];
  49. iMsgLen = Integer.parseInt(sMsgLen);
  50. // logger.logInfo("XinMessageSend LEN["+sMsgLen+"] , DATA_VALUE["+i+"]:("+DATA_VALUE[i]+")" );
  51. sMsgData.append(DATA_VALUE[i]);iLen = iLen+iMsgLen;sMsgData.setLength(iLen);
  52. System.out.println("***************sMsgData = " + sMsgData + "###################iLen = " + iLen);
  53. }
  54. logger.logInfo("XinMessageSend sMsgData["+sMsgData+"]" );
  55. TC_SEND(sMsgData.toString(),sTC_LEN);
  56. return PosBizControlConstants.SUCCESS;
  57. }
  58. public void TC_SEND(String sMsg ,String sTC_LEN)
  59. {
  60. log.logInfo("XinMessageSend TC_SEND " );
  61. PosContext context = new PosContext();
  62. PosMessage message = new PosMESMessageImpl();
  63. int TcLen =0;
  64. TcLen = sMsg.length();
  65. String MSG_ID = sMsg.substring(4,13);
  66. String TC_MSG = sMsg.substring(4,TcLen);
  67. message.setTC(TC_MSG);
  68. message.setTCID(MSG_ID);
  69. context.setMessage(message);
  70. String SERVICE_POSTFIX = "-service";
  71. context.put(PosBizControlConstants.SERVICE_NAME, MSG_ID + SERVICE_POSTFIX);
  72. PosBizProvider.getController().doSubController(context, false);
  73. //PosBizControlIF controller = PosBizProvider.getController();
  74. log.logInfo("controller context: "+context );
  75. //controller.doSubController(context,false);
  76. }
  77. }