diff --git a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java index b836cb66a..54dc8ab34 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java @@ -25,9 +25,11 @@ import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum; import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum; import com.engine.salary.enums.salarysob.SalarySobAdjustRuleTypeEnum; +import com.engine.salary.mapper.SQLMapper; import com.engine.salary.util.JsonUtil; import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import lombok.Data; @@ -243,6 +245,7 @@ public class CalculateFormulaVarBO { * @param resultMap 返回结果集 */ private void handleSalaryArchiveData(SalaryAcctCalculateBO salaryAcctCalculateBO, Map> resultMap, KQGroupService kqGroupService) { + // 调薪计薪规则 Map salarySobAdjustRulePOMap = SalaryEntityUtil.convert2Map(salaryAcctCalculateBO.getSalarySobAdjustRulePOS(), SalarySobAdjustRulePO::getSalaryItemId); @@ -414,6 +417,10 @@ public class CalculateFormulaVarBO { } + private SQLMapper getSQLMapper() { + return MapperProxyFactory.getProxy(SQLMapper.class); + } + /** * 获取应出勤时数 * @param fromDate @@ -421,18 +428,18 @@ public class CalculateFormulaVarBO { * @param userId */ private Double getKQYcq(Date fromDate, Date endDate, Long userId) { - 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 = "+userId+" and kqdate >= '" +SalaryDateUtil.getFormatDate(fromDate)+"' and kqdate <= '"+ SalaryDateUtil.getFormatDate(endDate)+"'"; BaseBean baseBean = new BaseBean(); + double ycq = 0.00; + String sql = "SELECT sum(workdays) as a,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.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()); + List list = getSQLMapper().runSQL(sql); + baseBean.writeLog("klb-list" +list); + if (CollectionUtils.isNotEmpty(list)) { + Object value = list.get(0).get("a"); + if (value != null) { + baseBean.writeLog("klb-value" +value); + ycq = NumberUtils.isCreatable(value.toString()) ? Double.valueOf(value.toString()) : Double.valueOf("0"); + } } return ycq; }