package com.vci.server.workflow.server.delegate;
|
|
import java.util.List;
|
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.common.data.UserEntityInfo;
|
import com.vci.corba.workflow.data.TaskCCInfo;
|
import com.vci.server.base.delegate.BaseDelegate;
|
import com.vci.server.workflow.objects.TaskCCSObject;
|
import com.vci.server.workflow.server.template.TaskCCService;
|
|
public class TaskCCDelegate extends BaseDelegate {
|
TaskCCService service = null;
|
|
public TaskCCDelegate(UserEntityInfo userEntityInfo) {
|
super(userEntityInfo);
|
service = new TaskCCService(this.getUserEntity());
|
}
|
|
public TaskCCDelegate() {
|
service = new TaskCCService();
|
}
|
|
/**
|
* 获取抄送人信息
|
* @param executionid
|
* @return
|
* @throws VCIError
|
*/
|
public TaskCCInfo[] getTaskCCInfos(String jbpmDeploymentId) throws VCIError {
|
TaskCCInfo[] infos = new TaskCCInfo[0];
|
try {
|
List<TaskCCSObject> list = service.getTaskCCInfos(jbpmDeploymentId);
|
TaskCCSObject[] objects = list.toArray(new TaskCCSObject[] {});
|
infos = this.convertTaskCCSObjectsToTaskCCInfos(objects);
|
} catch (Exception ex) {
|
throw new VCIError("420001", new String[] {});
|
}
|
return infos;
|
}
|
|
/**
|
* 保存抄送人信息
|
* @param info
|
* @return
|
* @throws VCIError
|
*/
|
public boolean saveTaskCCInfo(TaskCCInfo[] info) throws VCIError {
|
boolean falg = false;
|
try {
|
falg = service.saveTaskCCInfo(this.convertTaskCCInfoToTaskCCSObject(info));
|
} catch (Exception ex) {
|
throw new VCIError("420002", new String[] {});
|
}
|
return falg;
|
}
|
|
|
/**
|
* 删除抄送人信息
|
* @param jbpmDeploymentId
|
* @param userName TODO
|
* @return
|
* @throws VCIError
|
*/
|
public boolean deleteTaskCC(String jbpmDeploymentId, String userName) throws VCIError {
|
boolean res = false;
|
try {
|
res = service.deleteTaskCC(jbpmDeploymentId, userName);
|
} catch (Exception ex) {
|
ex.printStackTrace();
|
throw new VCIError("420003", new String[] {});
|
}
|
return res;
|
}
|
|
|
/************************* CORBA & HIBERNATE CONVERT **************************/
|
/**
|
* 对象转换(批量),从Corba对象转换到Hibernate对象
|
*
|
* @param objects
|
*/
|
private TaskCCInfo[] convertTaskCCSObjectsToTaskCCInfos(TaskCCSObject[] objects) {
|
TaskCCInfo[] infos = new TaskCCInfo[objects.length];
|
int i = 0;
|
for (TaskCCSObject obj : objects) {
|
infos[i++] = this.convertTaskCCSObjectToTaskCCInfo(obj);
|
}
|
return infos;
|
}
|
|
private TaskCCInfo convertTaskCCSObjectToTaskCCInfo(TaskCCSObject object) {
|
TaskCCInfo info = new TaskCCInfo();
|
info.id = object.getId() == null ? "" : object.getId();
|
info.assigner = object.getAssigner() == null ? "" : object.getAssigner();
|
info.cc = object.getCc() == null ? "" : object.getCc();
|
info.pljbpmdeploymentid = object.getJbpmdeploymentid() == null ? "" : object.getJbpmdeploymentid();
|
info.taskname = object.getTaskname() == null ? "" : object.getTaskname();
|
return info;
|
}
|
|
private TaskCCSObject[] convertTaskCCInfoToTaskCCSObject(TaskCCInfo[] info) {
|
TaskCCSObject[] objects = new TaskCCSObject[info.length];
|
for(int i = 0 ; i < info.length ; i ++){
|
TaskCCSObject object = new TaskCCSObject();
|
object.setId(info[i].id==null?"":info[i].id);
|
object.setAssigner(info[i].assigner==null?"":info[i].assigner);
|
object.setCc(info[i].cc==null?"":info[i].cc);
|
object.setJbpmdeploymentid(info[i].pljbpmdeploymentid==null?"":info[i].pljbpmdeploymentid);
|
object.setTaskname(info[i].taskname==null?"":info[i].taskname);
|
objects[i] = object;
|
}
|
return objects;
|
}
|
|
}
|