package xin.glue.ui.F.F02; import java.sql.CallableStatement; import java.sql.SQLException; import java.sql.Types; import com.posdata.glue.PosException; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.biz.control.PosBizProvider; import com.posdata.glue.context.PosContext; import com.posdata.glue.msg.PosMESMessageImpl; import com.posdata.glue.msg.PosMessage; public class HCREdit extends PosActivity { String P_TYPE = ""; String P_ST = ""; String P_EN = ""; String P_RTN_MSG = ""; public String runActivity(PosContext context) { String[] P_CHARGE_MANA_NO = (String[]) context.get("CHARGE_MANA_NO"); String[] CHARGE_EDT_SEQ = (String[]) context.get("CHARGE_EDT_SEQ"); String[] ROLL_MANA_NO = (String[]) context.get("ROLL_MANA_NO"); String[] P_POSITION = (String[]) context.get("POSITION"); String[] P_REG_ID = (String[]) context.get("USER_NAME"); //�����״̬ѡ���Ӧ�IJ��� CallableStatement cStmt = null; try { cStmt = this.getDao("mesdao").getCallableStatement("callHCREdit"); cStmt.setString(1,P_CHARGE_MANA_NO[0]); cStmt.setString(2, ROLL_MANA_NO[0]); cStmt.setString(3, P_POSITION[0]); cStmt.setString(4,P_REG_ID[0]); cStmt.registerOutParameter(5, Types.VARCHAR); cStmt.registerOutParameter(6, Types.VARCHAR); cStmt.registerOutParameter(7, Types.VARCHAR); cStmt.registerOutParameter(8, Types.VARCHAR); cStmt.execute(); P_TYPE = cStmt.getString(5); P_ST = cStmt.getString(6); P_EN = cStmt.getString(7); P_RTN_MSG = cStmt.getString(8); } catch (SQLException ex) { logger.logFatal("Can not execute PL/SQL",ex); throw new PosException("Can not execute PL/SQL >> " + P_RTN_MSG,ex); } finally { try { if(cStmt != null) { cStmt.close(); } } catch (SQLException ex) { logger.logFatal("Can not Close CallableStatement Query ID [callTest]",ex); } } if(P_RTN_MSG == null || "".equals(P_RTN_MSG)) { NIF024050_CALL(P_TYPE,P_ST,P_EN); } else { throw new PosException(P_RTN_MSG); } return PosBizControlConstants.SUCCESS ; } public PosContext NIF024050_CALL(String V_TYPE, String V_ST,String V_EN) { PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); String TcId = "NIF024050"; message.setTCID(TcId); message.setObject("TYPE", V_TYPE); message.setObject("FROM", V_ST); message.setObject("TO", V_EN); context.setMessage(message); message.setTCID(TcId); String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX); PosBizProvider.getController().doSubController(context, false); String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG"); if (SERVICE_ERR_MSG != null) { throw new PosException(SERVICE_ERR_MSG); } return context; } }