package com.vci.server.workflow.server.template; import java.util.List; import org.hibernate.HibernateException; import com.vci.common.objects.UserEntity; import com.vci.server.base.persistence.dao.BaseService; import com.vci.server.base.persistence.dao.HibernateCallback; import com.vci.server.base.persistence.dao.HibernateTemplate; import com.vci.server.workflow.dao.TaskCCDaoImpl; import com.vci.server.workflow.objects.TaskCCSObject; public class TaskCCService extends BaseService { public TaskCCService(UserEntity userEntity) { super(userEntity); } public TaskCCService() { } /** * 保存抄送人 * @param object * @return */ public boolean saveTaskCCInfo(final TaskCCSObject[] objects){ return (Boolean)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { TaskCCDaoImpl impl = new TaskCCDaoImpl(); for(TaskCCSObject object : objects){ impl.saveOrUpdate(object); } return true; } }); } /** * 获得候选人信息 * @param jbpmDeploymentId * @return */ @SuppressWarnings("unchecked") public List getTaskCCInfos(final String jbpmDeploymentId){ return (List)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { TaskCCDaoImpl impl = new TaskCCDaoImpl(); String hql = "from TaskCCSObject t where t.jbpmdeploymentid = ?"; return impl.createQueryList(hql, new Object[]{jbpmDeploymentId}); } }); } /** * 通过用户名和任务名称获取抄送人信息 * @param jbpmDeploymentId * @param taskName * @param userName * @return */ public List getTaskCCInfosByUserName(final String userName){ return (List)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { TaskCCDaoImpl impl = new TaskCCDaoImpl(); String hql = "from TaskCCSObject t where p.cc = ?"; return impl.createQueryList(hql, new Object[]{userName}); } }); } /** * 修改抄送人 * @param objects * @return */ public boolean updateTaskCC(final TaskCCSObject[] objects){ return (Boolean)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { TaskCCDaoImpl impl = new TaskCCDaoImpl(); for(TaskCCSObject object : objects){ // object.setUserEntity(userEntity); TaskCCSObject objGet = impl.getById(object.getId()); if(objGet == null){ impl.saveOrUpdate(object); }else{ // objGet.setUserEntity(userEntity); objGet.setId(object.getId()); objGet.setAssigner(object.getAssigner()); objGet.setCc(object.getCc()); objGet.setJbpmdeploymentid(object.getJbpmdeploymentid()); objGet.setTaskname(object.getTaskname()); impl.saveOrUpdate(objGet); } } return true; } }); } /** * 删除抄送人 * @param jbpmDeploymentId * @param userName * @return */ public boolean deleteTaskCC(final String jbpmDeploymentId, final String userName) { return (Boolean)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { TaskCCDaoImpl impl = new TaskCCDaoImpl(); String hql = "delete TaskCCSObject p where p.t.jbpmDeploymentId = ? and p.cc = ?"; // impl.deleteQueryObject(hql, new String[]{executionid}, userEntity); impl.createQuery(hql, new String[]{jbpmDeploymentId,userName}); return true; } }); } }