package com.kingdee.shr.customer.synosf; import com.kingdee.bos.BOSException; import com.kingdee.bos.Context; import com.kingdee.bos.bsf.service.app.IHRMsfService; import com.kingdee.bos.dao.ormapping.ObjectUuidPK; import com.kingdee.eas.base.permission.PermItemFactory; import com.kingdee.eas.base.permission.PermItemInfo; import com.kingdee.eas.base.permission.UserFactory; import com.kingdee.eas.base.permission.UserInfo; import com.kingdee.eas.common.EASBizException; import com.kingdee.eas.hr.emp.EmployeeInterfacePermBizException; import com.kingdee.eas.util.app.ContextUtil; import com.kingdee.eas.util.app.DbUtil; import com.kingdee.jdbc.rowset.IRowSet; import com.kingdee.shr.base.permission.api.service.SHRFunctionPermissionService; import com.kingdee.shr.integration.oa.util.IntegrateOAUtil; import com.kingdee.shr.integration.oa.util.MappingFieldInfo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 获取组织数据 * @author coyle * 202601 */ public class OAGetAdminOrgDataService implements IHRMsfService { private static final Logger logger = LoggerFactory.getLogger(OAGetAdminOrgDataService.class); public Object process(Context ctx, Map param) throws EASBizException, BOSException { logger.error("InteOAGetAdminOrgDataService enter "); new ArrayList(); String adminPermItem = "fffffff0-ffff-efff-e22e-0000000dfa21PERMITEM"; PermItemInfo permItem = PermItemFactory.getLocalInstance(ctx).getPermItemInfo(new ObjectUuidPK(adminPermItem)); try { SHRFunctionPermissionService.checkCurrnetUserFunctionPermission(ctx, permItem); } catch (Exception var9) { logger.error(var9.getMessage(), var9); String userId = ContextUtil.getCurrentUserInfo(ctx).getId().toString(); UserInfo userInfo = UserFactory.getLocalInstance(ctx).getUserInfo(new ObjectUuidPK(userId)); throw new EmployeeInterfacePermBizException(EmployeeInterfacePermBizException.NO_FUNCTION_PERMISSION, new Object[]{userInfo.getName(), permItem.getAlias()}); } List fieldList = this.initMappingField(); StringBuffer sql = IntegrateOAUtil.getSelectFieldSql(fieldList); sql.append(" from t_org_admin org "); sql.append(" left join t_org_admin parent on parent.fid=org.FParentID "); sql.append(" left join T_HR_SHRAdminOrgUnitExtend ext on org.fid = ext.fadminorgunitid "); sql.append(" left join T_bd_person dirpp on ext.cfdirectorid = dirpp.fid "); sql.append(" left join T_bd_person asspp on ext.cfAssistantid = asspp.fid "); sql.append(" left join T_bd_person manapp on ext.cfmanagerid = manapp.fid "); sql.append(" left join T_bd_person depatpp on ext.cfResponsibleLeaderid = depatpp.fid "); sql.append(" left join T_bd_person ministerpp on ext.cfMinisterid = ministerpp.fid "); sql.append(" left join t_org_admin comp on org.FCompanyID = comp.fid "); sql.append(" where org.FIsStartSHR=1"); sql.append(" order by org.flongNumber,org.FIndex asc"); System.out.print("sql:"+sql.toString() ); IRowSet rs = DbUtil.executeQuery(ctx, sql.toString()); List> dataList = IntegrateOAUtil.getRsListData(fieldList, rs); return dataList; } private List initMappingField() { List list = new ArrayList(); MappingFieldInfo fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("easdept_id"); // fieldInfo.setShrField("org.fid"); // list.add(fieldInfo); // // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("endflag"); // fieldInfo.setShrField("org.FIsLeaf"); // list.add(fieldInfo); // // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("fcreateTime"); // fieldInfo.setShrField("org.fcreateTime"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("flastUpdateTime"); // fieldInfo.setShrField("org.FLastUpdateTime"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("supFnumber"); // fieldInfo.setShrField("parent.FNumber"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("fEffectDate"); // fieldInfo.setShrField("org.FEffectDate"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("simpleName"); // fieldInfo.setShrField("org.FsimpleName"); // list.add(fieldInfo); //name 组织名称 fieldInfo = new MappingFieldInfo(); fieldInfo.setOaField("name"); fieldInfo.setShrField("org.fname_l2"); list.add(fieldInfo); //number 组织编码 fieldInfo = new MappingFieldInfo(); fieldInfo.setOaField("fnumber"); fieldInfo.setShrField("org.FNumber"); list.add(fieldInfo); //parentNumber 上级行政组织编码 fieldInfo = new MappingFieldInfo(); fieldInfo.setOaField("parentNumber"); fieldInfo.setShrField("parent.fnumber"); list.add(fieldInfo); //sortCode 排序 fieldInfo = new MappingFieldInfo(); fieldInfo.setOaField("sortCode"); fieldInfo.setShrField("org.fSortCode"); list.add(fieldInfo); //status 是否封存 fieldInfo = new MappingFieldInfo(); fieldInfo.setOaField("status"); fieldInfo.setShrField("org.FIsSealUp"); list.add(fieldInfo); //isBranch 是否分部 //unitLayerType 组织层级类型:1-总部,2-分部,3-部门,4-小组 fieldInfo = new MappingFieldInfo(); fieldInfo.setOaField("isBranch"); fieldInfo.setShrField("CASE WHEN org.FID = comp.FID THEN '是' ELSE '否' END "); list.add(fieldInfo); //branchNubmer fieldInfo = new MappingFieldInfo(); fieldInfo.setOaField("branchNubmer"); fieldInfo.setShrField("comp.fnumber"); list.add(fieldInfo); // CASE WHEN ext.cfisBranch = 1 THEN org.FNumber ELSE N'' END BRANCHNUBMER // //Director 研究院院 // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("directorId"); // fieldInfo.setShrField("dirpp.fid"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("directorNum"); // fieldInfo.setShrField("dirpp.fnumber"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("directorName"); // fieldInfo.setShrField("dirpp.fname_l2"); // list.add(fieldInfo); // //Assistant 部门助理 // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("assistantId"); // fieldInfo.setShrField("asspp.fid"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("assistantNum"); // fieldInfo.setShrField("asspp.fnumber"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("assistantName"); // fieldInfo.setShrField("asspp.fname_l2"); // list.add(fieldInfo); // //manager 部门负 // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("manager"); // fieldInfo.setShrField("manapp.fid"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("managerNum"); // fieldInfo.setShrField("manapp.fnumber"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("managerName"); // fieldInfo.setShrField("manapp.fname_l2"); // list.add(fieldInfo); // //ResponsibleLeader 部门分管领导 // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("departLeaderId"); // fieldInfo.setShrField("depatpp.fid"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("departLeaderNum"); // fieldInfo.setShrField("depatpp.fnumber"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("departLeaderName"); // fieldInfo.setShrField("depatpp.fname_l2"); // list.add(fieldInfo); // //Minister 部门部长 下拉 // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("ministerId"); // fieldInfo.setShrField("ministerpp.fid"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("ministerNum"); // fieldInfo.setShrField("ministerpp.fnumber"); // list.add(fieldInfo); // fieldInfo = new MappingFieldInfo(); // fieldInfo.setOaField("ministerName"); // fieldInfo.setShrField("ministerpp.fname_l2"); return list; } }