Kaynağa Gözat

修改提交

9060 4 ay önce
ebeveyn
işleme
24d637987a

+ 134 - 34
websrc/com/kingdee/eas/custom/beisen/synchronouspos/handler/PositionListHandlerEx.java

@@ -1,8 +1,15 @@
 package com.kingdee.eas.custom.beisen.synchronouspos.handler;
 
 import com.google.common.collect.Maps;
+import com.kingdee.bos.BOSException;
 import com.kingdee.bos.Context;
+import com.kingdee.eas.framework.util.ExceptionMessageUtility;
+import com.kingdee.eas.hr.base.util.IntegratedPatternCheckUtil;
+import com.kingdee.eas.hr.org.IPositionOptFacade;
 import com.kingdee.eas.hr.org.OrgnizationBizException;
+import com.kingdee.eas.hr.org.PositionOptFacadeFactory;
+import com.kingdee.eas.hr.org.util.OrgAdjLockManager;
+import com.kingdee.eas.hr.org.util.OrgUtils;
 import com.kingdee.shr.base.syssetting.MSFServiceFacadeFactory;
 import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
 import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
@@ -16,8 +23,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
 import java.util.Map;
 
 /**
@@ -31,6 +36,131 @@ public class PositionListHandlerEx extends com.kingdee.eas.hr.org.web.handler.Po
         return SHRWebResource.getString("com.kingdee.eas.hr.org.OrganisationBizResource", key);
     }
 
+    private void batchOperationV0(String opType, String billIds) throws SHRWebException {
+        Context ctx = SHRContext.getInstance().getContext();
+        IPositionOptFacade iPositionOpt = null;
+
+        try {
+            iPositionOpt = PositionOptFacadeFactory.getRemoteInstance();
+        } catch (BOSException var14) {
+            var14.printStackTrace();
+            throw new ShrWebBizException(new OrgnizationBizException(OrgnizationBizException.PLEASE_CONTACT_ADMIN));
+        }
+
+        int successCount = 0;
+        int errorCount = 0;
+        BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
+        if (billIds.length() > 0) {
+            String sortType = "asc";
+            if ("disable".equals(opType) || "delete".equals(opType)) {
+                sortType = "desc";
+            }
+
+            String[] ids = OrgUtils.sortIdByLongnumber(billIds, sortType, ctx);
+            int i = 0;
+
+            for(int size = ids.length; i < size; ++i) {
+                BatchMessageTipsBody body = new BatchMessageTipsBody();
+                body.setId(ids[i]);
+
+                try {
+                    OrgAdjLockManager.checkIfOrgLocked(ctx, (String)null, ids[i]);
+                    if ("disable".equals(opType)) {
+                        iPositionOpt.disable(ids[i]);
+                    } else if ("enable".equals(opType)) {
+                        iPositionOpt.enable(ids[i]);
+                    } else if ("delete".equals(opType)) {
+                        iPositionOpt.delete(ids[i]);
+                    } else if ("showInOrgChart".equals(opType)) {
+                        iPositionOpt.showInOrgChart(ids[i]);
+                    } else {
+                        if (!"notShowInOrgChart".equals(opType)) {
+                            throw new ShrWebBizException(new OrgnizationBizException(OrgnizationBizException.NOT_SUPPORT_OPT));
+                        }
+
+                        iPositionOpt.notShowInOrgChart(ids[i]);
+                    }
+
+                    body.setMuitTipsState(Boolean.TRUE);
+                    body.setMuitTipsMessage(this.multilingual("OperationSuccess"));
+                    ++successCount;
+                } catch (Exception var15) {
+                    var15.printStackTrace();
+                    body.setMuitTipsState(Boolean.FALSE);
+                    body.setMuitTipsMessage("" + SHRWebResource.getString("com.kingdee.eas.hr.base.BaseBizResourse", "Operation_failed") + ":" + this.translateErrorMsg(var15.getMessage()));
+                    ++errorCount;
+                    batchMessageTipsHeader.addResult(body);
+                    continue;
+                }
+
+                batchMessageTipsHeader.addResult(body);
+            }
+        }
+
+        batchMessageTipsHeader.setBillId(billIds);
+        batchMessageTipsHeader.setFailureCount(errorCount);
+        batchMessageTipsHeader.setSuccessCount(successCount);
+       // this.writeSuccessData(batchMessageTipsHeader);
+    }
+    public void deletePositionAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
+        String billIds = this.getPosBillId(request);
+        Context ctx = SHRContext.getInstance().getContext();
+        try {
+            this.batchOperationV0("disable", billIds);
+            IntegratedPatternCheckUtil.checkIsShr2Cloud(ctx, SHRWebResource.getString("com.kingdee.eas.hr.org.OrganisationBizResource", "Position"));
+        } catch (Exception var8) {
+            var8.printStackTrace();
+            String errorMessage = ExceptionMessageUtility.getMessage(var8);
+            throw new ShrWebBizException(errorMessage, var8);
+        }
+        try {
+            BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
+            this.syncEnable(billIds, ctx, batchMessageTipsHeader);
+        } catch (Exception var8) {
+            var8.printStackTrace();
+            String errorMessage = ExceptionMessageUtility.getMessage(var8);
+            throw new ShrWebBizException(errorMessage, var8);
+        }
+        super.deletePositionAction(request, response, modelMap);
+    }
+
+    public BatchMessageTipsHeader syncEnable(String billIds, Context ctx,
+                                             BatchMessageTipsHeader batchMessageTipsHeader) throws SHRWebException {
+        int successCount = 0;
+        int errorCount = 0;
+        if (billIds.length() > 0) {
+            String[] ids = billIds.split(",");
+            int i = 0;
+
+            for (int size = ids.length; i < size; ++i) {
+                BatchMessageTipsBody body = new BatchMessageTipsBody();
+                body.setId(ids[i]);
+                try {
+                    Map<String, Object> map = Maps.newHashMap();
+                    map.put("posId", ids[i]);
+                    if (org.apache.commons.lang3.StringUtils.isNotBlank(billIds)) {
+                        Object obj = MSFServiceFacadeFactory.getLocalInstance(ctx).processService("synchronousPosOSF", map);
+                        body.setMuitTipsState(Boolean.TRUE);
+                        body.setMuitTipsMessage(obj.toString());
+                        ++successCount;
+                    }
+                } catch (Exception var15) {
+                    var15.printStackTrace();
+                    body.setMuitTipsState(Boolean.FALSE);
+                    body.setMuitTipsMessage("" + SHRWebResource.getString("com.kingdee.eas.hr.base.BaseBizResourse", "Operation_failed") + ":" + this.translateErrorMsg(var15.getMessage()));
+                    ++errorCount;
+                    batchMessageTipsHeader.addResult(body);
+                    continue;
+                }
+                batchMessageTipsHeader.addResult(body);
+            }
+        }
+        batchMessageTipsHeader.setBillId(billIds);
+        batchMessageTipsHeader.setFailureCount(errorCount);
+        batchMessageTipsHeader.setSuccessCount(successCount);
+        return batchMessageTipsHeader;
+    }
+
     @RequestMapping(
             params = {"method=syncEnable"}
     )
@@ -40,45 +170,15 @@ public class PositionListHandlerEx extends com.kingdee.eas.hr.org.web.handler.Po
         Object obj = null;
         try {
             Context ctx = SHRContext.getInstance().getContext();
-            int successCount = 0;
-            int errorCount = 0;
             BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
-            if (billIds.length() > 0) {
-                String[] ids = billIds.split(",");
-                int i = 0;
-
-                for (int size = ids.length; i < size; ++i) {
-                    BatchMessageTipsBody body = new BatchMessageTipsBody();
-                    body.setId(ids[i]);
-                    try {
-                        Map<String, Object> map = Maps.newHashMap();
-                        map.put("posId", ids[i]);
-                        if (org.apache.commons.lang3.StringUtils.isNotBlank(billIds)) {
-                            obj = MSFServiceFacadeFactory.getLocalInstance(ctx).processService("synchronousPosOSF", map);
-                            body.setMuitTipsState(Boolean.TRUE);
-                            body.setMuitTipsMessage(obj.toString());
-                            ++successCount;
-                        }
-                    } catch (Exception var15) {
-                        var15.printStackTrace();
-                        body.setMuitTipsState(Boolean.FALSE);
-                        body.setMuitTipsMessage("" + SHRWebResource.getString("com.kingdee.eas.hr.base.BaseBizResourse", "Operation_failed") + ":" + this.translateErrorMsg(var15.getMessage()));
-                        ++errorCount;
-                        batchMessageTipsHeader.addResult(body);
-                        continue;
-                    }
-                    batchMessageTipsHeader.addResult(body);
-                }
-            }
-            batchMessageTipsHeader.setBillId(billIds);
-            batchMessageTipsHeader.setFailureCount(errorCount);
-            batchMessageTipsHeader.setSuccessCount(successCount);
+            batchMessageTipsHeader = this.syncEnable(billIds,ctx,batchMessageTipsHeader);
             this.writeSuccessData(batchMessageTipsHeader);
         } catch (Exception e) {
             e.printStackTrace();
         }
         return null;
     }
+
     private String translateErrorMsg(String msg) {
         if ("POS_NAME_DUPLICATE".equals(msg)) {
             msg = this.multilingual("ExistEnabledSameNamePositonUnderOneAdminOrg");

+ 4 - 4
websrc/com/kingdee/eas/custom/beisen/synchronouspos/osf/SyncStaffManageOSFService.java

@@ -55,7 +55,7 @@ public  class SyncStaffManageOSFService implements IHRMsfService {
                 String FYear = rs.getString("FYear");
                 StringBuilder selSql = new StringBuilder();
                 selSql.append(" select 'org' orgpos,org.fid posId,org.fname_l2 orgPosName,org.FDisplayName_L2 staffName, ");
-                selSql.append("         org.CFOriginalId,(case when staff.FControlWay=0 then 3 when staff.FControlWay=1 then 2 else 1 end) FControlWay, ");
+                selSql.append("         org.FReserveFieldFirst CFOriginalId,(case when staff.FControlWay=0 then 3 when staff.FControlWay=1 then 2 else 1 end) FControlWay, ");
                 selSql.append("         staff.FPersonCount,staff.FStaffYear,staff.FYearActualStart, ");
                 selSql.append("         staff.FOnWayAddCount,staff.FOnWaySubCount, ");
                 selSql.append("         (staff.FStaffYear-staff.FOnWayAddCount+staff.FOnWaySubCount-staff.FPersonCount) FStaffYearUsable, ");
@@ -64,7 +64,7 @@ public  class SyncStaffManageOSFService implements IHRMsfService {
                 selSql.append(" "+FTableName+" staff ");
                 selSql.append(" left join t_org_admin org on org.fid=staff.FAdminOrgID ");
                 selSql.append(" left join t_org_position pos on pos.fid = staff.FpositionID ");
-                selSql.append(" where pos.fid is null and org.CFOriginalId is not null ");
+                selSql.append(" where pos.fid is null and org.FReserveFieldFirst is not null ");
                 selSql.append(" UNION all ");
                 selSql.append(" select 'pos' orgpos,org.fid posId,org.fname_l2 orgPosName,org.FDisplayName_L2 staffName,pos.CFOriginalId, ");
                 selSql.append(" (case when staff.FControlWay=0 then 3 when staff.FControlWay=1 then 2 else 1 end) FControlWay, ");
@@ -79,11 +79,11 @@ public  class SyncStaffManageOSFService implements IHRMsfService {
                 selSql.append(" where pos.fid is not null and pos.CFOriginalId is not null ");
                 IRowSet rsSel = DbUtil.executeQuery(context, selSql.toString());
                 // »ñÈ¡·ÃÎÊÁîÅÆ
-                String token = b.getAccessToken();
+
                 while (rsSel.next()){
                     String orgpos= rsSel.getString("orgpos");
 
-
+                    String token = b.getAccessToken();
                     if("org".equals(orgpos)){
                         Map<String, Object> pos = this.getPostData(orgkeyMap,rsSel);
 

+ 1 - 1
websrc/com/kingdee/eas/custom/beisen/synchronouspos/osf/SynchronousPosOSFService.java

@@ -181,7 +181,7 @@ public class SynchronousPosOSFService implements IHRMsfService {
         sql.append(" pos.fnumber posNumber, ");
         sql.append(" pos.fname_l2 posName, ");
         sql.append(" org.fid orgId, ");
-        sql.append(" org.CFOriginalId orgOriginalId, ");
+        sql.append(" org.FReserveFieldFirst orgOriginalId, ");
         sql.append(" org.fnumber orgNumber, ");
         sql.append(" org.fname_l2 orgName, ");
         sql.append(" (case when pos.FDELETEDSTATUS=2 then 0 else 1 end) posDeletedStatus, ");

+ 2 - 1
websrc/eas/custom/beisen/synchronouspos/osf/posConfig.properties → websrc/com/kingdee/eas/custom/beisen/synchronouspos/osf/posConfig.properties

@@ -1,12 +1,13 @@
 customProperties.posNumber=extgangweibianma_433107_380359134
 orgOriginalId=Org,integer
+posId=posId
 posName=Name
 posOriginalId=id
 #pospOriginalId1=upManage,integer
 #pospOriginalId2=dotManage,integer
 posDeletedStatus=Status,integer
 customProperties.posZwjzygx=extzhiweijiazhiyugongxian_433107_832609725
-customProperties.posZyzz=extzhiweijiazhiyugongxian_433107_832609725
+customProperties.posZyzz=extzhuyaozhize_433107_1869816037
 customProperties.posGwdwsccg=extzhiweiduiwaijiaofuchengguo_433107_848485055
 customProperties.posCgzb=extchengguodezhibiao_433107_672018534
 customProperties.posZlzb=extzhiliangzhibiao_433107_1153480133

+ 74 - 0
websrc/com/kingdee/eas/custom/hr/emp/web/handler/PropertyEnum.java

@@ -0,0 +1,74 @@
+package com.kingdee.eas.custom.hr.emp.web.handler;
+
+/**
+ * description: PropertyEnum <br>
+ * date: 2025/5/23 9:43 <br>
+ * author: lhbj <br>
+ * version: 1.0 <br>
+ */
+public enum PropertyEnum {
+
+    RESUME_IDCARD_FACE("resume_idCard_face","身份证人像面", 1,"身份证件","/WEAAAANE9B3ZfBC"),
+    RESUME_IDCARD_BACK("resume_idCard_back","身份证国徽面", 2,"身份证件","/WEAAAANE9B3ZfBC"),
+    RESUME_NATIONALITY("resume_nationality","国籍证明", 3,"身份证件","/WEAAAANE9B3ZfBC"),
+    RESUME_WORK("resume_work","参加工作证明", 4,"工作鉴证","/WEAAAAQKbZ3ZfBC"),
+    RESUME_HR("resume_hr","户籍证明", 5,"身份证件","/WEAAAANE9B3ZfBC"),
+    RESUME_MARRIAGE("resume_marriage","婚姻状况证明", 6,"其他","/WEAAAANE953ZfBC"),
+    RESUME_POLITICAL("resume_political","政治面貌证明", 7,"其他","/WEAAAANE953ZfBC"),
+    RESUME_BANK_CMP("resume_bank_cmp","银行卡号发薪卡证明", 8,"个人卡包","/WEAAAAWvOl3ZfBC"),
+    RESUME_BANK_GH("resume_bank_gh","银行卡号工行卡证明", 9,"个人卡包","/WEAAAAWvOl3ZfBC"),
+
+    RESUME_EDU_DIPLOMA("resume_edu_diploma","毕业证", 10,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_DEGREE("resume_edu_degree","学位证", 11,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_RECORD("resume_edu_record","学信网学历备案表", 12,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_VERIFY("resume_edu_verify","学信网学位验证报告", 13,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_WORKEXP("resume_WorkExp","请上传工作经历证明材料", 14,"工作鉴证","/WEAAAAQKbZ3ZfBC"),
+
+    RESUME_EDU_CERTIFICATION("resume_edu_certification","留服认证书", 15,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_GRADUATION("resume_edu_graduation","结业证", 16,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_STUDENTCARD("resume_edu_studentCard","学生卡", 17,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_STUDENTIDCARD("resume_edu_studentIdCard","学生证", 18,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_STUDENTVERIFY("resume_edu_studentVerify","学信网学籍验证报告", 19,"学历证书","/WEAAAANE9F3ZfBC"),
+    RESUME_EDU_ADMISSION("resume_edu_admission","录取通知书/在读证明", 20,"学历证书","/WEAAAANE9F3ZfBC"),
+    ;
+    private final String key;
+    private final String value;
+    private final int ordinal;
+    private final String type;
+    private final String typeId;
+    public String getKey() {
+        return key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+    public String getType() {
+        return type;
+    }
+    public String getTypeId() {
+        return typeId;
+    }
+    public int getOrdinal() {
+        return ordinal;
+    }
+
+    PropertyEnum(String key, String value, int ordinal, String type, String typeId) {
+        this.key = key;
+        this.value = value;
+        this.ordinal = ordinal;
+        this.type = type;
+        this.typeId = typeId;
+    }
+    public static PropertyEnum get(String key){
+        PropertyEnum propertyEnum=null;
+        for(PropertyEnum e : PropertyEnum.values()){
+            if(e.getKey().equals(key)){
+                propertyEnum = e;
+                break;
+            }
+        }
+        return propertyEnum;
+    }
+
+}

+ 0 - 322
websrc/eas/custom/beisen/synchronouspos/osf/SynchronousPosOSFService.java

@@ -1,322 +0,0 @@
-package eas.custom.beisen.synchronouspos.osf;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Maps;
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.bos.bsf.service.app.IHRMsfService;
-import com.kingdee.bos.rabbitmq.guava.Lists;
-import com.kingdee.eas.common.EASBizException;
-import com.kingdee.eas.custom.beisen.utils.BeiSenUtils;
-import com.kingdee.eas.custom.beisen.utils.BeisenParamByPropertiesUtil;
-import com.kingdee.eas.custom.beisen.utils.Helper;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import org.apache.commons.lang3.StringUtils;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URLEncoder;
-import java.sql.Date;
-import java.sql.SQLException;
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * description: SynchronousPosOSFService <br>
- * date: 2025/7/11 17:46 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-public class SynchronousPosOSFService implements IHRMsfService {
-
-    @Override
-    public Object process(Context context, Map<String, Object> map) throws EASBizException, BOSException {
-        //例:/server/properties/beisen/posConfig.properties
-        String path = (String) map.get("path");
-        String posId = (String) map.get("posId");
-        String syncStartTimeStr = (String) map.get("syncStartTimeStr");
-        String syncEndTimeStr = (String) map.get("syncEndTimeStr");
-        try {
-            BeisenParamByPropertiesUtil util = new BeisenParamByPropertiesUtil(path);
-            Map<String,String> keyMap = util.getConfig();
-            return this._syncPosToBeiSen(context,keyMap,posId,syncStartTimeStr,syncEndTimeStr);
-        } catch (IOException e) {
-            e.printStackTrace();
-        } catch (SQLException throwables) {
-            throwables.printStackTrace();
-        } catch (URISyntaxException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-
-    protected String _syncPosToBeiSen(Context ctx,Map<String,String> keyMap, String posId, String syncStartTimeStr, String syncEndTimeStr) throws BOSException, SQLException, IOException, URISyntaxException {
-        List<JSONObject> responseList =Lists.newArrayList();
-        List<JSONObject> addNewList = this._sendAddNewPosToBeisen(ctx,keyMap,posId,syncStartTimeStr,syncEndTimeStr);
-        responseList.addAll(addNewList);
-        List<JSONObject> editList = this._sendEditPosToBeisen(ctx,keyMap,posId,syncStartTimeStr,syncEndTimeStr);
-        responseList.addAll(editList);
-        return responseList.toString();
-    }
-
-    /**
-     * shr系统数据组装北森请求参数
-     *
-     * @param ctx
-     * @param keyMap
-     * @param sql
-     * @return
-     * @throws BOSException
-     * @throws SQLException
-     */
-    protected List<Map<String, Object>> getPostData(Context ctx,Map<String,String> keyMap,StringBuilder sql) throws BOSException, SQLException {
-        IRowSet rowSet = DbUtil.executeQuery(ctx,sql.toString());
-        List<Map<String, Object>> posList = Lists.newArrayList();
-        while (rowSet.next()){
-            Map<String, Object> pos = Maps.newHashMap();
-            for(Map.Entry<String,String> entry : keyMap.entrySet()){
-               String shrKey = entry.getKey();
-               String beisenKey = entry.getValue();
-               if(shrKey.indexOf(".")>0){
-                   String[] keys=shrKey.split("\\.");
-                   if(2==keys.length){
-                      Map<String,Object> map1 = (Map<String, Object>) pos.get(keys[0]);
-                      if(null==map1){
-                          map1=Maps.newHashMap();
-                          pos.put(keys[0],map1);
-                      }
-                       String valueStr = rowSet.getString(keys[1]);
-                      if(beisenKey.indexOf(",")>0) {
-                          String[] beisenKeys = beisenKey.split(",");
-                          Object value = null;
-
-                          if("integer".equals(beisenKeys[1])){
-                              if(null!=valueStr){
-                                  value=Integer.parseInt(valueStr);
-                              }
-                          }else {
-                              value = valueStr;
-                          }
-                          if(null!=value) {
-                              map1.put(beisenKeys[0], value);
-                          }
-                      }else {
-
-                          if(null!=valueStr) {
-                              map1.put(beisenKey, valueStr);
-                          }
-                      }
-                   }else if (3==keys.length){
-                       Map<String,Object> map1 = (Map<String, Object>) pos.get(keys[0]);
-                       if(null==map1){
-                           map1=Maps.newHashMap();
-                           pos.put(keys[0],map1);
-                       }
-                       Map<String,Object> map2 = (Map<String, Object>) map1.get(keys[1]);
-                       if(null==map2){
-                           map2=Maps.newHashMap();
-                           map1.put(keys[1],map1);
-                       }
-                       String valueStr = rowSet.getString(keys[2]);
-                       if(beisenKey.indexOf(",")>0) {
-                           String[] beisenKeys = beisenKey.split(",");
-                           Object value = null;
-
-                           if("integer".equals(beisenKeys[1])){
-                               if(null!=valueStr){
-                                   value=Integer.parseInt(valueStr);
-                               }
-                           }else {
-                               value = valueStr;
-                           }
-                           if(null!=value) {
-                               map2.put(beisenKeys[0], value);
-                           }
-                       }else {
-                           if(null!=valueStr) {
-                               map2.put(beisenKey,valueStr);
-                           }
-                       }
-                   }else {
-                       String valueStr = rowSet.getString(shrKey);
-                       if(beisenKey.indexOf(",")>0) {
-                           String[] beisenKeys = beisenKey.split(",");
-                           Object value = null;
-                           if("integer".equals(beisenKeys[1])){
-                               if(null!=valueStr){
-                                   value=Integer.parseInt(valueStr);
-                               }
-                           }else {
-                               value = valueStr;
-                           }
-                           if(null!=value) {
-                               pos.put(beisenKeys[0],value);
-                           }
-                       }else {
-                           if(null!=valueStr) {
-                               pos.put(beisenKey,valueStr);
-                           }
-                       }
-                   }
-               }
-            }
-            posList.add(pos);
-        }
-        return posList;
-    }
-
-
-    public StringBuilder getSql(String posId,String syncStartTimeStr, String syncEndTimeStr,Boolean isAddNew){
-        StringBuilder sql = new StringBuilder();
-        sql.append(" ");
-        sql.append(" select ");
-        sql.append(" pos.fid posId, ");
-        sql.append(" pos.CFOriginalId posOriginalId, ");
-        sql.append(" pos.fnumber posNumber, ");
-        sql.append(" pos.fname_l2 posName, ");
-        sql.append(" org.fid orgId, ");
-        sql.append(" org.CFOriginalId orgOriginalId, ");
-        sql.append(" org.fnumber orgNumber, ");
-        sql.append(" org.fname_l2 orgName, ");
-        sql.append(" (case when pos.FDELETEDSTATUS=2 then 0 else 1 end) posDeletedStatus, ");
-        sql.append(" pos.cfzwjzygx posZwjzygx, ");
-        sql.append(" pos.cfzyzz  posZyzz, ");
-        sql.append(" pos.cfgwdwsccg posGwdwsccg, ");
-        sql.append(" pos.cfcgzb posCgzb, ");
-        sql.append(" pos.cfzlzb posZlzb, ");
-        sql.append(" jobf.fname_l2 hrJobFamily, ");
-        sql.append(" jobc.fname_l2 hrJobCategory, ");
-        sql.append(" jobsc.fname_l2 jobscHrJobSubCategory, ");
-        sql.append(" job.fnumber jobNumber, ");
-        sql.append(" job.fname_l2 jobName, ");
-        sql.append(" lowjg.fname_l2 lowJobGrade, ");
-        sql.append(" highjg.fname_l2 highJobGrade, ");
-        sql.append(" lowjl.fname_l2 lowJobLevel, ");
-        sql.append(" highjl.fname_l2 highJobLevel, ");
-        sql.append(" pos.cfeducation education, ");
-        sql.append(" pos.cfrequirement requirement, ");
-        sql.append(" pos.cfcertification certification, ");
-        sql.append(" pos.cfforeignLang foreignLang, ");
-        sql.append(" pos.cfknowledge knowledge, ");
-        sql.append(" pos.cfskills skills, ");
-        sql.append(" pos.cfexperience experience, ");
-        sql.append(" pos.cfcoreCompe coreCompe, ");
-        sql.append(" pos.cfposition1 position1, ");
-        sql.append(" pos.cfptime1 ptime1, ");
-        sql.append(" pos.cfposition2 position2, ");
-        sql.append(" pos.cfptime2 ptime2, ");
-        sql.append(" workAdd.fname_l2 workAdd, ");
-        sql.append(" pos.CFFrequency frequency, ");
-        sql.append(" pos.cfjobRespon jobRespon, ");
-        sql.append(" pos.cfqualifications qualifications, ");
-        sql.append(" pos.cfreserved1 reserved1, ");
-        sql.append(" pos.cfreserved2 reserved2, ");
-        sql.append(" pos.cfreserved3 reserved3, ");
-        sql.append(" pos.cfreserved4 reserved4, ");
-        sql.append(" pos.cfreserved5 reserved5, ");
-        sql.append(" posp.CFOriginalId pospOriginalId1, ");
-        sql.append(" posp.CFOriginalId pospOriginalId2, ");
-        sql.append(" '' ");
-        sql.append(" from ");
-        sql.append(" t_org_position pos ");
-        sql.append(" left join t_org_admin org on pos.FADMINORGUNITID = org.fid ");
-        sql.append(" left join CT_CUS_WorkAdd workAdd on workAdd.fid=pos.CFWorkAddID ");
-        sql.append(" left join T_HR_HRJob job on job.FID = pos.FJOBID ");
-        sql.append(" left join T_HR_HRJobFamily jobf on jobf.fid = job.FHRJobFamilyID ");
-        sql.append(" left join T_HR_HRJobCategory jobc on jobc.fid = job.FHRJobCategoryID ");
-        sql.append(" left join T_HR_HRJobSubCategory jobsc on jobsc.fid=job.FHRJobSubCategoryID ");
-        sql.append(" left join T_HR_JobGrade lowjg on lowjg.fid = job.FLowJobGradeID ");
-        sql.append(" left join T_HR_JobGrade highjg on highjg.fid = job.FHighJobGradeID ");
-        sql.append(" left join T_HR_JobLevel lowjl on lowjl.fid=job.FLowJobLevelID ");
-        sql.append(" left join T_HR_JobLevel highjl on highjl.fid=job.FHighJobLevelID ");
-        sql.append(" left join t_org_position posp on posp.fid=pos.FPARENTID ");
-
-        sql.append(" where 1=1 ");
-        if(StringUtils.isNotBlank(posId)){
-            String[] posIds=posId.split(",");
-            sql.append(" and pos.fid in('' ");
-            for(String id : posIds){
-                sql.append(",'");
-                sql.append(id);
-                sql.append("'");
-            }
-            sql.append(") ");
-        }
-        if(StringUtils.isNotBlank(syncStartTimeStr)){
-            sql.append(" and pos.FLastUpdateTime >='"+syncStartTimeStr+"'");
-        }
-        if(StringUtils.isNotBlank(syncEndTimeStr)){
-            sql.append(" and pos.FLastUpdateTime <='"+syncEndTimeStr+"'");
-        }
-        if(isAddNew){
-            sql.append(" and (pos.CFOriginalId is null or pos.CFOriginalId ='')");
-        }else {
-            sql.append(" and (pos.CFOriginalId is not null and pos.CFOriginalId !='')");
-        }
-        return sql;
-    }
-
-
-    protected  List<JSONObject> _sendAddNewPosToBeisen(Context ctx,Map<String,String> keyMap, String posId, String syncStartTimeStr, String syncEndTimeStr) throws BOSException, SQLException, IOException, URISyntaxException {
-        BeiSenUtils b = new BeiSenUtils(ctx);
-        Helper helper = b.helper;
-        StringBuilder sql = this.getSql(posId, syncStartTimeStr, syncEndTimeStr, true);
-        List<Map<String, Object>> list = this.getPostData(ctx, keyMap, sql);
-        List<JSONObject> responseList = Lists.newArrayList();
-        for (Map<String, Object> pos : list) {
-            // 获取访问令牌
-            String token = b.getAccessToken();
-            // 若访问令牌不为空且开始时间和结束时间不为空
-            if (!com.kingdee.util.StringUtils.isEmpty(token)) {
-                // 创建请求头的 Map
-                Map<String, String> header = new HashMap<String, String>();
-                // 设置请求头的 Content-Type
-                header.put("Content-Type", "application/json");
-                // 设置请求头的 Authorization
-                header.put("Authorization", "Bearer " + token);
-                String url = "https://openapi.italent.cn/RecruitV6/api/v1/RecruitOnBoarding/CreatePost";
-                JSONObject requestBody = new JSONObject(pos);
-                System.out.println("url:" + url);
-                System.out.println("requestBody:" + requestBody);
-                JSONObject responseJson = helper.getURL(url, header, requestBody, "POST", "", "创建", "北森");
-                System.out.println("responseJson:" + responseJson);
-                responseList.add(responseJson);
-            }
-        }
-        return responseList;
-    }
-    protected List<JSONObject> _sendEditPosToBeisen(Context ctx,Map<String,String> keyMap, String posId, String syncStartTimeStr, String syncEndTimeStr) throws BOSException, SQLException, IOException, URISyntaxException {
-        BeiSenUtils b = new BeiSenUtils(ctx);
-        Helper helper = b.helper;
-        StringBuilder sql1 = this.getSql(posId,syncStartTimeStr,syncEndTimeStr,false);
-        List<Map<String,Object>> list1= this.getPostData(ctx,keyMap,sql1);
-        List<JSONObject> responseList = Lists.newArrayList();
-        for(Map<String,Object> pos : list1){
-            // 获取访问令牌
-            String token = b.getAccessToken();
-            // 若访问令牌不为空且开始时间和结束时间不为空
-            if (!com.kingdee.util.StringUtils.isEmpty(token)) {
-                // 创建请求头的 Map
-                Map<String, String> header = new HashMap<String, String>();
-                // 设置请求头的 Content-Type
-                header.put("Content-Type", "application/json");
-                // 设置请求头的 Authorization
-                header.put("Authorization", "Bearer " + token);
-                String url = "https://openapi.italent.cn/RecruitV6/api/v1/RecruitOnBoarding/CreatePost";
-                JSONObject requestBody = new JSONObject(pos);
-                System.out.println("url:"+url);
-                System.out.println("requestBody:"+requestBody);
-                JSONObject responseJson = helper.getURL(url,header, requestBody, "PUT",requestBody.getString("id"),"更新","北森");
-                System.out.println("responseJson:"+responseJson);
-                responseList.add(responseJson);
-            }
-        }
-        return responseList;
-    }
-}