diff --git a/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/DiagnosisController.java b/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/DiagnosisController.java index ea542e3..74305b8 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/DiagnosisController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/DiagnosisController.java @@ -11,6 +11,7 @@ import com.syjiaer.clinic.server.entity.diagnosis.vo.MedicalHistoryVo; import com.syjiaer.clinic.server.entity.diagnosis.vo.MedicalRecordVo; import com.syjiaer.clinic.server.entity.patient.PatientRegistration; import com.syjiaer.clinic.server.entity.patient.vo.SeeDoctorInfoVo; +import com.syjiaer.clinic.server.service.diagnosis.CheckService; import com.syjiaer.clinic.server.service.diagnosis.DiagnosisService; import com.syjiaer.clinic.server.service.patient.PatientRegistrationService; import org.springframework.beans.factory.annotation.Autowired; @@ -28,6 +29,8 @@ public class DiagnosisController extends BaseController { @Autowired private PatientRegistrationService patientRegistrationService; + @Autowired + private CheckService checkService; /** * 保存病历 * @return @@ -37,6 +40,11 @@ public class DiagnosisController extends BaseController { public Result save() { MedicalRecordSaveDto saveDto = parmsUtil.getObject("data", MedicalRecordSaveDto.class); diagnosisService.save(saveDto); + + //调用事前检查 + checkService.check(saveDto.getRegistrationId(),"3101"); + checkService.check(saveDto.getRegistrationId(),"3102"); + return success( patientRegistrationService.getById(saveDto.getRegistrationId())); } diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java index bd376be..3ff2d77 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java @@ -125,20 +125,20 @@ public class SocialDirectoryService extends BaseService { if (type == 1301) { flag = line_array[78]; socialDirectory.setProducer(line_array[53]); - socialDirectory.setKeyword(line_array[1] + "," + line_array[3] + "," + line_array[61]); + socialDirectory.setKeyword(line_array[1] + "," + line_array[3] + "," + line_array[61]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[80], dateTimeFormatter)); socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[81], dateTimeFormatter)); } if (type == 1302) { flag = line_array[13]; - socialDirectory.setKeyword(line_array[19]); + socialDirectory.setKeyword(line_array[19]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[15], dateTimeFormatter)); socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[16], dateTimeFormatter)); } if (type == 1306) { flag = line_array[67]; socialDirectory.setProducer(line_array[59]); - socialDirectory.setKeyword(line_array[4]); + socialDirectory.setKeyword(line_array[4]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); } if (type == 1309) { flag = line_array[5]; @@ -186,22 +186,7 @@ public class SocialDirectoryService extends BaseService { return next_version_name; } - private void saveToMongoDb(SocialDirectory socialDirectory) { - SocialDirectoryMongodb socialDirectoryMongodb = new SocialDirectoryMongodb(); - BeanUtils.copyProperties(socialDirectory, socialDirectoryMongodb); - Query query = new Query(Criteria.where("code").is(socialDirectoryMongodb.getCode())); - if (mongoTemplate.exists(query, SocialDirectoryMongodb.class, "social_directory")) { - Update update = new Update(); - update.set("name", socialDirectoryMongodb.getName()); - update.set("keyword", socialDirectoryMongodb.getKeyword()); - update.set("type", socialDirectoryMongodb.getType()); - update.set("producer", socialDirectoryMongodb.getProducer()); - mongoTemplate.updateFirst(query, update, SocialDirectoryMongodb.class, "social_directory"); - } else { - mongoTemplate.insert(socialDirectoryMongodb, "social_directory"); - } - } private void saveListToMongoDb(List list) { @@ -230,6 +215,13 @@ public class SocialDirectoryService extends BaseService { Index index = new Index().on("code", Sort.Direction.ASC).named("code_uni").unique(); mongoTemplate.indexOps("social_directory").ensureIndex(index); } + + //判断索引是否存在 + if (indexInfos.stream().noneMatch(index -> index.getName().equals("type_idx"))) { + DebugUtil.out("创建了type索引"); + Index index = new Index().on("type", Sort.Direction.ASC).named("type_idx"); + mongoTemplate.indexOps("social_directory").ensureIndex(index); + } } /* @@ -504,10 +496,7 @@ public class SocialDirectoryService extends BaseService { if (!keyword.trim().isEmpty()) { query.addCriteria(new Criteria().orOperator( - Criteria.where("code").regex(keyword, "i"), - Criteria.where("name").regex(keyword, "i"), - Criteria.where("keyword").regex(keyword, "i"), - Criteria.where("producer").regex(keyword, "i") + Criteria.where("keyword").regex(keyword, "i") )); } long count = mongoTemplate.count(query, SocialDirectoryMongodb.class, "social_directory");