public boolean checkParameter(IMessage message, String processid) { con = (Connection) message.getOtherParameter("con"); Str_name = message.getUserParameterValue("Str_name"); Str_code = message.getUserParameterValue("Str_code"); Int_instructStateID = message.getUserParameterValue("Int_instructStateID"); Int_planIncorporate = message.getUserParameterValue("Int_planIncorporate"); Int_instCount = message.getUserParameterValue("Int_instCount"); int_materielruleid = message.getUserParameterValue("int_materielruleid"); // 输出log信息 String debug = "状态名:Int_instructStateID:" + Int_instructStateID + " Int_planIncorporate:" + Int_planIncorporate + " Int_instCount:" + Int_instCount + "\n"; log.info("添加状态转换的参数: " + debug); if (Str_name == null) { message.addServiceException( new ServiceException( ServiceExceptionType.PARAMETERLOST, "输入参数为空", this.getId(), processid, new java.util.Date(), null)); return false; } return true; }
@Override public boolean checkParameter(IMessage message, String processid) { con = (Connection) message.getOtherParameter("con"); int_produnitid = message.getUserParameterValue("int_produnitid"); int_exceptioncause = message.getUserParameterValue("int_exceptioncause"); str_description = message.getUserParameterValue("str_description"); int_device = message.getUserParameterValue("int_device") == null ? "" : message.getUserParameterValue("int_device"); devicetype = message.getUserParameterValue("devicetype") == null ? "" : message.getUserParameterValue("devicetype"); userid = message.getUserParameterValue("userid"); int_exceptiontype = message.getUserParameterValue("int_exceptiontype"); int_device = int_device == null ? "" : int_device; devicetype = devicetype == null ? "" : devicetype; // 输出log信息 String debug = " 生产单元 :" + int_produnitid + ";" + "描述:" + str_description + ";" + "设备号:" + int_device; log.debug("添加异常记录用户提交的参数: " + debug); if (int_produnitid == null || str_description == null || int_exceptioncause == null) { message.addServiceException( new ServiceException( ServiceExceptionType.PARAMETERLOST, "输入参数为空", this.getId(), processid, new java.util.Date(), null)); log.fatal("生产单元、描述、异常原因中有为空参数,退出服务。"); return false; } return true; }
@SuppressWarnings("unchecked") @Override public ExecuteResult undoService(IMessage message, String soa_processid) { IProcess process = ProcessFactory.getInstance(soa_processid); String processInfo = process.getNameSpace() + "." + process.getName(); Object obj = message.getOtherParameter(this.getClass().getName()); if (obj instanceof Map) { Map<String, String> map = (Map<String, String>) obj; String map_processid = map.get("map_processid"); String map_i_serveralias = map.get("map_i_serveralias"); String map_i_parameter = map.get("map_i_parameter"); String map_source = map.get("map_source"); String map_o_serveralias = map.get("map_o_serveralias"); String map_o_parameter = map.get("map_o_parameter"); String debug_map = "map_processid = " + map_processid + "\n" + "map_i_serveralias = " + map_i_serveralias + "\n" + "map_i_parameter = " + map_i_parameter + "\n" + "map_source = " + map_source + "\n" + "map_o_serveralias = " + map_o_serveralias + "\n" + "map_o_parameter = " + map_o_parameter; log.debug( processInfo + " , " + this.getClass().getName() + "修改适配器中回退操作Map接收到的值: debug_map = " + debug_map); try { Statement stmt = null; try { IDAO_Core dao = DAOFactory_Core.getInstance(DataBaseType.getDataBaseType(con)); if (dao == null) { message.addServiceException( new ServiceException( ServiceExceptionType.UNKNOWNDATABASETYPE, "dao为空", this.getId(), soa_processid, new Date(), null)); log.error(processInfo + ",修改适配器回退操作时,数据库加载错误,未知的数据库类型"); return ExecuteResult.fail; } log.debug(processInfo + ",修改流程服务回退操作,数据库加载成功"); stmt = con.createStatement(); String undo_sql_update = dao.getSQL_UpdateAdapterInfo( map_processid, map_i_serveralias, map_i_parameter, map_source, map_o_serveralias, map_o_parameter); log.debug( processInfo + " , " + this.getClass().getName() + "修改适配器回退操作的sql语句: undo_sql_update = " + undo_sql_update); stmt.executeUpdate(undo_sql_update); } catch (SQLException sqle) { message.addServiceException( new ServiceException( ServiceExceptionType.DATABASEERROR, "数据库错误" + sqle, this.getId(), soa_processid, new Date(), sqle)); log.fatal(processInfo + ",修改适配器回退操作,数据库异常" + sqle.toString()); return ExecuteResult.fail; } finally { if (stmt != null) stmt.close(); } } catch (Exception e) { message.addServiceException( new ServiceException( ServiceExceptionType.UNKNOWN, e.toString(), this.getId(), soa_processid, new java.util.Date(), e)); log.fatal(processInfo + ",修改适配器回退操作,未知异常" + e.toString()); return ExecuteResult.fail; } } return ExecuteResult.sucess; }
private boolean initFordo(IMessage message, String soa_processid) { // 数据库连接 con = null; // 流程号 processid = null; // 输入端服务别名 i_serveralias = null; // 输入端的参数名 i_parameter = null; // 数据来源 source = null; // 输出端的服务别名 o_serveralias = null; // 输出端的参数名 o_parameter = null; // 获取该服务的输入参数的值 con = (Connection) message.getOtherParameter("con"); processid = message.getUserParameterValue("processid"); i_serveralias = message.getUserParameterValue("i_serveralias"); i_parameter = message.getUserParameterValue("i_parameter"); source = message.getUserParameterValue("source"); o_serveralias = message.getUserParameterValue("o_serveralias"); o_parameter = message.getUserParameterValue("o_parameter"); // 获取运行流程项 IProcess process = ProcessFactory.getInstance(soa_processid); String processInfo = process.getNameSpace() + "." + process.getName(); String debug_Service_UpdateAdapter = "流程号: processid = " + processid + "\n\r" + "输入端服务别名: i_serveralias = " + i_serveralias + "\n\r" + "输入端的参数名: i_parameter = " + i_parameter + "\n\r" + "数据来源: source = " + source + "\n\r" + "输出端的服务别名: o_serveralias = " + o_serveralias + "\n\r" + "输出端的参数名: o_parameter = " + o_parameter + "\n\r" + "数据库连接: con = " + con + "\n\r"; log.debug(processInfo + ",修改适配器: " + debug_Service_UpdateAdapter + "\n"); if (processid == null || i_serveralias == null || i_parameter == null || source == null || o_serveralias == null || o_parameter == null) { message.addServiceException( new ServiceException( ServiceExceptionType.PARAMETERLOST, "缺少输入参数", this.getId(), soa_processid, new java.util.Date(), null)); log.error(processInfo + ",修改适配器操作中,缺少输入参数" + "\n"); return false; } return true; }
private boolean initFordo(IMessage message, String soa_processid) { con = null; usrno = null; usrname = null; password = null; roleno = null; employeeid = null; state = null; lastupdateuser = null; lastupdatetime = null; note = null; enabled = null; oldRoleno = null; con = (Connection) message.getOtherParameter("con"); usrno = message.getUserParameterValue("usrno"); usrname = message.getUserParameterValue("usrname"); password = message.getUserParameterValue("password"); roleno = message.getUserParameterValue("roleno").trim(); oldRoleno = message.getUserParameterValue("oldRoleno").trim(); default_roleno = message.getUserParameterValue("default_roleno"); old_default_roleno = message.getUserParameterValue("old_default_roleno"); employeeid = message.getUserParameterValue("employeeid"); state = message.getUserParameterValue("state"); lastupdateuser = message.getUserParameterValue("lastupdateuser"); lastupdatetime = message.getUserParameterValue("lastupdatetime"); note = message.getUserParameterValue("note"); enabled = message.getUserParameterValue("enabled"); // 获取运行流程项 IProcess process = ProcessFactory.getInstance(soa_processid); String processInfo = process.getNameSpace() + "." + process.getName(); String debug_UpdateUser = "******" + usrno + "\n" + "usrname = " + usrname + "\n" + "password = "******"\n" + "roleno = " + roleno + "\n" + "oldRoleno = " + oldRoleno + "\n" + "default_roleno = " + default_roleno + "\n" + "old_default_roleno = " + old_default_roleno + "\n" + "employeeid = " + employeeid + "\n" + "state = " + state + "\n\r" + "lastupdateuser = "******"\n" + "lastupdatetime = " + lastupdatetime + "\n" + "note = " + note + "\n" + "enabled = " + enabled + "\n"; log.debug(processInfo + ",修改用户时用户提交的参数: " + debug_UpdateUser); if (usrno == null || usrname == null || password == null || roleno == null || employeeid == null || state == null || lastupdateuser == null || lastupdatetime == null || note == null || enabled == null) { message.addServiceException( new ServiceException( ServiceExceptionType.PARAMETERLOST, "添加用户时参数为空", this.getId(), soa_processid, new java.util.Date(), null)); log.error(processInfo + ",修改用户,缺少输入参数"); return false; } return true; }
@SuppressWarnings("unchecked") public ExecuteResult undoService(IMessage message, String soa_processid) { IProcess process = ProcessFactory.getInstance(soa_processid); String processInfo = process.getNameSpace() + "." + process.getName(); Object obj = message.getOtherParameter(this.getClass().getName()); if (obj instanceof Map) { Map<String, String> map = (Map<String, String>) obj; String map_usrno = map.get("rs_usrno"); String map_usrname = map.get("rs_usrname"); String map_password = map.get("rs_password"); String map_oldRoleno = map.get("rs_oldRoleno").trim(); String map_employeeid = map.get("rs_employeeid").trim(); String map_old_default_roleno = map.get("rs_old_default_roleno"); String map_state = map.get("rs_state"); String map_lastupdateuser = map.get("rs_lastupdateuser"); String map_lastupdatetime = map.get("rs_lastupdatetime"); String map_note = map.get("rs_note"); String map_enabled = map.get("rs_enabled"); String map_debug = "map_usrno = " + map_usrno + "\n" + "map_usrname = " + map_usrname + "\n" + "map_password = "******"\n" + "map_oldRoleno = " + map_oldRoleno + "\n" + "map_employeeid = " + map_employeeid + "\n" + "map_state = " + map_state + "\n" + "map_lastupdateuser = "******"\n" + "map_lastupdatetime = " + map_lastupdatetime + "\n" + "map_note = " + map_note + "\n" + "map_enabled = " + map_enabled; log.debug(processInfo + "修改用户回退操作Map接收的所有信息为: map_debug = " + map_debug); try { Statement stmt = null; try { IDAO_UserManager dao = DAOFactory_UserManager.getInstance(DataBaseType.getDataBaseType(con)); if (dao == null) { message.addServiceException( new ServiceException( ServiceExceptionType.UNKNOWNDATABASETYPE, "", this.getId(), soa_processid, new Date(), null)); log.error(processInfo + ",修改用户回退操作,加载数据库错误,未知的数据库类型"); return ExecuteResult.fail; } log.debug(processInfo + ",修改用户回退操作,加载数据库成功"); stmt = con.createStatement(); String undo_sql_update; // password be changed if (!password.equals("********")) { undo_sql_update = dao.getSQL_UpdateUser( map_usrno, map_usrname, map_password, map_employeeid, map_state, map_lastupdateuser, map_lastupdatetime, map_note, map_enabled); } else // password not changed { undo_sql_update = dao.getSQL_UpdateUser( map_usrno, map_usrname, map_employeeid, map_state, map_lastupdateuser, map_lastupdatetime, map_note, map_enabled); } log.debug("修改用户回退操作的sql语句: undo_sql_update = " + undo_sql_update); stmt.executeUpdate(undo_sql_update); String sql_deleteDataUserRole = ""; String sql_insertDataUserRole = ""; String[] role_old = map_oldRoleno.split(":"); sql_deleteDataUserRole = dao.getSQL_DeleteDataUserRole(new Integer(map_usrno)); log.debug("根据角色号,删除新角色号的sql语句:sql_deleteDataUserRole = " + sql_deleteDataUserRole); stmt.executeUpdate(sql_deleteDataUserRole); for (String ch : role_old) { if (ch != null && !ch.equals("")) { if (map_old_default_roleno.equals(ch)) { sql_insertDataUserRole = dao.getSQL_insertDataUserRole(new Integer(usrno), new Integer(ch), "0"); } else { sql_insertDataUserRole = dao.getSQL_insertDataUserRole(new Integer(usrno), new Integer(ch), "1"); } log.debug( "插入原有角色号data_user_role表的sql语句: sql_insertDataUserRole = " + sql_insertDataUserRole); stmt.executeUpdate(sql_insertDataUserRole); } } } catch (SQLException sqle) { message.addServiceException( new ServiceException( ServiceExceptionType.DATABASEERROR, "数据库错误" + sqle, this.getId(), soa_processid, new Date(), sqle)); log.fatal(processInfo + ",修改用户,数据库操作异常" + sqle.toString()); return ExecuteResult.fail; } finally { if (stmt != null) stmt.close(); } } catch (Exception e) { message.addServiceException( new ServiceException( ServiceExceptionType.UNKNOWN, e.toString(), this.getId(), soa_processid, new java.util.Date(), e)); log.fatal(processInfo + ",修改用户,未知异常" + e.toString()); return ExecuteResult.fail; } } return ExecuteResult.sucess; }