From feeb3d21f251dbd2a61021ec8cc78ce0a9eef170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 31 Aug 2023 14:39:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E5=BC=8F=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formlua/entity/standard/ExcelResult.java | 14 +++++++++ .../salary/service/SalaryAcctCalcService.java | 31 ------------------- .../service/impl/FormulaRunServiceImpl.java | 29 ++++++++++++----- 3 files changed, 36 insertions(+), 38 deletions(-) delete mode 100644 src/com/engine/salary/service/SalaryAcctCalcService.java diff --git a/src/com/engine/salary/formlua/entity/standard/ExcelResult.java b/src/com/engine/salary/formlua/entity/standard/ExcelResult.java index c91dc89f5..2a6eb6428 100644 --- a/src/com/engine/salary/formlua/entity/standard/ExcelResult.java +++ b/src/com/engine/salary/formlua/entity/standard/ExcelResult.java @@ -37,6 +37,12 @@ public class ExcelResult implements Serializable { private String formulaId; private String dataType; + + /** + * 运行时间 + */ + private double runTime; + public ExcelResult() { } @@ -131,6 +137,14 @@ public class ExcelResult implements Serializable { this.status = status; } + public double getRunTime() { + return runTime; + } + + public void setRunTime(double runTime) { + this.runTime = runTime; + } + @Override public String toString() { return "ExcelResult{" + diff --git a/src/com/engine/salary/service/SalaryAcctCalcService.java b/src/com/engine/salary/service/SalaryAcctCalcService.java deleted file mode 100644 index 842622b3c..000000000 --- a/src/com/engine/salary/service/SalaryAcctCalcService.java +++ /dev/null @@ -1,31 +0,0 @@ -//package com.engine.salary.service; -// -//import com.engine.salary.entity.datacollection.DataCollectionEmployee; -// -//import java.util.Collection; -// -///** -// * @description: 薪资核算 -// * @author: xiajun -// * @modified By: xiajun -// * @date: Created in 8/22/22 3:15 PM -// * @version:v1.0 -// */ -//public interface SalaryAcctCalcService { -// -// /** -// * 按薪资核算记录id进行核算 -// * -// * @param salaryAcctRecordId -// * @param simpleEmployee -// */ -// void calcByRecordId(Long salaryAcctRecordId, DataCollectionEmployee simpleEmployee) throws Exception; -// -// /** -// * 按薪资核算人员id进行核算 -// * -// * @param salaryAcctEmployeeIds -// * @param simpleEmployee -// */ -// void calcByEmployeeIds(Long salaryAcctRecordId, Collection salaryAcctEmployeeIds, DataCollectionEmployee simpleEmployee) throws Exception; -//} diff --git a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java index b1d19353a..e53537e9c 100644 --- a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java +++ b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java @@ -19,6 +19,7 @@ import com.ql.util.express.ExpressRunner; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; +import org.springframework.util.StopWatch; import weaver.conn.RecordSet; import weaver.conn.RecordSetDataSource; import weaver.general.BaseBean; @@ -45,15 +46,29 @@ public class FormulaRunServiceImpl extends Service implements FormulaRunService @Override public ExcelResult run(ExpressFormula expressFormula, List formulaVars, DataCollectionEmployee simpleEmployee) { - - if (ReferenceTypeEnum.parseByValue(expressFormula.getReferenceType()) == ReferenceTypeEnum.FORMULA) { - return runFormula(expressFormula, formulaVars); - } - if (ReferenceTypeEnum.parseByValue(expressFormula.getReferenceType()) == ReferenceTypeEnum.SQL) { - return runSQL(expressFormula, formulaVars); + ExcelResult result = new ExcelResult(false, "", ""); + if (isLog) { + StopWatch stopWatch = new StopWatch(); + stopWatch.start("run " + expressFormula.getName()); + if (ReferenceTypeEnum.parseByValue(expressFormula.getReferenceType()) == ReferenceTypeEnum.FORMULA) { + result = runFormula(expressFormula, formulaVars); + } + if (ReferenceTypeEnum.parseByValue(expressFormula.getReferenceType()) == ReferenceTypeEnum.SQL) { + result = runSQL(expressFormula, formulaVars); + } + stopWatch.stop(); + double totalTimeSeconds = stopWatch.getTotalTimeSeconds(); + result.setRunTime(totalTimeSeconds); + } else { + if (ReferenceTypeEnum.parseByValue(expressFormula.getReferenceType()) == ReferenceTypeEnum.FORMULA) { + result = runFormula(expressFormula, formulaVars); + } + if (ReferenceTypeEnum.parseByValue(expressFormula.getReferenceType()) == ReferenceTypeEnum.SQL) { + result = runSQL(expressFormula, formulaVars); + } } log.error("express execute fail, {} not in ReferenceTypeEnum ", expressFormula.getReferenceType()); - return new ExcelResult(false, "", ""); + return result; } private ExcelResult runSQL(ExpressFormula expressFormula, List formulaVars) {