|
@ -20,6 +20,11 @@ import com.yihu.jw.restmodel.hospital.statistics.ScreenQvo;
|
|
|
import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import jxl.Workbook;
|
|
|
import jxl.write.Label;
|
|
|
import jxl.write.WritableSheet;
|
|
|
import jxl.write.WritableWorkbook;
|
|
|
import jxl.write.WriteException;
|
|
|
import jxl.format.VerticalAlignment;
|
|
|
import jxl.write.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@ -33,6 +38,7 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.transaction.Transactional;
|
|
|
import java.io.IOException;
|
|
|
import java.io.OutputStream;
|
|
|
import java.io.OutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.text.ParseException;
|
|
@ -6072,7 +6078,7 @@ public class StatisticsEsService {
|
|
|
*/
|
|
|
public JSONObject getTotal3Data(ScreenQvo qvo) throws Exception {
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
|
|
//后端自己计算时间 1本月,2近半年,3全年
|
|
|
if (qvo.getFlag() == 1) {
|
|
|
qvo.setStartDate(DateUtil.getFirstMonthDay());
|
|
|
qvo.setEndDate(DateUtil.getLastMonthDay());
|
|
@ -6089,50 +6095,33 @@ public class StatisticsEsService {
|
|
|
//计算去年同期时间段 开始时间periodYear[0] 、结束时间periodYear[1]
|
|
|
String[] periodYear = calculatePreviousYearPeriod(qvo.getStartDate(), qvo.getEndDate());
|
|
|
|
|
|
// List<SaveModel> model01 = elasticsearchUtil.findListDateQuotaLevel1(qvo.getStartDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "3", SaveModel.timeLevel_ZL, null, null);
|
|
|
// List<SaveModel> model02 = elasticsearchUtil.findListDateQuotaLevel1(qvo.getStartDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "21", SaveModel.timeLevel_ZL, null, null);
|
|
|
|
|
|
//到结束时间的增量
|
|
|
SaveModel model01 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getEndDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "3", "2");//查询诊查费
|
|
|
SaveModel model02 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getEndDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "21", "2");//处方费
|
|
|
//到开始时间的增量
|
|
|
SaveModel model03 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getStartDate(), qvo.getStartDate(), qvo.getArea(), qvo.getLevel(), "3", "2");//查询诊查费
|
|
|
SaveModel model04 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getStartDate(), qvo.getStartDate(), qvo.getArea(), qvo.getLevel(), "21", "2");//处方费
|
|
|
//当前
|
|
|
List<SaveModel> model01 = elasticsearchUtil.findListDateQuotaLevel1(qvo.getStartDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "3", SaveModel.timeLevel_ZL, null, null);//查询诊查费
|
|
|
List<SaveModel> model02 = elasticsearchUtil.findListDateQuotaLevel1(qvo.getStartDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "21", SaveModel.timeLevel_ZL, null, null);//处方费
|
|
|
|
|
|
//上个周期的结束时间的增量
|
|
|
SaveModel model05 = elasticsearchUtil.findOneDateQuotaLevel0(period[1], period[1], qvo.getArea(), qvo.getLevel(), "3", "2");//查询诊查费
|
|
|
SaveModel model06 = elasticsearchUtil.findOneDateQuotaLevel0(period[1], period[1], qvo.getArea(), qvo.getLevel(), "21", "2");//处方费
|
|
|
//上个周期的开始时间的增量
|
|
|
SaveModel model07 = elasticsearchUtil.findOneDateQuotaLevel0(period[0], period[0], qvo.getArea(), qvo.getLevel(), "3", "2");//查询诊查费
|
|
|
SaveModel model08 = elasticsearchUtil.findOneDateQuotaLevel0(period[0], period[0], qvo.getArea(), qvo.getLevel(), "21", "2");//处方费
|
|
|
//上个周期
|
|
|
List<SaveModel> model03 = elasticsearchUtil.findListDateQuotaLevel1(period[0], period[1], qvo.getArea(), qvo.getLevel(), "3", SaveModel.timeLevel_ZL, null, null);//查询诊查费
|
|
|
List<SaveModel> model04 = elasticsearchUtil.findListDateQuotaLevel1(period[0], period[1], qvo.getArea(), qvo.getLevel(), "21", SaveModel.timeLevel_ZL, null, null);//处方费
|
|
|
|
|
|
//去年同期时间的结束时间的增量
|
|
|
SaveModel model09 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[1], periodYear[1], qvo.getArea(), qvo.getLevel(), "3", "2");//查询诊查费
|
|
|
SaveModel model10 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[1], periodYear[1], qvo.getArea(), qvo.getLevel(), "21", "2");//处方费
|
|
|
//去年同期时间的开始时间的增量
|
|
|
SaveModel model11 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[0], periodYear[0], qvo.getArea(), qvo.getLevel(), "3", "2");//查询诊查费
|
|
|
SaveModel model12 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[0], periodYear[0], qvo.getArea(), qvo.getLevel(), "21", "2");//处方费
|
|
|
List<SaveModel> model05 = elasticsearchUtil.findListDateQuotaLevel1(periodYear[0], periodYear[1], qvo.getArea(), qvo.getLevel(), "3", SaveModel.timeLevel_ZL, null, null);//查询诊查费
|
|
|
List<SaveModel> model06 = elasticsearchUtil.findListDateQuotaLevel1(periodYear[0], periodYear[1], qvo.getArea(), qvo.getLevel(), "21", SaveModel.timeLevel_ZL, null, null);//处方费
|
|
|
|
|
|
//----------------------问诊量--------------------------------------
|
|
|
SaveModel wz_model01 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getEndDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "5", "2");//问诊-到结束时间的增量
|
|
|
SaveModel wz_model02 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getStartDate(), qvo.getStartDate(), qvo.getArea(), qvo.getLevel(), "5", "2");//问诊-到开始时间的增量
|
|
|
//上个周期的增量
|
|
|
SaveModel wz_model03 = elasticsearchUtil.findOneDateQuotaLevel0(period[1], period[1], qvo.getArea(), qvo.getLevel(), "5", "2");//问诊-结束时间
|
|
|
SaveModel wz_model04 = elasticsearchUtil.findOneDateQuotaLevel0(period[0], period[0], qvo.getArea(), qvo.getLevel(), "5", "2");//问诊=开始时间
|
|
|
//去年同期时间的增量
|
|
|
SaveModel wz_model05 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[1], periodYear[1], qvo.getArea(), qvo.getLevel(), "5", "2");//问诊-结束时间
|
|
|
SaveModel wz_model06 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[0], periodYear[0], qvo.getArea(), qvo.getLevel(), "5", "2");//问诊=开始时间
|
|
|
|
|
|
List<SaveModel> wz_model01 = elasticsearchUtil.findListDateQuotaLevel1(qvo.getStartDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "5", SaveModel.timeLevel_ZL, null, null);//问诊
|
|
|
//上个周期
|
|
|
List<SaveModel> wz_model02 = elasticsearchUtil.findListDateQuotaLevel1(period[0], period[1], qvo.getArea(), qvo.getLevel(), "5", SaveModel.timeLevel_ZL, null, null);//问诊
|
|
|
//去年同期时间
|
|
|
List<SaveModel> wz_model03 = elasticsearchUtil.findListDateQuotaLevel1(periodYear[0], periodYear[1], qvo.getArea(), qvo.getLevel(), "5", SaveModel.timeLevel_ZL, null, null);//问诊
|
|
|
|
|
|
//---------------------【处方量】------------------------------------
|
|
|
SaveModel cf_model01 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getEndDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "2", "2");//开方量-到结束时间的增量
|
|
|
SaveModel cf_model02 = elasticsearchUtil.findOneDateQuotaLevel0(qvo.getStartDate(), qvo.getStartDate(), qvo.getArea(), qvo.getLevel(), "2", "2");//开方量-到开始时间的增量
|
|
|
//上个周期的增量
|
|
|
SaveModel cf_model03 = elasticsearchUtil.findOneDateQuotaLevel0(period[1], period[1], qvo.getArea(), qvo.getLevel(), "2", "2");//开方量-结束时间
|
|
|
SaveModel cf_model04 = elasticsearchUtil.findOneDateQuotaLevel0(period[0], period[0], qvo.getArea(), qvo.getLevel(), "2", "2");//开方量=开始时间
|
|
|
//去年同期时间的增量
|
|
|
SaveModel cf_model05 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[1], periodYear[1], qvo.getArea(), qvo.getLevel(), "2", "2");//开方量-结束时间
|
|
|
SaveModel cf_model06 = elasticsearchUtil.findOneDateQuotaLevel0(periodYear[0], periodYear[0], qvo.getArea(), qvo.getLevel(), "2", "2");//开方量=开始时间
|
|
|
|
|
|
List<SaveModel> cf_model01 = elasticsearchUtil.findListDateQuotaLevel1(qvo.getStartDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), "2", SaveModel.timeLevel_ZL, null, null);//开方量
|
|
|
//上个周期
|
|
|
List<SaveModel> cf_model02 = elasticsearchUtil.findListDateQuotaLevel1(period[0], period[1], qvo.getArea(), qvo.getLevel(), "2", SaveModel.timeLevel_ZL, null, null);//开方量
|
|
|
//去年同期时间
|
|
|
List<SaveModel> cf_model03 = elasticsearchUtil.findListDateQuotaLevel1(periodYear[0], periodYear[1], qvo.getArea(), qvo.getLevel(), "2", SaveModel.timeLevel_ZL, null, null);//开方量
|
|
|
|
|
|
//---------------------【接诊量】------------------------------------
|
|
|
//接诊量-已接诊
|
|
@ -6143,34 +6132,28 @@ public class StatisticsEsService {
|
|
|
* 环比增长= (本期统计周期数据-上期统计周期数据)上期统计周期数据×100%
|
|
|
* 同比增长= (本期统计周期数据-去年同期统计周期数据)去年同期统计周期据×100%
|
|
|
*/
|
|
|
long totalRevenue = ((model01 == null ? 0 : model01.getResult1().longValue()) - (model03 == null ? 0 : model03.getResult1().longValue())) +
|
|
|
(model02 == null ? 0 : model02.getResult1().longValue()) - (model04 == null ? 0 : model04.getResult1().longValue());
|
|
|
int totalRevenue = countListTotal(model01) + countListTotal(model02);
|
|
|
//上周期总收入
|
|
|
long periodTotal = ((model05 == null ? 0 : model05.getResult1().longValue()) - (model07 == null ? 0 : model07.getResult1().longValue()))
|
|
|
+ (model06 == null ? 0 : model06.getResult1().longValue()) - (model08 == null ? 0 : model08.getResult1().longValue());
|
|
|
int periodTotal = countListTotal(model03) + countListTotal(model04);
|
|
|
//去年同期时间段总收入
|
|
|
long periodYearTotal = ((model09 == null ? 0 : model09.getResult1().longValue()) - (model11 == null ? 0 : model11.getResult1().longValue()))
|
|
|
+ (model10 == null ? 0 : model10.getResult1().longValue() - (model12 == null ? 0 : model12.getResult1().longValue()));
|
|
|
//同比和环比
|
|
|
long fee_hb = periodTotal == 0 ? 0 : (totalRevenue - periodTotal) / periodTotal;//环比
|
|
|
long fee_tb = periodYearTotal == 0 ? 0 : (totalRevenue - periodYearTotal) / periodYearTotal;//同比
|
|
|
result.put("fee_examination", (model01 == null ? 0 : model01.getResult1().longValue()) - (model03 == null ? 0 : model03.getResult1().longValue()));//诊查费
|
|
|
result.put("fee_prescription", (model02 == null ? 0 : model02.getResult1().longValue()) - (model04 == null ? 0 : model04.getResult1().longValue()));//处方费
|
|
|
int periodYearTotal =countListTotal(model05) + countListTotal(model06);
|
|
|
//赋值
|
|
|
result.put("fee_examination",countListTotal(model01));//诊查费
|
|
|
result.put("fee_prescription", countListTotal(model02));//处方费
|
|
|
result.put("fee_total", totalRevenue);//总收入
|
|
|
result.put("fee_hb", fee_hb);//环比
|
|
|
result.put("fee_tb", fee_tb);//同比
|
|
|
result.put("fee_hb", getRange((totalRevenue - periodTotal), periodTotal, 0));//环比
|
|
|
result.put("fee_tb",getRange((totalRevenue - periodYearTotal), periodYearTotal, 0));//同比
|
|
|
|
|
|
int patientVolume = 0;
|
|
|
//接诊量
|
|
|
if (!jz_model01.isEmpty()) {
|
|
|
patientVolume = (int) jz_model01.stream().mapToDouble(SaveModel::getResult1).sum();
|
|
|
}
|
|
|
|
|
|
//问诊
|
|
|
int wzl = (wz_model01 == null ? 0 : wz_model01.getResult1().intValue()) - (wz_model02 == null ? 0 : wz_model02.getResult2().intValue());
|
|
|
int wzl = countListTotal(wz_model01);
|
|
|
//同比和环比
|
|
|
int wzl_period = (wz_model03 == null ? 0 : wz_model03.getResult1().intValue()) - (wz_model04 == null ? 0 : wz_model04.getResult1().intValue());//上个周期
|
|
|
int wzl_periodYear = (wz_model05 == null ? 0 : wz_model05.getResult1().intValue()) - (wz_model06 == null ? 0 : wz_model06.getResult1().intValue());//去年同周期
|
|
|
int wzl_period = countListTotal(wz_model02);//上个周期
|
|
|
int wzl_periodYear = countListTotal(wz_model03);//去年同周期
|
|
|
result.put("wzl_total", wzl);//问诊量
|
|
|
result.put("wzl_jz", patientVolume);//接诊量
|
|
|
result.put("wzl_jzl", getRange(patientVolume, wzl, 0));//【接诊率】= 接诊量 ÷ 问诊量 ×100%
|
|
@ -6178,9 +6161,9 @@ public class StatisticsEsService {
|
|
|
result.put("wzl_tb", getRange((wzl - wzl_periodYear), wzl_periodYear, 0));//同比
|
|
|
|
|
|
//开方 【处方量】
|
|
|
int kf_total = (cf_model01 == null ? 0 : cf_model01.getResult1().intValue()) - (cf_model02 == null ? 0 : cf_model02.getResult1().intValue());
|
|
|
int kf_period = (cf_model03 == null ? 0 : cf_model03.getResult1().intValue()) - (cf_model04 == null ? 0 : cf_model04.getResult1().intValue());//上个周期
|
|
|
int kf_periodYear = (cf_model05 == null ? 0 : cf_model05.getResult1().intValue()) - (cf_model06 == null ? 0 : cf_model06.getResult1().intValue());//去年同周期
|
|
|
int kf_total = countListTotal(cf_model01);
|
|
|
int kf_period = countListTotal(cf_model02);;//上个周期
|
|
|
int kf_periodYear = countListTotal(cf_model03);;//去年同周期
|
|
|
result.put("kf_total", kf_total);//开方量
|
|
|
result.put("kf_kfl", getRange(kf_total, patientVolume, 0));//【处方率】= 处方量 ÷ 接诊量 ×100%
|
|
|
result.put("kf_hb", getRange((kf_total - kf_period), kf_period, 0));//环比
|
|
@ -6220,11 +6203,11 @@ public class StatisticsEsService {
|
|
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
|
|
int xtmz = xt_list.isEmpty() ? 0 : xt_list.get(0).getResult1().intValue();
|
|
|
int twzx = twzx_list.isEmpty() ? 0 : twfz_list.get(0).getResult1().intValue();
|
|
|
int twfz = twfz_list.isEmpty() ? 0 : twfz_list.get(0).getResult1().intValue();
|
|
|
int spzx = spzx_list.isEmpty() ? 0 : spzx_list.get(0).getResult1().intValue();
|
|
|
int spfz = spfz_list.isEmpty() ? 0 : spfz_list.get(0).getResult1().intValue();
|
|
|
int xtmz = countListTotal(xt_list);
|
|
|
int twzx = countListTotal(twzx_list);
|
|
|
int twfz = countListTotal(twfz_list);
|
|
|
int spzx = countListTotal(spzx_list);
|
|
|
int spfz = countListTotal(spfz_list);
|
|
|
|
|
|
|
|
|
//计算百分比
|
|
@ -6339,6 +6322,7 @@ public class StatisticsEsService {
|
|
|
* 诊查费(21) + 处方费(3)
|
|
|
*/
|
|
|
public JSONObject getDrugAndExaminationFeeList(ScreenQvo qvo) throws Exception {
|
|
|
System.out.println("getDrugAndExaminationFeeList获取:诊查费(21) + 处方费(3)");
|
|
|
if (qvo.getFlag() == 1) {
|
|
|
//本月
|
|
|
qvo.setStartDate(DateUtil.getFirstMonthDay());
|
|
@ -6352,6 +6336,7 @@ public class StatisticsEsService {
|
|
|
qvo.setStartDate(DateUtil.getCurrentYearStartTime());
|
|
|
qvo.setEndDate(DateUtil.getCurrentYearEndTime());
|
|
|
}
|
|
|
System.out.println("赋值时间-参数:"+JSON.toJSONString(qvo));
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
JSONObject result = new JSONObject();
|
|
|
map.put("drugFree", "3"); //诊查费
|
|
@ -6366,6 +6351,7 @@ public class StatisticsEsService {
|
|
|
result.put(key, array);
|
|
|
} else {
|
|
|
//按日
|
|
|
System.out.println("执行dateTotalStatistics2方法==>时间"+qvo.getStartDate()+" -- "+qvo.getEndDate());
|
|
|
JSONArray array = dateTotalStatistics2(qvo.getStartDate(), qvo.getEndDate(), qvo.getArea(), qvo.getLevel(), value, null, SaveModel.timeLevel_ZL, null);
|
|
|
result.put(key, addWeekdayToJSONArray(array));
|
|
|
}
|
|
@ -6484,6 +6470,7 @@ public class StatisticsEsService {
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 【全院明细】
|
|
|
* 科室、医生、问诊量、接诊量、未接诊量、接诊率、处方量、检查费、药品费、总收入
|
|
@ -6506,7 +6493,7 @@ public class StatisticsEsService {
|
|
|
qvo.setEndDate(DateUtil.getStringDateShort());
|
|
|
} else if (qvo.getFlag() == 3) {
|
|
|
//全年
|
|
|
qvo.setStartDate(DateUtil.getCurrentYearStartTime() );
|
|
|
qvo.setStartDate(DateUtil.getCurrentYearStartTime());
|
|
|
qvo.setEndDate(DateUtil.getCurrentYearEndTime());
|
|
|
}
|
|
|
//查科室
|
|
@ -6535,9 +6522,10 @@ public class StatisticsEsService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 导出
|
|
|
* 获取全部的科室和医生数据
|
|
|
*/
|
|
|
public List getAllDeptAndDoctorDetails(ScreenQvo qvo) throws Exception {
|
|
|
public void getAllDeptAndDoctorDetails(ScreenQvo qvo, OutputStream os) throws Exception {
|
|
|
if (qvo.getFlag() == 1) {
|
|
|
//本月
|
|
|
qvo.setStartDate(DateUtil.getFirstMonthDay());
|
|
@ -6567,7 +6555,51 @@ public class StatisticsEsService {
|
|
|
System.out.println(JSON.toJSONString(deptList));
|
|
|
System.out.println(JSON.toJSONString(linkedHashMap));
|
|
|
|
|
|
return null;
|
|
|
WritableWorkbook wwb = Workbook.createWorkbook(os);
|
|
|
try {
|
|
|
WritableSheet sheet = wwb.createSheet("sheet", 1);
|
|
|
String header[] = {"科室", "医生", "问诊量", " 接诊量", "接诊率", "处方量", "诊查费", "药品费", "总收入"};
|
|
|
int i = 0;
|
|
|
for (String h : header) {
|
|
|
addCellHospital(sheet, 0, i, h);
|
|
|
i++;
|
|
|
}
|
|
|
int j = 1;
|
|
|
|
|
|
for (Map<String, Object> map : deptList) {
|
|
|
addCellHospital(sheet, j, 0, String.valueOf(map.get("deptName")) + "全体");
|
|
|
addCellHospital(sheet, j, 1, String.valueOf(map.get("doctorName")));
|
|
|
addCellHospital(sheet, j, 2, String.valueOf(map.get("total")));
|
|
|
addCellHospital(sheet, j, 3, String.valueOf(map.get("haveReceiveCount")));//接诊量
|
|
|
addCellHospital(sheet, j, 4, String.valueOf(map.get("jzl")));//接诊率
|
|
|
addCellHospital(sheet, j, 5, String.valueOf(map.get("prescription_volume")));//处方量
|
|
|
addCellHospital(sheet, j, 6, String.valueOf(map.get("free_exam")));//诊查费
|
|
|
addCellHospital(sheet, j, 7, String.valueOf(map.get("free_prescription")));//药品费
|
|
|
addCellHospital(sheet, j, 8, String.valueOf(map.get("fee_total")));//药品费
|
|
|
j++;//换行
|
|
|
//填充医生数据
|
|
|
List<Map<String, Object>> doctorList = (List<Map<String, Object>>) linkedHashMap.get(map.get("deptCode"));//取出科室的数据
|
|
|
for (Map<String, Object> doctorMap : doctorList) {
|
|
|
addCellHospital(sheet, j, 0, String.valueOf(map.get("deptName")));//科室
|
|
|
addCellHospital(sheet, j, 1, String.valueOf(doctorMap.get("doctorName")));
|
|
|
addCellHospital(sheet, j, 2, String.valueOf(doctorMap.get("total")));
|
|
|
addCellHospital(sheet, j, 3, String.valueOf(doctorMap.get("haveReceiveCount")));//接诊量
|
|
|
addCellHospital(sheet, j, 4, String.valueOf(doctorMap.get("jzl")));//接诊率
|
|
|
addCellHospital(sheet, j, 5, String.valueOf(doctorMap.get("prescription_volume")));//处方量
|
|
|
addCellHospital(sheet, j, 6, String.valueOf(doctorMap.get("free_exam")));//诊查费
|
|
|
addCellHospital(sheet, j, 7, String.valueOf(doctorMap.get("free_prescription")));//药品费
|
|
|
addCellHospital(sheet, j, 8, String.valueOf(doctorMap.get("fee_total")));//药品费
|
|
|
j++;//换行
|
|
|
}
|
|
|
}
|
|
|
wwb.write();
|
|
|
wwb.close();
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
if (wwb != null) {
|
|
|
wwb.close();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
@ -6698,18 +6730,17 @@ public class StatisticsEsService {
|
|
|
}
|
|
|
|
|
|
// 查出所有医生的数据 赋值科室
|
|
|
String sql = " SELECT\t`id`,\t`name`,\tphoto,\tvisit_dept \"deptCode\",visit_dept_name \"deptName\" \n" +
|
|
|
String sql = "SELECT\n" +
|
|
|
" a.doctor_code \"doctorCode\",a.dept_code \"deptCode\",a.dept_name \"deptName\",b.photo\n" +
|
|
|
"FROM\n" +
|
|
|
"\tbase.base_doctor \n" +
|
|
|
"WHERE\n" +
|
|
|
"\t1 = 1 \n" +
|
|
|
"\tAND visit_dept IS NOT NULL \n";
|
|
|
" base.base_doctor_hospital a\n" +
|
|
|
" INNER JOIN base.base_doctor b ON a.doctor_code = b.id ";
|
|
|
List<Map<String, Object>> doctorList = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String, Object> map : sortedMaps) {
|
|
|
|
|
|
String code = String.valueOf(map.get("doctorCode"));
|
|
|
for (Map<String, Object> doctorMap : doctorList) {
|
|
|
if (code.equals(String.valueOf(doctorMap.get("id")))) {
|
|
|
if (code.equals(String.valueOf(doctorMap.get("doctorCode")))) {
|
|
|
map.put("deptCode", String.valueOf(doctorMap.get("deptCode")));
|
|
|
map.put("deptName", String.valueOf(doctorMap.get("deptName")));
|
|
|
map.put("photo", String.valueOf(doctorMap.get("photo")));
|
|
@ -6774,7 +6805,6 @@ public class StatisticsEsService {
|
|
|
String previousStartDate = previousStart.format(DateTimeFormatter.ISO_LOCAL_DATE);
|
|
|
String previousEndDate = previousEnd.format(DateTimeFormatter.ISO_LOCAL_DATE);
|
|
|
// 返回上一个周期的时间段
|
|
|
|
|
|
return new String[]{previousStartDate, previousEndDate};
|
|
|
}
|
|
|
|
|
@ -6799,6 +6829,19 @@ public class StatisticsEsService {
|
|
|
return new String[]{previousStartDate, previousEndDate};
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 循环list统计出数据
|
|
|
*/
|
|
|
public int countListTotal(List<SaveModel> list) {
|
|
|
int total = 0;
|
|
|
if (!list.isEmpty()) {
|
|
|
for (SaveModel model : list) {
|
|
|
total += model.getResult1().intValue();
|
|
|
}
|
|
|
}
|
|
|
return total;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 转换
|
|
|
*/
|
|
@ -6900,7 +6943,14 @@ public class StatisticsEsService {
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* excel 增加单元格
|
|
|
*/
|
|
|
private void addCellHospital(WritableSheet ws, int row, int column, String data) throws WriteException {
|
|
|
Label label = new Label(column, row, data);
|
|
|
ws.addCell(label);
|
|
|
}
|
|
|
|
|
|
|