diff --git a/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java b/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java new file mode 100644 index 00000000..d5ff581d --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java @@ -0,0 +1,53 @@ +package com.ccsens.tcm.api; + +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.tcm.bean.dto.BiologicalSamplesDto; +import com.ccsens.tcm.bean.dto.StatisticDto; +import com.ccsens.tcm.bean.vo.BiologicalSamplesVo; +import com.ccsens.tcm.bean.vo.StatisticVo; +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; + +import javax.annotation.Resource; + +/** + * @author wang + */ +@Api(tags = "生物样本相关接口") +@RestController +@RequestMapping("/biologicalSamples") +@Slf4j +public class BiologicalSamplesController { + @Resource + private IPatientService patientService; + + @MustLogin + @ApiOperation(value = "添加生物样本", notes = "w:添加生物样本") + @RequestMapping(value = "/addBiologicalSamples", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse addBiologicalSamples(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("添加生物样本:{}",params); + patientService.addBiologicalSamples(params.getParam(),params.getUserId()); + log.info("添加生物样本完成"); + return JsonResponse.newInstance().ok(); + } + @MustLogin + @ApiOperation(value = "搜索生物样本", notes = "w:搜索生物样本") + @RequestMapping(value = "/selBiologicalSamples", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> selBiologicalSamples(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询生物样本参数:{}",params); + PageInfo selBiologPageInfo= patientService.selBiologicalSamples(params.getParam(),params.getUserId()); + log.info("查询生物样本完成"); + return JsonResponse.newInstance().ok(selBiologPageInfo); + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/api/HospatilController.java b/tcm/src/main/java/com/ccsens/tcm/api/HospatilController.java new file mode 100644 index 00000000..ab87fd99 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/api/HospatilController.java @@ -0,0 +1,41 @@ +package com.ccsens.tcm.api; + +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.tcm.bean.dto.BiologicalSamplesDto; +import com.ccsens.tcm.bean.vo.HospatilVo; +import com.ccsens.tcm.service.IPatientService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +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; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author wang + */ +@Api(tags = "医院相关接口") +@RestController +@RequestMapping("/hospatil") +@Slf4j +public class HospatilController { + @Resource + private IPatientService patientService; + @MustLogin + @ApiOperation(value = "查询医院列表", notes = "w:医院列表查询") + @RequestMapping(value = "/selHospatil", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> selHospatil() { + //log.info("添加生物样本:{}",params); + List selHospatilVos= patientService.selHospatil(); + log.info("查询医院列表完成"); + return JsonResponse.newInstance().ok(selHospatilVos); + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java new file mode 100644 index 00000000..fcec9c54 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java @@ -0,0 +1,46 @@ +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 javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +public class BiologicalSamplesDto { + @Data + @ApiModel("添加生物样本-1007") + public static class AddBiolog { + @ApiModelProperty("王-样本类型 0:抗血凝10ml 1:促凝血5ml 2:晨尿10ml 3:24小时尿10ml") + private Byte sampleType; + @NotBlank + @ApiModelProperty("住院号") + private String hospitalization; + @ApiModelProperty("采集时间") + private Integer collectTime; + } + @Data + @ApiModel("查询生物样本-1007") + public static class SelBiolog { + @ApiModelProperty("医院id") + private Long hospitalId; + @ApiModelProperty("样本类型 0:抗血凝10ml 1:促凝血5ml 2:晨尿10ml 3:24小时尿10ml") + private Byte sampleType; + @ApiModelProperty("患者住院号") + private String hospitalization; + @ApiModelProperty("采集时间") + private Integer collectTime; + @Min(1) + @ApiModelProperty("当前页") + private Integer pageNum=1; + @Min(1) + @Max(20) + @ApiModelProperty("每页数量") + private Integer pageSize=10; + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/HospatilDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/HospatilDto.java new file mode 100644 index 00000000..c6bf9884 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/HospatilDto.java @@ -0,0 +1,12 @@ +package com.ccsens.tcm.bean.dto; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wang + */ +@Data +public class HospatilDto { + +} diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/po/Hospital.java b/tcm/src/main/java/com/ccsens/tcm/bean/po/Hospital.java new file mode 100644 index 00000000..ba79e0b7 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/po/Hospital.java @@ -0,0 +1,84 @@ +package com.ccsens.tcm.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class Hospital implements Serializable { + private Long id; + + private String name; + + private Long operator; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public Long getOperator() { + return operator; + } + + public void setOperator(Long operator) { + this.operator = operator; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", name=").append(name); + sb.append(", operator=").append(operator); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/po/HospitalExample.java b/tcm/src/main/java/com/ccsens/tcm/bean/po/HospitalExample.java new file mode 100644 index 00000000..d8dfb7f8 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/po/HospitalExample.java @@ -0,0 +1,571 @@ +package com.ccsens.tcm.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class HospitalExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public HospitalExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andOperatorIsNull() { + addCriterion("operator is null"); + return (Criteria) this; + } + + public Criteria andOperatorIsNotNull() { + addCriterion("operator is not null"); + return (Criteria) this; + } + + public Criteria andOperatorEqualTo(Long value) { + addCriterion("operator =", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotEqualTo(Long value) { + addCriterion("operator <>", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorGreaterThan(Long value) { + addCriterion("operator >", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorGreaterThanOrEqualTo(Long value) { + addCriterion("operator >=", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorLessThan(Long value) { + addCriterion("operator <", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorLessThanOrEqualTo(Long value) { + addCriterion("operator <=", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorIn(List values) { + addCriterion("operator in", values, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotIn(List values) { + addCriterion("operator not in", values, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorBetween(Long value1, Long value2) { + addCriterion("operator between", value1, value2, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotBetween(Long value1, Long value2) { + addCriterion("operator not between", value1, value2, "operator"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java new file mode 100644 index 00000000..6796e4d0 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java @@ -0,0 +1,21 @@ +package com.ccsens.tcm.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BiologicalSamplesVo { + @Data + @ApiModel("添加生物样本") + public static class selBiolog { + @ApiModelProperty("医院名称") + private String name; + @ApiModelProperty("患者住院号") + private String hospitalization; + @ApiModelProperty("样本类型 0:抗血凝10ml 1:促凝血5ml 2:晨尿10ml 3:24小时尿10ml") + private Byte sampleType; + @ApiModelProperty("采集时间") + private Integer collectTime; + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/HospatilVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/HospatilVo.java new file mode 100644 index 00000000..c266b3db --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/HospatilVo.java @@ -0,0 +1,17 @@ +package com.ccsens.tcm.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class HospatilVo { + @Data + @ApiModel("查询医院列表") + public static class SelHospatilVo { + @ApiModelProperty("医院id") + private Long id; + @ApiModelProperty("医院名称") + private String name; + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java index 8e121b69..f004bce2 100644 --- a/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java +++ b/tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java @@ -1,8 +1,10 @@ package com.ccsens.tcm.persist.dao; +import com.ccsens.tcm.bean.dto.BiologicalSamplesDto; import com.ccsens.tcm.bean.dto.ConRecDto; import com.ccsens.tcm.bean.dto.PatientDto; import com.ccsens.tcm.bean.dto.StatisticDto; +import com.ccsens.tcm.bean.vo.BiologicalSamplesVo; import com.ccsens.tcm.bean.vo.ConRecVo; import com.ccsens.tcm.bean.vo.PatientVo; import com.ccsens.tcm.bean.vo.StatisticVo; @@ -56,4 +58,6 @@ public interface PatientDao { * @return 返回完成情况按医生分组 */ List completeDoctor(@Param("hospitalId")Long hospitalId); + + List selBiologicalSamples(BiologicalSamplesDto.SelBiolog param); } diff --git a/tcm/src/main/java/com/ccsens/tcm/persist/mapper/HospitalMapper.java b/tcm/src/main/java/com/ccsens/tcm/persist/mapper/HospitalMapper.java new file mode 100644 index 00000000..c75af117 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/persist/mapper/HospitalMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.tcm.persist.mapper; + +import com.ccsens.tcm.bean.po.Hospital; +import com.ccsens.tcm.bean.po.HospitalExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface HospitalMapper { + long countByExample(HospitalExample example); + + int deleteByExample(HospitalExample example); + + int deleteByPrimaryKey(Long id); + + int insert(Hospital record); + + int insertSelective(Hospital record); + + List selectByExample(HospitalExample example); + + Hospital selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") Hospital record, @Param("example") HospitalExample example); + + int updateByExample(@Param("record") Hospital record, @Param("example") HospitalExample example); + + int updateByPrimaryKeySelective(Hospital record); + + int updateByPrimaryKey(Hospital record); +} \ No newline at end of file diff --git a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java index 04ab68ee..4072f91f 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java @@ -1,12 +1,10 @@ package com.ccsens.tcm.service; +import com.ccsens.tcm.bean.dto.BiologicalSamplesDto; import com.ccsens.tcm.bean.dto.ConRecDto; import com.ccsens.tcm.bean.dto.PatientDto; import com.ccsens.tcm.bean.dto.StatisticDto; -import com.ccsens.tcm.bean.vo.ConRecVo; -import com.ccsens.tcm.bean.vo.PatientVo; -import com.ccsens.tcm.bean.vo.QuestionVo; -import com.ccsens.tcm.bean.vo.StatisticVo; +import com.ccsens.tcm.bean.vo.*; import com.github.pagehelper.PageInfo; import java.util.List; @@ -49,4 +47,10 @@ public interface IPatientService { * @return 返回每个医生的完成情况 */ List completeDoctor(StatisticDto.CompleteDoctor param); + + void addBiologicalSamples(BiologicalSamplesDto.AddBiolog param, Long userId); + + PageInfo selBiologicalSamples(BiologicalSamplesDto.SelBiolog param, Long userId); + + List selHospatil(); } diff --git a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java index c9c7586c..74ff8c22 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -2,19 +2,14 @@ package com.ccsens.tcm.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; +import com.ccsens.tcm.bean.dto.BiologicalSamplesDto; import com.ccsens.tcm.bean.dto.ConRecDto; import com.ccsens.tcm.bean.dto.PatientDto; import com.ccsens.tcm.bean.dto.StatisticDto; import com.ccsens.tcm.bean.po.*; -import com.ccsens.tcm.bean.vo.ConRecVo; -import com.ccsens.tcm.bean.vo.PatientVo; -import com.ccsens.tcm.bean.vo.QuestionVo; -import com.ccsens.tcm.bean.vo.StatisticVo; +import com.ccsens.tcm.bean.vo.*; import com.ccsens.tcm.persist.dao.PatientDao; -import com.ccsens.tcm.persist.mapper.InpatientMapper; -import com.ccsens.tcm.persist.mapper.PatientInformationMapper; -import com.ccsens.tcm.persist.mapper.PatientRecordMapper; -import com.ccsens.tcm.persist.mapper.ReportCodeMapper; +import com.ccsens.tcm.persist.mapper.*; import com.ccsens.tcm.uitl.Constant; import com.ccsens.util.CodeEnum; import com.ccsens.util.RedisUtil; @@ -23,6 +18,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -52,7 +48,27 @@ public class PatientService implements IPatientService { @Resource private PatientDao patientDao; @Resource + private BiologicalSamplesMapper biologicalSamplesMapper; + @Resource private InpatientMapper inpatientMapper; + @Resource + private HospitalMapper hospitalMapper; + @Value("${day.one}") + public int one; + @Value("${day.two}") + public int two; + @Value("${day.oneFront}") + public int oneFront; + @Value("${day.oneAfter}") + public int oneAfter; + @Value("${day.twoAfter}") + public int twoAfter; + @Value("${day.three}") + public int three; + @Value("${day.threeFront}") + public int threeFront; + @Value("${day.threeAfter}") + public int threeAfter; @Override public void savePatient(PatientDto.SavePatient param, Long userId) { @@ -70,7 +86,7 @@ public class PatientService implements IPatientService { Long disease_time=Long.parseLong(String.valueOf(redisUtil.get(Constant.Redis.DISEASE_TIME))); //升序查询,发病试题答案的数量 PatientRecordExample patientRecordExample1=new PatientRecordExample(); - patientRecordExample1.setOrderByClause("rec_status"); + patientRecordExample1.setOrderByClause("created_at"); patientRecordExample1.createCriteria().andPatientIdEqualTo(param.getPatientId()).andTestQuestionsIdEqualTo(disease_time).andRecStatusEqualTo((byte)0); List patientRecordList = patientRecordMapper.selectByExample(patientRecordExample1); Date onsetTime=null; @@ -92,14 +108,6 @@ public class PatientService implements IPatientService { //试题只需要记录3次的 9 和30 算分界限 <9 =0 ;<30 =14 ; >30 =90 记录2次的 270 算分界线 <270 算180 ,>270 算365 - int one=9; - int two=30; - int oneFront=0; - int oneAfter=14; - int twoAfter=90; - int three=270; - int threeFront=180; - int threeAfter=365; //是否需要去修改基本信息表中的录入状态 Boolean update=false; //先查看这个患者的需要的记录次数,在下面的这个对照组对象中呢 @@ -292,4 +300,43 @@ public class PatientService implements IPatientService { public List completeDoctor(StatisticDto.CompleteDoctor param) { return patientDao.completeDoctor(param.getHospitalId()); } + + @Override + public void addBiologicalSamples(BiologicalSamplesDto.AddBiolog param, Long userId) { + + PatientInformationExample patientInformationExample=new PatientInformationExample(); + patientInformationExample.createCriteria().andHospitalizationEqualTo(param.getHospitalization()).andRecStatusEqualTo((byte)0); + List patientInformations = patientInformationMapper.selectByExample(patientInformationExample); + if(patientInformations.size()!=1){ + throw new BaseException(CodeEnum.QUANTITYERROR); + } + BiologicalSamples biologicalSamples=new BiologicalSamples(); + biologicalSamples.setUserId(userId); + biologicalSamples.setId(snowflake.nextId()); + biologicalSamples.setPatientInformationId(patientInformations.get(0).getId()); + BeanUtils.copyProperties(param,biologicalSamples); + biologicalSamplesMapper.insertSelective(biologicalSamples); + } + + @Override + public PageInfo selBiologicalSamples(BiologicalSamplesDto.SelBiolog param, Long userId) { + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + List selBiologs= patientDao.selBiologicalSamples(param); + return new PageInfo<>(selBiologs); + } + + @Override + public List selHospatil() { + List selHospatilVos=new ArrayList(); + HospitalExample hospitalExample=new HospitalExample(); + hospitalExample.createCriteria().andRecStatusEqualTo((byte)0); + List hospitals = hospitalMapper.selectByExample(hospitalExample); + hospitals.forEach(hospital -> { + HospatilVo.SelHospatilVo selHospatilVo=new HospatilVo.SelHospatilVo(); + selHospatilVo.setId(hospital.getId()); + selHospatilVo.setName(hospital.getName()); + selHospatilVos.add(selHospatilVo); + }); + return selHospatilVos; + } } diff --git a/tcm/src/main/resources/application-dev.yml b/tcm/src/main/resources/application-dev.yml index 06f2e23e..dd22ee3d 100644 --- a/tcm/src/main/resources/application-dev.yml +++ b/tcm/src/main/resources/application-dev.yml @@ -34,4 +34,13 @@ file: imgDomain: https://test.tall.wiki/gateway/tcm/uploads/ #gameMqName: game_status_wisdom logging: - path: \ No newline at end of file + path: +day: + one: 9 + two: 30 + oneFront: 0 + oneAfter: 14 + twoAfter: 90 + three: 270 + threeFront: 180 + threeAfter: 365 \ No newline at end of file diff --git a/tcm/src/main/resources/application-prod.yml b/tcm/src/main/resources/application-prod.yml index 46906293..8029e69d 100644 --- a/tcm/src/main/resources/application-prod.yml +++ b/tcm/src/main/resources/application-prod.yml @@ -37,4 +37,13 @@ file: path: /home/cloud/tcm/uploads/ signUpUrl: https://www.tall.wiki/compete/ domain: https://www.tall.wiki/gateway/tcm/ - imgDomain: https://www.tall.wiki/gateway/tcm/uploads/ \ No newline at end of file + imgDomain: https://www.tall.wiki/gateway/tcm/uploads/ +day: + one: 9 + two: 30 + oneFront: 0 + oneAfter: 14 + twoAfter: 90 + three: 270 + threeFront: 180 + threeAfter: 365 \ No newline at end of file diff --git a/tcm/src/main/resources/application-test.yml b/tcm/src/main/resources/application-test.yml index 075e57cb..92d2cc05 100644 --- a/tcm/src/main/resources/application-test.yml +++ b/tcm/src/main/resources/application-test.yml @@ -33,3 +33,12 @@ file: path: /home/cloud/tcm/uploads/ domain: https://test.tall.wiki/gateway/tcm/ imgDomain: https://test.tall.wiki/gateway/tcm/uploads/ +day: + one: 9 + two: 30 + oneFront: 0 + oneAfter: 14 + twoAfter: 90 + three: 270 + threeFront: 180 + threeAfter: 365 diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index 4e77508d..64ade68f 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -157,7 +157,7 @@ + \ No newline at end of file diff --git a/tcm/src/main/resources/mapper_raw/HospitalMapper.xml b/tcm/src/main/resources/mapper_raw/HospitalMapper.xml new file mode 100644 index 00000000..d375b131 --- /dev/null +++ b/tcm/src/main/resources/mapper_raw/HospitalMapper.xml @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, name, operator, created_at, updated_at, rec_status + + + + + delete from t_hospital + where id = #{id,jdbcType=BIGINT} + + + delete from t_hospital + + + + + + + SELECT LAST_INSERT_ID() + + insert into t_hospital (name, operator, created_at, + updated_at, rec_status) + values (#{name,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + + + SELECT LAST_INSERT_ID() + + insert into t_hospital + + + name, + + + operator, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{name,jdbcType=VARCHAR}, + + + #{operator,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_hospital + + + id = #{record.id,jdbcType=BIGINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + operator = #{record.operator,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_hospital + set id = #{record.id,jdbcType=BIGINT}, + name = #{record.name,jdbcType=VARCHAR}, + operator = #{record.operator,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_hospital + + + name = #{name,jdbcType=VARCHAR}, + + + operator = #{operator,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_hospital + set name = #{name,jdbcType=VARCHAR}, + operator = #{operator,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 4d83127e..31c45274 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -181,6 +181,7 @@ public enum CodeEnum { ALREADY_UPLOAD_VIDEO(150,"您已经上传了视频,请勿重复提交",true), ALREADY_UPLOAD_FORM(151,"请勿重复提交信息",true), MESSAGEISNULL(152,"数据为空",true), + QUANTITYERROR(153,"住院号和患者id不对应",true), ;