Browse Source

修改实时数据接口

ht_visual
zhangye 3 years ago
parent
commit
5b4703ee30
  1. 2
      ht/src/main/java/com/ccsens/ht/api/StatisticsController.java
  2. 3
      ht/src/main/java/com/ccsens/ht/service/IStatisticsService.java
  3. 42
      ht/src/main/java/com/ccsens/ht/service/StatisticsService.java

2
ht/src/main/java/com/ccsens/ht/api/StatisticsController.java

@ -54,7 +54,7 @@ public class StatisticsController {
@ApiImplicitParams({
})
@RequestMapping(value="/realtime", method = RequestMethod.POST)
public JsonResponse<StatisticsVo.Realtime> realtime(@RequestBody @ApiParam @Validated StatisticsDto.HospitalId hospitalId){
public JsonResponse<StatisticsVo.Realtime> realtime(@RequestBody @ApiParam @Validated StatisticsDto.HospitalId hospitalId) throws Exception {
log.info("测评人数实时统计:{}", hospitalId);
StatisticsVo.Realtime realtime = statisticsService.realtime(hospitalId.getId());
log.info("测评人数实时统计完成");

3
ht/src/main/java/com/ccsens/ht/service/IStatisticsService.java

@ -4,6 +4,7 @@ import com.ccsens.ht.bean.dto.StatisticsDto;
import com.ccsens.ht.bean.vo.PositionVo;
import com.ccsens.ht.bean.vo.StatisticsVo;
import java.text.ParseException;
import java.util.List;
/**
@ -29,7 +30,7 @@ public interface IStatisticsService {
* @param hospitalId 医院id
* @return 返回实时统计数据
*/
StatisticsVo.Realtime realtime(Long hospitalId);
StatisticsVo.Realtime realtime(Long hospitalId) throws Exception;
/**
* 查找性别年龄分布图

42
ht/src/main/java/com/ccsens/ht/service/StatisticsService.java

@ -15,6 +15,7 @@ import com.ccsens.ht.persist.dao.HtPositionDao;
import com.ccsens.ht.persist.dao.HtReportDao;
import com.ccsens.ht.persist.dao.StatisticsDao;
import com.ccsens.ht.uitl.Constant;
import com.ccsens.util.cron.CronConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -22,10 +23,9 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
@ -62,7 +62,7 @@ public class StatisticsService implements IStatisticsService {
}
@Override
public StatisticsVo.Realtime realtime(Long hospitalId) {
public StatisticsVo.Realtime realtime(Long hospitalId) throws Exception {
//获取当前月的开始结束时间
long beginOfMonth = DateUtil.beginOfMonth(new Date()).getTime();
long endOfMonth = DateUtil.endOfMonth(new Date()).getTime();
@ -73,9 +73,39 @@ public class StatisticsService implements IStatisticsService {
StatisticsVo.Realtime realtime = statisticsDao.getTotalNum(hospitalId,beginOfMonth,endOfMonth,beginOfDay,endOfDay);
//查找折线图里的数据
List<StatisticsVo.Chart> chartList = statisticsDao.getRealtimeNum(hospitalId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int a = 0;
int b = 1;
Calendar min = Calendar.getInstance();
Calendar max = Calendar.getInstance();
Calendar temp = null;
List<StatisticsVo.Chart> chartListNew = new ArrayList<>();
while (b < chartList.size()){
max.setTime(sdf.parse(chartList.get(b).getType()));
if(ObjectUtil.isNull(temp)){
min.setTime(sdf.parse(chartList.get(a).getType()));
chartListNew.add(chartList.get(a));
temp = min;
}
System.out.println(sdf.format(temp.getTime()));
temp.add(Calendar.DATE, 1);
System.out.println(sdf.format(temp.getTime()));
if(temp.before(max)){
StatisticsVo.Chart chart = new StatisticsVo.Chart();
chart.setType(sdf.format(min.getTime()));
chart.setNum(0);
chartListNew.add(chart);
}else {
a++;
b++;
temp = null;
}
}
chartListNew.add(chartList.get(chartList.size() - 1));
//返回
if(ObjectUtil.isNotNull(realtime)){
realtime.setChartList(chartList);
realtime.setChartList(chartListNew);
}
return realtime;
}

Loading…
Cancel
Save