Browse Source

拉代码

recovery
wang1007152140 5 years ago
parent
commit
4be501a096
  1. 4
      tall/src/main/resources/application.yml
  2. 38
      tcm/src/main/java/com/ccsens/tcm/api/ConferenceRecordsController.java
  3. 23
      tcm/src/main/java/com/ccsens/tcm/api/PatientController.java
  4. 42
      tcm/src/main/java/com/ccsens/tcm/bean/dto/ConRecDto.java
  5. 35
      tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java
  6. 37
      tcm/src/main/java/com/ccsens/tcm/bean/vo/ConRecVo.java
  7. 37
      tcm/src/main/java/com/ccsens/tcm/bean/vo/PatientVo.java
  8. 19
      tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java
  9. 8
      tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java
  10. 36
      tcm/src/main/java/com/ccsens/tcm/service/PatientService.java
  11. 84
      tcm/src/main/resources/mapper_dao/PatientDao.xml

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

@ -1,5 +1,5 @@
spring:
profiles:
active: test
include: util-test,common
active: dev
include: util-dev,common

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

@ -0,0 +1,38 @@
package com.ccsens.tcm.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.tcm.bean.dto.ConRecDto;
import com.ccsens.tcm.bean.vo.ConRecVo;
import com.ccsens.tcm.service.IPatientService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wang
*/
@Api(tags = "会议记录相关接口")
@RestController
@RequestMapping("/conferenceRecords")
@Slf4j
public class ConferenceRecordsController {
private IPatientService patientService;
// @MustLogin
@ApiOperation(value = "查询会议记录", notes = "w:根据会议记录查询条件查询会议记录")
@RequestMapping(value = "/selConRec", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<ConRecVo.SelConRecVo>> selConRec(@ApiParam @Validated @RequestBody QueryDto<ConRecDto.SelConRecDto> params) {
log.info("查询会议记录相关信息:{}",params);
PageInfo<ConRecVo.SelConRecVo> selConRecVoPageInfo= patientService.selConRec(params.getParam(),0L);
log.info("查询会议记录基本信息成功");
return JsonResponse.newInstance().ok(selConRecVoPageInfo);
}
}

23
tcm/src/main/java/com/ccsens/tcm/api/PatientController.java

@ -2,9 +2,11 @@ package com.ccsens.tcm.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.tcm.bean.dto.PatientDto;
import com.ccsens.tcm.bean.vo.PatientVo;
import com.ccsens.tcm.service.IPatientService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -15,15 +17,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author wang
*/
@Api(tags = "患者相关接口", description = "患者相关接口")
@Api(tags = "患者相关接口")
@RestController
@RequestMapping("/patient")
@Slf4j
public class PatientController {
// disease_time
private IPatientService patientService;
@ -45,5 +48,21 @@ public class PatientController {
log.info("添加患者病例信息成功");
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "通过搜索条件查询患者病例的信息", notes = "w:通过搜索条件查询患者病例的信息")
@RequestMapping(value = "/selPatientMesList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<PatientVo.SelPatient>> selPatientMesList(@ApiParam @Validated @RequestBody QueryDto<PatientDto.SelPatlenConditionList> params) {
log.info("添加患者病例信息:{}",params);
PageInfo<PatientVo.SelPatient> selPatientListPageInfo= patientService.selPatientMesList(params.getParam(),0L);
log.info("添加患者病例信息成功");
return JsonResponse.newInstance().ok(selPatientListPageInfo);
}
@ApiOperation(value = "通过查询搜索条件", notes = "w:通过查询搜索条件")
@RequestMapping(value = "/selSearchCriteriaList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<PatientVo.SelPatient>> selSearchCriteriaList() {
// List<PatientVo.SelPatient> selSearchCriteriaList= patientService.selSearchCriteriaList(params.getParam(),0L);
// log.info("通过查询搜索条件");
// return JsonResponse.newInstance().ok(selSearchCriteriaList);
return null;
}
}

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

@ -0,0 +1,42 @@
package com.ccsens.tcm.bean.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.util.Date;
/**
* @author wang
*/
@Data
public class ConRecDto {
@Data
@ApiModel("查询会议记录搜索条件")
public static class SelConRecDto {
@ApiModelProperty("会议id")
private Long id;
@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 discussionContent="";
@Min(1)
@ApiModelProperty("当前页")
private Integer pageNum=1;
@Min(1)
@Max(20)
@ApiModelProperty("每页数量")
private Integer pageSize=10;
}
}

35
tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java

@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import sun.awt.ConstrainableGraphics;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
@ -50,4 +52,37 @@ public class PatientDto {
@ApiModelProperty("诊断时间")
private Date timeSlot=new Date(System.currentTimeMillis());
}
@Data
@ApiModel("查询患者的搜索条件集合")
public static class SelPatlenConditionList{
@ApiModelProperty("搜索条件集合,不包含时间格式的条件")
private List<Condition> conditionList;
@ApiModelProperty("搜索条件集合,是包含时间格式的条件")
private List<ConditionDate> conditionListDate;
@Min(1)
@ApiModelProperty("当前页")
private Integer pageNum=1;
@Min(1)
@Max(20)
@ApiModelProperty("每页数量")
private Integer pageSize=10;
}
@Data
@ApiModel("查询患者的搜索条件详情")
public static class Condition{
@ApiModelProperty("题目id,该项必须填写")
private Long testQuestionsId;
@ApiModelProperty("搜索内容")
private String contents="";
}
@Data
@ApiModel("查询患者的搜索条件详情-传入的id不能空,其他参数一定要传入,且不能为空")
public static class ConditionDate{
@ApiModelProperty("题目id,该项必须填写")
private Long testQuestionsId;
@ApiModelProperty("开始时间,必须填")
private String startTime="";
@ApiModelProperty("结束时间,必须填")
private String endTime="";
}
}

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

@ -0,0 +1,37 @@
package com.ccsens.tcm.bean.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author wang
*/
@Data
public class ConRecVo {
@Data
@ApiModel("查询会议记录搜索条件")
public static class SelConRecVo {
@ApiModelProperty("会议记录id")
private Long id;
@ApiModelProperty("会议开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
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;
}
}

37
tcm/src/main/java/com/ccsens/tcm/bean/vo/PatientVo.java

@ -0,0 +1,37 @@
package com.ccsens.tcm.bean.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/**
* @author wang
*/
@Data
public class PatientVo {
@Data
@ApiModel("经过搜索条件查询的患者基本信息")
public static class SelPatient {
@ApiModelProperty("患者id")
private Long id;
@ApiModelProperty("住院号")
private String hospitalization;
@ApiModelProperty("对照组id")
private Integer inpatientId;
@ApiModelProperty("录入状态:0:新建 1:数据搜集中 2数据搜集完成 3数据搜集超时 4:废弃")
private Byte inputStatus;
@ApiModelProperty("医院id")
private Integer hospitalId;
}
@Data
@ApiModel("经过搜索条件查询的患者集合")
public static class SelPatientList{
@ApiModelProperty("患者相关信息")
private List<SelPatient> selPatients;
}
}

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

@ -0,0 +1,19 @@
package com.ccsens.tcm.persist.dao;
import com.ccsens.tcm.bean.dto.ConRecDto;
import com.ccsens.tcm.bean.dto.PatientDto;
import com.ccsens.tcm.bean.vo.ConRecVo;
import com.ccsens.tcm.bean.vo.PatientVo;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author wang
*/
@Repository
public interface PatientDao {
List<ConRecVo.SelConRecVo> selConRec(ConRecDto.SelConRecDto param);
List<PatientVo.SelPatient> selPatientMesList(PatientDto.SelPatlenConditionList param);
}

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

@ -1,6 +1,10 @@
package com.ccsens.tcm.service;
import com.ccsens.tcm.bean.dto.ConRecDto;
import com.ccsens.tcm.bean.dto.PatientDto;
import com.ccsens.tcm.bean.vo.ConRecVo;
import com.ccsens.tcm.bean.vo.PatientVo;
import com.github.pagehelper.PageInfo;
/**
* @author wang
@ -9,4 +13,8 @@ public interface IPatientService {
void savePatient(PatientDto.SavePatient param, Long userId);
void saveCaseMes(PatientDto.saveCaseMes param, Long userId);
PageInfo<ConRecVo.SelConRecVo> selConRec(ConRecDto.SelConRecDto param, Long userId);
PageInfo<PatientVo.SelPatient> selPatientMesList(PatientDto.SelPatlenConditionList param, long l);
}

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

@ -1,15 +1,21 @@
package com.ccsens.tcm.service;
import cn.hutool.core.lang.Snowflake;
import com.ccsens.tcm.bean.dto.ConRecDto;
import com.ccsens.tcm.bean.dto.PatientDto;
import com.ccsens.tcm.bean.po.PatientInformation;
import com.ccsens.tcm.bean.po.PatientRecord;
import com.ccsens.tcm.bean.po.PatientRecordExample;
import com.ccsens.tcm.bean.po.ReportCode;
import com.ccsens.tcm.bean.vo.ConRecVo;
import com.ccsens.tcm.bean.vo.PatientVo;
import com.ccsens.tcm.persist.dao.PatientDao;
import com.ccsens.tcm.persist.mapper.PatientInformationMapper;
import com.ccsens.tcm.persist.mapper.PatientRecordMapper;
import com.ccsens.tcm.persist.mapper.ReportCodeMapper;
import com.ccsens.util.RedisUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -36,7 +42,8 @@ public class PatientService implements IPatientService {
private ReportCodeMapper reportCodeMapper;
@Resource
private PatientRecordMapper patientRecordMapper;
@Resource
private PatientDao patientDao;
@Override
public void savePatient(PatientDto.SavePatient param, Long userId) {
@ -133,6 +140,33 @@ public class PatientService implements IPatientService {
}
}
@Override
public PageInfo<ConRecVo.SelConRecVo> selConRec(ConRecDto.SelConRecDto param, Long userId) {
if(param.getPlace()!=null){
param.setPlace(param.getPlace().trim());
}
if(param.getHost()!=null){
param.setHost(param.getHost().trim());
}
if(param.getHost()!=null){
param.setHost(param.getHost().trim());
}
if(param.getDiscussionContent()!=null){
param.setDiscussionContent(param.getDiscussionContent().trim());
}
PageHelper.startPage(param.getPageNum(),param.getPageNum());
List<ConRecVo.SelConRecVo> list= patientDao.selConRec(param);
return new PageInfo<>(list);
}
@Override
public PageInfo<PatientVo.SelPatient> selPatientMesList(PatientDto.SelPatlenConditionList param, long l) {
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<PatientVo.SelPatient> selPatientLists=patientDao.selPatientMesList(param);
return new PageInfo<>(selPatientLists);
}
/**
* 换算时间差 返回两个时间 之间差几天要是小于1天按照1的算要是大于1的话小于2的话说的是秒啊按照2的算,进一法啊
* @param bigDate 大时间

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

@ -0,0 +1,84 @@
<?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.tcm.persist.dao.PatientDao">
<select id="selConRec" resultType="com.ccsens.tcm.bean.vo.ConRecVo$SelConRecVo">
SELECT
tcr.id,
tcr.start_time AS startTime,
tcr.end_time AS endTime,
place,
`host`,
participants,
tcr.discussion_content AS discussionContent,
tcr.meeting_minutes AS meetingMinutes
FROM
t_conference_records tcr
WHERE
tcr.rec_status=0
<if test="id != null">
and id = #{param.id}
</if>
<if test="id == null">
<if test="startTime != null ">
and tcr.start_time &gt; #{param.startTime}
</if>
<if test="endTime != null ">
and tcr.end_time &lt; #{param.endTime}
</if>
<if test="place != null and place != ''">
and tcr.place like concat('%',#{place, jdbcType=VARCHAR},'%')
</if>
<if test="host != null and host != ''">
and tcr.host like concat('%',#{host, jdbcType=VARCHAR},'%')
</if>
<if test="discussionContent != null and discussionContent != ''">
and tcr.discussion_content like concat('%',#{discussionContent},'%')
</if>
</if>
</select>
<select id="selPatientMesList" resultType="com.ccsens.tcm.bean.vo.PatientVo$SelPatient">
SELECT
id,
hospitalization,
tpi.inpatient_id AS inpatientId,
tpi.input_status AS inputStatus,
tpi.hospital_id AS hospitalId
FROM
t_patient_information tpi
WHERE
tpi.rec_status = 0
AND tpi.id IN (
SELECT DISTINCT
( t.patient_id )
FROM
(
<trim suffixOverrides="INTERSECT">
<foreach collection="conditionList" item="item">
SELECT
tpr.patient_id
FROM
t_patient_record tpr
WHERE
tpr.rec_status = 0
AND tpr.test_questions_id = #{item.testQuestionsId}
AND tpr.contents LIKE concat('%',#{item.contents},'%')
INTERSECT
</foreach>
<foreach collection="conditionListDate" item="item1">
SELECT
tpr.patient_id
FROM
t_patient_record tpr
WHERE
tpr.rec_status = 0
AND tpr.test_questions_id = #{item1.testQuestionsId}
AND tpr.contents &gt; #{item1.startTime}
AND tpr.contents &lt; #{item1.endTime}
INTERSECT
</foreach>
</trim>
) t
)
</select>
</mapper>
Loading…
Cancel
Save