package com.vci.server.framework.delegate; import java.util.List; import org.apache.commons.lang3.StringUtils; import com.vci.common.utility.ObjectUtility; import com.vci.corba.common.VCIError; import com.vci.corba.framework.data.OperateInfo; import com.vci.corba.common.data.UserEntityInfo; import com.vci.server.base.delegate.BaseDelegate; import com.vci.server.framework.funcmng.operate.Operate; import com.vci.server.framework.funcmng.operate.OperateService; /** * 操作类型服务端 * * @author xf * * 2012-5-16 */ public class OperateDelegate extends BaseDelegate { private OperateService service; public OperateDelegate(UserEntityInfo userEntityInfo) { super(userEntityInfo); service = new OperateService(userEntity); } public OperateDelegate() { service = new OperateService(); } /** * 保存操作类型 * * @param operateInfo * @return * @throws VCIError * 创建操作类型失败 */ public String saveOperate(OperateInfo operateInfo) throws VCIError { String res = ""; if (StringUtils.isBlank(operateInfo.id)) { String id = ObjectUtility.getNewObjectID36(); operateInfo.id = id; } try { res = service.saveOperate(transformIdlToPo(operateInfo)); } catch (Exception e) { e.printStackTrace(); throw new VCIError("110100", new String[0]); } return res; } /** * 修改操作类型 * * @param operateInfo * @return * @throws VCIError * 创建操作类型失败 */ public String updateOperate(OperateInfo operateInfo) throws VCIError { String res = ""; try { res = service.updateOperate(transformIdlToPo(operateInfo)); } catch (Exception e) { e.printStackTrace(); throw new VCIError("110100", new String[0]); } return res; } /** * 删除操作类型 * * @param operateInfo * @return * @throws VCIError * 创建操作类型失败 */ public boolean deleteOperate(String id) throws VCIError { boolean res = true; try { res = service.deleteOperate(id); } catch (Exception e) { e.printStackTrace(); throw new VCIError("110100", new String[0]); } return res; } /** * 显示操作类型树 * * @return * @throws VCIError * 显示操作类型树失败 */ public OperateInfo[] getOperateTreeList(String moduleId) throws VCIError { List ls = null; try { if(moduleId.equals("")){ ls = service.getOperateTreeList(); }else{ ls = service.getOtherOperateListByModule(moduleId); } OperateInfo[] o = new OperateInfo[ls.size()]; for (int i = 0; i < ls.size(); i++) { o[i] = transformPoToIdl(ls.get(i)); } return o; } catch (Exception e) { e.printStackTrace(); throw new VCIError("110105", new String[0]); } } /** * 检查操作是否被模块引用 * @param operateId * @return 0表示没有任何引用,1表示被模块引用,2表示已经存在权限信息 * @throws VCIError */ public int checkOperateIsReferenced(String operateId) throws VCIError { try{ return service.checkOperateIsReferenced(operateId); }catch (Exception e) { e.printStackTrace(); throw new VCIError("0", new String[0]); } } /** * 通过标识获取操作 * @param identify * @return * @throws VCIError */ public OperateInfo getOperateByIdentify(String identify) throws VCIError { try{ Operate operate = service.getOperateByIdentify(identify); return transformPoToIdl(operate); }catch (Exception e) { e.printStackTrace(); throw new VCIError("0", new String[0]); } } /** *

Description:通过名称获取操作

* * @author wangxl * @time 2012-5-30 * @param name * @return * @throws VCIError */ public OperateInfo fetchOperateTypeByName(String name) throws VCIError { try{ Operate operate = service.fetchOperateTypeByName(name); return transformPoToIdl(operate); }catch (Exception e) { e.printStackTrace(); throw new VCIError("0", new String[0]); } } public OperateInfo getOperatetById(String id) throws VCIError { try{ Operate operate = service.getOperatetById(id); return transformPoToIdl(operate); }catch (Exception e) { e.printStackTrace(); throw new VCIError("0", new String[0]); } } /** * idl对象和po转换 * * @param o * @return */ private Operate transformIdlToPo(OperateInfo o) { Operate po = new Operate(); po.setId(o.id); po.setName(o.name); po.setIdentify(o.identify); po.setAlias(o.alias); po.setDesc(o.desc); po.setSequence((int)o.seq); return po; } /** * po对象和idl转换 * * @param o * @return */ private OperateInfo transformPoToIdl(Operate o) { OperateInfo po = new OperateInfo(); po.id = o.getId() == null ? "" : o.getId(); po.name = o.getName() == null ? "" : o.getName(); po.identify = o.getIdentify() == null ? "" : o.getIdentify(); po.alias = o.getAlias() == null ? "" : o.getAlias(); po.desc = o.getDesc() == null ? "" : o.getDesc(); po.seq = o.getSequence(); return po; } /** * * 获取所有操作类型数量 * add by caill start 2015.12.11 * */ public int getAllOperitionsNum() throws VCIError { int res = 0; try{ res = service.getAllOperitionsNum(); }catch (Exception e) { e.printStackTrace(); throw new VCIError(); } return res; } /** * * 获取所有操作类型数量 * add by caill start 2015.12.11 * */ public String[][] getAllOperitions(int size) throws VCIError { String[][] res = new String[size][6]; try{ res = service.getAllOperitions(size); }catch (Exception e) { e.printStackTrace(); throw new VCIError(); } return res; } }