diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 58d72f7..6e29915 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -35,10 +35,12 @@ import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletResponse; @@ -140,6 +142,10 @@ public class BookbuildingFacade { private PatientServiceFacade patientServiceFacade; @Autowired + @Qualifier("commonThreadPool") + private ThreadPoolTaskExecutor commonThreadPool; + + @Autowired private MongoTemplate mongoTemplate; @Autowired @@ -379,14 +385,17 @@ public class BookbuildingFacade { } } - if (type == ServiceObjEnums.YUNOBJ.getId()) { - //生成建档短信 -// createBuildSms(p); - createBuildMsg(p); + final Patients tempP = p; + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + //生成建档短信 + createBuildMsg(tempP); + } + }); } - br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); br.setData(p.getId()); @@ -398,38 +407,45 @@ public class BookbuildingFacade { * @param userId * @param patient */ - public void addTrackDownInfo(Integer userId, Patients patient) { - //添加产检追访信息 - TrackDownRecord trackDownRecord = patient.build(); - //根据patient查询是否存在追访信息 - TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); - downRecordQuery.setParentId(patient.getId()); - downRecordQuery.setStatus(3); - List records = trackDownRecordService.queryTrackDown(downRecordQuery); - if (CollectionUtils.isNotEmpty(records)) {//存在则进行修改,只修改基本信息,不修改显示状态和追访类型 - TrackDownRecord trackDownRecord1 = records.get(0); - trackDownRecord.setId(trackDownRecord1.getId()); - } else {//不存在查询居民健康档案是否存在追访 - downRecordQuery = new TrackDownRecordQuery(); - downRecordQuery.setHospitalId(patient.getHospitalId()); - if(StringUtils.isNotEmpty(patient.getCardNo())){ - downRecordQuery.setCardNo(patient.getCardNo()); - }else if(StringUtils.isNotEmpty(patient.getPhone())){ - downRecordQuery.setPhone(patient.getPhone()); - } - records = trackDownRecordService.queryTrackDown(downRecordQuery); - if(CollectionUtils.isNotEmpty(records)){ - TrackDownRecord trackDownRecord1 = records.get(0); - trackDownRecord.setId(trackDownRecord1.getId()); - } - } - int week = DateUtil.getWeek2(patient.getLastMenses(),new Date()); + public void addTrackDownInfo(final Integer userId, final Patients patient) { + + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + //添加产检追访信息 + TrackDownRecord trackDownRecord = patient.build(); + //根据patient查询是否存在追访信息 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(patient.getId()); + downRecordQuery.setStatus(3); + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + if (CollectionUtils.isNotEmpty(records)) {//存在则进行修改,只修改基本信息,不修改显示状态和追访类型 + TrackDownRecord trackDownRecord1 = records.get(0); + trackDownRecord.setId(trackDownRecord1.getId()); + } else {//不存在查询居民健康档案是否存在追访 + downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setHospitalId(patient.getHospitalId()); + if(StringUtils.isNotEmpty(patient.getCardNo())){ + downRecordQuery.setCardNo(patient.getCardNo()); + }else if(StringUtils.isNotEmpty(patient.getPhone())){ + downRecordQuery.setPhone(patient.getPhone()); + } + records = trackDownRecordService.queryTrackDown(downRecordQuery); + if(CollectionUtils.isNotEmpty(records)){ + TrackDownRecord trackDownRecord1 = records.get(0); + trackDownRecord.setId(trackDownRecord1.getId()); + } + } + int week = DateUtil.getWeek2(patient.getLastMenses(),new Date()); - if(week>20){//不能做产前筛查追访,产前检查追访 - trackDownRecord.setTrackType(TrackDownDateEnums.I.getId()); - } + if(week>20){//不能做产前筛查追访,产前检查追访 + trackDownRecord.setTrackType(TrackDownDateEnums.I.getId()); + } + + trackDownService.addOrupdateTrackDownRecord(userId, trackDownRecord); + } + }); - trackDownService.addOrupdateTrackDownRecord(userId, trackDownRecord); } /**