OAGetAdminOrgDataService.java 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. package com.kingdee.shr.customer.synosf;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.bsf.service.app.IHRMsfService;
  5. import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
  6. import com.kingdee.eas.base.permission.PermItemFactory;
  7. import com.kingdee.eas.base.permission.PermItemInfo;
  8. import com.kingdee.eas.base.permission.UserFactory;
  9. import com.kingdee.eas.base.permission.UserInfo;
  10. import com.kingdee.eas.common.EASBizException;
  11. import com.kingdee.eas.hr.emp.EmployeeInterfacePermBizException;
  12. import com.kingdee.eas.util.app.ContextUtil;
  13. import com.kingdee.eas.util.app.DbUtil;
  14. import com.kingdee.jdbc.rowset.IRowSet;
  15. import com.kingdee.shr.base.permission.api.service.SHRFunctionPermissionService;
  16. import com.kingdee.shr.integration.oa.util.IntegrateOAUtil;
  17. import com.kingdee.shr.integration.oa.util.MappingFieldInfo;
  18. import java.util.ArrayList;
  19. import java.util.HashMap;
  20. import java.util.List;
  21. import java.util.Map;
  22. import org.slf4j.Logger;
  23. import org.slf4j.LoggerFactory;
  24. /**
  25. * 获取组织数据
  26. * @author coyle
  27. * 202601
  28. */
  29. public class OAGetAdminOrgDataService implements IHRMsfService {
  30. private static final Logger logger = LoggerFactory.getLogger(OAGetAdminOrgDataService.class);
  31. public Object process(Context ctx, Map param) throws EASBizException, BOSException {
  32. logger.error("InteOAGetAdminOrgDataService enter ");
  33. new ArrayList();
  34. String adminPermItem = "fffffff0-ffff-efff-e22e-0000000dfa21PERMITEM";
  35. PermItemInfo permItem = PermItemFactory.getLocalInstance(ctx).getPermItemInfo(new ObjectUuidPK(adminPermItem));
  36. try {
  37. SHRFunctionPermissionService.checkCurrnetUserFunctionPermission(ctx, permItem);
  38. } catch (Exception var9) {
  39. logger.error(var9.getMessage(), var9);
  40. String userId = ContextUtil.getCurrentUserInfo(ctx).getId().toString();
  41. UserInfo userInfo = UserFactory.getLocalInstance(ctx).getUserInfo(new ObjectUuidPK(userId));
  42. throw new EmployeeInterfacePermBizException(EmployeeInterfacePermBizException.NO_FUNCTION_PERMISSION,
  43. new Object[]{userInfo.getName(), permItem.getAlias()});
  44. }
  45. List<MappingFieldInfo> fieldList = this.initMappingField();
  46. StringBuffer sql = IntegrateOAUtil.getSelectFieldSql(fieldList);
  47. sql.append(" from t_org_admin org ");
  48. sql.append(" left join t_org_admin parent on parent.fid=org.FParentID ");
  49. sql.append(" left join T_HR_SHRAdminOrgUnitExtend ext on org.fid = ext.fadminorgunitid ");
  50. sql.append(" left join T_bd_person dirpp on ext.cfdirectorid = dirpp.fid ");
  51. sql.append(" left join T_bd_person asspp on ext.cfAssistantid = asspp.fid ");
  52. sql.append(" left join T_bd_person manapp on ext.cfmanagerid = manapp.fid ");
  53. sql.append(" left join T_bd_person depatpp on ext.cfResponsibleLeaderid = depatpp.fid ");
  54. sql.append(" left join T_bd_person ministerpp on ext.cfMinisterid = ministerpp.fid ");
  55. sql.append(" left join t_org_admin comp on org.FCompanyID = comp.fid ");
  56. sql.append(" where org.FIsStartSHR=1");
  57. sql.append(" order by org.flongNumber,org.FIndex asc");
  58. System.out.print("sql:"+sql.toString() );
  59. IRowSet rs = DbUtil.executeQuery(ctx, sql.toString());
  60. List<HashMap<String, String>> dataList = IntegrateOAUtil.getRsListData(fieldList, rs);
  61. return dataList;
  62. }
  63. private List<MappingFieldInfo> initMappingField() {
  64. List<MappingFieldInfo> list = new ArrayList();
  65. MappingFieldInfo fieldInfo = new MappingFieldInfo();
  66. // fieldInfo.setOaField("easdept_id");
  67. // fieldInfo.setShrField("org.fid");
  68. // list.add(fieldInfo);
  69. //
  70. // fieldInfo = new MappingFieldInfo();
  71. // fieldInfo.setOaField("endflag");
  72. // fieldInfo.setShrField("org.FIsLeaf");
  73. // list.add(fieldInfo);
  74. //
  75. // fieldInfo = new MappingFieldInfo();
  76. // fieldInfo.setOaField("fcreateTime");
  77. // fieldInfo.setShrField("org.fcreateTime");
  78. // list.add(fieldInfo);
  79. // fieldInfo = new MappingFieldInfo();
  80. // fieldInfo.setOaField("flastUpdateTime");
  81. // fieldInfo.setShrField("org.FLastUpdateTime");
  82. // list.add(fieldInfo);
  83. // fieldInfo = new MappingFieldInfo();
  84. // fieldInfo.setOaField("supFnumber");
  85. // fieldInfo.setShrField("parent.FNumber");
  86. // list.add(fieldInfo);
  87. // fieldInfo = new MappingFieldInfo();
  88. // fieldInfo.setOaField("fEffectDate");
  89. // fieldInfo.setShrField("org.FEffectDate");
  90. // list.add(fieldInfo);
  91. // fieldInfo = new MappingFieldInfo();
  92. // fieldInfo.setOaField("simpleName");
  93. // fieldInfo.setShrField("org.FsimpleName");
  94. // list.add(fieldInfo);
  95. //name 组织名称
  96. fieldInfo = new MappingFieldInfo();
  97. fieldInfo.setOaField("name");
  98. fieldInfo.setShrField("org.fname_l2");
  99. list.add(fieldInfo);
  100. //number 组织编码
  101. fieldInfo = new MappingFieldInfo();
  102. fieldInfo.setOaField("fnumber");
  103. fieldInfo.setShrField("org.FNumber");
  104. list.add(fieldInfo);
  105. //parentNumber 上级行政组织编码
  106. fieldInfo = new MappingFieldInfo();
  107. fieldInfo.setOaField("parentNumber");
  108. fieldInfo.setShrField("parent.fnumber");
  109. list.add(fieldInfo);
  110. //sortCode 排序
  111. fieldInfo = new MappingFieldInfo();
  112. fieldInfo.setOaField("sortCode");
  113. fieldInfo.setShrField("org.fSortCode");
  114. list.add(fieldInfo);
  115. //status 是否封存
  116. fieldInfo = new MappingFieldInfo();
  117. fieldInfo.setOaField("status");
  118. fieldInfo.setShrField("org.FIsSealUp");
  119. list.add(fieldInfo);
  120. //isBranch 是否分部 //unitLayerType 组织层级类型:1-总部,2-分部,3-部门,4-小组
  121. fieldInfo = new MappingFieldInfo();
  122. fieldInfo.setOaField("isBranch");
  123. fieldInfo.setShrField("CASE WHEN org.FID = comp.FID THEN '是' ELSE '否' END ");
  124. list.add(fieldInfo);
  125. //branchNubmer
  126. fieldInfo = new MappingFieldInfo();
  127. fieldInfo.setOaField("branchNubmer");
  128. fieldInfo.setShrField("comp.fnumber");
  129. list.add(fieldInfo);
  130. // CASE WHEN ext.cfisBranch = 1 THEN org.FNumber ELSE N'' END BRANCHNUBMER
  131. // //Director 研究院院
  132. // fieldInfo = new MappingFieldInfo();
  133. // fieldInfo.setOaField("directorId");
  134. // fieldInfo.setShrField("dirpp.fid");
  135. // list.add(fieldInfo);
  136. // fieldInfo = new MappingFieldInfo();
  137. // fieldInfo.setOaField("directorNum");
  138. // fieldInfo.setShrField("dirpp.fnumber");
  139. // list.add(fieldInfo);
  140. // fieldInfo = new MappingFieldInfo();
  141. // fieldInfo.setOaField("directorName");
  142. // fieldInfo.setShrField("dirpp.fname_l2");
  143. // list.add(fieldInfo);
  144. // //Assistant 部门助理
  145. // fieldInfo = new MappingFieldInfo();
  146. // fieldInfo.setOaField("assistantId");
  147. // fieldInfo.setShrField("asspp.fid");
  148. // list.add(fieldInfo);
  149. // fieldInfo = new MappingFieldInfo();
  150. // fieldInfo.setOaField("assistantNum");
  151. // fieldInfo.setShrField("asspp.fnumber");
  152. // list.add(fieldInfo);
  153. // fieldInfo = new MappingFieldInfo();
  154. // fieldInfo.setOaField("assistantName");
  155. // fieldInfo.setShrField("asspp.fname_l2");
  156. // list.add(fieldInfo);
  157. // //manager 部门负
  158. // fieldInfo = new MappingFieldInfo();
  159. // fieldInfo.setOaField("manager");
  160. // fieldInfo.setShrField("manapp.fid");
  161. // list.add(fieldInfo);
  162. // fieldInfo = new MappingFieldInfo();
  163. // fieldInfo.setOaField("managerNum");
  164. // fieldInfo.setShrField("manapp.fnumber");
  165. // list.add(fieldInfo);
  166. // fieldInfo = new MappingFieldInfo();
  167. // fieldInfo.setOaField("managerName");
  168. // fieldInfo.setShrField("manapp.fname_l2");
  169. // list.add(fieldInfo);
  170. // //ResponsibleLeader 部门分管领导
  171. // fieldInfo = new MappingFieldInfo();
  172. // fieldInfo.setOaField("departLeaderId");
  173. // fieldInfo.setShrField("depatpp.fid");
  174. // list.add(fieldInfo);
  175. // fieldInfo = new MappingFieldInfo();
  176. // fieldInfo.setOaField("departLeaderNum");
  177. // fieldInfo.setShrField("depatpp.fnumber");
  178. // list.add(fieldInfo);
  179. // fieldInfo = new MappingFieldInfo();
  180. // fieldInfo.setOaField("departLeaderName");
  181. // fieldInfo.setShrField("depatpp.fname_l2");
  182. // list.add(fieldInfo);
  183. // //Minister 部门部长 下拉
  184. // fieldInfo = new MappingFieldInfo();
  185. // fieldInfo.setOaField("ministerId");
  186. // fieldInfo.setShrField("ministerpp.fid");
  187. // list.add(fieldInfo);
  188. // fieldInfo = new MappingFieldInfo();
  189. // fieldInfo.setOaField("ministerNum");
  190. // fieldInfo.setShrField("ministerpp.fnumber");
  191. // list.add(fieldInfo);
  192. // fieldInfo = new MappingFieldInfo();
  193. // fieldInfo.setOaField("ministerName");
  194. // fieldInfo.setShrField("ministerpp.fname_l2");
  195. return list;
  196. }
  197. }