|
@@ -11,10 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.google.common.collect.ImmutableMap;
|
|
import com.google.common.collect.ImmutableMap;
|
|
-import com.kcim.common.constants.Constant;
|
|
|
|
-import com.kcim.common.constants.NumberConstant;
|
|
|
|
-import com.kcim.common.constants.ParameterConstant;
|
|
|
|
-import com.kcim.common.constants.SQLParameter;
|
|
|
|
|
|
+import com.kcim.common.constants.*;
|
|
import com.kcim.common.enums.*;
|
|
import com.kcim.common.enums.*;
|
|
import com.kcim.common.exception.CostException;
|
|
import com.kcim.common.exception.CostException;
|
|
import com.kcim.common.file.MinioConfig;
|
|
import com.kcim.common.file.MinioConfig;
|
|
@@ -39,6 +36,7 @@ import org.springframework.transaction.annotation.Propagation;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.ObjectUtils;
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
+import org.springframework.util.StringUtils;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
|
|
|
|
@@ -201,12 +199,14 @@ public class HospProfitAndLossServiceImpl extends ServiceImpl<HospProfitAndLossM
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public void calcHospProfit(String date, Long hospId, Integer reportType){
|
|
public void calcHospProfit(String date, Long hospId, Integer reportType){
|
|
- calcHospProfitAction(date,hospId,reportType);
|
|
|
|
- //需要用代码计算同环比时
|
|
|
|
- if(IsNeedCalcYM()){
|
|
|
|
|
|
+ //需要用代码计算全院损益时
|
|
|
|
+ if(IsNeedCalc(reportType)){
|
|
|
|
+ //计算全院损益
|
|
|
|
+ calcHospProfitAction(date,hospId,reportType);
|
|
|
|
+ //计算同环比
|
|
handleSpecificMonthsCalculation(hospId, date, reportType);
|
|
handleSpecificMonthsCalculation(hospId, date, reportType);
|
|
}
|
|
}
|
|
- execHospProfitSql(date,date);
|
|
|
|
|
|
+ execHospProfitSql(date,reportType);
|
|
}
|
|
}
|
|
@Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED)
|
|
@Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED)
|
|
public void calcHospProfitAction(String date, Long hospId, Integer reportType) {
|
|
public void calcHospProfitAction(String date, Long hospId, Integer reportType) {
|
|
@@ -425,12 +425,17 @@ public class HospProfitAndLossServiceImpl extends ServiceImpl<HospProfitAndLossM
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 是否需要计算同环比
|
|
|
|
|
|
+ * 是否需要代码计算
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public boolean IsNeedCalcYM() {
|
|
|
|
- String parameterValue = centerService.getParameterValue(ParameterConstant.HOSP_YM_CALC_TYPE);
|
|
|
|
- return NumberConstant.ONE_S.equals(parameterValue);
|
|
|
|
|
|
+ public boolean IsNeedCalc(Integer reportType) {
|
|
|
|
+ String parameterValue = centerService.getParameterValue(ParameterConstant.SQL_CALC_REPORT_TYPE);
|
|
|
|
+ if(StringUtils.isEmpty(parameterValue)){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ //不需计算的报表类型列表
|
|
|
|
+ List<String> nonCalcReportTypeList = Arrays.stream(parameterValue.split(SplitConstant.SEPARATOR_VERTICALLINE)).collect(Collectors.toList());
|
|
|
|
+ return !nonCalcReportTypeList.contains(String.valueOf(reportType));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -651,10 +656,10 @@ public class HospProfitAndLossServiceImpl extends ServiceImpl<HospProfitAndLossM
|
|
* @param date
|
|
* @param date
|
|
* @param reportType
|
|
* @param reportType
|
|
*/
|
|
*/
|
|
- public void execHospProfitSql(String date,String reportType){
|
|
|
|
|
|
+ public void execHospProfitSql(String date,Integer reportType){
|
|
Map<String,String> sqlParameter = new HashMap<>();
|
|
Map<String,String> sqlParameter = new HashMap<>();
|
|
sqlParameter.put(SQLParameter.COMPUTE_DATE_CODE, DateUtils.StringToString(date, DateStyleEnum.YYYY_MM));
|
|
sqlParameter.put(SQLParameter.COMPUTE_DATE_CODE, DateUtils.StringToString(date, DateStyleEnum.YYYY_MM));
|
|
- sqlParameter.put(SQLParameter.REPORT_TYPE_CODE,reportType.toString());
|
|
|
|
|
|
+ sqlParameter.put(SQLParameter.REPORT_TYPE_CODE,String.valueOf(reportType));
|
|
sqlService.autoExecuteSql(CustomSqlTypeEnum.HOSP_PROFIT_CALC.getCode(),sqlParameter);
|
|
sqlService.autoExecuteSql(CustomSqlTypeEnum.HOSP_PROFIT_CALC.getCode(),sqlParameter);
|
|
|
|
|
|
}
|
|
}
|