OrgUnitEditHandlerEx.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. //
  2. // Source code recreated from a .class file by IntelliJ IDEA
  3. // (powered by FernFlower decompiler)
  4. //
  5. package com.kingdee.eas.hr.org.web.handler;
  6. import com.kingdee.bos.BOSException;
  7. import com.kingdee.bos.Context;
  8. import com.kingdee.bos.dao.IObjectPK;
  9. import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
  10. import com.kingdee.eas.basedata.org.AdminOrgUnitCollection;
  11. import com.kingdee.eas.basedata.org.AdminOrgUnitFactory;
  12. import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
  13. import com.kingdee.eas.common.EASBizException;
  14. import com.kingdee.eas.framework.CoreBaseInfo;
  15. import com.kingdee.eas.util.app.DbUtil;
  16. import com.kingdee.shr.base.syssetting.MSFServiceFacadeFactory;
  17. import com.kingdee.shr.base.syssetting.app.osf.OSFAppUtil;
  18. import com.kingdee.shr.base.syssetting.context.SHRContext;
  19. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  20. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  21. import java.util.ArrayList;
  22. import java.util.HashMap;
  23. import java.util.Map;
  24. import javax.servlet.http.HttpServletRequest;
  25. import javax.servlet.http.HttpServletResponse;
  26. import org.springframework.ui.ModelMap;
  27. public class OrgUnitEditHandlerEx extends OrgUnitEditHandler {
  28. Context ctx = SHRContext.getInstance().getContext();
  29. public OrgUnitEditHandlerEx() {
  30. }
  31. protected IObjectPK runSaveData(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException, EASBizException {
  32. String adminType = model.get("reservefieldfirst").toString();
  33. String historyOperateState = request.getParameter("historyOperateState");
  34. String actions = null;
  35. String oldname = null;
  36. if (model instanceof AdminOrgUnitInfo) {
  37. AdminOrgUnitInfo fullOrg = (AdminOrgUnitInfo)model;
  38. if (model.getId() != null) {
  39. try {
  40. oldname = AdminOrgUnitFactory.getRemoteInstance().getAdminOrgUnitInfo(new ObjectUuidPK(model.getId())).getName();
  41. } catch (BOSException var14) {
  42. var14.printStackTrace();
  43. }
  44. }
  45. }
  46. if (!"revise".equals(historyOperateState) && !"change".equals(historyOperateState)) {
  47. actions = "add";
  48. } else {
  49. actions = "update";
  50. }
  51. IObjectPK pk = super.runSaveData(request, response, model);
  52. this.createReserveFieldFirst(pk.toString(), adminType);
  53. AdminOrgUnitInfo adminInfo = null;
  54. AdminOrgUnitCollection adminCol = null;
  55. try {
  56. adminCol = AdminOrgUnitFactory.getLocalInstance(this.ctx).getAdminOrgUnitCollection(" where id = '" + pk + "'");
  57. if (adminCol != null && adminCol.size() > 0) {
  58. adminInfo = adminCol.get(0);
  59. }
  60. Map createAdminMap = this.getOu(adminInfo);
  61. if (createAdminMap.get("ou1") != null) {
  62. String sendAD = this.createLdapAdmins(createAdminMap, actions, oldname);
  63. System.out.println("sendAD:" + sendAD);
  64. if (sendAD.indexOf("成功") == -1) {
  65. throw new ShrWebBizException(sendAD);
  66. }
  67. System.out.println(sendAD);
  68. }
  69. } catch (BOSException var13) {
  70. var13.printStackTrace();
  71. }
  72. return pk;
  73. }
  74. private Map<String, String> getOu(AdminOrgUnitInfo adminInfo) {
  75. Map<String, String> ouMap = new HashMap();
  76. String ou1 = null;
  77. String ou2 = null;
  78. String displayName = adminInfo.getDisplayName();
  79. String adminType = adminInfo.getReserveFieldFirst();
  80. String[] adminString = displayName.split("_");
  81. if (adminType.equals("挂靠组织")) {
  82. if (adminString.length == 3) {
  83. ou1 = adminString[2];
  84. ou2 = adminString[1];
  85. }
  86. if (adminString.length == 2) {
  87. ou1 = adminString[1];
  88. }
  89. } else {
  90. if (adminString.length == 4 && adminType.equals("内部组织")) {
  91. ou1 = adminString[3];
  92. ou2 = adminString[2];
  93. }
  94. if (adminString.length == 3) {
  95. ou1 = adminString[2];
  96. }
  97. }
  98. ouMap.put("ou1", ou1);
  99. ouMap.put("ou2", ou2);
  100. return ouMap;
  101. }
  102. private void createReserveFieldFirst(String id, String type) {
  103. StringBuffer sql = new StringBuffer();
  104. sql.append("update T_ORG_Admin set FReserveFieldFirst = '").append(type).append("'").append(" where FID = '").append(id).append("'");
  105. try {
  106. DbUtil.execute(this.ctx, sql.toString());
  107. } catch (BOSException var5) {
  108. var5.printStackTrace();
  109. }
  110. }
  111. private String createLdapAdmins(Map createAdminMap, String actions, String oldName) {
  112. StringBuffer bolState = new StringBuffer();
  113. ArrayList<HashMap<String, Object>> orgList = new ArrayList();
  114. HashMap<String, Object> orgs = new HashMap();
  115. orgs.put("ou1", createAdminMap.get("ou1"));
  116. orgs.put("ou2", createAdminMap.get("ou2"));
  117. orgs.put("oldName", oldName);
  118. orgs.put("actions", actions);
  119. orgList.add(orgs);
  120. Map<String, ArrayList<HashMap<String, Object>>> ldapMap = new HashMap();
  121. ldapMap.put("orgList", orgList);
  122. try {
  123. //String sendAD = MSFServiceFacadeFactory.getLocalInstance(this.ctx).processService("OrganizationLdapsService", ldapMap).toString();
  124. String sendAD = OSFAppUtil.callService(this.ctx, "OrganizationLdapsService", ldapMap).toString();
  125. bolState.append(sendAD);
  126. } catch (EASBizException var9) {
  127. bolState.append("调用同步AD域OSF接口OrganizationLdapsService失败,请检查接口配置信息!");
  128. } catch (BOSException var10) {
  129. bolState.append("调用同步AD域OSF接口OrganizationLdapsService失败,请检查接口配置信息!");
  130. }
  131. return bolState.toString();
  132. }
  133. public void getAdminPropertyAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
  134. String parentid = request.getParameter("parentid");
  135. String returnVal = null;
  136. if (parentid != null) {
  137. try {
  138. AdminOrgUnitInfo info = AdminOrgUnitFactory.getRemoteInstance().getAdminOrgUnitInfo(new ObjectUuidPK(parentid));
  139. returnVal = info.getReserveFieldFirst();
  140. } catch (EASBizException var7) {
  141. var7.printStackTrace();
  142. } catch (BOSException var8) {
  143. var8.printStackTrace();
  144. }
  145. }
  146. this.writeSuccessData(returnVal);
  147. }
  148. }