8de6747fac659998272bca3d17e3a5bb420ec82d.svn-base 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package xin.glue.ui.F.F02;
  2. import java.sql.CallableStatement;
  3. import java.sql.SQLException;
  4. import java.sql.Types;
  5. import com.posdata.glue.PosException;
  6. import com.posdata.glue.biz.activity.PosActivity;
  7. import com.posdata.glue.biz.constants.PosBizControlConstants;
  8. import com.posdata.glue.biz.control.PosBizProvider;
  9. import com.posdata.glue.context.PosContext;
  10. import com.posdata.glue.msg.PosMESMessageImpl;
  11. import com.posdata.glue.msg.PosMessage;
  12. public class HCREdit extends PosActivity
  13. {
  14. String P_TYPE = "";
  15. String P_ST = "";
  16. String P_EN = "";
  17. String P_RTN_MSG = "";
  18. public String runActivity(PosContext context)
  19. {
  20. String[] P_CHARGE_MANA_NO = (String[]) context.get("CHARGE_MANA_NO");
  21. String[] CHARGE_EDT_SEQ = (String[]) context.get("CHARGE_EDT_SEQ");
  22. String[] ROLL_MANA_NO = (String[]) context.get("ROLL_MANA_NO");
  23. String[] P_POSITION = (String[]) context.get("POSITION");
  24. String[] P_REG_ID = (String[]) context.get("USER_NAME");
  25. //�����״̬ѡ���Ӧ�IJ���
  26. CallableStatement cStmt = null;
  27. try
  28. {
  29. cStmt = this.getDao("mesdao").getCallableStatement("callHCREdit");
  30. cStmt.setString(1,P_CHARGE_MANA_NO[0]);
  31. cStmt.setString(2, ROLL_MANA_NO[0]);
  32. cStmt.setString(3, P_POSITION[0]);
  33. cStmt.setString(4,P_REG_ID[0]);
  34. cStmt.registerOutParameter(5, Types.VARCHAR);
  35. cStmt.registerOutParameter(6, Types.VARCHAR);
  36. cStmt.registerOutParameter(7, Types.VARCHAR);
  37. cStmt.registerOutParameter(8, Types.VARCHAR);
  38. cStmt.execute();
  39. P_TYPE = cStmt.getString(5);
  40. P_ST = cStmt.getString(6);
  41. P_EN = cStmt.getString(7);
  42. P_RTN_MSG = cStmt.getString(8);
  43. } catch (SQLException ex)
  44. {
  45. logger.logFatal("Can not execute PL/SQL",ex);
  46. throw new PosException("Can not execute PL/SQL >> " + P_RTN_MSG,ex);
  47. } finally
  48. {
  49. try
  50. {
  51. if(cStmt != null)
  52. {
  53. cStmt.close();
  54. }
  55. } catch (SQLException ex)
  56. {
  57. logger.logFatal("Can not Close CallableStatement Query ID [callTest]",ex);
  58. }
  59. }
  60. if(P_RTN_MSG == null || "".equals(P_RTN_MSG)) {
  61. NIF024050_CALL(P_TYPE,P_ST,P_EN);
  62. } else {
  63. throw new PosException(P_RTN_MSG);
  64. }
  65. return PosBizControlConstants.SUCCESS ;
  66. }
  67. public PosContext NIF024050_CALL(String V_TYPE, String V_ST,String V_EN)
  68. {
  69. PosContext context = new PosContext();
  70. PosMessage message = new PosMESMessageImpl();
  71. String TcId = "NIF024050";
  72. message.setTCID(TcId);
  73. message.setObject("TYPE", V_TYPE);
  74. message.setObject("FROM", V_ST);
  75. message.setObject("TO", V_EN);
  76. context.setMessage(message);
  77. message.setTCID(TcId);
  78. String SERVICE_POSTFIX = "-service";
  79. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  80. PosBizProvider.getController().doSubController(context, false);
  81. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  82. if (SERVICE_ERR_MSG != null)
  83. {
  84. throw new PosException(SERVICE_ERR_MSG);
  85. }
  86. return context;
  87. }
  88. }