|
|
@@ -11,13 +11,12 @@ 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.DispatchServiceHelper;
|
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
import kd.sdk.plugin.Plugin;
|
|
|
-import kd.sdk.swc.hcdm.business.helper.HCDMSalaryStdServiceHelper;
|
|
|
-import kd.sdk.swc.hcdm.common.dto.stdtab.match.StdTableDataMatchParam;
|
|
|
-import kd.sdk.swc.hcdm.common.dto.stdtab.match.StdTableDataMatchResult;
|
|
|
import nckd.jxccl.base.common.constant.FormConstant;
|
|
|
import nckd.jxccl.base.common.enums.psms.TypeStateEnum;
|
|
|
+import nckd.jxccl.base.common.utils.ConvertUtil;
|
|
|
import nckd.jxccl.base.common.utils.QueryFieldBuilder;
|
|
|
import nckd.jxccl.base.entity.helper.EntityHelper;
|
|
|
import nckd.jxccl.base.swc.helper.AdjFileServiceHelper;
|
|
|
@@ -107,16 +106,17 @@ public class PersonPosFileSaveOpPlugin extends AbstractOperationServicePlugIn im
|
|
|
|
|
|
if (!salaryStandardMap.isEmpty()) {
|
|
|
logger.info("Created salary standard map with {} entries", salaryStandardMap.size());
|
|
|
- List<StdTableDataMatchParam> matchParams = new ArrayList<>();
|
|
|
+ List<Map<String,Object>> matchParams = new ArrayList<>();
|
|
|
for (AdjFileServiceHelper.SalaryAdjustmentResult result : salaryAdjustmentResultList) {
|
|
|
- StdTableDataMatchParam stdTableDataMatchParam = new StdTableDataMatchParam();
|
|
|
- stdTableDataMatchParam.setStdTableId(result.salaryStDv.getLong(FormConstant.ID_KEY));
|
|
|
- stdTableDataMatchParam.setStdItemId(salaryItemId);
|
|
|
- stdTableDataMatchParam.setGradeId(result.salaryGrade.getLong(FormConstant.ID_KEY));
|
|
|
+ Map<String,Object> stdTableDataMatchParam = new HashMap<>();
|
|
|
+
|
|
|
+ stdTableDataMatchParam.put("stdTableId",result.salaryStDv.getLong(FormConstant.ID_KEY));
|
|
|
+ stdTableDataMatchParam.put("stdItemId",salaryItemId);
|
|
|
+ stdTableDataMatchParam.put("gradeId",result.salaryGrade.getLong(FormConstant.ID_KEY));
|
|
|
DynamicObject dynamicObject = salaryStandardMap.get(result.salaryStDv.getLong(FormConstant.ID_KEY));
|
|
|
if (dynamicObject != null) {
|
|
|
long rankId = dynamicObject.getLong(String.join(".", "rankentry", "rank", FormConstant.ID_KEY));
|
|
|
- stdTableDataMatchParam.setRankId(rankId);
|
|
|
+ stdTableDataMatchParam.put("rankId",result.salaryGrade.getLong(FormConstant.ID_KEY));
|
|
|
matchParams.add(stdTableDataMatchParam);
|
|
|
}
|
|
|
}
|
|
|
@@ -124,14 +124,15 @@ public class PersonPosFileSaveOpPlugin extends AbstractOperationServicePlugIn im
|
|
|
|
|
|
if (!matchParams.isEmpty()) {
|
|
|
//获取薪酬项目、薪等、薪档对应金额(入参params的数组下标和出参的数组下标一一对应)
|
|
|
- List<StdTableDataMatchResult> stdTableDataMatchResults = HCDMSalaryStdServiceHelper.matchStdTableData(matchParams);
|
|
|
+// List<StdTableDataMatchResult> stdTableDataMatchResults = HCDMSalaryStdServiceHelper.matchStdTableData(matchParams);
|
|
|
+ List<Map<String,Object>> stdTableDataMatchResults = DispatchServiceHelper.invokeService("nckd.jxccl.swc.hcdm.servicehelper", "hcdm", "ISwcHCDMService", "matchStdTableData", matchParams);
|
|
|
logger.info("Retrieved {} standard table match results", stdTableDataMatchResults.size());
|
|
|
|
|
|
for (int i = 0; i < salaryAdjustmentResultList.size(); i++) {
|
|
|
AdjFileServiceHelper.SalaryAdjustmentResult result = salaryAdjustmentResultList.get(i);
|
|
|
if (i < stdTableDataMatchResults.size() && stdTableDataMatchResults.get(i) != null) {
|
|
|
//当前薪等01档的金额
|
|
|
- amountMap.put(result.employee.getLong(FormConstant.ID_KEY), stdTableDataMatchResults.get(i).getAmount());
|
|
|
+ amountMap.put(result.employee.getLong(FormConstant.ID_KEY), ConvertUtil.toBigDecimal(stdTableDataMatchResults.get(i).get("amount")));
|
|
|
}
|
|
|
}
|
|
|
logger.info("Populated amount map with {} entries", amountMap.size());
|