Browse Source

20210203查询医生的病例完成情况

recovery
zy_Java 5 years ago
parent
commit
0736acd0da
  1. 19
      tcm/src/main/java/com/ccsens/tcm/api/ConferenceRecordsController.java
  2. 18
      tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java
  3. 21
      tcm/src/main/java/com/ccsens/tcm/bean/dto/ConRecDto.java
  4. 2
      tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java
  5. 19
      tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java
  6. 7
      tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java
  7. 15
      tcm/src/main/java/com/ccsens/tcm/service/ConferenceService.java
  8. 4
      tcm/src/main/java/com/ccsens/tcm/service/IConferenceService.java
  9. 7
      tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java
  10. 2
      tcm/src/main/java/com/ccsens/tcm/service/ImportService.java
  11. 9
      tcm/src/main/java/com/ccsens/tcm/service/PatientService.java
  12. 2
      tcm/src/main/java/com/ccsens/tcm/uitl/Constant.java
  13. 29
      tcm/src/main/resources/mapper_dao/PatientDao.xml

19
tcm/src/main/java/com/ccsens/tcm/api/ConferenceRecordsController.java

@ -2,7 +2,10 @@ package com.ccsens.tcm.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.tcm.bean.dto.ConRecDto;
import com.ccsens.tcm.bean.dto.StatisticDto;
import com.ccsens.tcm.bean.vo.ConRecVo;
import com.ccsens.tcm.bean.vo.StatisticVo;
import com.ccsens.tcm.service.IConferenceService;
import com.ccsens.tcm.service.IPatientService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
@ -18,6 +21,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
@ -29,6 +33,10 @@ import javax.annotation.Resource;
public class ConferenceRecordsController {
@Resource
private IPatientService patientService;
@Resource
private IConferenceService conferenceService;
@MustLogin
@ApiOperation(value = "查询会议记录", notes = "w:根据会议记录查询条件查询会议记录")
@RequestMapping(value = "/selConRec", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@ -38,4 +46,15 @@ public class ConferenceRecordsController {
log.info("查询会议记录基本信息成功");
return JsonResponse.newInstance().ok(selConRecVoPageInfo);
}
// @MustLogin
// @ApiOperation(value = "添加会议记录", notes = "zy:")
// @RequestMapping(value = "/save", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<ConRecVo.SelConRecVo> saveConference(@ApiParam @Validated @RequestBody QueryDto<ConRecDto.SaveConference> params) {
// log.info("统计每个医院的完成情况:{}",params);
// ConRecVo.SelConRecVo saveConference = patientService.saveConference(params.getParam());
// log.info("查找每个医院的病例完成情况");
// return JsonResponse.newInstance().ok(saveConference);
// }
}

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

@ -64,13 +64,13 @@ public class StatisticalAnalysisController {
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);
// }
@MustLogin
@ApiOperation(value = "统计医生的病例的完成情况", notes = "zy:")
@RequestMapping(value = "/doctor/complete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticVo.CompleteDoctor> completeDoctor(@ApiParam @Validated @RequestBody QueryDto<StatisticDto.CompleteDoctor> params) {
log.info("统计每个医院的完成情况:{}",params);
List<StatisticVo.CompleteDoctor> completeDoctors = patientService.completeDoctor(params.getParam());
log.info("查找每个医院的病例完成情况");
return JsonResponse.newInstance().ok(completeDoctors);
}
}

21
tcm/src/main/java/com/ccsens/tcm/bean/dto/ConRecDto.java

@ -39,4 +39,25 @@ public class ConRecDto {
@ApiModelProperty("每页数量")
private Integer pageSize=10;
}
@Data
@ApiModel("查询会议记录搜索条件")
public static class SaveConference {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("开始时间")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("结束时间")
private Date endTime;
@ApiModelProperty("会议地点")
private String place;
@ApiModelProperty("主持人")
private String host;
@ApiModelProperty("'参会人'")
private String participants;
@ApiModelProperty("内容")
private String discussionContent;
@ApiModelProperty("内容")
private String meetingMinutes;
}
}

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

@ -46,7 +46,5 @@ public class StatisticDto {
@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

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

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

@ -37,4 +37,11 @@ public interface PatientDao {
* @return 返回完成情况按医院分组
*/
List<StatisticVo.CompleteHospital> completeHospital();
/**
* 查看医院下的每个医生的完成情况
* @param hospitalId 医院id
* @return 返回完成情况按医生分组
*/
List<StatisticVo.CompleteDoctor> completeDoctor(@Param("hospitalId")Long hospitalId);
}

15
tcm/src/main/java/com/ccsens/tcm/service/ConferenceService.java

@ -0,0 +1,15 @@
package com.ccsens.tcm.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @author
*/
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ConferenceService implements IConferenceService{
}

4
tcm/src/main/java/com/ccsens/tcm/service/IConferenceService.java

@ -0,0 +1,4 @@
package com.ccsens.tcm.service;
public interface IConferenceService {
}

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

@ -41,4 +41,11 @@ public interface IPatientService {
* @return 返回每个医院的名字和
*/
List<StatisticVo.CompleteHospital> completeHospital();
/**
* 统计医院下的每个医生的完成情况
* @param param 医院id
* @return 返回每个医生的完成情况
*/
List<StatisticVo.CompleteDoctor> completeDoctor(StatisticDto.CompleteDoctor param);
}

2
tcm/src/main/java/com/ccsens/tcm/service/ImportService.java

@ -218,7 +218,7 @@ public class ImportService implements IImportService {
question.setSort(sort);
question.setType(objs.length>4 && StringUtil.checkNum(String.valueOf(objs[4]), false) ? Byte.parseByte(String.valueOf(objs[4])) : Constant.Question.QUESTION_SHOW_TYPE);
question.setUnits(objs.length>5 && StringUtils.isEmpty(objs[5]) ? Constant.STRING_DEFAULT : String.valueOf(objs[5]));
question.setSearchCriteria(objs.length>6 && StringUtil.checkNum(String.valueOf(objs[6]), false) ? Byte.parseByte(String.valueOf(objs[6])) : Constant.Question.QUESTION_SHOW_TYPE);
question.setSearchCriteria(objs.length>6 && StringUtil.checkNum(String.valueOf(objs[6]), false) ? Byte.parseByte(String.valueOf(objs[6])) : Constant.Question.SEARCH_CRITERIA);
question.setRemark(objs.length > 8 && !StringUtils.isEmpty(objs[8]) ? (String) objs[8] : Constant.STRING_DEFAULT);
question.setRelevanceOptionId(optionId == null ? 0 : optionId);

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

@ -241,7 +241,14 @@ public class PatientService implements IPatientService {
*/
@Override
public List<StatisticVo.CompleteHospital> completeHospital() {
return patientDao.completeHospital();
}
/**
* 查看医院下每个医生的完成情况
*/
@Override
public List<StatisticVo.CompleteDoctor> completeDoctor(StatisticDto.CompleteDoctor param) {
return patientDao.completeDoctor(param.getHospitalId());
}
}

2
tcm/src/main/java/com/ccsens/tcm/uitl/Constant.java

@ -45,6 +45,8 @@ public class Constant {
public final static String ALL = "all";
/**默认题目类型*/
public final static byte QUESTION_SHOW_TYPE = 1;
/**默认不是搜索类型*/
public final static byte SEARCH_CRITERIA =0;
/**默认选项类型*/
public final static byte RULE_TYPE_DEFAULT = 1;
/**测评分类*/

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

@ -183,4 +183,33 @@
GROUP BY
t.hospital_id
</select>
<select id="completeDoctor" resultType="com.ccsens.tcm.bean.vo.StatisticVo$CompleteDoctor">
SELECT
t.user_id as doctorId,
t.`name` as doctorName,
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.user_id,
d.`name`,
i.input_status,
count(*) as nums
FROM
t_patient_information i
LEFT JOIN t_doctor d on i.user_id = d.user_id
WHERE
i.rec_status = 0
and d.rec_status = 0
and i.hospital_id = #{hospitalId}
GROUP BY
i.user_id,
i.input_status
) t
GROUP BY
t.user_id
</select>
</mapper>
Loading…
Cancel
Save