Преглед на файлове

1、同程人员同步职级

wanghaiwu преди 3 седмици
родител
ревизия
3d716c32b6
променени са 1 файла, в които са добавени 21 реда и са изтрити 3 реда
  1. 21 3
      code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/business/DtgTripCusPlugin.java

+ 21 - 3
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/business/DtgTripCusPlugin.java

@@ -3,9 +3,12 @@ package nckd.jimin.jyyy.fi.business;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;
+import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.fi.er.business.trip.exception.TripSyncLogParam;
+import kd.hrmp.hrpi.business.infrastructure.utils.QFilterUtil;
+
 import java.util.Map;
 
 /**
@@ -25,19 +28,34 @@ public class DtgTripCusPlugin {
             //人员基本信息hrpi_person
             //职等基础hrpi_empjobrel
             if (employeeNumber != null) {
-                DynamicObject hrPerson = BusinessDataServiceHelper.loadSingleFromCache("hrpi_person", "id", new QFilter[]{new QFilter("number", "=", employeeNumber)});
+                QFilter statusFilter = QFilterUtil.getCurrentQf();
+                statusFilter.and(QFilterUtil.getDataStatusFilter());
+
+                QFilter qFilter = new QFilter("number", "=", employeeNumber);
+                qFilter.and(statusFilter);
+
+                DynamicObject hrPerson = BusinessDataServiceHelper.loadSingleFromCache("hrpi_person", "id", qFilter.toArray());
                 if (hrPerson == null) {
                     logger.info("根据员工number未获取到HR人员基本信息{}", employeeNumber);
                     return "";
                 }
 
-                DynamicObject hrJobrel = BusinessDataServiceHelper.loadSingleFromCache("hrpi_empjobrel", "id, joblevel", new QFilter[]{new QFilter("person.id", "=", hrPerson.getLong("id"))});
+                qFilter = new QFilter("person.id", "=", hrPerson.getLong("id"));
+                qFilter.and(statusFilter);
+
+                DynamicObject hrJobrel = BusinessDataServiceHelper.loadSingleFromCache("hrpi_empjobrel", "id, joblevel", qFilter.toArray());
                 if (hrJobrel == null) {
                     logger.info("根据员工number未获取到HR人员职等信息{}", employeeNumber);
                     return "";
                 }
 
-                String result = hrJobrel.getDynamicObject("joblevel").getString("number");
+                DynamicObject jobLevel = hrJobrel.getDynamicObject("joblevel");
+                if(jobLevel == null){
+                    logger.info("根据员工number未获取到HR人员职级{}", employeeNumber);
+                    return "";
+                }
+
+                String result = jobLevel.getString("name");
 
                 return result;
             } else {