|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.es.util.ElasticsearchUtil;
|
|
|
import com.yihu.jw.es.util.SaveModel;
|
|
|
import com.yihu.jw.evaluate.score.service.BaseEvaluateScoreService;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import jdk.management.resource.internal.inst.FileOutputStreamRMHooks;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@ -29,6 +30,8 @@ public class StatisticsEsService {
|
|
|
private ElasticsearchUtil elasticsearchUtil;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
|
private BaseEvaluateScoreService baseEvaluateScoreService;
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
/**
|
|
@ -45,13 +48,19 @@ public class StatisticsEsService {
|
|
|
public JSONObject getTotalAmount(String startDate, String endDate, String area, int level, String index, String level2_type) throws Exception {
|
|
|
//问诊量
|
|
|
SaveModel saveModel = null;
|
|
|
//开方量
|
|
|
SaveModel saveModel1 = null;
|
|
|
String[] indexes = index.split(",");
|
|
|
if (StringUtils.isNotEmpty(level2_type)) {
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, level2_type);
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, indexes[0], SaveModel.timeLevel_DDL, level2_type);
|
|
|
saveModel1 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, indexes[1], SaveModel.timeLevel_DDL, level2_type);
|
|
|
} else {
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL);
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, indexes[0], SaveModel.timeLevel_DDL);
|
|
|
saveModel1 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, indexes[1], SaveModel.timeLevel_DDL);
|
|
|
}
|
|
|
JSONObject object = new JSONObject();
|
|
|
object.put("outPatientCount",saveModel.getResult2().longValue());//问诊量
|
|
|
object.put("prescriptionCount",saveModel1.getResult2().longValue());//开方量
|
|
|
String startTime = DateUtil.getStringDateShort()+" 00:00:00";
|
|
|
String endTime = DateUtil.getStringDateShort() +" 23:59:59";
|
|
|
String sql = "select count(*) as total from base.wlyy_outpatient o where o.status=2 and o.create_time >='"+startTime+"' and o.create_time <='"+endTime+"'";
|
|
@ -67,7 +76,11 @@ public class StatisticsEsService {
|
|
|
if(rstotal!=null&&rstotal.size()>0){
|
|
|
count = (Long) rstotal.get(0).get("total");
|
|
|
}
|
|
|
object.put("TodayOutPatientCount",count);//今日问诊量
|
|
|
object.put("todayOutPatientCount",count);//今日问诊量
|
|
|
Map<String, Object> scoreAndPercentage = baseEvaluateScoreService.getScoreAndPercentage(area, level);
|
|
|
object.put("totalAvgScore",scoreAndPercentage.get("totalAvgScore"));//服务总评分
|
|
|
object.put("weekJudge",scoreAndPercentage.get("weekJudge"));//周同比
|
|
|
object.put("dayJudge",scoreAndPercentage.get("dayJudge"));//日环比
|
|
|
return object;
|
|
|
}
|
|
|
|