| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- //
- // Source code recreated from a .class file by IntelliJ IDEA
- // (powered by FernFlower decompiler)
- //
- package com.kingdee.eas.hr.org.web.handler;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.dao.IObjectPK;
- import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
- import com.kingdee.eas.basedata.org.AdminOrgUnitCollection;
- import com.kingdee.eas.basedata.org.AdminOrgUnitFactory;
- import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.framework.CoreBaseInfo;
- import com.kingdee.eas.util.app.DbUtil;
- import com.kingdee.shr.base.syssetting.MSFServiceFacadeFactory;
- import com.kingdee.shr.base.syssetting.app.osf.OSFAppUtil;
- import com.kingdee.shr.base.syssetting.context.SHRContext;
- import com.kingdee.shr.base.syssetting.exception.SHRWebException;
- import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.ui.ModelMap;
- public class OrgUnitEditHandlerEx extends OrgUnitEditHandler {
- Context ctx = SHRContext.getInstance().getContext();
- public OrgUnitEditHandlerEx() {
- }
- protected IObjectPK runSaveData(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException, EASBizException {
- String adminType = model.get("reservefieldfirst").toString();
- String historyOperateState = request.getParameter("historyOperateState");
- String actions = null;
- String oldname = null;
- if (model instanceof AdminOrgUnitInfo) {
- AdminOrgUnitInfo fullOrg = (AdminOrgUnitInfo)model;
- if (model.getId() != null) {
- try {
- oldname = AdminOrgUnitFactory.getRemoteInstance().getAdminOrgUnitInfo(new ObjectUuidPK(model.getId())).getName();
- } catch (BOSException var14) {
- var14.printStackTrace();
- }
- }
- }
- if (!"revise".equals(historyOperateState) && !"change".equals(historyOperateState)) {
- actions = "add";
- } else {
- actions = "update";
- }
- IObjectPK pk = super.runSaveData(request, response, model);
- this.createReserveFieldFirst(pk.toString(), adminType);
- AdminOrgUnitInfo adminInfo = null;
- AdminOrgUnitCollection adminCol = null;
- try {
- adminCol = AdminOrgUnitFactory.getLocalInstance(this.ctx).getAdminOrgUnitCollection(" where id = '" + pk + "'");
- if (adminCol != null && adminCol.size() > 0) {
- adminInfo = adminCol.get(0);
- }
- Map createAdminMap = this.getOu(adminInfo);
- if (createAdminMap.get("ou1") != null) {
- String sendAD = this.createLdapAdmins(createAdminMap, actions, oldname);
- System.out.println("sendAD:" + sendAD);
- if (sendAD.indexOf("成功") == -1) {
- throw new ShrWebBizException(sendAD);
- }
- System.out.println(sendAD);
- }
- } catch (BOSException var13) {
- var13.printStackTrace();
- }
- return pk;
- }
- private Map<String, String> getOu(AdminOrgUnitInfo adminInfo) {
- Map<String, String> ouMap = new HashMap();
- String ou1 = null;
- String ou2 = null;
- String displayName = adminInfo.getDisplayName();
- String adminType = adminInfo.getReserveFieldFirst();
- String[] adminString = displayName.split("_");
- if (adminType.equals("挂靠组织")) {
- if (adminString.length == 3) {
- ou1 = adminString[2];
- ou2 = adminString[1];
- }
- if (adminString.length == 2) {
- ou1 = adminString[1];
- }
- } else {
- if (adminString.length == 4 && adminType.equals("内部组织")) {
- ou1 = adminString[3];
- ou2 = adminString[2];
- }
- if (adminString.length == 3) {
- ou1 = adminString[2];
- }
- }
- ouMap.put("ou1", ou1);
- ouMap.put("ou2", ou2);
- return ouMap;
- }
- private void createReserveFieldFirst(String id, String type) {
- StringBuffer sql = new StringBuffer();
- sql.append("update T_ORG_Admin set FReserveFieldFirst = '").append(type).append("'").append(" where FID = '").append(id).append("'");
- try {
- DbUtil.execute(this.ctx, sql.toString());
- } catch (BOSException var5) {
- var5.printStackTrace();
- }
- }
- private String createLdapAdmins(Map createAdminMap, String actions, String oldName) {
- StringBuffer bolState = new StringBuffer();
- ArrayList<HashMap<String, Object>> orgList = new ArrayList();
- HashMap<String, Object> orgs = new HashMap();
- orgs.put("ou1", createAdminMap.get("ou1"));
- orgs.put("ou2", createAdminMap.get("ou2"));
- orgs.put("oldName", oldName);
- orgs.put("actions", actions);
- orgList.add(orgs);
- Map<String, ArrayList<HashMap<String, Object>>> ldapMap = new HashMap();
- ldapMap.put("orgList", orgList);
- try {
- //String sendAD = MSFServiceFacadeFactory.getLocalInstance(this.ctx).processService("OrganizationLdapsService", ldapMap).toString();
- String sendAD = OSFAppUtil.callService(this.ctx, "OrganizationLdapsService", ldapMap).toString();
- bolState.append(sendAD);
- } catch (EASBizException var9) {
- bolState.append("调用同步AD域OSF接口OrganizationLdapsService失败,请检查接口配置信息!");
- } catch (BOSException var10) {
- bolState.append("调用同步AD域OSF接口OrganizationLdapsService失败,请检查接口配置信息!");
- }
- return bolState.toString();
- }
- public void getAdminPropertyAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
- String parentid = request.getParameter("parentid");
- String returnVal = null;
- if (parentid != null) {
- try {
- AdminOrgUnitInfo info = AdminOrgUnitFactory.getRemoteInstance().getAdminOrgUnitInfo(new ObjectUuidPK(parentid));
- returnVal = info.getReserveFieldFirst();
- } catch (EASBizException var7) {
- var7.printStackTrace();
- } catch (BOSException var8) {
- var8.printStackTrace();
- }
- }
- this.writeSuccessData(returnVal);
- }
- }
|