|
|
@@ -4,15 +4,14 @@ import kd.bos.algo.DataSet;
|
|
|
import kd.bos.algo.Row;
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
-import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
|
|
|
import kd.bos.db.DB;
|
|
|
+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.bos.servicehelper.QueryServiceHelper;
|
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
|
-
|
|
|
-
|
|
|
import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -33,6 +32,8 @@ import java.util.stream.Collectors;
|
|
|
* date: 2025/10/27 13:05
|
|
|
*/
|
|
|
public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceService{
|
|
|
+
|
|
|
+ private static final Log logger = LogFactory.getLog(BaseMedicalAllowanceServiceImpl.class);
|
|
|
public Map<String, String> calcBaseMedicalAllowanceForAll() {
|
|
|
|
|
|
//取员工档案
|
|
|
@@ -43,7 +44,7 @@ public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceServ
|
|
|
String selectFields="id,employee.id,employee.number,nckd_benefitentry.nckd_effeyear,nckd_benefitentry.nckd_suppbenefit";
|
|
|
DynamicObject[] datas = BusinessDataServiceHelper.load(billKey, selectFields, new QFilter[]{filter1.and(filter2)});
|
|
|
|
|
|
- Map<String, String> result = calcBaseMedicalAllowance(datas);
|
|
|
+ Map<String, String> result = calcBaseMedicalAllowance(datas, true);
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
@@ -59,14 +60,14 @@ public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceServ
|
|
|
String selectFields="id,employee.id,employee.number,nckd_benefitentry.nckd_effeyear,nckd_benefitentry.nckd_suppbenefit";
|
|
|
DynamicObject[] datas = BusinessDataServiceHelper.load(billKey, selectFields, new QFilter[]{filter1.and(filter2).and(filter3)});
|
|
|
|
|
|
- Map<String, String> result = calcBaseMedicalAllowance(datas);
|
|
|
+ Map<String, String> result = calcBaseMedicalAllowance(datas,false);
|
|
|
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
- public Map<String, String> calcBaseMedicalAllowance(DynamicObject[] datas) {
|
|
|
+ public Map<String, String> calcBaseMedicalAllowance(DynamicObject[] datas, boolean isAll) {
|
|
|
|
|
|
// 获取当前日期
|
|
|
LocalDate currentDate = LocalDate.now();
|
|
|
@@ -99,7 +100,8 @@ public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceServ
|
|
|
QFilter qFilter2 = new QFilter("employee.id",QCP.in, employeeIDs);
|
|
|
QFilter qFilter21 = new QFilter("iscurrentdata", QCP.equals, true); // 启用
|
|
|
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);
|
|
|
+ QFilter qFilter23 = new QFilter("postype.id", QCP.equals, 1010L); //主任职
|
|
|
+ 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,qFilter23},null);
|
|
|
empOrgRelDS.print(true);
|
|
|
/***
|
|
|
* 获取员工档案 雇佣信息 用工关系状态
|
|
|
@@ -161,6 +163,8 @@ public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceServ
|
|
|
while (iterator.hasNext()) {
|
|
|
Row row = iterator.next();
|
|
|
DynamicObject employeeFile = employeeFileMaps.get(row.getLong("id"));
|
|
|
+ String personNum = row.getString("number") == null ? "" : row.getString("number");
|
|
|
+ String personName = row.getString("name") == null ? "" : row.getString("name");
|
|
|
String adminorgNum = row.getString("adminorgNum") == null ? "" : row.getString("adminorgNum");
|
|
|
String positionNum = row.getString("positionNum") == null ? "" : row.getString("positionNum");
|
|
|
String positionName = row.getString("positionName") == null ? "" : row.getString("positionName");
|
|
|
@@ -169,6 +173,11 @@ public class BaseMedicalAllowanceServiceImpl implements BaseMedicalAllowanceServ
|
|
|
String prolevelNum = row.getString("prolevelNum") == null ? "" : row.getString("prolevelNum");
|
|
|
String qualevelNum = row.getString("qualevelNum") == null ? "" : row.getString("qualevelNum");
|
|
|
|
|
|
+ if(!isAll) {
|
|
|
+ logger.info("员工编号:{},员工姓名:{},部门:{},岗位:{},职务级别:{},职称级别:{},职业资格等级:{},用工关系状态:{}",
|
|
|
+ personNum, personName, adminorgNum, positionName, posgradeNum, prolevelNum, qualevelNum, laborrelstatusNum);
|
|
|
+ }
|
|
|
+
|
|
|
int money = 0;
|
|
|
List<String> L4800 = Arrays.asList("1", "2");
|
|
|
List<String> L3600 = Arrays.asList("3", "4", "5");
|