ソースを参照

```
feat(base-medical-allowance): 增加员工任职经历过滤条件并优化公司领导班子成员判断逻辑

- 在获取员工任职经历时增加 `isprimary` 过滤条件,确保仅获取主任职数据
- 调整公司领导班子成员的组织编号判断逻辑,支持集团本部-股份公司领导和集团公司领导
- 添加相关数据集打印语句,便于调试和问题追踪
- 同步更新延迟退休日期计算任务中对员工岗位信息的查询逻辑,增加主任职标识过滤
```

turborao 1 ヶ月 前
コミット
26b39806d0

+ 5 - 4
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/business/BaseMedicalAllowanceServiceImpl.java

@@ -92,14 +92,15 @@ public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceServ
         QFilter qFilter11 = new QFilter("iscurrentversion", QCP.equals, true); // 启用
         QFilter qFilter12 = new QFilter("datastatus", QCP.equals, "1"); // 启用
         DataSet employeeDS = QueryServiceHelper.queryDataSet(this.getClass().getName(),"hrpi_employee", "id,number,name", new QFilter[]{qFilter1,qFilter11,qFilter12},null);
-
+        employeeDS.print(true);
         /***
          * 获取员工档案 任职经历  岗位
          */
         QFilter qFilter2 = new QFilter("employee.id",QCP.in, employeeIDs);
         QFilter qFilter21 = new QFilter("iscurrentdata", QCP.equals, true); // 启用
-        DataSet empOrgRelDS = QueryServiceHelper.queryDataSet(this.getClass().getName(),"hrpi_empposorgrel", "id,employee.id,company.id,company.name,position.id,position.number,position.name,adminorg.number", new QFilter[]{qFilter2,qFilter21},null);
-
+        QFilter qFilter22 = new QFilter("isprimary", QCP.equals, "1");  //主任职
+        DataSet empOrgRelDS = QueryServiceHelper.queryDataSet(this.getClass().getName(),"hrpi_empposorgrel", "id,employee.id,company.id,company.name,position.id,position.number,position.name,adminorg.number", new QFilter[]{qFilter2,qFilter21,qFilter22},null);
+        empOrgRelDS.print(true);
         /***
          * 获取员工档案 雇佣信息  用工关系状态
          */
@@ -177,7 +178,7 @@ public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceServ
             /**
              * 公司领导班子成员:对应组织为集团本部-股份公司领导-公司领导和集团本部-集团公司领导在内的所有正式员工【4800/年】
              */
-            if(laborrelstatusNum.equals("1010_S") && adminorgNum.equals("01010201") && positionNum.equals("01010101")){
+            if(laborrelstatusNum.equals("1010_S") && (adminorgNum.equals("01010201") || adminorgNum.equals("01010101"))){
                 money = 4800;
             }
             /**

+ 2 - 2
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/plugin/other/DelayedRetirementDateCalcTask.java

@@ -96,11 +96,11 @@ public class DelayedRetirementDateCalcTask  extends AbstractTask implements Plug
 
         ///查询 公司信息
         QFilter filter7 = new QFilter("iscurrentdata", QCP.equals, true); // 启用
-        //QFilter filter8 = new QFilter("datastatus", QCP.equals, "1"); // 启用
+        QFilter filter8 = new QFilter("isprimary", QCP.equals, "1");  //主任职
         QFilter filter9 = new QFilter("employee.id", QCP.in, employeeIDs);
 
         String selectFields1 = "id,employee.id,company.id";
-        DynamicObjectCollection empposorgreDyns = QueryServiceHelper.query("hrpi_empposorgrel", selectFields1, new QFilter[]{filter7 ,filter9});
+        DynamicObjectCollection empposorgreDyns = QueryServiceHelper.query("hrpi_empposorgrel", selectFields1, new QFilter[]{filter7 ,filter8,filter9});
 
         Map<Long, DynamicObject> empposorgreMap = (Map)empposorgreDyns.stream().collect(Collectors.toMap((obj) -> {
             return obj.getLong("employee.id");