From c41929054bc15812dfc11f4aafb1b338973f1d4f Mon Sep 17 00:00:00 2001 From: wang1007152140 <1007152140@qq.com> Date: Wed, 3 Feb 2021 14:59:19 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=8B=89=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/StatisticalAnalysisController.java | 11 +++- .../com/ccsens/tcm/bean/dto/StatisticDto.java | 15 ++++++ .../com/ccsens/tcm/bean/vo/StatisticVo.java | 6 ++- .../ccsens/tcm/persist/dao/PatientDao.java | 3 ++ .../ccsens/tcm/service/IPatientService.java | 2 + .../ccsens/tcm/service/PatientService.java | 23 +++++++-- tcm/src/main/resources/application.yml | 4 +- .../main/resources/mapper_dao/PatientDao.xml | 51 +++++++++++++++++++ 8 files changed, 108 insertions(+), 7 deletions(-) diff --git a/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java b/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java index e247b0a3..93aa41ee 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/StatisticalAnalysisController.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @author wang @@ -40,5 +41,13 @@ public class StatisticalAnalysisController { log.info("统计每日病例调用完成"); return JsonResponse.newInstance().ok(countCase); } - + @MustLogin + @ApiOperation(value = "病例分析", notes = "w:病例分析") + @RequestMapping(value = "/countAnalysis", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> countAnalysis(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("病例分析参数:{}",params); + List selGroupNum= patientService.countAnalysis(params.getParam(),params.getUserId()); + log.info("病例分析调用完成"); + return JsonResponse.newInstance().ok(selGroupNum); + } } diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java index fa929f9c..d45cb80c 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/StatisticDto.java @@ -1,15 +1,18 @@ 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.NotNull; import java.util.Date; +import java.util.List; @Data public class StatisticDto { @Data + @ApiModel("每日病例统计传参") public static class SelCount{ @ApiModelProperty("主治大夫id") private Long userId; @@ -22,4 +25,16 @@ public class StatisticDto { @ApiModelProperty("结束时间") private Date endDate; } + @Data + @ApiModel("病例分析传参") + public static class SelBinLCount{ + @ApiModelProperty("搜索条件集合,不包含时间格式的条件") + private List conditionList; + @ApiModelProperty("搜索条件集合,是包含时间格式的条件") + private List conditionListDate; + @ApiModelProperty("对照组id") + private Long[] inpatientId; + @ApiModelProperty("试题id") + private Long id; + } } diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java b/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java index 8c8681d6..c148c8ff 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/vo/StatisticVo.java @@ -19,13 +19,17 @@ public class StatisticVo { @Data @ApiModel("病例分析") public static class SelGroupNum{ + @ApiModelProperty("对照组id") private Long inpatientId; + @ApiModelProperty("试题数量") private List list; } @Data @ApiModel("病例分析详细数量") public static class SelGroupList{ - private String contents; + @ApiModelProperty("试题内容") + private String content; + @ApiModelProperty("数量") private Integer nums; } } 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 adc793f5..73ac2dcb 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 @@ -23,4 +23,7 @@ public interface PatientDao { List selPatientInformationList(PatientDto.SelPatientList param); Integer countCase(@Param("param") StatisticDto.SelCount param,@Param("inputStatus") byte inputStatus); + + + StatisticVo.SelGroupList countAnalysis(List conditionList, List conditionListDate, Long aLong, Long id); } 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 f6f2a6c0..a7bda7cd 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/IPatientService.java @@ -28,4 +28,6 @@ public interface IPatientService { PageInfo selPatientInformationList(PatientDto.SelPatientList param, Long userId); StatisticVo.SelCountS countCase(StatisticDto.SelCount param, Long userId); + + List countAnalysis(StatisticDto.SelBinLCount param, Long userId); } 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 9a7a41d0..bb14fde4 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -32,6 +32,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -84,6 +86,8 @@ public class PatientService implements IPatientService { PatientInformation patientInformation = patientInformationMapper.selectByPrimaryKey(param.getPatientId()); onsetTime=patientInformation.getCreatedAt(); } + //先查一下需要搜集多少次 + //试题只需要记录3次的 9 和30 算分界限 <9 =0 ;<30 =14 ; >30 =90 记录2次的 270 算分界线 <270 算180 ,>270 算365 int one=9; int two=30; @@ -93,17 +97,16 @@ public class PatientService implements IPatientService { int three=270; int threeFront=180; int threeAfter=365; - //试题只需要记录2次的 if(param.getList().size()>0) { for (int i = 0; i < param.getList().size(); i++) { - //先查询试题id,查看需要记录的次数 + //先查询试题id,查看试题需要记录的次数 ReportCode reportCode = reportCodeMapper.selectByPrimaryKey(param.getList().get(i).getTestQuestionsId()); PatientRecord patientRecord=new PatientRecord(); BeanUtils.copyProperties(param.getList().get(i),patientRecord); patientRecord.setPatientId(param.getPatientId()); - + patientRecord.setId(param.getList().get(i).getPatientRecordId()); if(param.getList().get(i).getPatientRecordId()!=null){ //患者记录表的id patientRecord.setId(param.getList().get(i).getPatientRecordId()); @@ -214,6 +217,20 @@ public class PatientService implements IPatientService { return selCountS; } + @Override + public List countAnalysis(StatisticDto.SelBinLCount param, Long userId) { + List selGroupNumsList= new ArrayList(); + if(param.getInpatientId()!=null && param.getInpatientId().length>0) + return selGroupNumsList; + for (int i = 0; i < param.getInpatientId().length; i++) { + StatisticVo.SelGroupNum selGroupNum =new StatisticVo.SelGroupNum(); + StatisticVo.SelGroupList selGroupList= patientDao.countAnalysis(param.getConditionList(),param.getConditionListDate(),param.getInpatientId()[i],param.getId()); + selGroupNum.setInpatientId(param.getInpatientId()[i]); + selGroupNum.getList().add(selGroupList); + } + return selGroupNumsList; + } + /** * 换算时间差 ,返回两个时间 之间差几天,要是小于1天,按照1的算,要是大于1的话,小于2的话,说的是秒啊。按照2的算,进一法啊 * @param bigDate 大时间 diff --git a/tcm/src/main/resources/application.yml b/tcm/src/main/resources/application.yml index 4ecd13fd..f59084b0 100644 --- a/tcm/src/main/resources/application.yml +++ b/tcm/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: common, util-dev + active: test + include: common, util-test diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index e6c75345..74164f17 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -130,4 +130,55 @@ and tpi.update_at < #{param.endDate} + \ No newline at end of file From 1b8c3f371bedb5f51db2e681af8864be4dd8235b Mon Sep 17 00:00:00 2001 From: wang1007152140 <1007152140@qq.com> Date: Wed, 3 Feb 2021 18:24:55 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=97=85=E4=BA=BA=E7=AD=94=E9=A2=98=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/tcm/service/PatientService.java | 54 +++++++++++++------ 1 file changed, 37 insertions(+), 17 deletions(-) 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 edcb7b69..87c3439f 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -5,15 +5,13 @@ 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.dto.StatisticDto; -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.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.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; @@ -53,6 +51,8 @@ public class PatientService implements IPatientService { private PatientRecordMapper patientRecordMapper; @Resource private PatientDao patientDao; + @Resource + private InpatientMapper inpatientMapper; @Override public void savePatient(PatientDto.SavePatient param, Long userId) { @@ -64,29 +64,32 @@ public class PatientService implements IPatientService { @Override public void saveCaseMes(PatientDto.saveCaseMes param, Long userId) { - //获取上次的发病时间 + //拿到这个患者的基本信息 + PatientInformation patientInformation = patientInformationMapper.selectByPrimaryKey(param.getPatientId()); + //发病时间的试题id Long disease_time=Long.parseLong(String.valueOf(redisUtil.get(Constant.Redis.DISEASE_TIME))); - //Long disease_time=1355131504711442432L; + //升序查询,发病试题答案的数量 PatientRecordExample patientRecordExample1=new PatientRecordExample(); + patientRecordExample1.setOrderByClause("rec_status"); patientRecordExample1.createCriteria().andPatientIdEqualTo(param.getPatientId()).andTestQuestionsIdEqualTo(disease_time).andRecStatusEqualTo((byte)0); List patientRecordList = patientRecordMapper.selectByExample(patientRecordExample1); Date onsetTime=null; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //获取上次的发病时间 if(patientRecordList.size()>0){ //有病发试题的情况 try { onsetTime=format.parse(patientRecordList.get(0).getContents().trim()); } catch (ParseException e) { - PatientInformation patientInformation = patientInformationMapper.selectByPrimaryKey(param.getPatientId()); onsetTime=patientInformation.getCreatedAt(); e.printStackTrace(); } }else { //没有病发试题的情况 - PatientInformation patientInformation = patientInformationMapper.selectByPrimaryKey(param.getPatientId()); onsetTime=patientInformation.getCreatedAt(); } - //先查一下需要搜集多少次 + + //试题只需要记录3次的 9 和30 算分界限 <9 =0 ;<30 =14 ; >30 =90 记录2次的 270 算分界线 <270 算180 ,>270 算365 int one=9; @@ -97,25 +100,30 @@ public class PatientService implements IPatientService { int three=270; int threeFront=180; int threeAfter=365; - + //是否需要去修改基本信息表中的录入状态 + Boolean update=false; + //先查看这个患者的需要的记录次数,在下面的这个对照组对象中呢 + Inpatient inpatient = inpatientMapper.selectByPrimaryKey(patientInformation.getInpatientId()); + //下面是对试题进行提交 if(param.getList().size()>0) { for (int i = 0; i < param.getList().size(); i++) { - //先查询试题id,查看试题需要记录的次数 - ReportCode reportCode = reportCodeMapper.selectByPrimaryKey(param.getList().get(i).getTestQuestionsId()); - +// //先查询试题id,查看试题需要记录的次数 +// ReportCode reportCode = reportCodeMapper.selectByPrimaryKey(param.getList().get(i).getTestQuestionsId()); + //生成一个患者记录表的实例,并且赋值 PatientRecord patientRecord=new PatientRecord(); BeanUtils.copyProperties(param.getList().get(i),patientRecord); patientRecord.setPatientId(param.getPatientId()); - patientRecord.setId(param.getList().get(i).getPatientRecordId()); if(param.getList().get(i).getPatientRecordId()!=null){ //患者记录表的id patientRecord.setId(param.getList().get(i).getPatientRecordId()); } patientRecord.setUserId(userId); - if(reportCode.getReportType()==(byte)0){ + if(inpatient.getCollectionNum()==1){ //试题只需要记录一次的 patientRecord.setCollectTime(0); - }else if(reportCode.getReportType()==(byte)1){ + }else if(inpatient.getCollectionNum()==3){ + //需要记录三次的 + //算出时间差 int cha=timeDifference(patientRecord.getTimeSlot(),onsetTime); if(cha Date: Thu, 4 Feb 2021 09:00:54 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=97=85=E4=BE=8B=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tcm/src/main/java/com/ccsens/tcm/service/PatientService.java | 1 + 1 file changed, 1 insertion(+) 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 87c3439f..e5b98472 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -168,6 +168,7 @@ public class PatientService implements IPatientService { }else if(patientRecordList.size()+1==inpatient.getCollectionNum()){ patientInformation.setInputStatus((byte)2); } + patientInformationMapper.updateByPrimaryKeySelective(patientInformation); } } From e79f8fec3f811a007adbf267f80c4eb812cba1c9 Mon Sep 17 00:00:00 2001 From: wang1007152140 <1007152140@qq.com> Date: Thu, 4 Feb 2021 10:14:18 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=97=85=E4=BE=8B=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tcm/src/main/java/com/ccsens/tcm/persist/dao/PatientDao.java | 3 --- 1 file changed, 3 deletions(-) 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 397c8d48..4f6a7371 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 @@ -24,10 +24,8 @@ public interface PatientDao { Integer countCase(@Param("param") StatisticDto.SelCount param,@Param("inputStatus") byte inputStatus); -<<<<<<< HEAD StatisticVo.SelGroupList countAnalysis(List conditionList, List conditionListDate, Long aLong, Long id); -======= /** * 统计病例完成情况 * @param hospitalId 医院id @@ -48,5 +46,4 @@ public interface PatientDao { * @return 返回完成情况按医生分组 */ List completeDoctor(@Param("hospitalId")Long hospitalId); ->>>>>>> 56dd44ed6563a7cf642ed1ee775eca6980ebe8ca } From ea5baebc8f901dc8b9d9afa69b097841f63e7729 Mon Sep 17 00:00:00 2001 From: wang1007152140 <1007152140@qq.com> Date: Thu, 4 Feb 2021 11:14:03 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=97=85=E4=BE=8B?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=BF=AE=E6=94=B9sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tcm/bean/dto/PatientDto.java | 9 +++ .../main/resources/mapper_dao/PatientDao.xml | 77 +++++++++++-------- 2 files changed, 54 insertions(+), 32 deletions(-) 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 26d7c502..c00db0e1 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 @@ -87,6 +87,15 @@ public class PatientDto { @Data @ApiModel("查询患者的搜索条件集合") public static class SelPatlenConditionList{ + @ApiModelProperty("医院id") + private Long hospitalId; + @ApiModelProperty("录入状态") + private Byte inputStatus; + @ApiModelProperty("对照组id") + private Long inpatientId; + @ApiModelProperty("住院号") + private String hospitalization=""; + @ApiModelProperty("搜索条件集合,不包含时间格式的条件") private List conditionList; @ApiModelProperty("搜索条件集合,是包含时间格式的条件") diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index 62401c00..bbe93da7 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -50,38 +50,52 @@ t_patient_information tpi left join t_inpatient ti on ti.rec_status=0 and ti.id=tpi.inpatient_id WHERE tpi.rec_status = 0 + + and tpi.hospital_id=#{hospitalId} + + + and tpi.hospitalization like concat('%',#{hospitalization},'%') + + + and tpi.inpatient_id=#{inpatientId} + + + and tpi.input_status=#{inputStatus} + + AND tpi.id IN ( - SELECT DISTINCT - ( t.patient_id ) - FROM - ( - - - 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 - - - SELECT - tpr.patient_id - FROM - t_patient_record tpr - WHERE - tpr.rec_status = 0 - AND tpr.test_questions_id = #{item1.testQuestionsId} - AND tpr.contents > #{item1.startTime} - AND tpr.contents < #{item1.endTime} - INTERSECT - - - ) t + SELECT DISTINCT + ( t.patient_id ) + FROM + ( + + + 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 + + + SELECT + tpr.patient_id + FROM + t_patient_record tpr + WHERE + tpr.rec_status = 0 + AND tpr.test_questions_id = #{item1.testQuestionsId} + AND tpr.contents > #{item1.startTime} + AND tpr.contents < #{item1.endTime} + INTERSECT + + + ) t ) + > -<<<<<<< HEAD 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 - and tpi.inpatient_id=#{aLong} - - and tpr.test_questions_id=#{id} + + and tpr.test_questions_id=#{testQuestionsId} and tpi.id in ( SELECT @@ -158,40 +167,64 @@ t_patient_information tpi left join t_inpatient ti on ti.rec_status=0 and ti.id=tpi.inpatient_id WHERE tpi.rec_status = 0 - AND tpi.id IN ( - SELECT DISTINCT - ( t.patient_id ) - FROM - ( - - - 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 - - - SELECT - tpr.patient_id - FROM - t_patient_record tpr - WHERE - tpr.rec_status = 0 - AND tpr.test_questions_id = #{item1.testQuestionsId} - AND tpr.contents > #{item1.startTime} - AND tpr.contents < #{item1.endTime} - INTERSECT - - - ) t - ) + + and tpi.hospital_id=#{hospitalId} + + + and tpi.hospitalization like concat('%',#{hospitalization},'%') + + + and tpi.inpatient_id=#{inpatientId} + + + and tpi.input_status=#{inputStatus} + + + and tpi.id IN ( + SELECT DISTINCT + ( t.patient_id ) + FROM + ( + + + + 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 + + + + + SELECT + tpr.patient_id + FROM + t_patient_record tpr + WHERE + tpr.rec_status = 0 + AND tpr.test_questions_id = #{item1.testQuestionsId} + + AND tpr.contents > #{item1.startTime} + + + AND tpr.contents < #{item1.endTime} + + INTERSECT + + + + ) t + ) + ) - + group by content @@ -276,6 +309,5 @@ ) t GROUP BY t.user_id ->>>>>>> 56dd44ed6563a7cf642ed1ee775eca6980ebe8ca \ No newline at end of file