0501ceb0f01e4378dbc3826f3363370cc8b1a21a.svn-base 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. package xin.glue.ui.G.G06;
  2. import java.math.BigDecimal;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import com.posdata.glue.biz.activity.PosActivity;
  8. import com.posdata.glue.biz.constants.PosBizControlConstants;
  9. import com.posdata.glue.biz.control.PosBizControlIF;
  10. import com.posdata.glue.biz.control.PosBizProvider;
  11. import com.posdata.glue.component.PosJobScheduler;
  12. import com.posdata.glue.component.layout.PosMessageLayoutIF;
  13. import com.posdata.glue.context.PosContext;
  14. import com.posdata.glue.dao.PosGenericDao;
  15. import com.posdata.glue.dao.vo.PosParameter;
  16. import com.posdata.glue.dao.vo.PosRow;
  17. import com.posdata.glue.dao.vo.PosRowSet;
  18. import com.posdata.glue.msg.PosMESMessageImpl;
  19. import com.posdata.glue.msg.PosMessage;
  20. import com.posdata.glue.msg.PosMessageAttributeDefinition;
  21. import com.posdata.glue.msg.PosMessageDefinition;
  22. import com.posdata.glue.util.log.PosLog;
  23. import com.posdata.glue.util.log.PosLogFactory;
  24. public class XinSaveDataLevel2 extends PosActivity {
  25. private final PosLog log = PosLogFactory.getLogger(getClass());
  26. public String runActivity(PosContext context) {
  27. List MsgList = new ArrayList();
  28. String[] TC_ID = (String[]) context.get("TC_ID");
  29. String[] MAT_NO = (String[]) context.get("MAT_NO");
  30. log.logInfo("======== XinSaveDataLevel2 start TC_ID:"+TC_ID[0] );
  31. if (TC_ID[0] != null) {
  32. String TC_HD = TC_ID[0].substring(0,3);
  33. if (TC_HD.equals("NIG")) {
  34. MsgList = SMS_SEND(TC_ID[0],MAT_NO[0]);
  35. } else {
  36. MsgList = MILL_SEND(TC_ID[0],MAT_NO[0]);
  37. }
  38. }
  39. log.logInfo("======== XinSaveDataLevel2 context put :" );
  40. context.put("MessageEdit",MsgList);
  41. return PosBizControlConstants.SUCCESS;
  42. }
  43. public List SMS_SEND(String TcId ,String MatNo )
  44. {
  45. PosContext context = new PosContext();
  46. List list = new ArrayList();
  47. String KEY_LEN = null ;
  48. String TC_HD = TcId.substring(0,3) ;
  49. if ( (TC_HD.equals("NIG") && TcId.equals("NIG020610")) ) {
  50. KEY_LEN = "13";
  51. } else {
  52. KEY_LEN = "10";
  53. }
  54. PosParameter param1 = new PosParameter();
  55. param1.setWhereClauseParameter(0, KEY_LEN);
  56. param1.setWhereClauseParameter(1, MatNo);
  57. param1.setWhereClauseParameter(2, TcId);
  58. PosRowSet msgVO = this.getDao("mesdao").find("UIG060010_L2_DATA_EDIT.select", param1);
  59. if(msgVO.hasNext()) {
  60. PosRow msgROW = msgVO.next();
  61. BigDecimal MSG_LEN = (BigDecimal)msgROW.getAttribute("MSG_LEN");
  62. String MSG_ID = (String)msgROW.getAttribute("MSG_ID");
  63. String MSG_DATA = (String)msgROW.getAttribute("MSG_DATA");
  64. String TRAN_DTIME = (String)msgROW.getAttribute("TRAN_DTIME");
  65. String sSeqNo = null;
  66. String sMsgid = null;
  67. String sMsgName = null;
  68. String sMsgType = null;
  69. String sDataValue = null;
  70. String EditData = null;
  71. String MsgData = MSG_ID+TRAN_DTIME+MSG_DATA;
  72. int tot_len = 0;
  73. int init_len = 0;
  74. PosParameter param2 = new PosParameter();
  75. param2.setWhereClauseParameter(0, MSG_ID);
  76. PosRowSet editVO = this.getDao("mesdao").find("UIG060010_MSG_EDIT.select", param2);
  77. while(editVO.hasNext()) {
  78. sDataValue = null;
  79. EditData = null;
  80. PosRow editROW = editVO.next();
  81. sSeqNo = (String)editROW.getAttribute("SEQ_NO");
  82. sMsgid = (String)editROW.getAttribute("MSG_ID");
  83. sMsgName = (String)editROW.getAttribute("MSG_NAME");
  84. sMsgType = (String)editROW.getAttribute("DATA_TYPE");
  85. String sMsgLen = (String)editROW.getAttribute("DATA_LEN");
  86. int Len = Integer.parseInt(sMsgLen);
  87. tot_len = tot_len+Len;
  88. log.logInfo("======== XinSaveDataLevel2 MsgData["+MsgData+"] ,init_len["+init_len+"], tot_len["+tot_len+"]" );
  89. EditData = MsgData.substring(init_len,tot_len);
  90. init_len = init_len+Len;
  91. sDataValue = EditData;
  92. HashMap map = new HashMap(50,6) ;
  93. list.add(map);
  94. map.put("SEQ_NO" , sSeqNo );
  95. map.put("MSG_ID" , sMsgid );
  96. map.put("MSG_NAME" , sMsgName );
  97. map.put("DATA_TYPE" , sMsgType );
  98. map.put("DATA_LEN" , sMsgLen );
  99. map.put("DATA_VALUE", sDataValue);
  100. }
  101. }
  102. return list;
  103. //context.put("MessageEdit",list);
  104. }
  105. public List MILL_SEND(String TcId ,String MatNo )
  106. {
  107. PosContext context = new PosContext();
  108. List list = new ArrayList();
  109. String KEY_LEN = null ;
  110. PosParameter param1 = new PosParameter();
  111. param1.setWhereClauseParameter(0, TcId);
  112. PosRowSet msgVO = this.getDao("mesdao").find("NIH060100_L2_DATA_EDIT.select", param1);
  113. if(msgVO.hasNext()) {
  114. PosRow msgROW = msgVO.next();
  115. String MSG_ID = (String)msgROW.getAttribute("MSG_ID");
  116. String MSG_DATA = (String)msgROW.getAttribute("MSG_DATA");
  117. String TRAN_DTIME = (String)msgROW.getAttribute("TRAN_DTIME");
  118. log.logInfo("======== XinSaveDataLevel2 MSG_ID["+MSG_ID+"]" );
  119. log.logInfo("======== XinSaveDataLevel2 MSG_DATA["+MSG_DATA+"]" );
  120. String sSeqNo = null;
  121. String sMsgid = null;
  122. String sMsgName = null;
  123. String sMsgType = null;
  124. String sDataValue = null;
  125. String MsgData = MSG_ID+TRAN_DTIME+MSG_DATA;
  126. int tot_len = 0;
  127. int init_len = 0;
  128. PosParameter param2 = new PosParameter();
  129. param2.setWhereClauseParameter(0, MSG_ID);
  130. PosRowSet editVO = this.getDao("mesdao").find("UIG060010_MSG_EDIT.select", param2);
  131. if ( editVO.hasNext() ) {
  132. while(editVO.hasNext()) {
  133. PosRow editROW = editVO.next();
  134. sSeqNo = (String)editROW.getAttribute("SEQ_NO");
  135. sMsgid = (String)editROW.getAttribute("MSG_ID");
  136. sMsgName = (String)editROW.getAttribute("MSG_NAME");
  137. sMsgType = (String)editROW.getAttribute("DATA_TYPE");
  138. String sMsgLen = (String)editROW.getAttribute("DATA_LEN");
  139. int Len = Integer.parseInt(sMsgLen);
  140. tot_len = tot_len+Len;
  141. String EditData = MsgData.substring(init_len,tot_len);
  142. init_len = init_len+Len;
  143. sDataValue = EditData;
  144. HashMap map = new HashMap(50,6) ;
  145. list.add(map);
  146. map.put("SEQ_NO" , sSeqNo );
  147. map.put("MSG_ID" , sMsgid );
  148. map.put("MSG_NAME" , sMsgName );
  149. map.put("DATA_TYPE" , sMsgType );
  150. map.put("DATA_LEN" , sMsgLen );
  151. map.put("DATA_VALUE", sDataValue);
  152. }
  153. }
  154. }
  155. return list;
  156. // context.put("MessageEdit",list);
  157. }
  158. }