diff --git a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java index c7dd006ab..b836cb66a 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java @@ -365,6 +365,8 @@ public class CalculateFormulaVarBO { if (CollectionUtils.isNotEmpty(salaryArchiveItemDataDTOS)) { firstValue = SalaryEntityUtil.empty2Zero(salaryArchiveItemDataDTOS.get(0).getValue()); } + BaseBean baseBean = new BaseBean(); + baseBean.writeLog("klbsize"+salaryArchiveItemDataDTOS.size()); for (int i = 1; i < salaryArchiveItemDataDTOS.size(); i++) { // 科蓝柏二开:调薪前工资+(调薪后工资-调薪前工资)/21.75*(调薪后的应出勤天数+调薪后的法定节假日天数) SalaryArchiveItemDataDTO dataDTO = salaryArchiveItemDataDTOS.get(i); @@ -380,6 +382,7 @@ public class CalculateFormulaVarBO { ycq = getKQYcq(dataDTO.getEffectiveDateRange().getFromDate(), endDate, employeeId); fdjjr = getFdjjr(SalaryDateUtil.getFormatDate(dataDTO.getEffectiveDateRange().getFromDate()), SalaryDateUtil.getFormatDate(endDate), employeeId.toString(), kqGroupService); } + baseBean.writeLog("klb-ycq" +ycq); double days = ycq + (NumberUtils.isCreatable(fdjjr) ? Double.valueOf(fdjjr) : 0); needAddValue = needAddValue.add(SalaryEntityUtil.empty2Zero(dataDTO.getValue()).subtract(firstValue).divide(baseValue, 15, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(days))); @@ -392,6 +395,7 @@ public class CalculateFormulaVarBO { // valueSum = valueSum.add(SalaryEntityUtil.empty2Zero(dataDTO.getValue()).multiply(dayDiff)); } // value = valueSum.divide(new BigDecimal(SalaryDateUtil.dateToLocalDate(salaryCycle.getFromDate()).until(SalaryDateUtil.dateToLocalDate(salaryCycle.getEndDate()), ChronoUnit.DAYS)).add(BigDecimal.ONE), 2, RoundingMode.HALF_UP).toPlainString(); + baseBean.writeLog("klb-ycq" +needAddValue); value = firstValue.add(needAddValue).toPlainString(); break; case USE_BEFORE_ADJUSTMENT: @@ -420,10 +424,15 @@ public class CalculateFormulaVarBO { RecordSet rs = new RecordSet(); double ycq = 0.00; // double scq = 0.00; - String sql = "SELECT sum(workdays),sum(attendancemins) FROM kq_format_total WHERE workdays is not null and resourceid = ? and kqdate >= '" +SalaryDateUtil.getFormatDate(fromDate)+"' and kqdate <= '"+ SalaryDateUtil.getFormatDate(endDate)+"'"; - rs.executeQuery(sql,userId); + String sql = "SELECT sum(workdays),sum(attendancemins) FROM kq_format_total WHERE workdays is not null and resourceid = "+userId+" and kqdate >= '" +SalaryDateUtil.getFormatDate(fromDate)+"' and kqdate <= '"+ SalaryDateUtil.getFormatDate(endDate)+"'"; + BaseBean baseBean = new BaseBean(); + baseBean.writeLog("klb-1" + sql); + rs.execute(sql); if (rs.next()) { ycq = rs.getInt(1) == -1 ? 0.00 : BigDecimal.valueOf(rs.getInt(1)).doubleValue(); + baseBean.writeLog("klb-2" + ycq); + } else { + baseBean.writeLog("klb-3" + rs.toString()); } return ycq; }