Browse Source

20210202统计每个医院的完成情况

recovery
zy_Java 5 years ago
parent
commit
53714f8dee
  1. 21
      tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java
  2. 18
      tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java
  3. 19
      tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java
  4. 6
      tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java
  5. 6
      tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java
  6. 9
      tcm/src/main/java/com/ccsens/tcm/service/PatientService.java
  7. 28
      tcm/src/main/resources/mapper_dao/PatientDao.xml

21
tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java

@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author wang
@ -52,4 +53,24 @@ public class StatisticalAnalysisController {
log.info("查找统计病例的完成情况");
return JsonResponse.newInstance().ok(statisticsComplete);
}
@MustLogin
@ApiOperation(value = "统计每个医院的完成情况", notes = "zy:")
@RequestMapping(value = "/hospital/complete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticVo.CompleteHospital> completeHospital(@ApiParam @Validated @RequestBody QueryDto params) {
log.info("统计每个医院的完成情况:{}",params);
List<StatisticVo.CompleteHospital> completeHospital = patientService.completeHospital();
log.info("查找每个医院的病例完成情况");
return JsonResponse.newInstance().ok(completeHospital);
}
// @MustLogin
// @ApiOperation(value = "统计医生的病例的完成情况", notes = "zy:")
// @RequestMapping(value = "/doctor/complete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<StatisticVo.CompleteHospital> completeDoctor(@ApiParam @Validated @RequestBody QueryDto<StatisticDto.Complete> params) {
// log.info("统计每个医院的完成情况:{}",params);
// List<StatisticVo.CompleteHospital> completeHospital = patientService.completeHospital();
// log.info("查找每个医院的病例完成情况");
// return JsonResponse.newInstance().ok(completeHospital);
// }
}

18
tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
@Data
@ -31,4 +32,21 @@ public class StatisticDto {
@ApiModelProperty("主治大夫id 为空则查询全部")
private Long userId;
}
@Data
@ApiModel("查看医院的的病例完成情况")
public static class CompleteHospital{
@ApiModelProperty("主治大夫id 为空则查询全部")
private Long userId;
}
@Data
@ApiModel("查看医院下的医生的病例完成情况")
public static class CompleteDoctor{
@NotNull(message = "医院id不能为空")
@ApiModelProperty("医院id")
private Long hospitalId;
@ApiModelProperty("主治大夫id 为空则查询全部")
private Long userId;
}
}

19
tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java

@ -43,4 +43,23 @@ public class StatisticVo {
@ApiModelProperty("废弃的")
private Integer discarded;
}
@Data
@ApiModel("医院的的病例完成情况")
public static class CompleteHospital{
@ApiModelProperty("医院id")
private Long hospitalId;
@ApiModelProperty("医院名")
private String hospitalName;
@ApiModelProperty("已完成")
private Integer completed;
@ApiModelProperty("未完成")
private Integer unfinished;
@ApiModelProperty("进行中")
private Integer underway;
@ApiModelProperty("数据采集超时")
private Integer overtime;
@ApiModelProperty("废弃的")
private Integer discarded;
}
}

6
tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java

@ -31,4 +31,10 @@ public interface PatientDao {
* @return 返回完成情况
*/
StatisticVo.StatisticsComplete statisticsComplete(@Param("hospitalId")Long hospitalId, @Param("userId")Long userId);
/**
* 查询各个医院的病例完成情况
* @return 返回完成情况按医院分组
*/
List<StatisticVo.CompleteHospital> completeHospital();
}

6
tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java

@ -35,4 +35,10 @@ public interface IPatientService {
* @return 返回完成的情况
*/
StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param);
/**
* 统计各个医院的病例完成情况
* @return 返回每个医院的名字和
*/
List<StatisticVo.CompleteHospital> completeHospital();
}

9
tcm/src/main/java/com/ccsens/tcm/service/PatientService.java

@ -235,4 +235,13 @@ public class PatientService implements IPatientService {
public StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param) {
return patientDao.statisticsComplete(param.getHospitalId(),param.getUserId());
}
/**
* 查看各个医院的病例完成情况
*/
@Override
public List<StatisticVo.CompleteHospital> completeHospital() {
return patientDao.completeHospital();
}
}

28
tcm/src/main/resources/mapper_dao/PatientDao.xml

@ -155,4 +155,32 @@
input_status
) t
</select>
<select id="completeHospital" resultType="com.ccsens.tcm.bean.vo.StatisticVo$CompleteHospital">
SELECT
t.hospital_id as hospitalId,
t.`name` as hospitalName,
MAX(CASE t.input_status WHEN 0 THEN nums ELSE 0 END ) unfinished,
MAX(CASE t.input_status WHEN 1 THEN nums ELSE 0 END ) underway,
MAX(CASE t.input_status WHEN 2 THEN nums ELSE 0 END ) completed,
MAX(CASE t.input_status WHEN 3 THEN nums ELSE 0 END ) overtime,
MAX(CASE t.input_status WHEN 4 THEN nums ELSE 0 END ) discarded
FROM(
SELECT
i.hospital_id,
h.`name`,
i.input_status,
count(*) as nums
FROM
t_patient_information i
LEFT JOIN t_hospital h on i.hospital_id = h.id
WHERE
i.rec_status = 0
and h.rec_status = 0
GROUP BY
hospital_id,
input_status
) t
GROUP BY
t.hospital_id
</select>
</mapper>
Loading…
Cancel
Save