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 8335267a..376559f6 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java @@ -63,16 +63,16 @@ public class PatientController { @ApiOperation(value = "通过搜索条件查询患者病例的信息", notes = "w:通过搜索条件查询患者病例的信息") @RequestMapping(value = "/selPatientMesList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> selPatientMesList(@ApiParam @Validated @RequestBody QueryDto params) { - log.info("添加患者病例信息:{}",params); + log.info("通过搜索条件查询病例信息:{}",params); PageInfo selPatientListPageInfo= patientService.selPatientMesList(params.getParam(),0L); - log.info("添加患者病例信息成功"); + 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> selSearchCriteriaList() { List selSearchCriteriaList= patientService.selSearchCriteriaList(); - log.info("通过查询搜索条件"); + log.info("查询搜索条件"); return JsonResponse.newInstance().ok(selSearchCriteriaList); } 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 9602fae1..9bbac284 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 @@ -35,7 +35,13 @@ public class StatisticDto { @ApiModelProperty("对照组id") private Long[] inpatientId; @ApiModelProperty("试题id") - private Long id; + private Long testQuestionsId; + @ApiModelProperty("录入状态") + private Byte inputStatus; + @ApiModelProperty("医院id") + private Long hospitalId; + @ApiModelProperty("住院号") + private String hospitalization=""; } @Data 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 4f6a7371..462f764f 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,8 +24,18 @@ public interface PatientDao { Integer countCase(@Param("param") StatisticDto.SelCount param,@Param("inputStatus") byte inputStatus); - - StatisticVo.SelGroupList countAnalysis(List conditionList, List conditionListDate, Long aLong, Long id); + /** + * + * @param conditionList 没有时间条件 + * @param conditionListDate 有时间条件 + * @param inpatientId 对照组id + * @param testQuestionsId 测试题id + * @param hospitalization 住院号 + * @param inputStatus 录入状态 + * @param hospitalId 医院id + * @return + */ + StatisticVo.SelGroupList countAnalysis(List conditionList, List conditionListDate, Long inpatientId, Long testQuestionsId,String hospitalization,Byte inputStatus,Long hospitalId); /** * 统计病例完成情况 * @param hospitalId 医院id 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 e5b98472..5099115b 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -241,13 +241,14 @@ public class PatientService implements IPatientService { @Override public List countAnalysis(StatisticDto.SelBinLCount param, Long userId) { List selGroupNumsList= new ArrayList(); - if(param.getInpatientId()!=null && param.getInpatientId().length>0) + 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()); + StatisticVo.SelGroupList selGroupList= patientDao.countAnalysis(param.getConditionList(),param.getConditionListDate(),param.getInpatientId()[i],param.getTestQuestionsId(),param.getHospitalization(),param.getInputStatus(),param.getHospitalId()); selGroupNum.setInpatientId(param.getInpatientId()[i]); selGroupNum.getList().add(selGroupList); + selGroupNumsList.add(selGroupNum); } return selGroupNumsList; } diff --git a/tcm/src/main/resources/application.yml b/tcm/src/main/resources/application.yml index f59084b0..4ecd13fd 100644 --- a/tcm/src/main/resources/application.yml +++ b/tcm/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: test - include: common, util-test + active: dev + include: common, util-dev diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index bbe93da7..1f7a6eb7 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -62,40 +62,50 @@ 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 - ) - > + + 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 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