Bläddra i källkod

同步oa代码提交

“luojun” 7 månader sedan
förälder
incheckning
5c4c3e0001

+ 1 - 1
metadata/entity_pkmapping.properties

@@ -1,4 +1,4 @@
 #
-#Sat Oct 26 17:15:27 CST 2024
+#Tue Oct 29 00:54:47 CST 2024
 2AAAE378=com.kingdee.eas.custom.log.app.SyncLogEntry
 95A0551A=com.kingdee.eas.custom.log.app.SyncLog

+ 1 - 1
metadata/facade_pkmapping.properties

@@ -1,5 +1,5 @@
 #
-#Sat Oct 26 17:15:27 CST 2024
+#Tue Oct 29 00:54:47 CST 2024
 135AEBA4=com.kingdee.eas.custom.synctask.SyncTranForMJFacade
 07053019=com.kingdee.eas.custom.synctask.SyncTranForOAFacade
 C4BFC0BB=com.kingdee.eas.custom.synctask.SyncTranForIOTFacade

+ 0 - 2
src/com/kingdee/eas/basedata/org/app/AdminOrgUnitControllerBeanEx.java

@@ -35,7 +35,6 @@ public class AdminOrgUnitControllerBeanEx extends AdminOrgUnitControllerBean {
     protected void _update(Context ctx, IObjectPK pk, IObjectValue model) throws BOSException, EASBizException {
         super._update(ctx, pk, model);
         logger.error("AdminOrgUnitControllerBeanEx--------------------_update");
-
         //ͬ²½×éÖ¯µ½OA
         SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(pk.toString(), null);
     }
@@ -44,7 +43,6 @@ public class AdminOrgUnitControllerBeanEx extends AdminOrgUnitControllerBean {
     protected void _updatePartial(Context ctx, IObjectValue model, SelectorItemCollection selector) throws BOSException, EASBizException {
         super._updatePartial(ctx, model, selector);
         logger.error("AdminOrgUnitControllerBeanEx--------------------_updatePartial");
-
         AdminOrgUnitInfo info = (AdminOrgUnitInfo) model;
         String id = info.getId().toString();
         //ͬ²½×éÖ¯µ½OA

+ 3 - 4
src/com/kingdee/eas/basedata/org/app/PositionControllerBeanEx.java

@@ -21,7 +21,7 @@ public class PositionControllerBeanEx extends PositionControllerBean{
         IObjectPK iObjectPK = super._addnew(ctx, model);
         PositionInfo info = (PositionInfo) model;
         String id = info.getId().toString();
-        //同步组织到OA
+        //同步岗位到OA
         SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(id, null);
         return iObjectPK;
     }
@@ -30,7 +30,7 @@ public class PositionControllerBeanEx extends PositionControllerBean{
     protected void _update(Context ctx, IObjectPK pk, IObjectValue model) throws BOSException, EASBizException {
         super._update(ctx, pk, model);
         logger.error("PositionControllerBeanEx--------------------_update");
-        //同步组织到OA
+        //同步岗位到OA
         SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(pk.toString(), null);
     }
 
@@ -38,10 +38,9 @@ public class PositionControllerBeanEx extends PositionControllerBean{
     protected void _updatePartial(Context ctx, IObjectValue model, SelectorItemCollection selector) throws BOSException, EASBizException {
         super._updatePartial(ctx, model, selector);
         logger.error("PositionControllerBeanEx--------------------_updatePartial");
-
         PositionInfo info = (PositionInfo) model;
         String id = info.getId().toString();
-        //同步组织到OA
+        //同步岗位到OA
         SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(id, null);
     }
 }

+ 29 - 13
src/com/kingdee/eas/custom/synctask/SyncTranForOAFacadeControllerBean.java

@@ -30,10 +30,7 @@ import com.kingdee.eas.custom.synctask.entity.PersonEntity;
 import com.kingdee.eas.custom.synctask.entity.PositionEntity;
 import com.kingdee.eas.hr.ats.AtsUtil;
 import com.kingdee.eas.hr.base.EmployeeTypeInfo;
-import com.kingdee.eas.hr.emp.IPersonPosition;
-import com.kingdee.eas.hr.emp.PersonPositionCollection;
-import com.kingdee.eas.hr.emp.PersonPositionFactory;
-import com.kingdee.eas.hr.emp.PersonPositionInfo;
+import com.kingdee.eas.hr.emp.*;
 import com.kingdee.eas.hr.org.JobLevelInfo;
 import com.kingdee.eas.util.app.DbUtil;
 import com.kingdee.jdbc.rowset.IRowSet;
@@ -225,8 +222,9 @@ public class SyncTranForOAFacadeControllerBean extends AbstractSyncTranForOAFaca
             Response response = client.newCall(request).execute();
             //处理响应结果,写入日志
             return handlerResponse(ctx, response, syncLogInfo);
+        } else {
+            throw new BOSException("同步数据不能为空!");
         }
-        return null;
     }
 
     /**
@@ -464,6 +462,8 @@ public class SyncTranForOAFacadeControllerBean extends AbstractSyncTranForOAFaca
             sic.add("person.number");
             sic.add("person.name");
             sic.add("person.id");
+            sic.add("person.hireDate");
+            sic.add("person.nCell");
             sic.add("person.securityLe.id");
             sic.add("person.securityLe.name");
             sic.add("person.securityLe.number");
@@ -483,10 +483,22 @@ public class SyncTranForOAFacadeControllerBean extends AbstractSyncTranForOAFaca
             sic.add("primaryPosition.number");
             EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, sic, null);
             PersonPositionCollection personPositionCollection = iPersonPosition.getPersonPositionCollection(entityViewInfo);
+            //参加工作日期
+            Map<String, Date> personOtherInfoMap = new HashMap();
+            IPersonOtherInfo iPersonOtherInfo = PersonOtherInfoFactory.getLocalInstance(ctx);
+            //PersonOtherInfoCollection personOtherInfoCollection = iPersonOtherInfo.getPersonOtherInfoCollection("where person = '" + personInfo.getId() + "'");
+            PersonOtherInfoCollection personOtherInfoCollection = iPersonOtherInfo
+                    .getPersonOtherInfoCollection("select * , person.id");
+            for (int i = 0; i < personOtherInfoCollection.size(); i++) {
+                PersonOtherInfoInfo personOtherInfoInfo = personOtherInfoCollection.get(i);
+                logger.error("personOtherInfoInfo.getPerson().getId------------" + personOtherInfoInfo.getPerson().getId());
+                personOtherInfoMap.put(personOtherInfoInfo.getPerson().getId().toString()
+                        , personOtherInfoInfo.getJobStartDate());
+            }
             for (int i = 0; i < personPositionCollection.size(); i++) {
                 //职业信息
                 PersonPositionInfo personPositionInfo = personPositionCollection.get(i);
-                PersonEntity person = packagingPerson(ctx, personPositionInfo);
+                PersonEntity person = packagingPerson(ctx, personPositionInfo, personOtherInfoMap);
                 dataList.add(person);
             }
             ObjectMapper mapper = new ObjectMapper();
@@ -538,8 +550,9 @@ public class SyncTranForOAFacadeControllerBean extends AbstractSyncTranForOAFaca
             Response response = client.newCall(request).execute();
             //处理响应结果,写入日志
             return handlerResponse(ctx, response, syncLogInfo);
+        } else {
+            throw new BOSException("同步数据不能为空!");
         }
-        return null;
     }
 
     /**
@@ -548,7 +561,7 @@ public class SyncTranForOAFacadeControllerBean extends AbstractSyncTranForOAFaca
      * @param personPositionInfo
      * @return
      */
-    public PersonEntity packagingPerson(Context ctx, PersonPositionInfo personPositionInfo) throws
+    public PersonEntity packagingPerson(Context ctx, PersonPositionInfo personPositionInfo, Map<String, Date> personOtherInfoMap) throws
             BOSException, EASBizException {
         SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd");
         //人员
@@ -592,14 +605,17 @@ public class SyncTranForOAFacadeControllerBean extends AbstractSyncTranForOAFaca
         //电子邮件
         person.setEmail(personInfo.getEmail());
         //入职日期
-        Date enterDate = personPositionInfo.getEnterDate();
-        if (enterDate != null) {
-            person.setCompanystartdate(originalFormat.format(enterDate));
+        //Date enterDate = personPositionInfo.getEnterDate();
+        Date hireDate = personInfo.getHireDate();
+        logger.error("personInfo.getHireDate------------" + personInfo.getHireDate());
+        if (hireDate != null) {
+            person.setCompanystartdate(originalFormat.format(hireDate));
         } else {
-            throw new BOSException("同步人员【" + personInfo.getName() + "】 入职日期不可为空!");
+            //throw new BOSException("同步人员【" + personInfo.getName() + "】 入职日期不可为空!");
+            person.setCompanystartdate("");
         }
         //参加工作日期
-        Date jobStartDate = personPositionInfo.getJobStartDate();
+        Date jobStartDate = personOtherInfoMap.get(personInfo.getId().toString());
         if (jobStartDate != null) {
             person.setWorkstartdate(originalFormat.format(jobStartDate));
         }

+ 127 - 0
src/com/kingdee/eas/hr/org/app/OrgUnitOptFacadeControllerBeanEx.java

@@ -0,0 +1,127 @@
+package com.kingdee.eas.hr.org.app;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.dao.IObjectPK;
+import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
+import com.kingdee.eas.basedata.org.HROrgUnitInfo;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.custom.synctask.ActionTypeEnum;
+import com.kingdee.eas.custom.synctask.SyncTranForOAFacadeFactory;
+import org.apache.log4j.Logger;
+
+import java.util.Date;
+
+/**
+ * @author qingwu
+ * @date 2024/10/28
+ * @apiNote
+ */
+public class OrgUnitOptFacadeControllerBeanEx extends OrgUnitOptFacadeControllerBean {
+    private static Logger logger = Logger.getLogger(OrgUnitOptFacadeControllerBeanEx.class);
+
+    /**
+     * 修改HR组织
+     *
+     * @param ctx
+     * @param unitPk
+     * @param hrOrgUnitInfo
+     * @return
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected IObjectPK _updateHROrg(Context ctx, IObjectPK unitPk, HROrgUnitInfo hrOrgUnitInfo) throws BOSException, EASBizException {
+        logger.error("OrgUnitOptFacadeControllerBeanEx--------_updateHROrg");
+        IObjectPK iObjectPK = super._updateHROrg(ctx, unitPk, hrOrgUnitInfo);
+        //同步组织到OA
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(iObjectPK.toString(), null);
+        return iObjectPK;
+    }
+
+    @Override
+    protected IObjectPK _addNewAdminOrg(Context ctx, AdminOrgUnitInfo adminInfo) throws BOSException, EASBizException {
+        logger.error("OrgUnitOptFacadeControllerBeanEx--------_addNewAdminOrg");
+        IObjectPK iObjectPK = super._addNewAdminOrg(ctx, adminInfo);
+        //同步组织到OA
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(iObjectPK.toString(), null);
+        return iObjectPK;
+
+    }
+
+    @Override
+    protected IObjectPK _updateAdminOrg(Context ctx, AdminOrgUnitInfo adminInfo) throws BOSException, EASBizException {
+        logger.error("OrgUnitOptFacadeControllerBeanEx--------_updateAdminOrg");
+        IObjectPK iObjectPK = super._updateAdminOrg(ctx, adminInfo);
+        //同步组织到OA
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(iObjectPK.toString(), null);
+        return iObjectPK;
+    }
+
+    /**
+     * 组织移动
+     *
+     * @param ctx
+     * @param orgID
+     * @param parentID
+     * @param effectDate
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _moveAdminOrg(Context ctx, String orgID, String parentID, Date effectDate) throws BOSException, EASBizException {
+        logger.error("OrgUnitOptFacadeControllerBeanEx--------_moveAdminOrg");
+        super._moveAdminOrg(ctx, orgID, parentID, effectDate);
+        //同步组织到OA
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(orgID, null);
+    }
+
+    /**
+     * 封存组织
+     *
+     * @param ctx
+     * @param unitID
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _sealUpOrg(Context ctx, String unitID) throws BOSException, EASBizException {
+        logger.error("OrgUnitOptFacadeControllerBeanEx--------_sealUpOrg");
+        super._sealUpOrg(ctx, unitID);
+        //同步组织到OA
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(unitID, ActionTypeEnum.DELETE);
+    }
+
+    /**
+     * 组织反封存
+     *
+     * @param ctx
+     * @param unitId
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _unSealUpOrg(Context ctx, String unitId) throws BOSException, EASBizException {
+        logger.error("OrgUnitOptFacadeControllerBeanEx--------_unSealUpOrg");
+        super._unSealUpOrg(ctx, unitId);
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(unitId, ActionTypeEnum.DELETE);
+
+    }
+
+    /**
+     * 修改行政组织类型
+     *
+     * @param ctx
+     * @param orgId
+     * @param unitLayerTypeId
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _orgModifyLayerType(Context ctx, String orgId, String unitLayerTypeId) throws BOSException, EASBizException {
+        logger.error("OrgUnitOptFacadeControllerBeanEx--------_orgModifyLayerType");
+        super._orgModifyLayerType(ctx, orgId, unitLayerTypeId);
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncOrgUnitToOA(orgId, null);
+
+    }
+}

+ 106 - 0
src/com/kingdee/eas/hr/org/app/PositionOptFacadeControllerBeanEx.java

@@ -0,0 +1,106 @@
+package com.kingdee.eas.hr.org.app;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.dao.IObjectPK;
+import com.kingdee.eas.basedata.org.PositionInfo;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.custom.synctask.SyncTranForOAFacadeFactory;
+import com.kingdee.util.StringUtils;
+import org.apache.log4j.Logger;
+
+/**
+ * @author qingwu
+ * @date 2024/10/28
+ * @apiNote
+ */
+public class PositionOptFacadeControllerBeanEx extends PositionOptFacadeControllerBean {
+    private static Logger logger = Logger.getLogger(OrgUnitOptFacadeControllerBeanEx.class);
+
+
+    @Override
+    protected IObjectPK _addNewPosition(Context ctx, PositionInfo info) throws BOSException, EASBizException {
+        logger.error("PositionOptFacadeControllerBeanEx---------_addNewPosition");
+        IObjectPK iObjectPK = super._addNewPosition(ctx, info);
+        //同步岗位到OA
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(iObjectPK.toString(), null);
+        return iObjectPK;
+
+    }
+
+    @Override
+    protected void _updatePosition(Context ctx, IObjectPK pk, PositionInfo info) throws BOSException, EASBizException {
+        logger.error("PositionOptFacadeControllerBeanEx---------_updatePosition");
+        super._updatePosition(ctx, pk, info);
+        //同步岗位到OA
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(pk.toString(), null);
+    }
+
+    /**
+     * 职位移动
+     *
+     * @param ctx
+     * @param positionInfo
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _movePosition(Context ctx, PositionInfo positionInfo) throws BOSException, EASBizException {
+        logger.error("PositionOptFacadeControllerBeanEx---------_updatePosition");
+        super._movePosition(ctx, positionInfo);
+        String positionId = positionInfo.getId().toString();
+        if (!StringUtils.isEmpty(positionId)) {
+            SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(positionId, null);
+        }
+
+
+    }
+
+    /**
+     * 职位启用
+     *
+     * @param ctx
+     * @param positionID
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _enable(Context ctx, String positionID) throws BOSException, EASBizException {
+        logger.error("PositionOptFacadeControllerBeanEx---------_updatePosition");
+        super._enable(ctx, positionID);
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(positionID, null);
+
+    }
+
+    /**
+     * 职位禁用
+     *
+     * @param ctx
+     * @param positionID
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _disable(Context ctx, String positionID) throws BOSException, EASBizException {
+        logger.error("PositionOptFacadeControllerBeanEx---------_updatePosition");
+        super._disable(ctx, positionID);
+        SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(positionID, null);
+    }
+
+    /**
+     * 覆蓋导入
+     *
+     * @param ctx
+     * @param positionInfo
+     * @throws BOSException
+     * @throws EASBizException
+     */
+    @Override
+    protected void _importUpdate(Context ctx, PositionInfo positionInfo) throws BOSException, EASBizException {
+        super._importUpdate(ctx, positionInfo);
+        String positionid = positionInfo.getId().toString();
+        if (!StringUtils.isEmpty(positionid)) {
+            SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(positionid, null);
+        }
+    }
+}

+ 18 - 0
websrc/com/kingdee/eas/custom/synctask/handler/EmployeeEditHandlerEx.java

@@ -0,0 +1,18 @@
+package com.kingdee.eas.custom.synctask.handler;
+
+import com.kingdee.bos.dao.IObjectPK;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.framework.CoreBaseInfo;
+import com.kingdee.eas.hr.emp.web.handler.EmployeeEditHandler;
+import com.kingdee.shr.base.syssetting.exception.SHRWebException;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author qingwu
+ * @date 2024/10/29
+ * @apiNote
+ */
+public class EmployeeEditHandlerEx extends EmployeeEditHandler {
+}

+ 48 - 2
websrc/com/kingdee/eas/custom/synctask/handler/EmployeeListHandlerEx.java

@@ -16,12 +16,14 @@ import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
 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 com.kingdee.shr.base.syssetting.ml.SHRWebResource;
 import com.kingdee.util.StringUtils;
 import org.apache.log4j.Logger;
 import org.springframework.ui.ModelMap;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.Enumeration;
 import java.util.Map;
 
 
@@ -37,12 +39,48 @@ public class EmployeeListHandlerEx extends EmployeeListHandler {
     public void syncPersonToOAAction(HttpServletRequest request,
                                      HttpServletResponse response,
                                      ModelMap modelMap) throws BOSException, EASBizException, SHRWebException {
+        Enumeration<String> headerNames = request.getHeaderNames();
+        while (headerNames.hasMoreElements()) {
+            String headerName = headerNames.nextElement();
+            String headerValue = request.getHeader(headerName);
+            logger.error("----headerNames------key¡¾" + headerName + "¡¿-value¡¾ " + headerValue + "¡¿");
+        }
+        Enumeration enu = request.getParameterNames();
+        while (enu.hasMoreElements()) {
+            String paraName = (String) enu.nextElement();
+            logger.error("----ParameterNames------key¡¾" + paraName + "¡¿-value¡¾ " + request.getParameter(paraName) + "¡¿");
+        }
+        //String billId = request.getParameter("billId[]");
+        ////}
+        //if (StringUtils.isEmpty(billId)) {
+        //    billId = (String) request.getAttribute("billId[]");
+        //}
+        //if (StringUtils.isEmpty(billId)) {
+        //    billId = request.getParameter("billIds[]");
+        //}
+        //if (StringUtils.isEmpty(billId)) {
+        //    billId = (String) request.getAttribute("billIds[]");
+        //}
+        //logger.error("----headerNames------billId----" + billId);
+
         this.handleEnableWithTips(request, "");
     }
 
 
     protected void handleEnableWithTips(HttpServletRequest request, String methodName) throws SHRWebException {
-        String billId = this.getBillId(request);
+        //String billId = this.getBillId(request);
+        //if (StringUtils.isEmpty(billId)) {
+        String billId = request.getParameter("billId");
+        //}
+        if (StringUtils.isEmpty(billId)) {
+            billId = (String) request.getAttribute("billId");
+        }
+        if (StringUtils.isEmpty(billId)) {
+            billId = request.getParameter("billIds[]");
+        }
+        if (StringUtils.isEmpty(billId)) {
+            billId = (String) request.getAttribute("billId[]");
+        }
         try {
             IPerson iPerson = PersonFactory.getLocalInstance(ctx);
             if (StringUtils.isEmpty(billId)) {
@@ -55,7 +93,9 @@ public class EmployeeListHandlerEx extends EmployeeListHandler {
                 sb.deleteCharAt(sb.lastIndexOf(","));
             }
             Map<String, Map<String, String>> resultMap = SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPersonToOA(billId, null);
-            if (resultMap != null && resultMap.isEmpty()) {
+            logger.error("handleEnableWithTips----- resultMap----" + resultMap);
+            if (resultMap != null && !resultMap.isEmpty()) {
+                logger.error("handleEnableWithTips----- start ");
                 PersonCollection personCollection = iPerson.getPersonCollection("select id,number where id in (" + AtsUtil.getStrFromString(billId) + ")");
                 int sucess = 0;
                 int failure = 0;
@@ -68,6 +108,8 @@ public class EmployeeListHandlerEx extends EmployeeListHandler {
                     Map<String, String> map = resultMap.get(personNumber);
                     if ("success".equals(map.get("state"))) {
                         ++sucess;
+                        body.setMuitTipsState(Boolean.TRUE);
+                        body.setMuitTipsMessage(map.get("msg"));
                     } else {
                         ++failure;
                         body.setMuitTipsState(Boolean.FALSE);
@@ -75,11 +117,15 @@ public class EmployeeListHandlerEx extends EmployeeListHandler {
                     }
                     batchMessageTipsHeader.addResult(body);
                 }
+                logger.error("handleEnableWithTips----- >> ");
                 batchMessageTipsHeader.setBillId(billId);
                 batchMessageTipsHeader.setFailureCount(failure);
                 batchMessageTipsHeader.setSuccessCount(sucess);
+                logger.error("batchMessageTipsHeader  " + batchMessageTipsHeader.getSuccessCount());
                 request.setAttribute("res_method_data", batchMessageTipsHeader);
                 this.writeSuccessData(batchMessageTipsHeader);
+                logger.error("handleEnableWithTips----- end ");
+
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 57 - 0
websrc/com/kingdee/eas/custom/synctask/handler/OrgUnitEditHandlerEx.java

@@ -0,0 +1,57 @@
+package com.kingdee.eas.custom.synctask.handler;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.dao.IObjectPK;
+import com.kingdee.bos.dao.IObjectValue;
+import com.kingdee.bos.metadata.entity.SelectorItemCollection;
+import com.kingdee.eas.basedata.org.AdminOrgUnitFactory;
+import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
+import com.kingdee.eas.basedata.org.IAdminOrgUnit;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.framework.CoreBaseInfo;
+import com.kingdee.eas.hr.org.web.handler.OrgUnitEditHandler;
+import com.kingdee.shr.base.syssetting.context.SHRContext;
+import com.kingdee.shr.base.syssetting.exception.SHRWebException;
+import org.apache.log4j.Logger;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author qingwu
+ * @date 2024/10/29
+ * @apiNote
+ */
+public class OrgUnitEditHandlerEx extends OrgUnitEditHandler {
+    Logger logger = Logger.getLogger(OrgUnitEditHandlerEx.class);
+    private Context ctx = SHRContext.getInstance().getContext();
+
+    @Override
+    protected IObjectPK runSaveData(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException, EASBizException {
+
+        IObjectPK iObjectPK = super.runSaveData(request, response, model);
+        AdminOrgUnitInfo adminOrgUnitInfo = (AdminOrgUnitInfo) model;
+        //IObjectValue bmfzr = (IObjectValue) adminOrgUnitInfo.get("bmfzr");
+        //logger.error("OrgUnitEditHandlerEx-=------bmfzr---" + bmfzr.get("id"));
+        //IObjectValue bmjl = (IObjectValue) adminOrgUnitInfo.get("bmjl");
+        //logger.error("OrgUnitEditHandlerEx-=------bmjl---" + bmjl.get("id"));
+        //IObjectValue zj = (IObjectValue) adminOrgUnitInfo.get("zj");
+        //logger.error("OrgUnitEditHandlerEx-=------zj---" + zj.get("id"));
+        //IObjectValue fz = (IObjectValue) adminOrgUnitInfo.get("fz");
+        //logger.error("OrgUnitEditHandlerEx-=------fz---" + fz.get("id"));
+        try {
+            SelectorItemCollection sic = new SelectorItemCollection();
+            sic.add("bmfzr");
+            sic.add("bmjl");
+            sic.add("zj");
+            sic.add("fz");
+            IAdminOrgUnit iAdminOrgUnit = AdminOrgUnitFactory.getLocalInstance(ctx);
+            iAdminOrgUnit.updatePartial(adminOrgUnitInfo, sic);
+        } catch (BOSException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+        return iObjectPK;
+    }
+}

+ 32 - 0
websrc/com/kingdee/eas/custom/synctask/handler/PositionEditHandlerEx.java

@@ -0,0 +1,32 @@
+package com.kingdee.eas.custom.synctask.handler;
+
+import com.kingdee.eas.basedata.org.PositionInfo;
+import com.kingdee.eas.framework.CoreBaseInfo;
+import com.kingdee.eas.hr.org.web.handler.PositionEditHandler;
+import com.kingdee.shr.base.syssetting.exception.SHRWebException;
+import org.springframework.ui.ModelMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+
+/**
+ * @author qingwu
+ * @date 2024/10/28
+ * @apiNote
+ */
+public class PositionEditHandlerEx extends PositionEditHandler {
+    @Override
+    protected void setInitData(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, Map<String, Object> initData) throws SHRWebException {
+        super.setInitData(request, response, modelMap, initData);
+        PositionInfo positionInfo = (PositionInfo) modelMap.get("model");
+        positionInfo.setAdminOrgUnit(null);
+    }
+
+    @Override
+    protected void afterCreateNewModel(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo coreBaseInfo) throws SHRWebException {
+        super.afterCreateNewModel(request, response, coreBaseInfo);
+        PositionInfo position = (PositionInfo)coreBaseInfo;
+        position.setAdminOrgUnit(null);
+    }
+}

+ 6 - 17
websrc/com/kingdee/eas/custom/synctask/handler/PositionListHandlerEx.java

@@ -1,32 +1,21 @@
 package com.kingdee.eas.custom.synctask.handler;
 
-import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.kingdee.bos.BOSException;
 import com.kingdee.bos.Context;
-import com.kingdee.eas.basedata.org.*;
-import com.kingdee.eas.basedata.org.app.PositionControllerBean;
-import com.kingdee.eas.custom.synctask.ActionTypeEnum;
 import com.kingdee.eas.custom.synctask.SyncTranForOAFacadeFactory;
-import com.kingdee.eas.custom.synctask.entity.PositionEntity;
-import com.kingdee.eas.hr.ats.AtsUtil;
 import com.kingdee.eas.hr.org.web.handler.PositionListHandler;
 import com.kingdee.shr.base.syssetting.context.SHRContext;
 import com.kingdee.shr.base.syssetting.exception.SHRWebException;
-import okhttp3.*;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.log4j.Logger;
 import org.springframework.ui.ModelMap;
+
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import java.io.IOException;
 import java.util.*;
 
 
 /**
  * ְλÈÕ³£Î¬»¤list  OAͬ²½
+ *
  * @date 2024/10/23
  * @apiNote
  */
@@ -37,12 +26,12 @@ public class PositionListHandlerEx extends PositionListHandler {
         String billIds = request.getParameter("billIds");
         try {
             SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(billIds, null);
-            map.put("error","cgong");
-            map.put("errorType","1");
+            map.put("error", "cgong");
+            map.put("errorType", "1");
         } catch (Exception e) {
             e.printStackTrace();
-            map.put("error",e.getMessage());
-            map.put("errorType","0");
+            map.put("error", e.getMessage());
+            map.put("errorType", "0");
         }
         this.writeSuccessData(map);
     }