package com.vci.server.bof.server;
|
|
import javax.xml.rpc.holders.LongHolder;
|
|
import com.vci.corba.framework.data.UserInfo;
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.omd.data.LinkObject;
|
import com.vci.corba.omd.lcm.TransitionVO;
|
import com.vci.corba.common.VCIError;
|
|
/**
|
* 针对bo提供重载方法
|
* 根据传参的不同,定义不同的重载execute方法
|
* 如添加新的参数,请到ServiceParams类中添加
|
* @author lmh
|
*
|
*/
|
public abstract class ServiceFacadeExecuteHelper extends ServiceFacade{
|
|
//lo-------------------------------------
|
|
/**
|
* 执行(创建、修改链接类型)
|
* @throws VCIError
|
*/
|
public Object doExecute(LinkObject lo) throws VCIError {
|
params = new ServiceParams();
|
params.setLo(lo);
|
return execute();
|
}
|
|
/**
|
* 执行(批量创建、修改链接类型)
|
* @throws VCIError
|
*/
|
public Object doExecute(LinkObject[] los) throws VCIError {
|
params = new ServiceParams();
|
params.setLos(los);
|
return execute();
|
}
|
|
private Object execute() throws VCIError {
|
Object obj = null;
|
try {
|
this.doBefore();
|
} catch (VCIError e) {
|
throw e;
|
} catch (Throwable e) {
|
e.printStackTrace();
|
throw new VCIError(e.getMessage(),new String[]{"前置事件异常"});
|
}
|
try {
|
obj = this.doAction();
|
} catch (VCIError e) {
|
throw e;
|
} catch (Throwable e) {
|
e.printStackTrace();
|
throw new VCIError(e.getMessage(),new String[]{"服务端异常"});
|
}
|
try {
|
this.doAfter();
|
} catch (VCIError e) {
|
throw e;
|
} catch (Throwable e) {
|
e.printStackTrace();
|
throw new VCIError(e.getMessage(),new String[]{"后置事件异常"});
|
}
|
return obj;
|
}
|
|
//bo-------------------------------------
|
|
/**
|
* 执行(更新bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject bo) throws VCIError {
|
params = new ServiceParams();
|
params.setBo(bo);
|
return execute();
|
}
|
|
/**
|
* 执行(删除bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject bo, int type) throws VCIError {
|
params = new ServiceParams();
|
params.setBo(bo);
|
params.setType(type);
|
return execute();
|
}
|
|
/**
|
* 执行(批量删除bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, int type) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setType(type);
|
return execute();
|
}
|
|
/**
|
* 执行(批量更新bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
return execute();
|
}
|
|
/**
|
* 执行(新增BO对象)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject bo, boolean isRevision, boolean isNewVersion) throws VCIError {
|
params = new ServiceParams();
|
params.setBo(bo);
|
params.setRevision(isRevision);
|
params.setNewVersion(isNewVersion);
|
return execute();
|
}
|
|
/**
|
* 执行(新增链接和链接相关联的bo对象)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, LinkObject lo) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setLo(lo);
|
return execute();
|
}
|
|
/**
|
* 执行(新增链接和链接相关联的bo对象)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, LinkObject lo, LongHolder ts) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setLo(lo);
|
params.setTs(ts);
|
return execute();
|
}
|
|
/**
|
* 执行(批量保存对象以及链接)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, LinkObject[] los) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setLos(los);
|
return execute();
|
}
|
|
/**
|
* 执行(批量保存对象以及链接)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, LinkObject[] los, LongHolder ts) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setLos(los);
|
params.setTs(ts);
|
return execute();
|
}
|
|
/**
|
* 执行(批量新增BO对象)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, boolean isRevision, boolean isNewVersion) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setRevision(isRevision);
|
params.setNewVersion(isNewVersion);
|
return execute();
|
}
|
|
/**
|
* 执行(批量升版)
|
* @throws VCIError
|
*/
|
public Object doExecute(String[] oids, String btmName) throws VCIError {
|
params = new ServiceParams();
|
params.setOids(oids);
|
params.setBtmName(btmName);
|
return execute();
|
}
|
|
/**
|
* 执行(跃迁bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject bo, TransitionVO vo, String releaseStatus) throws VCIError {
|
params = new ServiceParams();
|
params.setBo(bo);
|
params.setVo(vo);
|
params.setReleaseStatus(releaseStatus);
|
return execute();
|
}
|
|
/**
|
* 执行(批量跃迁bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, TransitionVO[] vos, String[] releaseStatus) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setVos(vos);
|
params.setReleaseStatuss(releaseStatus);
|
return execute();
|
}
|
|
/**
|
* 执行(变更拥有者bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject bo, UserInfo userInfo) throws VCIError {
|
params = new ServiceParams();
|
params.setBo(bo);
|
params.setUserInfo(userInfo);
|
return execute();
|
}
|
|
/**
|
* 执行(批量变更拥有者bo)
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] bos, UserInfo[] userList) throws VCIError {
|
params = new ServiceParams();
|
params.setBos(bos);
|
params.setUserList(userList);
|
return execute();
|
}
|
|
/**
|
* 批量增删改LOS.BOS
|
* @param createBOs
|
* @param createLOs
|
* @param updateBOs
|
* @param updateLOs
|
* @param deleteBOs
|
* @param deleteLOs
|
* @return
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] createBOs,
|
LinkObject[] createLOs, BusinessObject[] updateBOs,
|
LinkObject[] updateLOs, BusinessObject[] deleteBOs,
|
LinkObject[] deleteLOs) throws VCIError{
|
params = new ServiceParams();
|
params.setCreateBos(createBOs);
|
params.setDeleteBos(deleteBOs);
|
params.setUpdateBos(updateBOs);
|
params.setCreateLos(createLOs);
|
params.setUpdateLos(updateLOs);
|
params.setDeleteLos(deleteLOs);
|
return execute();
|
}
|
|
/**
|
* 批量保存LOS.BOS
|
* @param createBOs
|
* @param createLOs
|
* @param deleteBOs
|
* @param deleteLOs
|
* @return
|
* @throws VCIError
|
*/
|
public Object doExecute(BusinessObject[] createBOs,
|
LinkObject[] createLOs, BusinessObject[] deleteBOs,
|
LinkObject[] deleteLOs) throws VCIError{
|
params = new ServiceParams();
|
params.setCreateBos(createBOs);
|
params.setDeleteBos(deleteBOs);
|
params.setCreateLos(createLOs);
|
params.setDeleteLos(deleteLOs);
|
return execute();
|
}
|
}
|