package com.vci.server.workflow.server.task.approve; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.criterion.Order; import org.hibernate.criterion.Projections; import com.vci.common.objects.QueryParam; import com.vci.common.objects.QueryResult; import com.vci.common.objects.UserEntity; import com.vci.corba.common.VCIError; 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.FlowApproveContentDaoImpl; import com.vci.server.workflow.objects.FlowApproveContent; /** * FlowApproveContent DAO Service * */ public class FlowApproveContentService extends BaseService { /** * */ private static final long serialVersionUID = 1L; public FlowApproveContentService(UserEntity userEntity) { super(userEntity); } /** * 添加、保存 FlowApproveContent 对象 * * @param object FlowApproveContent 对象 */ public boolean saveFlowApproveContent(final FlowApproveContent object) { return (Boolean) new HibernateTemplate().run(new HibernateCallback() { public Object execute() throws HibernateException { FlowApproveContentDaoImpl impl = new FlowApproveContentDaoImpl(); object.setUserEntity(userEntity); impl.saveOrUpdate(object); return true; } }); } /** * 修改、更新 FlowApproveContent 对象 * * @param object FlowApproveContent 对象 */ public boolean updateFlowApproveContent(final FlowApproveContent object) { return (Boolean) new HibernateTemplate().run(new HibernateCallback() { public Object execute() throws HibernateException { FlowApproveContentDaoImpl impl = new FlowApproveContentDaoImpl(); object.setUserEntity(userEntity); FlowApproveContent objGet = impl.getById(object.getId()); if (objGet == null) { impl.saveOrUpdate(object); } else { objGet.setUserEntity(userEntity); objGet.setId(object.getId()); objGet.setUserId(object.getUserId()); objGet.setApproveContent(object.getApproveContent()); objGet.setSeq(object.getSeq()); objGet.setCreateTime(object.getCreateTime()); objGet.setCreateUser(object.getCreateUser()); objGet.setCreateRole(object.getCreateRole()); objGet.setCreateOrg(object.getCreateOrg()); objGet.setModifyTime(object.getModifyTime()); objGet.setModifyUser(object.getModifyUser()); objGet.setModifyRole(object.getModifyRole()); objGet.setModifyOrg(object.getModifyOrg()); objGet.setLicensors(object.getLicensors()); impl.saveOrUpdate(objGet); } return true; } }); } /** * 根据 ID 删除 FlowApproveContent 对象(批量) * * @param ids FlowApproveContent 对象的 ID 列表 */ public boolean deleteFlowApproveContent(final String[] ids) { return (Boolean) new HibernateTemplate().run(new HibernateCallback() { public Object execute() throws HibernateException { FlowApproveContentDaoImpl impl = new FlowApproveContentDaoImpl(); String hql = "delete FlowApproveContent p where p.id in ("; int len = ids.length; for (int i = 0; i < len; i++) { hql += "?"; if (i != len - 1) { hql += ","; } } hql += ")"; impl.deleteQueryObject(hql, ids, userEntity); return true; } }); } /** * 返回全部的 FlowApproveContent 对象 */ @SuppressWarnings("unchecked") public List getFlowApproveContents() { return (List) new HibernateTemplate().run(new HibernateCallback() { public Object execute() throws HibernateException { FlowApproveContentDaoImpl impl = new FlowApproveContentDaoImpl(); return impl.loadAll(); } }); } /** * 根据分页参数 返回 FlowApproveContent 对象 *

* Description: *

* * @param queryParam 查询参数 * @return 查询结果对象 * @throws VCIError */ @SuppressWarnings("unchecked") public QueryResult getFlowApproveContentByPageing(final QueryParam queryParam) { return (QueryResult) new HibernateTemplate().run(new HibernateCallback() { public Object execute() throws HibernateException { QueryResult res = new QueryResult(); FlowApproveContentDaoImpl impl = new FlowApproveContentDaoImpl(); List list = impl.createCriteria().setProjection(Projections.rowCount()).list(); int total = 0; if (list.size() > 0 && list.get(0) instanceof Long) { total = ((Long) list.get(0)).intValue(); } res.setTotal(total); String sql = queryParam.getCustomQueryString(); res.setDatas((impl.findList((int)queryParam.getPageIndex(), (int)queryParam.getPageSize(), sql, Order.asc("seq")) .toArray(new FlowApproveContent[] {}))); return res; } }); } /** * 根据 ID 返回 FlowApproveContent 对象 * * @param ids FlowApproveContent 对象的 ID 列表 */ @SuppressWarnings("unchecked") public FlowApproveContent getFlowApproveContentById(final String id) { return (FlowApproveContent) new HibernateTemplate().run(new HibernateCallback() { public Object execute() throws HibernateException { FlowApproveContentDaoImpl impl = new FlowApproveContentDaoImpl(); String hql = "from FlowApproveContent t where t.id = ?"; return impl.findEntity(hql, new Object[] { id }); } }); } }