From 8a5a31f672770b0025b9465bfe4b5846fcaef814 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 1 Feb 2021 12:12:28 +0800 Subject: [PATCH] =?UTF-8?q?20210201=E6=9F=A5=E8=AF=A2=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=AF=B9=E7=85=A7=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/tcm/api/InpatientController.java | 41 ++++++++++++ .../com/ccsens/tcm/api/PatientController.java | 1 + .../ccsens/tcm/api/QuestionController.java | 13 +++- .../com/ccsens/tcm/bean/dto/PatientDto.java | 1 - .../com/ccsens/tcm/bean/dto/QuestionDto.java | 20 ++++++ .../com/ccsens/tcm/bean/vo/InpatientVo.java | 23 +++++++ .../com/ccsens/tcm/bean/vo/QuestionVo.java | 67 +++++++++++++++++++ .../ccsens/tcm/service/IInpatientService.java | 18 +++++ .../com/ccsens/tcm/service/ImportService.java | 1 - .../ccsens/tcm/service/InpatientService.java | 44 ++++++++++++ tcm/src/main/resources/application.yml | 5 +- 11 files changed, 227 insertions(+), 7 deletions(-) create mode 100644 tcm/src/main/java/com/ccsens/tcm/api/InpatientController.java create mode 100644 tcm/src/main/java/com/ccsens/tcm/bean/dto/QuestionDto.java create mode 100644 tcm/src/main/java/com/ccsens/tcm/bean/vo/InpatientVo.java create mode 100644 tcm/src/main/java/com/ccsens/tcm/service/IInpatientService.java create mode 100644 tcm/src/main/java/com/ccsens/tcm/service/InpatientService.java diff --git a/tcm/src/main/java/com/ccsens/tcm/api/InpatientController.java b/tcm/src/main/java/com/ccsens/tcm/api/InpatientController.java new file mode 100644 index 00000000..82613157 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/api/InpatientController.java @@ -0,0 +1,41 @@ +package com.ccsens.tcm.api; + +import com.ccsens.tcm.bean.dto.CodeVo; +import com.ccsens.tcm.bean.vo.InpatientVo; +import com.ccsens.tcm.bean.vo.QuestionVo; +import com.ccsens.tcm.service.IInpatientService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParams; +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 逗 + */ +@Slf4j +@Api(tags = "对照组相关接口") +@RestController +@RequestMapping("/inpatient") +public class InpatientController { + @Resource + private IInpatientService inpatientService; + + @ApiOperation(value = "查询所有对照组的信息",notes = "") + @ApiImplicitParams({}) + @RequestMapping(value="/query",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryInpatient() throws Exception { + List inpatientInfos = inpatientService.queryInpatient(); + return JsonResponse.newInstance().ok(inpatientInfos); + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java b/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java index caa439d5..83498d83 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java @@ -65,4 +65,5 @@ public class PatientController { return null; } + } diff --git a/tcm/src/main/java/com/ccsens/tcm/api/QuestionController.java b/tcm/src/main/java/com/ccsens/tcm/api/QuestionController.java index a48aa914..42bfeef9 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/QuestionController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/QuestionController.java @@ -1,6 +1,7 @@ package com.ccsens.tcm.api; import com.ccsens.tcm.bean.dto.CodeVo; +import com.ccsens.tcm.bean.dto.QuestionDto; import com.ccsens.tcm.bean.vo.QuestionVo; import com.ccsens.tcm.service.IImportService; import com.ccsens.util.JsonResponse; @@ -17,7 +18,6 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -31,12 +31,21 @@ public class QuestionController { @Resource private IImportService importService; + @ApiOperation(value = "按code查看题目信息,code为空则查询全部",notes = "") @ApiImplicitParams({}) - @RequestMapping(value="/queryAll",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + @RequestMapping(value="/queryAll",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"}) public JsonResponse question(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { List reportCodeVoList = importService.getQuestion(params.getParam()); return JsonResponse.newInstance().ok(reportCodeVoList); } +// @ApiOperation(value = "查看试题及患者的答案",notes = "") +// @ApiImplicitParams({}) +// @RequestMapping(value="/query",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) +// public JsonResponse> queryQuestionAndAnswer(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { +// List patientCodes = importService.getQuestionAndAnswer(params.getParam()); +// return JsonResponse.newInstance().ok(patientCodes); +// } + } diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java index 78a1c1a5..57a8a4b2 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java @@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import sun.awt.ConstrainableGraphics; import javax.validation.constraints.Max; import javax.validation.constraints.Min; diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/QuestionDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/QuestionDto.java new file mode 100644 index 00000000..d65855a6 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/QuestionDto.java @@ -0,0 +1,20 @@ +package com.ccsens.tcm.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author 逗 + */ +@Data +public class QuestionDto { + @Data + @ApiModel("查询患者答题信息及答案") + public static class QueryQuestionAndAnswer { + @ApiModelProperty("试题code") + private String code; + @ApiModelProperty("第几次录入信息,1代表第0天或180天,2代表第14天或者第365天,3代表第90天") + private int nums; + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/InpatientVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/InpatientVo.java new file mode 100644 index 00000000..0d3977b5 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/InpatientVo.java @@ -0,0 +1,23 @@ +package com.ccsens.tcm.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author 逗 + */ +public class InpatientVo { + @Data + @ApiModel("查询所有对照组信息") + public static class InpatientInfo{ + @ApiModelProperty("对照组id") + private Long id; + @ApiModelProperty("名称") + private String name; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("采集次数") + private int collectionNum; + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/QuestionVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/QuestionVo.java index cec2dc37..9598aad7 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/vo/QuestionVo.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/QuestionVo.java @@ -1,5 +1,7 @@ package com.ccsens.tcm.bean.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @@ -75,4 +77,69 @@ public class QuestionVo { //选择之后关联的题目 private List questionVos; } + + @Data + @ApiModel("患者信息的试题类型") + public static class PatientCode { + @ApiModelProperty("id") + private Long id; + @ApiModelProperty("code") + private String code; + @ApiModelProperty("名称") + private String name; + @ApiModelProperty("是否为必做 0否 1是") + private byte must; + @ApiModelProperty("排序") + private int sort; + @ApiModelProperty("备注") + private String remark; + @ApiModelProperty("第几次记录,默认为0代表第一次记录,14代表第14天记录的信息") + private int reportNums; + @ApiModelProperty("记录类型 0:只记录1次数据,1:记录3次,分别为0,14,90天 ,2:记录两次,分别是180,365") + private byte reportType; + @ApiModelProperty("题目信息") + private List questionList; + @ApiModelProperty("子类型") + private List subCodes; + } + + @Data + @ApiModel("患者的答题信息试题") + public static class PatientQuestion { + @ApiModelProperty("id") + private Long id; + @ApiModelProperty("题目名称") + private String question; + @ApiModelProperty("排序") + private int sort; + @ApiModelProperty("单位例如 g/L") + private String units; + @ApiModelProperty("类型 1单行文本,2多行文本,3单选,4多选,5下拉菜单,6日期,7图片(文件),8单选+其他,9多选+其他,10下拉+其他,11多选+其他+说明,12单选+关联其他内容 13数字类型") + private byte type; + @ApiModelProperty("备注") + private String remark; + @ApiModelProperty("答案") + private String answer; + @ApiModelProperty("选项信息") + private List optionVos; + } + + @Data + @ApiModel("患者的答案") + public static class PatientOption { + @ApiModelProperty("id") + private Long id; + @ApiModelProperty("排序") + private int sort; + @ApiModelProperty("显示值") + private String showValue; + @ApiModelProperty("提交值") + private String submitValue; + @ApiModelProperty("是否被选中 0否 1是") + private byte choose; + @ApiModelProperty("选择之后的操作 0无 1单行文本 2多行文本 3关联其他题目") + private byte afterOperation; + @ApiModelProperty("选择之后关联的题目") + private List questionVos; + } } diff --git a/tcm/src/main/java/com/ccsens/tcm/service/IInpatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/IInpatientService.java new file mode 100644 index 00000000..4c92491c --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/service/IInpatientService.java @@ -0,0 +1,18 @@ +package com.ccsens.tcm.service; + +import com.ccsens.tcm.bean.vo.InpatientVo; + +import java.util.List; + +/** + * @author 逗 + */ +public interface IInpatientService { + + /** + * 查看所有对照组 + * @return 返回对照组信息 + */ + List queryInpatient(); + +} diff --git a/tcm/src/main/java/com/ccsens/tcm/service/ImportService.java b/tcm/src/main/java/com/ccsens/tcm/service/ImportService.java index 47c41706..3d705a37 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/ImportService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/ImportService.java @@ -2,7 +2,6 @@ package com.ccsens.tcm.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.ccsens.tcm.bean.dto.CodeVo; import com.ccsens.tcm.bean.po.*; diff --git a/tcm/src/main/java/com/ccsens/tcm/service/InpatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/InpatientService.java new file mode 100644 index 00000000..3c2d8cd3 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/service/InpatientService.java @@ -0,0 +1,44 @@ +package com.ccsens.tcm.service; + +import cn.hutool.core.bean.BeanUtil; +import com.ccsens.tcm.bean.po.Inpatient; +import com.ccsens.tcm.bean.po.InpatientExample; +import com.ccsens.tcm.bean.vo.InpatientVo; +import com.ccsens.tcm.persist.mapper.InpatientMapper; +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; +import java.util.ArrayList; +import java.util.List; + +/** + * @author 逗 + */ +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class InpatientService implements IInpatientService{ + @Resource + private InpatientMapper inpatientMapper; + + @Override + public List queryInpatient() { + List inpatientInfos = new ArrayList<>(); + + InpatientExample inpatientExample = new InpatientExample(); + inpatientExample.clear(); + List inpatients = inpatientMapper.selectByExample(inpatientExample); + inpatients.forEach(inpatient -> { + InpatientVo.InpatientInfo inpatientInfo = new InpatientVo.InpatientInfo(); + BeanUtil.copyProperties(inpatient,inpatientInfo); + inpatientInfos.add(inpatientInfo); + }); + return inpatientInfos; + } +} diff --git a/tcm/src/main/resources/application.yml b/tcm/src/main/resources/application.yml index a47f2a7b..f59084b0 100644 --- a/tcm/src/main/resources/application.yml +++ b/tcm/src/main/resources/application.yml @@ -1,6 +1,5 @@ spring: profiles: - active: dev - include: common, util-dev - + active: test + include: common, util-test