Browse Source

拉代码

recovery
wang1007152140 5 years ago
parent
commit
7a7bcfebf4
  1. 29
      tcm/src/main/java/com/ccsens/tcm/api/ConferenceRecordsController.java
  2. 2
      tcm/src/main/java/com/ccsens/tcm/api/ImportController.java
  3. 31
      tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java
  4. 21
      tcm/src/main/java/com/ccsens/tcm/bean/dto/ConRecDto.java
  5. 24
      tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java
  6. 7
      tcm/src/main/java/com/ccsens/tcm/bean/vo/ConRecVo.java
  7. 61
      tcm/src/main/java/com/ccsens/tcm/bean/vo/QuestionVo.java
  8. 53
      tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java
  9. 23
      tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java
  10. 57
      tcm/src/main/java/com/ccsens/tcm/service/ConferenceService.java
  11. 20
      tcm/src/main/java/com/ccsens/tcm/service/IConferenceService.java
  12. 19
      tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java
  13. 2
      tcm/src/main/java/com/ccsens/tcm/service/ImportService.java
  14. 25
      tcm/src/main/java/com/ccsens/tcm/service/PatientService.java
  15. 2
      tcm/src/main/java/com/ccsens/tcm/uitl/Constant.java
  16. 84
      tcm/src/main/resources/mapper_dao/PatientDao.xml

29
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.cloudutil.annotation.MustLogin;
import com.ccsens.tcm.bean.dto.ConRecDto; 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.ConRecVo;
import com.ccsens.tcm.bean.vo.StatisticVo;
import com.ccsens.tcm.service.IConferenceService;
import com.ccsens.tcm.service.IPatientService; import com.ccsens.tcm.service.IPatientService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto; 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 org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* @author wang * @author wang
@ -29,6 +33,10 @@ import javax.annotation.Resource;
public class ConferenceRecordsController { public class ConferenceRecordsController {
@Resource @Resource
private IPatientService patientService; private IPatientService patientService;
@Resource
private IConferenceService conferenceService;
@MustLogin @MustLogin
@ApiOperation(value = "查询会议记录", notes = "w:根据会议记录查询条件查询会议记录") @ApiOperation(value = "查询会议记录", notes = "w:根据会议记录查询条件查询会议记录")
@RequestMapping(value = "/selConRec", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/selConRec", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@ -38,4 +46,25 @@ public class ConferenceRecordsController {
log.info("查询会议记录基本信息成功"); log.info("查询会议记录基本信息成功");
return JsonResponse.newInstance().ok(selConRecVoPageInfo); 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 = conferenceService.saveConference(params.getParam());
log.info("查找每个医院的病例完成情况");
return JsonResponse.newInstance().ok(saveConference);
}
@MustLogin
@ApiOperation(value = "分享会议记录", notes = "zy:")
@RequestMapping(value = "/share", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ConRecVo.ShareConRecVo> shareConference(@ApiParam @Validated @RequestBody QueryDto params) throws Exception {
log.info("统计每个医院的完成情况:{}",params);
ConRecVo.ShareConRecVo shareConference = conferenceService.shareConference(params.getParam());
log.info("查找每个医院的病例完成情况");
return JsonResponse.newInstance().ok(shareConference);
}
} }

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 {

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

@ -32,6 +32,7 @@ import java.util.List;
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"})
@ -50,4 +51,34 @@ public class StatisticalAnalysisController {
log.info("病例分析调用完成"); log.info("病例分析调用完成");
return JsonResponse.newInstance().ok(selGroupNum); return JsonResponse.newInstance().ok(selGroupNum);
} }
@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);
}
@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.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("每页数量") @ApiModelProperty("每页数量")
private Integer pageSize=10; 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;
}
} }

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

@ -37,4 +37,28 @@ public class StatisticDto {
@ApiModelProperty("试题id") @ApiModelProperty("试题id")
private Long id; private Long id;
} }
@Data
@ApiModel("统计病例完成情况的查询条件")
public static class Complete{
@ApiModelProperty("医院id 为空则查询全部")
private Long hospitalId;
@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;
}
} }

7
tcm/src/main/java/com/ccsens/tcm/bean/vo/ConRecVo.java

@ -34,4 +34,11 @@ public class ConRecVo {
@ApiModelProperty("会议纪要") @ApiModelProperty("会议纪要")
private String meetingMinutes; private String meetingMinutes;
} }
@Data
@ApiModel("查询会议记录搜索条件")
public static class ShareConRecVo {
@ApiModelProperty("二维码路径")
private String path;
}
} }

61
tcm/src/main/java/com/ccsens/tcm/bean/vo/QuestionVo.java

@ -10,71 +10,74 @@ import java.util.List;
*/ */
public class QuestionVo { public class QuestionVo {
@Data @Data
@ApiModel("类型信息")
public static class ReportCodeVo { public static class ReportCodeVo {
//id @ApiModelProperty("id")
private Long id; private Long id;
//code @ApiModelProperty("code")
private String code; private String code;
//名称 @ApiModelProperty("名称")
private String name; private String name;
//上级code @ApiModelProperty("上级code")
private String parentCode; private String parentCode;
//是否为必做 @ApiModelProperty("是否为必做 0否 1是")
private Byte must; private Byte must;
//第几级code @ApiModelProperty("第几级code")
private Byte level; private Byte level;
//排序 @ApiModelProperty("排序")
private Integer sort; private Integer sort;
//备注 @ApiModelProperty("备注")
private String remark; private String remark;
//记录类型 @ApiModelProperty("记录类型")
private Byte reportType; private Byte reportType;
//子类型 @ApiModelProperty("子类型")
private List<ReportCodeVo> subReportCodes; private List<ReportCodeVo> subReportCodes;
//题目信息 @ApiModelProperty("题目信息")
private List<CodeQuestionVo> questionVos; private List<CodeQuestionVo> questionVos;
} }
@Data @Data
@ApiModel("题目")
public static class CodeQuestionVo { public static class CodeQuestionVo {
//id @ApiModelProperty("id")
private Long id; private Long id;
//题目名称 @ApiModelProperty("题目名称")
private String question; private String question;
//code @ApiModelProperty("code")
private String code; private String code;
//排序 @ApiModelProperty("排序")
private Integer sort; private Integer sort;
//单位例如 g/L @ApiModelProperty("单位例如 g/L")
private String units; private String units;
//类型 1单行文本,2多行文本,3单选,4多选,5下拉菜单,6日期,7图片(文件),8单选+其他 @ApiModelProperty("类型 1单行文本,2多行文本,3单选,4多选,5下拉菜单,6日期,7图片(文件),8单选+其他" +
// 9多选+其他,10下拉+其他,11多选+其他+说明,12单选+关联其他内容 13数字类型 " 9多选+其他,10下拉+其他,11多选+其他+说明,12单选+关联其他内容 13数字类型")
private Byte type; private Byte type;
//关联的选项id @ApiModelProperty("关联的选项id")
private Long relevanceOptionId; private Long relevanceOptionId;
//是否是搜索条件 @ApiModelProperty("是否是搜索条件")
private Byte searchCriteria; private Byte searchCriteria;
//备注 @ApiModelProperty("备注")
private String remark; private String remark;
//选项信息 @ApiModelProperty("选项信息")
private List<QuestionOptionVo> optionVos; private List<QuestionOptionVo> optionVos;
} }
@Data @Data
@ApiModel("选项")
public static class QuestionOptionVo { public static class QuestionOptionVo {
//id @ApiModelProperty("id")
private Long id; private Long id;
//题目id @ApiModelProperty("题目id")
private Long questionId; private Long questionId;
//排序 @ApiModelProperty("排序")
private Integer sort; private Integer sort;
//显示值 @ApiModelProperty("显示值")
private String showValue; private String showValue;
//提交值 @ApiModelProperty("提交值")
private String submitValue; private String submitValue;
//选择之后的操作 0无 1单行文本 2多行文本 3关联其他题目 @ApiModelProperty("选择之后的操作 0无 1单行文本 2多行文本 3关联其他题目")
private Byte afterOperation; private Byte afterOperation;
//选择之后关联的题目 @ApiModelProperty("选择之后关联的题目")
private List<CodeQuestionVo> questionVos; private List<CodeQuestionVo> questionVos;
} }

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

@ -32,4 +32,57 @@ public class StatisticVo {
@ApiModelProperty("数量") @ApiModelProperty("数量")
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;
}
@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;
}
@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;
}
} }

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

@ -24,6 +24,29 @@ public interface PatientDao {
Integer countCase(@Param("param") StatisticDto.SelCount param,@Param("inputStatus") byte inputStatus); Integer countCase(@Param("param") StatisticDto.SelCount param,@Param("inputStatus") byte inputStatus);
<<<<<<< HEAD
StatisticVo.SelGroupList countAnalysis(List<PatientDto.Condition> conditionList, List<PatientDto.ConditionDate> conditionListDate, Long aLong, Long id); StatisticVo.SelGroupList countAnalysis(List<PatientDto.Condition> conditionList, List<PatientDto.ConditionDate> conditionListDate, Long aLong, Long id);
=======
/**
* 统计病例完成情况
* @param hospitalId 医院id
* @param userId 主治医生id
* @return 返回完成情况
*/
StatisticVo.StatisticsComplete statisticsComplete(@Param("hospitalId")Long hospitalId, @Param("userId")Long userId);
/**
* 查询各个医院的病例完成情况
* @return 返回完成情况按医院分组
*/
List<StatisticVo.CompleteHospital> completeHospital();
/**
* 查看医院下的每个医生的完成情况
* @param hospitalId 医院id
* @return 返回完成情况按医生分组
*/
List<StatisticVo.CompleteDoctor> completeDoctor(@Param("hospitalId")Long hospitalId);
>>>>>>> 56dd44ed6563a7cf642ed1ee775eca6980ebe8ca
} }

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

@ -0,0 +1,57 @@
package com.ccsens.tcm.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Snowflake;
import com.ccsens.tcm.bean.dto.ConRecDto;
import com.ccsens.tcm.bean.po.ConferenceRecords;
import com.ccsens.tcm.bean.po.ConferenceRecordsExample;
import com.ccsens.tcm.bean.vo.ConRecVo;
import com.ccsens.tcm.config.BeanConfig;
import com.ccsens.tcm.persist.mapper.ConferenceRecordsMapper;
import com.ccsens.util.PropUtil;
import com.ccsens.util.QrCodeUtil;
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;
/**
* @author
*/
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ConferenceService implements IConferenceService{
@Resource
private Snowflake snowflake;
@Resource
private ConferenceRecordsMapper conferenceRecordsMapper;
@Override
public ConRecVo.SelConRecVo saveConference(ConRecDto.SaveConference param) {
//新建会议记录对象
ConferenceRecords conferenceRecords = new ConferenceRecords();
conferenceRecords.setId(snowflake.nextId());
BeanUtil.copyProperties(param,conferenceRecords);
//加入数据库
conferenceRecordsMapper.insertSelective(conferenceRecords);
//返回
ConRecVo.SelConRecVo selConRecVo = new ConRecVo.SelConRecVo();
BeanUtil.copyProperties(conferenceRecords,selConRecVo);
return selConRecVo;
}
@Override
public ConRecVo.ShareConRecVo shareConference(Object param) throws Exception {
//TODO 获取会议记录的地址
String conferencePath = "www.baidu.com";
//生成二维码
String fileName = QrCodeUtil.getQrCodeWithUtf8(conferencePath, PropUtil.path);
//返回
ConRecVo.ShareConRecVo shareConRecVo = new ConRecVo.ShareConRecVo();
shareConRecVo.setPath(PropUtil.imgDomain + fileName);
return shareConRecVo;
}
}

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

@ -0,0 +1,20 @@
package com.ccsens.tcm.service;
import com.ccsens.tcm.bean.dto.ConRecDto;
import com.ccsens.tcm.bean.vo.ConRecVo;
public interface IConferenceService {
/**
* 添加会议记录
* @param param 会议内容
* @return 返回会议内容
*/
ConRecVo.SelConRecVo saveConference(ConRecDto.SaveConference param);
/**
* 分享会议记录
* @param param
* @return 返回二维码路径
*/
ConRecVo.ShareConRecVo shareConference(Object param) throws Exception;
}

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

@ -30,4 +30,23 @@ public interface IPatientService {
StatisticVo.SelCountS countCase(StatisticDto.SelCount param, Long userId); StatisticVo.SelCountS countCase(StatisticDto.SelCount param, Long userId);
List<StatisticVo.SelGroupNum> countAnalysis(StatisticDto.SelBinLCount param, Long userId); List<StatisticVo.SelGroupNum> countAnalysis(StatisticDto.SelBinLCount param, Long userId);
/**
* 统计病例完成情况
* @param param 搜索的条件
* @return 返回完成的情况
*/
StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param);
/**
* 统计各个医院的病例完成情况
* @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.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.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.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.setRemark(objs.length > 8 && !StringUtils.isEmpty(objs[8]) ? (String) objs[8] : Constant.STRING_DEFAULT);
question.setRelevanceOptionId(optionId == null ? 0 : optionId); question.setRelevanceOptionId(optionId == null ? 0 : optionId);

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

@ -182,7 +182,7 @@ public class PatientService implements IPatientService {
public List<QuestionVo.ReportCodeVo> selSearchCriteriaList() { public List<QuestionVo.ReportCodeVo> selSearchCriteriaList() {
List<QuestionVo.ReportCodeVo> reportCodeVos=null; List<QuestionVo.ReportCodeVo> reportCodeVos=null;
List<Object> objects = redisUtil.lGet(Constant.Redis.CODE_QUESTION, 0, -1); List<Object> objects = redisUtil.lGet(Constant.Redis.CODE_QUESTION, 0, -1);
if (CollectionUtil.isEmpty(reportCodeVos)){ if (CollectionUtil.isEmpty(objects)){
throw new BaseException(CodeEnum.MESSAGEISNULL); throw new BaseException(CodeEnum.MESSAGEISNULL);
} }
reportCodeVos = (List<QuestionVo.ReportCodeVo>)objects.get(0); reportCodeVos = (List<QuestionVo.ReportCodeVo>)objects.get(0);
@ -245,4 +245,27 @@ public class PatientService implements IPatientService {
} }
/**
* 统计病例完成情况
*/
@Override
public StatisticVo.StatisticsComplete statisticsComplete(StatisticDto.Complete param) {
return patientDao.statisticsComplete(param.getHospitalId(),param.getUserId());
}
/**
* 查看各个医院的病例完成情况
*/
@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 String ALL = "all";
/**默认题目类型*/ /**默认题目类型*/
public final static byte QUESTION_SHOW_TYPE = 1; public final static byte QUESTION_SHOW_TYPE = 1;
/**默认不是搜索类型*/
public final static byte SEARCH_CRITERIA =0;
/**默认选项类型*/ /**默认选项类型*/
public final static byte RULE_TYPE_DEFAULT = 1; public final static byte RULE_TYPE_DEFAULT = 1;
/**测评分类*/ /**测评分类*/

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

@ -130,6 +130,7 @@
and tpi.update_at &lt; #{param.endDate} and tpi.update_at &lt; #{param.endDate}
</if> </if>
</select> </select>
<<<<<<< HEAD
<select id="countAnalysis" resultType="com.ccsens.tcm.bean.vo.StatisticVo$SelGroupList"> <select id="countAnalysis" resultType="com.ccsens.tcm.bean.vo.StatisticVo$SelGroupList">
select if(LOCATE('其他'),'其他',tpr.contents) as content,count(*) as nums from t_patient_information tpi left join t_patient_record tpr on tpi.id=tpr.patient_id and tpr.rec_status=0 select if(LOCATE('其他'),'其他',tpr.contents) as content,count(*) as nums from t_patient_information tpi left join t_patient_record tpr on tpi.id=tpr.patient_id and tpr.rec_status=0
where tpi.rec_status=0 where tpi.rec_status=0
@ -180,5 +181,88 @@
<if test="id!=null and id!=0"> <if test="id!=null and id!=0">
group by content group by content
</if> </if>
=======
<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>
<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>
<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
>>>>>>> 56dd44ed6563a7cf642ed1ee775eca6980ebe8ca
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save