Browse Source

生物样本

recovery
wang1007152140 4 years ago
parent
commit
f1d5738028
  1. 53
      tcm/src/main/java/com/ccsens/tcm/api/BiologicalSamplesController.java
  2. 43
      tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java
  3. 21
      tcm/src/main/java/com/ccsens/tcm/bean/vo/BiologicalSamplesVo.java
  4. 4
      tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java
  5. 10
      tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java
  6. 29
      tcm/src/main/java/com/ccsens/tcm/service/PatientService.java
  7. 19
      tcm/src/main/resources/mapper_dao/PatientDao.xml

53
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<BiologicalSamplesDto.AddBiolog> 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<PageInfo<BiologicalSamplesVo.selBiolog>> selBiologicalSamples(@ApiParam @Validated @RequestBody QueryDto<BiologicalSamplesDto.SelBiolog> params) {
log.info("查询生物样本参数:{}",params);
PageInfo<BiologicalSamplesVo.selBiolog> selBiologPageInfo= patientService.selBiologicalSamples(params.getParam(),params.getUserId());
log.info("查询生物样本完成");
return JsonResponse.newInstance().ok(selBiologPageInfo);
}
}

43
tcm/src/main/java/com/ccsens/tcm/bean/dto/BiologicalSamplesDto.java

@ -0,0 +1,43 @@
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;
@Data
public class BiologicalSamplesDto {
@Data
@ApiModel("添加生物样本")
public static class AddBiolog {
@ApiModelProperty("样本类型 0:抗血凝10ml 1:促凝血5ml 2:晨尿10ml 3:24小时尿10ml")
private Byte sampleType;
@ApiModelProperty("患者id")
private Long patientInformationId;
@ApiModelProperty("采集时间")
private Integer collectTime;
}
@Data
@ApiModel("查询生物样本")
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;
}
}

21
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;
}
}

4
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<StatisticVo.CompleteDoctor> completeDoctor(@Param("hospitalId")Long hospitalId);
List<BiologicalSamplesVo.selBiolog> selBiologicalSamples(BiologicalSamplesDto.SelBiolog param);
}

10
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,8 @@ public interface IPatientService {
* @return 返回每个医生的完成情况
*/
List<StatisticVo.CompleteDoctor> completeDoctor(StatisticDto.CompleteDoctor param);
void addBiologicalSamples(BiologicalSamplesDto.AddBiolog param, Long userId);
PageInfo<BiologicalSamplesVo.selBiolog> selBiologicalSamples(BiologicalSamplesDto.SelBiolog param, Long userId);
}

29
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;
@ -53,6 +48,8 @@ public class PatientService implements IPatientService {
@Resource
private PatientDao patientDao;
@Resource
private BiologicalSamplesMapper biologicalSamplesMapper;
@Resource
private InpatientMapper inpatientMapper;
@Value("${day.one}")
public int one;
@ -301,4 +298,20 @@ public class PatientService implements IPatientService {
public List<StatisticVo.CompleteDoctor> completeDoctor(StatisticDto.CompleteDoctor param) {
return patientDao.completeDoctor(param.getHospitalId());
}
@Override
public void addBiologicalSamples(BiologicalSamplesDto.AddBiolog param, Long userId) {
BiologicalSamples biologicalSamples=new BiologicalSamples();
biologicalSamples.setUserId(userId);
biologicalSamples.setId(snowflake.nextId());
BeanUtils.copyProperties(param,biologicalSamples);
biologicalSamplesMapper.insertSelective(biologicalSamples);
}
@Override
public PageInfo<BiologicalSamplesVo.selBiolog> selBiologicalSamples(BiologicalSamplesDto.SelBiolog param, Long userId) {
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<BiologicalSamplesVo.selBiolog> selBiologs= patientDao.selBiologicalSamples(param);
return new PageInfo<>(selBiologs);
}
}

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

@ -323,4 +323,23 @@
GROUP BY
t.user_id
</select>
<select id="selBiologicalSamples" resultType="com.ccsens.tcm.bean.vo.BiologicalSamplesVo$selBiolog">
select th.name,tbs.sample_type as sampleType, tpi.hospitalization,tbs.collect_time as collectTime
from t_biological_samples tbs
left join t_patient_information tpi on tpi.id=tbs.patient_information_id and tpi.rec_status=0
left join t_hospital th on th.id=tpi.hospital_id and th.rec_status=0
where tbs.rec_status=0
<if test="hospitalId!=null">
and th.id=#{hospitalId}
</if>
<if test="sampleType!=null">
and tbs.sample_type=#{sampleType}
</if>
<if test="hospitalization!=null and hospitalization!=''">
and tpi.hospitalization like concat('%',#{hospitalization},'%')
</if>
<if test="collectTime!=null">
and tbs.collect_time=#{collectTime}
</if>
</select>
</mapper>
Loading…
Cancel
Save