package com.vci.server.workflow.server.delegate; import java.util.Date; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import org.omg.CORBA.LongHolder; import com.vci.common.objects.QueryParam; import com.vci.common.objects.QueryResult; import com.vci.common.utility.ObjectUtility; import com.vci.corba.common.VCIError; import com.vci.corba.workflow.data.QueryParamInfo; import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.workflow.data.FlowApproveContentInfo; import com.vci.server.base.delegate.BaseDelegate; import com.vci.server.workflow.objects.FlowApproveContent; import com.vci.server.workflow.server.task.approve.FlowApproveContentService; /** * FlowApproveContent Delegate Server * */ public class FlowApproveContentDelegate extends BaseDelegate { FlowApproveContentService service = null; public FlowApproveContentDelegate(UserEntityInfo userEntityInfo) { super(userEntityInfo); service = new FlowApproveContentService(this.getUserEntity()); } /** * 添加、保存 FlowApproveContent 对象 * * @param info FlowApproveContentInfo 对象 */ public boolean saveFlowApproveContent(FlowApproveContentInfo info) throws VCIError { boolean res = false; String id = ObjectUtility.getNewObjectID36(); info.id = id; try { FlowApproveContent obj = this.convertFlowApproveContentInfoToFlowApproveContent(info); res = service.saveFlowApproveContent(obj); // LogRecordUtil.writeLog(userEntity, "添加", obj.getLogInfo(), LogType.GeneralOperation, obj.getId()); } catch (Exception ex) { throw new VCIError("410801", new String[] { ex.getMessage() }); } return res; } /** * 修改、更新 FlowApproveContent 对象 * * @param info FlowApproveContentInfo 对象 */ public boolean updateFlowApproveContent(FlowApproveContentInfo info) throws VCIError { boolean res = false; try { FlowApproveContent obj = this.convertFlowApproveContentInfoToFlowApproveContent(info); FlowApproveContent objBefore = service.getFlowApproveContentById(info.id); StringBuffer sbLog = new StringBuffer(); sbLog.append("更新前:" + objBefore.getLogInfo()); sbLog.append("更新后:" + obj.getLogInfo()); res = service.updateFlowApproveContent(obj); // LogRecordUtil.writeLog(userEntity, "更新", sbLog.toString(), LogType.GeneralOperation, obj.getId()); } catch (Exception ex) { throw new VCIError("410802", new String[] { ex.getMessage() }); } return res; } /** * 根据 ID 删除 FlowApproveContent 对象(批量) * * @param ids FlowApproveContent 对象的 ID 列表 */ public boolean deleteFlowApproveContent(String[] ids) throws VCIError { boolean res = false; LinkedHashMap delLogMap = new LinkedHashMap(); try { for (String id : ids) { delLogMap.put(id, service.getFlowApproveContentById(id).getLogInfo()); } res = service.deleteFlowApproveContent(ids); Iterator keys = delLogMap.keySet().iterator(); while (keys.hasNext()) { String id = keys.next(); String logInfo = delLogMap.get(id); // LogRecordUtil.writeLog(userEntity, "删除", logInfo, LogType.GeneralOperation, id); } } catch (Exception ex) { throw new VCIError("410803", new String[] { ex.getMessage() }); } return res; } /** * 返回全部的 FlowApproveContent 对象 */ public FlowApproveContentInfo[] getFlowApproveContents() throws VCIError { FlowApproveContentInfo[] infos = new FlowApproveContentInfo[0]; try { List list = service.getFlowApproveContents(); FlowApproveContent[] objects = list.toArray(new FlowApproveContent[] {}); infos = this.convertFlowApproveContentsToFlowApproveContentInfos(objects); } catch (Exception ex) { throw new VCIError("410804", new String[] { ex.getMessage() }); } return infos; } /** * 根据分页参数 返回 FlowApproveContent 对象 *

* Description: *

* * @param total 输出参数,数据总数 * @param queryParamInfo 查询参数 * @return 对象集合 * @throws VCIError */ public FlowApproveContentInfo[] getFlowApproveContentByPageing(LongHolder total, QueryParamInfo queryParamInfo) throws VCIError { FlowApproveContentInfo[] infos = new FlowApproveContentInfo[0]; try { QueryParam queryParam = convertQueryParamInfo(queryParamInfo); QueryResult res = service.getFlowApproveContentByPageing(queryParam); total.value = res.getTotal(); FlowApproveContent[] objects = res.getDatas(); infos = this.convertFlowApproveContentsToFlowApproveContentInfos(objects); } catch (Exception ex) { throw new VCIError("410804", new String[] { ex.getMessage() }); } return infos; } /** * 根据 ID 返回 FlowApproveContent 对象 * * @param id FlowApproveContent */ public FlowApproveContentInfo getFlowApproveContentById(String id) throws VCIError { FlowApproveContentInfo info = new FlowApproveContentInfo(); try { FlowApproveContent object = service.getFlowApproveContentById(id); info = this.convertFlowApproveContentToFlowApproveContentInfo(object); } catch (Exception ex) { throw new VCIError("410804", new String[] { ex.getMessage() }); } return info; } /************************* CORBA & HIBERNATE CONVERT **************************/ /** * 对象转换(批量),从 Hibernate 对象转换到 Corba 对象 * * @param objects */ public FlowApproveContentInfo[] convertFlowApproveContentsToFlowApproveContentInfos(FlowApproveContent[] objects) { FlowApproveContentInfo[] infos = new FlowApproveContentInfo[objects.length]; int i = 0; for (FlowApproveContent obj : objects) { infos[i++] = this.convertFlowApproveContentToFlowApproveContentInfo(obj); } return infos; } /** * 对象转换,从 Hibernate 对象转换到 Corba 对象 * * @param object * @return */ public FlowApproveContentInfo convertFlowApproveContentToFlowApproveContentInfo(FlowApproveContent object) { FlowApproveContentInfo info = new FlowApproveContentInfo(); info.id = object.getId() == null ? "" : object.getId(); info.userId = object.getUserId() == null ? "" : object.getUserId(); info.approveContent = object.getApproveContent() == null ? "" : object.getApproveContent(); info.seq = object.getSeq(); info.createTime = object.getCreateTime().getTime(); info.createUser = object.getCreateUser() == null ? "" : object.getCreateUser(); info.createRole = object.getCreateRole() == null ? "" : object.getCreateRole(); info.createOrg = object.getCreateOrg() == null ? "" : object.getCreateOrg(); info.modifyTime = object.getModifyTime().getTime(); info.modifyUser = object.getModifyUser() == null ? "" : object.getModifyUser(); info.modifyRole = object.getModifyRole() == null ? "" : object.getModifyRole(); info.modifyOrg = object.getModifyOrg() == null ? "" : object.getModifyOrg(); info.licensors = object.getLicensors() == null ? "" : object.getLicensors(); return info; } /** * 对象转换(批量),从 Corba 对象转换到 Hibernate 对象 * * @param infos * @return */ public FlowApproveContent[] convertFlowApproveContentInfosToFlowApproveContents(FlowApproveContentInfo[] infos) { FlowApproveContent[] objects = new FlowApproveContent[infos.length]; int i = 0; for (FlowApproveContentInfo info : infos) { objects[i++] = this.convertFlowApproveContentInfoToFlowApproveContent(info); } return objects; } /** * 对象转换,从 Corba 对象转换到 Hibernate 对象 * * @param info * @return */ public FlowApproveContent convertFlowApproveContentInfoToFlowApproveContent(FlowApproveContentInfo info) { FlowApproveContent object = new FlowApproveContent(); object.setId(info.id); object.setUserId(info.userId); object.setApproveContent(info.approveContent); object.setSeq(info.seq); object.setCreateTime(new Date(info.createTime)); object.setCreateUser(info.createUser); object.setCreateRole(info.createRole); object.setCreateOrg(info.createOrg); object.setModifyTime(new Date(info.modifyTime)); object.setModifyUser(info.modifyUser); object.setModifyRole(info.modifyRole); object.setModifyOrg(info.modifyOrg); object.setLicensors(info.licensors); return object; } protected QueryParam convertQueryParamInfo(QueryParamInfo info) { QueryParam obj = new QueryParam(); obj.setCustomQueryString(info.customQueryString); obj.setPageIndex(info.pageIndex); obj.setPageSize(info.pageSize); return obj; } }