diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/CommunityQuery.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/CommunityQuery.java index 7ef8a13..4867a14 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/CommunityQuery.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/CommunityQuery.java @@ -10,6 +10,19 @@ public class CommunityQuery extends BaseQuery { private String id; private String orgAreaId; + public String getGxxq() { + return gxxq; + } + + public void setGxxq(String gxxq) { + this.gxxq = gxxq; + } + + //管辖区域名字 + private String gxxq; + + + public String getOrgAreaId() { return orgAreaId; } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommunityConfigService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommunityConfigService.java index 2a53f4e..c05f571 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommunityConfigService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommunityConfigService.java @@ -46,6 +46,9 @@ public class CommunityConfigService { //查询社区 public List queryCommunity(CommunityQuery communityQuery) { MongoCondition mongoCondition = MongoCondition.newInstance(); + if(null!=communityQuery.getGxxq()){ + mongoCondition = new MongoCondition("gxxq", communityQuery.getGxxq(), MongoOper.LIKE); + } if(null != communityQuery.getKeyword()) { mongoCondition = mongoCondition.orCondition(new MongoCondition[]{new MongoCondition("name", communityQuery.getKeyword(), MongoOper.LIKE), new MongoCondition("gxxq", communityQuery.getKeyword(), MongoOper.LIKE)}); } diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/DataImportTaskServiceImpl.java b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/DataImportTaskServiceImpl.java index 11661b0..1039777 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/DataImportTaskServiceImpl.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/DataImportTaskServiceImpl.java @@ -1,25 +1,27 @@ package com.lyms.platform.data.service.impl; +import com.lyms.platform.biz.param.CommunityQuery; import com.lyms.platform.biz.service.BabyService; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.CommunityConfigService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.enums.PermissionTypeEnums; import com.lyms.platform.common.enums.UserTypeEnum; import com.lyms.platform.common.enums.VisitStatusEnums; import com.lyms.platform.common.enums.YnEnums; -import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.Assert; import com.lyms.platform.common.utils.LogUtil; import com.lyms.platform.common.utils.LoginUtil; import com.lyms.platform.data.service.DataImportTaskService; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; -import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.CommunityConfig; import com.lyms.platform.pojo.Patients; -import com.lyms.platform.pojo.PuerperaModel; import com.lymsh.mommybaby.earlydata.dao.PlatMapper; import com.lymsh.mommybaby.earlydata.model.PlatDataContent; import com.lymsh.mommybaby.earlydata.model.PlatDataType; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; @@ -61,6 +63,8 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { @Autowired private PlatMapper platMapper; + @Autowired + private CommunityConfigService communityConfigService; @Value("#{configProperties['login.token']}") @@ -86,7 +90,7 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { public void updateBasicConfig() { try { List typeList = platMapper.selectPlatDataType(); - for (PlatDataType type:typeList) { + for (PlatDataType type : typeList) { try { if (StringUtils.isBlank(type.getDtId())) { continue; @@ -177,6 +181,7 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { } } + /** * 每天晚上9点25同步一次 */ @@ -376,7 +381,6 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { } - /** * 每5分钟同步一次(早六点到晚九点) */ @@ -442,7 +446,8 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { patients.setAreaRegisterId(map.get("P_HUSBANDMOBILEPHONE") == null ? null : map.get("P_HUSBANDMOBILEPHONE").toString()); patients.setVcCardNo(map.get("VC_CARDNO") == null ? null : map.get("VC_CARDNO").toString()); patients.setDeliverOrg(map.get("P_HOSPITALID") == null ? null : map.get("P_HOSPITALID").toString()); - + //分配社区 + updateCommunity(patients); if (patientsService.queryPatientCount(patients.getId()) == 0) { patients.setCreated(patients.getModified()); patients.setIsVisit(VisitStatusEnums.UNVISIT.getId()); @@ -465,6 +470,33 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { } } + private void updateCommunity(Patients patients) { + Assert.notNull(patients, "patient must not null."); + //产后修养地 + patients.getAddressPostRest(); + patients.getProvincePostRestId(); + patients.getCityPostRestId(); + patients.getAreaPostRestId(); + CommunityQuery communityQuery = null; + CommunityConfig communityConfig = null; + if (StringUtils.isNotEmpty(patients.getAreaPostRestId()) && StringUtils.isNotEmpty(patients.getAddressPostRest())) { + communityQuery = new CommunityQuery(); + communityQuery.setOrgAreaId(patients.getAreaPostRestId()); + communityQuery.setGxxq(patients.getAddressPostRest()); + } else if (StringUtils.isNotEmpty(patients.getAddress()) && StringUtils.isNotEmpty(patients.getAreaId())) { + communityQuery = new CommunityQuery(); + communityQuery.setOrgAreaId(patients.getAreaId()); + communityQuery.setGxxq(patients.getAddress()); + } + if (null != communityQuery) { + List list = communityConfigService.queryCommunity(communityQuery); + if (CollectionUtils.isNotEmpty(list)) { + communityConfig = list.get(0); + patients.setCommunityId(communityConfig.getId()); + } + } + } + /** * 每5分钟同步一次(早六点到晚九点) */