Explorar o código

1.Moka单点登录调整

Tyx hai 1 semana
pai
achega
2eda3ac036

+ 2 - 1
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/tsrsc/plugin/api/MokaRedirectUrlApi.java

@@ -69,7 +69,8 @@ public class MokaRedirectUrlApi implements Serializable {
                     "?formId=pc_main_console" +
                     "&appNumber=tsrsc" +
                     "&token=" + accessToken +
-                    "&thirdAppType=moka";
+                    "&thirdAppType=moka" +
+                    "&accountId=" + RequestContext.get().getAccountId();
 
             /*
              *{

+ 1 - 1
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/tsrsc/plugin/form/CommonFilterListPlugin.java

@@ -16,7 +16,7 @@ import java.util.Map;
 /**
  * 通用列表过滤当插件
  * 默认按照制单人=当前用户 or 招聘需求负责人 = 当前HR人员
- * 如果当前用户在 角色编码 = 999 下,不受控制
+ * 如果当前用户在 角色编码 = S-001 下,不受控制
  * @author :Tyx
  * @since :2025-06-30
  */

+ 4 - 9
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/tsrsc/plugin/thirdapp/auth/MokaThirdAppAuthtication.java

@@ -1,5 +1,6 @@
 package nckd.jimin.jyyy.hr.tsrsc.plugin.thirdapp.auth;
 
+import kd.bos.context.RequestContext;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dc.api.model.Account;
 import kd.bos.entity.plugin.support.util.StringUtils;
@@ -53,15 +54,9 @@ public class MokaThirdAppAuthtication extends ThirdAppAuthtication {
         //第三方用户身份标识 参数名根据实际情况而定
         String token = request.getParameter("token");
         // 根据token查email
-        DynamicObject tokenObj = BusinessDataServiceHelper.loadSingle(
-                "nckd_mokatoken",
-                new QFilter[]{
-                        // 第三方数据id
-                        new QFilter("nckd_accesstoken", QCP.equals, token),
-                        // 创建时间:5分钟内
-                        new QFilter("createtime", QCP.large_equals, MokaApiUtil.offsetMinute(5)),
-                }
-        );
+        QFilter filter = new QFilter("nckd_accesstoken", QCP.equals, token);
+        filter.and("createtime", QCP.large_equals, MokaApiUtil.offsetMinute(5));
+        DynamicObject tokenObj = BusinessDataServiceHelper.loadSingle("nckd_mokatoken", new QFilter[]{filter});
         if (tokenObj == null) {
             return result;
         }

+ 37 - 1
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/tsrsc/plugin/util/RecUtils.java

@@ -1,9 +1,14 @@
 package nckd.jimin.jyyy.hr.tsrsc.plugin.util;
 
 import kd.bos.algo.DataSet;
+import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.db.DBRoute;
 import kd.bos.orm.ORM;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.bos.servicehelper.QueryServiceHelper;
 import kd.hr.hbp.common.util.HRDBUtil;
 import org.apache.commons.lang3.ObjectUtils;
 
@@ -12,7 +17,11 @@ import java.util.Date;
 import java.util.concurrent.atomic.AtomicInteger;
 
 public class RecUtils {
-
+    private static String appFile_entity = "tspr_appfile";  //应聘档案/候选人
+    private static String arfrsm_entity = "tstpm_arfrsm";   //应聘登记表
+    private static String casApply_entity = "nckd_casrecrapply";    //临时招聘申请
+    private static String yearApply_entity = "nckd_yearapply";    //年度招聘申请
+    private static String applyEntry_entity = "entryentity";    //招聘申请分录标识
     /**
      * 获取组织对应人员编制总数(包含下级)
      * @param orgId 组织ID
@@ -58,4 +67,31 @@ public class RecUtils {
         return nckdRellownum2.get();
     }
 
+    /**
+     * 根据候选人管理ID 获取 临时/年度招聘申请分录的招聘部门和岗位
+     * @param appFileId
+     * @return
+     */
+    public static DynamicObject getCasApplyEntryDyn (Long appFileId) {
+        //先查询候选人档案
+        DynamicObject appFile = BusinessDataServiceHelper.loadSingle(appFileId, appFile_entity);
+        //获取应聘登记表ID
+        Long arfRsmId = appFile.getLong("arfrsm.id");
+        DynamicObject arfRsm = BusinessDataServiceHelper.loadSingle(arfRsmId, arfrsm_entity);
+        String applyEntryId = arfRsm.getString("nckd_mokahcnum");
+        QFilter filter = new QFilter(applyEntry_entity + ".id", QCP.equals, applyEntryId);
+        String selectFields = "entryentity.nckd_recruitorg.id,entryentity.nckd_recruitpost.id";
+        if(QueryServiceHelper.exists(casApply_entity, applyEntryId)) {
+            return QueryServiceHelper.queryOne(casApply_entity, selectFields, new QFilter[]{filter});
+        }
+        else if(QueryServiceHelper.exists(yearApply_entity, applyEntryId)) {
+            return QueryServiceHelper.queryOne(yearApply_entity, selectFields, new QFilter[]{filter});
+        }
+        else {
+            return null;
+        }
+    }
+
+
+
 }