|
|
|
|
@ -1421,15 +1421,24 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|
|
|
|
List<FsdReportJSONParam> fsdReportJSONParams = JsonUtil.parseList(param.getParam(), FsdReportJSONParam.class);
|
|
|
|
|
for (FsdReportJSONParam rangeParam : fsdReportJSONParams) {
|
|
|
|
|
List<FsdReportJSONParam> childrenParamList = rangeParam.getChildren();
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, rangeParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
rangeParam.setThisMonthEmpNums(Utils.null2String(valueMap.get("empNum")));
|
|
|
|
|
rangeParam.setThisMonthValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
if (!CollectionUtils.isEmpty(childrenParamList)) {
|
|
|
|
|
BigDecimal sumEmpNum = new BigDecimal("0");
|
|
|
|
|
BigDecimal sumValue = new BigDecimal("0");
|
|
|
|
|
for (FsdReportJSONParam childrenParam : childrenParamList) {
|
|
|
|
|
valueMap = countFsdReportDTO(lssjMap, childrenParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
childrenParam.setThisMonthEmpNums(Utils.null2String(valueMap.get("empNum")));
|
|
|
|
|
childrenParam.setThisMonthValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
Map<String, Object>valueMap = countFsdReportDTO(lssjMap, childrenParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
String empNum = Utils.null2String(valueMap.get("empNum"));
|
|
|
|
|
String value = Utils.null2String(valueMap.get("value"));
|
|
|
|
|
childrenParam.setThisMonthEmpNums(empNum);
|
|
|
|
|
childrenParam.setThisMonthValue(value);
|
|
|
|
|
sumEmpNum = sumEmpNum.add(SalaryEntityUtil.string2BigDecimalDefault0(empNum));
|
|
|
|
|
sumValue = sumValue.add(SalaryEntityUtil.string2BigDecimalDefault0(value));
|
|
|
|
|
}
|
|
|
|
|
rangeParam.setThisMonthEmpNums(sumEmpNum.toString());
|
|
|
|
|
rangeParam.setThisMonthValue(sumValue.toString());
|
|
|
|
|
} else {
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, rangeParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
rangeParam.setThisMonthEmpNums(Utils.null2String(valueMap.get("empNum")));
|
|
|
|
|
rangeParam.setThisMonthValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1465,19 +1474,27 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|
|
|
|
lssjMap = SalaryEntityUtil.group2Map(lssjList, FsdReportLssjDTO::getLb);
|
|
|
|
|
for (FsdReportJSONParam rangeParam : fsdReportJSONParams) {
|
|
|
|
|
List<FsdReportJSONParam> childrenParamList = rangeParam.getChildren();
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, rangeParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
String avgEmpNums = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP).toString();
|
|
|
|
|
rangeParam.setThisYearAveEmpNums(avgEmpNums);
|
|
|
|
|
rangeParam.setThisYearValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
if (!CollectionUtils.isEmpty(childrenParamList)) {
|
|
|
|
|
BigDecimal sumEmpNums = new BigDecimal("0");
|
|
|
|
|
BigDecimal sumValue = new BigDecimal("0");
|
|
|
|
|
for (FsdReportJSONParam childrenParam : childrenParamList) {
|
|
|
|
|
valueMap = countFsdReportDTO(lssjMap, childrenParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
avgEmpNums = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, childrenParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
String avgEmpNums = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP).toString();
|
|
|
|
|
String value = Utils.null2String(valueMap.get("value"));
|
|
|
|
|
childrenParam.setThisYearAveEmpNums(avgEmpNums);
|
|
|
|
|
childrenParam.setThisYearValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
childrenParam.setThisYearValue(value);
|
|
|
|
|
sumEmpNums = sumEmpNums.add(SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(valueMap.get("empNum"))));
|
|
|
|
|
sumValue = sumValue.add(SalaryEntityUtil.string2BigDecimalDefault0(value));
|
|
|
|
|
}
|
|
|
|
|
rangeParam.setThisYearAveEmpNums(sumEmpNums.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP).toString());
|
|
|
|
|
rangeParam.setThisYearValue(sumValue.toString());
|
|
|
|
|
} else {
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, rangeParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
String avgEmpNums = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP).toString();
|
|
|
|
|
rangeParam.setThisYearAveEmpNums(avgEmpNums);
|
|
|
|
|
rangeParam.setThisYearValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1514,33 +1531,48 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|
|
|
|
lssjMap = SalaryEntityUtil.group2Map(lssjList, FsdReportLssjDTO::getLb);
|
|
|
|
|
for (FsdReportJSONParam rangeParam : fsdReportJSONParams) {
|
|
|
|
|
List<FsdReportJSONParam> childrenParamList = rangeParam.getChildren();
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, rangeParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
BigDecimal avgEmpNumsVal = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP);
|
|
|
|
|
rangeParam.setLastYearAveEmpNums(avgEmpNumsVal.toString());
|
|
|
|
|
rangeParam.setLastYearValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
|
|
|
|
|
// 获取今年平均人数和金额
|
|
|
|
|
BigDecimal thisYearAveEmpNums = SalaryEntityUtil.string2BigDecimalDefault0(rangeParam.getThisYearAveEmpNums());
|
|
|
|
|
BigDecimal thisYearValue = SalaryEntityUtil.string2BigDecimalDefault0(rangeParam.getThisYearValue());
|
|
|
|
|
BigDecimal lastYearValue = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
rangeParam.setEmpNumsCy(thisYearAveEmpNums.subtract(avgEmpNumsVal).toString());
|
|
|
|
|
rangeParam.setValueCy(thisYearValue.subtract(lastYearValue).toString());
|
|
|
|
|
if ( !CollectionUtils.isEmpty(childrenParamList)) {
|
|
|
|
|
BigDecimal sumLastYearEmpNums = new BigDecimal("0");
|
|
|
|
|
BigDecimal sumLastYearValue = new BigDecimal("0");
|
|
|
|
|
for (FsdReportJSONParam childrenParam : childrenParamList) {
|
|
|
|
|
valueMap = countFsdReportDTO(lssjMap, childrenParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
|
|
|
|
|
avgEmpNumsVal = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, childrenParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
BigDecimal avgEmpNumsVal = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP);
|
|
|
|
|
childrenParam.setLastYearAveEmpNums(avgEmpNumsVal.toString());
|
|
|
|
|
childrenParam.setLastYearValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
// 获取今年平均人数和金额
|
|
|
|
|
thisYearAveEmpNums = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(childrenParam.getThisYearAveEmpNums()));
|
|
|
|
|
thisYearValue = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(childrenParam.getThisYearValue()));
|
|
|
|
|
lastYearValue = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
BigDecimal thisYearAveEmpNums = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(childrenParam.getThisYearAveEmpNums()));
|
|
|
|
|
BigDecimal thisYearValue = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(childrenParam.getThisYearValue()));
|
|
|
|
|
BigDecimal lastYearValue = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
childrenParam.setEmpNumsCy(thisYearAveEmpNums.subtract(avgEmpNumsVal).toString());
|
|
|
|
|
childrenParam.setValueCy(thisYearValue.subtract(lastYearValue).toString());
|
|
|
|
|
|
|
|
|
|
sumLastYearEmpNums = sumLastYearEmpNums.add(SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(valueMap.get("empNum"))));
|
|
|
|
|
sumLastYearValue = sumLastYearValue.add(SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(valueMap.get("value"))));
|
|
|
|
|
}
|
|
|
|
|
BigDecimal lastYearAveEmpNums = sumLastYearEmpNums.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP);
|
|
|
|
|
rangeParam.setLastYearAveEmpNums(lastYearAveEmpNums.toString());
|
|
|
|
|
rangeParam.setLastYearValue(sumLastYearValue.toString());
|
|
|
|
|
// 获取今年平均人数和金额
|
|
|
|
|
BigDecimal thisYearAveEmpNums = SalaryEntityUtil.string2BigDecimalDefault0(rangeParam.getThisYearAveEmpNums());
|
|
|
|
|
BigDecimal thisYearValue = SalaryEntityUtil.string2BigDecimalDefault0(rangeParam.getThisYearValue());
|
|
|
|
|
|
|
|
|
|
rangeParam.setEmpNumsCy(thisYearAveEmpNums.subtract(lastYearAveEmpNums).toString());
|
|
|
|
|
rangeParam.setValueCy(thisYearValue.subtract(sumLastYearValue).toString());
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
Map<String, Object> valueMap = countFsdReportDTO(lssjMap, rangeParam, totalSalaryAcctEmployeeList, totalAcctResultPOList, itemIds, sumItemIds, ylaogrItemId, yliaogrItemId, gjjgrItemId);
|
|
|
|
|
BigDecimal avgEmpNumsVal = (NumberUtils.isCreatable(Utils.null2String(valueMap.get("empNum"))) ? new BigDecimal(Utils.null2String(valueMap.get("empNum"))) : new BigDecimal("0"))
|
|
|
|
|
.divide(new BigDecimal(monthValue), 2, RoundingMode.HALF_UP);
|
|
|
|
|
rangeParam.setLastYearAveEmpNums(avgEmpNumsVal.toString());
|
|
|
|
|
rangeParam.setLastYearValue(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
|
|
|
|
|
// 获取今年平均人数和金额
|
|
|
|
|
BigDecimal thisYearAveEmpNums = SalaryEntityUtil.string2BigDecimalDefault0(rangeParam.getThisYearAveEmpNums());
|
|
|
|
|
BigDecimal thisYearValue = SalaryEntityUtil.string2BigDecimalDefault0(rangeParam.getThisYearValue());
|
|
|
|
|
BigDecimal lastYearValue = SalaryEntityUtil.string2BigDecimalDefault0(Utils.null2String(valueMap.get("value")));
|
|
|
|
|
rangeParam.setEmpNumsCy(thisYearAveEmpNums.subtract(avgEmpNumsVal).toString());
|
|
|
|
|
rangeParam.setValueCy(thisYearValue.subtract(lastYearValue).toString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
fsdReportJSONParams.stream().forEach(p -> {
|
|
|
|
|
|