Browse Source

20210202统计病例完成情况

recovery
zy_Java 5 years ago
parent
commit
2641dbf97d
  1. 2
      tcm/src/main/java/com/ccsens/tcm/api/ImportController.java
  2. 11
      tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java
  3. 11
      tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java
  4. 15
      tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java
  5. 8
      tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java
  6. 7
      tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java
  7. 7
      tcm/src/main/java/com/ccsens/tcm/service/PatientService.java
  8. 25
      tcm/src/main/resources/mapper_dao/PatientDao.xml

2
tcm/src/main/java/com/ccsens/tcm/api/ImportController.java

@ -17,7 +17,7 @@ import java.io.File;
* @author * @author
*/ */
@Slf4j @Slf4j
@Api(tags = "试题相关接口") @Api(tags = "导入试题相关接口")
@RestController @RestController
@RequestMapping("/import") @RequestMapping("/import")
public class ImportController { public class ImportController {

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

@ -31,6 +31,7 @@ import javax.annotation.Resource;
public class StatisticalAnalysisController { public class StatisticalAnalysisController {
@Resource @Resource
private IPatientService patientService; private IPatientService patientService;
@MustLogin @MustLogin
@ApiOperation(value = "每日病例统计", notes = "w:每日病例统计") @ApiOperation(value = "每日病例统计", notes = "w:每日病例统计")
@RequestMapping(value = "/countCase", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/countCase", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@ -41,4 +42,14 @@ public class StatisticalAnalysisController {
return JsonResponse.newInstance().ok(countCase); return JsonResponse.newInstance().ok(countCase);
} }
@MustLogin
@ApiOperation(value = "统计病例的完成情况", notes = "zy:")
@RequestMapping(value = "/complete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticVo.StatisticsComplete> statisticsComplete(@ApiParam @Validated @RequestBody QueryDto<StatisticDto.Complete> params) {
log.info("统计病例的完成情况:{}",params);
StatisticVo.StatisticsComplete statisticsComplete = patientService.statisticsComplete(params.getParam());
log.info("查找统计病例的完成情况");
return JsonResponse.newInstance().ok(statisticsComplete);
}
} }

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

@ -1,10 +1,10 @@
package com.ccsens.tcm.bean.dto; package com.ccsens.tcm.bean.dto;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
@Data @Data
@ -22,4 +22,13 @@ public class StatisticDto {
@ApiModelProperty("结束时间") @ApiModelProperty("结束时间")
private Date endDate; private Date endDate;
} }
@Data
@ApiModel("统计病例完成情况的查询条件")
public static class Complete{
@ApiModelProperty("医院id 为空则查询全部")
private Long hospitalId;
@ApiModelProperty("主治大夫id 为空则查询全部")
private Long userId;
}
} }

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

@ -28,4 +28,19 @@ public class StatisticVo {
private String contents; private String contents;
private Integer nums; private Integer nums;
} }
@Data
@ApiModel("统计病例的完成情况")
public static class StatisticsComplete{
@ApiModelProperty("已完成")
private Integer completed;
@ApiModelProperty("未完成")
private Integer unfinished;
@ApiModelProperty("进行中")
private Integer underway;
@ApiModelProperty("数据采集超时")
private Integer overtime;
@ApiModelProperty("废弃的")
private Integer discarded;
}
} }

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

@ -23,4 +23,12 @@ public interface PatientDao {
List<PatientVo.SelPatient> selPatientInformationList(PatientDto.SelPatientList param); List<PatientVo.SelPatient> selPatientInformationList(PatientDto.SelPatientList param);
Integer countCase(@Param("param") StatisticDto.SelCount param,@Param("inputStatus") byte inputStatus); Integer countCase(@Param("param") StatisticDto.SelCount param,@Param("inputStatus") byte inputStatus);
/**
* 统计病例完成情况
* @param hospitalId 医院id
* @param userId 主治医生id
* @return 返回完成情况
*/
StatisticVo.StatisticsComplete statisticsComplete(@Param("hospitalId")Long hospitalId, @Param("userId")Long userId);
} }

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

@ -28,4 +28,11 @@ public interface IPatientService {
PageInfo<PatientVo.SelPatient> selPatientInformationList(PatientDto.SelPatientList param, Long userId); PageInfo<PatientVo.SelPatient> selPatientInformationList(PatientDto.SelPatientList param, Long userId);
StatisticVo.SelCountS countCase(StatisticDto.SelCount param, Long userId); StatisticVo.SelCountS countCase(StatisticDto.SelCount param, Long userId);
/**
* 统计病例完成情况
* @param param 搜索的条件
* @return 返回完成的情况
*/
StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param);
} }

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

@ -228,4 +228,11 @@ public class PatientService implements IPatientService {
} }
/**
* 统计病例完成情况
*/
@Override
public StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param) {
return patientDao.statisticsComplete(param.getHospitalId(),param.getUserId());
}
} }

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

@ -130,4 +130,29 @@
and tpi.update_at &lt; #{param.endDate} and tpi.update_at &lt; #{param.endDate}
</if> </if>
</select> </select>
<select id="statisticsComplete" resultType="com.ccsens.tcm.bean.vo.StatisticVo$StatisticsComplete">
SELECT
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
input_status,
count(*) as nums
FROM
t_patient_information
WHERE
rec_status = 0
<if test="hospitalId != null and hospitalId != 0">
and hospital_id = #{hospitalId}
</if>
<if test="userId != null and userId != 0">
and user_id = #{userId}
</if>
GROUP BY
input_status
) t
</select>
</mapper> </mapper>
Loading…
Cancel
Save