Lihong@123456 5 years ago
parent
commit
088313f495
  1. 4
      mt/src/main/resources/application.yml
  2. 1
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ScreenController.java
  3. 20
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StatisticsController.java
  4. 15
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StatisticsDto.java
  5. 36
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StatisticsVo.java
  6. 18
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StatisticsDao.java
  7. 10
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStatisticsService.java
  8. 51
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StatisticsService.java
  9. 63
      wisdomcar/src/main/resources/mapper_dao/StatisticsDao.xml

4
mt/src/main/resources/application.yml

@ -1,6 +1,6 @@
spring:
profiles:
active: prod
include: common, util-prod
active: dev
include: common, util-dev

1
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ScreenController.java

@ -13,4 +13,5 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/screen")
public class ScreenController {
}

20
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StatisticsController.java

@ -2,6 +2,7 @@ package com.ccsens.wisdomcar.api;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.wisdomcar.bean.dto.RfidDto;
import com.ccsens.wisdomcar.bean.dto.StatisticsDto;
import com.ccsens.wisdomcar.bean.vo.StatisticsVo;
import com.ccsens.wisdomcar.service.IStatisticsService;
@ -36,4 +37,23 @@ public class StatisticsController {
log.info("查看测评结果");
return JsonResponse.newInstance().ok(fastEdResult);
}
@ApiOperation(value = "统计医院中小车得使用情况", notes = "")
@RequestMapping(value = "/get/result", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.UseNumVo> selResult(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.UseNum> params) {
log.info("查看测评结果:{}",params);
StatisticsVo.UseNumsVo selResult = statisticsService.selResult(params.getParam());
log.info("查看测评结果");
return JsonResponse.newInstance().ok(selResult);
}
@ApiOperation(value = "急救各个节点时间统计", notes = "")
@RequestMapping(value = "/getPointTime", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse getPointTime(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.Hospital> params) {
log.info("急救各个节点时间统计:{}",params);
StatisticsVo.PointTimeList pointTime = statisticsService.getPointTime(params.getParam());
log.info("急救各个节点时间统计");
return JsonResponse.newInstance().ok(pointTime);
}
}

15
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StatisticsDto.java

@ -4,11 +4,24 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author
* 1007
*/
@Data
public class StatisticsDto {
@Data
@ApiModel("查询小车本年和往年使用次数")
public static class UseNum{
@NotBlank
@ApiModelProperty("year,比如直接传入 2020 即可")
private String year;
@NotNull
@ApiModelProperty("医院id")
private Long hospitalId;
}
@Data
@ApiModel("医院id")

36
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StatisticsVo.java

@ -3,13 +3,33 @@ package com.ccsens.wisdomcar.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author
* 1007
*/
@Data
public class StatisticsVo {
@Data
@ApiModel("查询小车本年和往年使用次数")
public static class UseNumsVo {
@ApiModelProperty("本年单月")
private List<UseNumVo> sigleNow;
@ApiModelProperty("本年和")
private List<UseNumVo> sumNow;
@ApiModelProperty("去年单月")
private List<UseNumVo> sigleLast;
@ApiModelProperty("去年年和")
private List<UseNumVo> sumLast;
}
@Data
@ApiModel("一次查询出来得结果")
public static class UseNumVo {
@ApiModelProperty("年份")
private String name;
@ApiModelProperty("数量")
private Integer num;
}
@Data
@ApiModel("医院id")
@ -28,4 +48,16 @@ public class StatisticsVo {
@ApiModelProperty("节点耗时")
private Long time;
}
@Data
@ApiModel("各个结点时长集合")
public static class PointTimeList{
@ApiModelProperty("当前数据")
private List<PointTime> pointTimeCurrentList;
@ApiModelProperty("医院数据")
private List<PointTime> pointTimeHospital;
@ApiModelProperty("国际数据")
private List<PointTime> pointTimeInternation;
}
}

18
wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StatisticsDao.java

@ -0,0 +1,18 @@
package com.ccsens.wisdomcar.persist.dao;
import com.ccsens.wisdomcar.bean.dto.StatisticsDto;
import com.ccsens.wisdomcar.bean.vo.StatisticsVo;
import com.ccsens.wisdomcar.persist.mapper.FirstAidMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface StatisticsDao extends FirstAidMapper {
public List<StatisticsVo.UseNumVo> selResult(@Param("param")StatisticsDto.UseNum param);
List<StatisticsVo.PointTime> getPointTimeCurrent(@Param("id") Long id);
List<StatisticsVo.PointTime> getPointTimeHospital(@Param("id") Long id);
List<StatisticsVo.PointTime> getPointTimeInternation(@Param("id") Long id);
}

10
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStatisticsService.java

@ -14,7 +14,15 @@ public interface IStatisticsService {
StatisticsVo.FastEdResult getResult(StatisticsDto.Hospital param);
/**
<<<<<<< HEAD
* 急救时长分析各个节点
*/
List<StatisticsVo.PointTime> getPointTime(StatisticsDto.Hospital param);
StatisticsVo.PointTimeList getPointTime(StatisticsDto.Hospital param);
// /
// * 查询医院得小车使用情况
// * @param param
// * @return
// */
StatisticsVo.UseNumsVo selResult(StatisticsDto.UseNum param);
}

51
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StatisticsService.java

@ -2,25 +2,70 @@ package com.ccsens.wisdomcar.service;
import com.ccsens.wisdomcar.bean.dto.StatisticsDto;
import com.ccsens.wisdomcar.bean.vo.StatisticsVo;
import com.ccsens.wisdomcar.persist.dao.StatisticsDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.security.PrivateKey;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class StatisticsService implements IStatisticsService{
@Resource
private StatisticsDao statisticsDao;
@Override
public StatisticsVo.FastEdResult getResult(StatisticsDto.Hospital param) {
return null;
}
@Override
public List<StatisticsVo.PointTime> getPointTime(StatisticsDto.Hospital param) {
//
return null;
public StatisticsVo.UseNumsVo selResult(StatisticsDto.UseNum param) {
StatisticsVo.UseNumsVo useNumsVo=new StatisticsVo.UseNumsVo();
List<StatisticsVo.UseNumVo> useNumVoNow = statisticsDao.selResult(param);
List<StatisticsVo.UseNumVo> sumLast=new ArrayList<StatisticsVo.UseNumVo>();
useNumsVo.setSigleNow(useNumVoNow);
useNumsVo.setSumNow(useNumVoNow);
Integer yaer=Integer.valueOf(param.getYear());
yaer=yaer-1;
param.setYear(String.valueOf(yaer));
List<StatisticsVo.UseNumVo> useNumVosLast = statisticsDao.selResult(param);
useNumsVo.setSigleLast(useNumVosLast);
useNumsVo.setSumLast(useNumVosLast);
return useNumsVo;
}
@Override
public StatisticsVo.PointTimeList getPointTime(StatisticsDto.Hospital param) {
List<StatisticsVo.PointTime> pointTimeCurrent1 = new ArrayList<>();
//当前数据
List<StatisticsVo.PointTime> pointTimeCurrent = statisticsDao.getPointTimeCurrent(param.getId());
for (int i = 0; i <7; i++) {
pointTimeCurrent1.add(pointTimeCurrent.get(i));
}
//医院数据
List<StatisticsVo.PointTime> pointTimeHospital = statisticsDao.getPointTimeHospital(param.getId());
//国际数据
List<StatisticsVo.PointTime> pointTimeInternation = statisticsDao.getPointTimeInternation(param.getId());
StatisticsVo.PointTimeList pointTimeList = new StatisticsVo.PointTimeList();
pointTimeList.setPointTimeCurrentList(pointTimeCurrent1);
pointTimeList.setPointTimeHospital(pointTimeHospital);
pointTimeList.setPointTimeInternation(pointTimeInternation);
return pointTimeList;
}
}

63
wisdomcar/src/main/resources/mapper_dao/StatisticsDao.xml

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.wisdomcar.persist.dao.StatisticsDao">
<select id="selResult" resultType="com.ccsens.wisdomcar.bean.vo.StatisticsVo$UseNumVo" parameterType="com.ccsens.wisdomcar.bean.dto.StatisticsDto$UseNum">
select tsm.`name`,if(tfa.num is NULL,0,tfa.num) as num FROM
(SELECT
concat( #{param.year}, `name` ) AS `name`
FROM
t_statistics_month ) tsm
LEFT JOIN (
SELECT
tfa.da,
count( tfa.da ) AS num
FROM
(
SELECT
*,
FROM_UNIXTIME( begin_time / 1000, '%Y-%m' ) AS da
FROM
`t_first_aid`
WHERE
`t_first_aid`.rec_status = 0
AND `t_first_aid`.hospital_id =#{param.hospitalId}
AND FROM_UNIXTIME( begin_time / 1000, '%Y-%m' ) LIKE concat(#{param.year},'-%')
) tfa
GROUP BY
tfa.da
ORDER BY
tfa.da
) tfa on tsm.`name`=tfa.`da`
</select>
<select id="getPointTimeCurrent" parameterType="java.util.Map" resultType="com.ccsens.wisdomcar.bean.vo.StatisticsVo$PointTime">
select tfar.begin_time, tfar.type
from
t_first_aid_record tfar ,(select id from t_first_aid tfa where tfa.hospital_id=0 and tfa.rec_status=0 ORDER BY tfa.begin_time) t
where tfar.rec_status=0 and t.id = tfar.first_aid_id
</select>
<select id="getPointTimeHospital" parameterType="java.util.Map" resultType="com.ccsens.wisdomcar.bean.vo.StatisticsVo$PointTime">
select
ts.`name`,
MIN(tfas.duration)
from
t_first_aid_standard tfas left JOIN t_step ts on tfas.step_id = ts.id
where tfas.hospital_id=0 and tfas.type=1 and tfas.rec_status = 0 and ts.rec_status=0
GROUP BY tfas.step_id;
</select>
<select id="getPointTimeInternation" parameterType="java.util.Map" resultType="com.ccsens.wisdomcar.bean.vo.StatisticsVo$PointTime">
select
ts.`name`,
MIN(tfas.duration)
from
t_first_aid_standard tfas left JOIN t_step ts on tfas.step_id = ts.id
where tfas.hospital_id=0 and tfas.type=0 and tfas.rec_status = 0 and ts.rec_status=0
GROUP BY tfas.step_id;
</select>
</mapper>
Loading…
Cancel
Save