Commit 67aefcf4457112c1c766b5b16f429377befa6026

Authored by jiangjiazhi
1 parent c0218fd65f

增加自动分配社区

Showing 3 changed files with 54 additions and 6 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/CommunityQuery.java View file @ 67aefcf
... ... @@ -10,6 +10,19 @@
10 10 private String id;
11 11 private String orgAreaId;
12 12  
  13 + public String getGxxq() {
  14 + return gxxq;
  15 + }
  16 +
  17 + public void setGxxq(String gxxq) {
  18 + this.gxxq = gxxq;
  19 + }
  20 +
  21 + //管辖区域名字
  22 + private String gxxq;
  23 +
  24 +
  25 +
13 26 public String getOrgAreaId() {
14 27 return orgAreaId;
15 28 }
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommunityConfigService.java View file @ 67aefcf
... ... @@ -46,6 +46,9 @@
46 46 //查询社区
47 47 public List<CommunityConfig> queryCommunity(CommunityQuery communityQuery) {
48 48 MongoCondition mongoCondition = MongoCondition.newInstance();
  49 + if(null!=communityQuery.getGxxq()){
  50 + mongoCondition = new MongoCondition("gxxq", communityQuery.getGxxq(), MongoOper.LIKE);
  51 + }
49 52 if(null != communityQuery.getKeyword()) {
50 53 mongoCondition = mongoCondition.orCondition(new MongoCondition[]{new MongoCondition("name", communityQuery.getKeyword(), MongoOper.LIKE), new MongoCondition("gxxq", communityQuery.getKeyword(), MongoOper.LIKE)});
51 54 }
platform-data-api/src/main/java/com/lyms/platform/data/service/impl/DataImportTaskServiceImpl.java View file @ 67aefcf
1 1 package com.lyms.platform.data.service.impl;
2 2  
  3 +import com.lyms.platform.biz.param.CommunityQuery;
3 4 import com.lyms.platform.biz.service.BabyService;
4 5 import com.lyms.platform.biz.service.BasicConfigService;
  6 +import com.lyms.platform.biz.service.CommunityConfigService;
5 7 import com.lyms.platform.biz.service.PatientsService;
6 8 import com.lyms.platform.common.enums.PermissionTypeEnums;
7 9 import com.lyms.platform.common.enums.UserTypeEnum;
8 10 import com.lyms.platform.common.enums.VisitStatusEnums;
9 11 import com.lyms.platform.common.enums.YnEnums;
10   -import com.lyms.platform.common.utils.JsonUtil;
  12 +import com.lyms.platform.common.utils.Assert;
11 13 import com.lyms.platform.common.utils.LogUtil;
12 14 import com.lyms.platform.common.utils.LoginUtil;
13 15 import com.lyms.platform.data.service.DataImportTaskService;
14 16 import com.lyms.platform.permission.model.*;
15 17 import com.lyms.platform.permission.service.*;
16   -import com.lyms.platform.pojo.BabyModel;
17 18 import com.lyms.platform.pojo.BasicConfig;
  19 +import com.lyms.platform.pojo.CommunityConfig;
18 20 import com.lyms.platform.pojo.Patients;
19   -import com.lyms.platform.pojo.PuerperaModel;
20 21 import com.lymsh.mommybaby.earlydata.dao.PlatMapper;
21 22 import com.lymsh.mommybaby.earlydata.model.PlatDataContent;
22 23 import com.lymsh.mommybaby.earlydata.model.PlatDataType;
  24 +import org.apache.commons.collections.CollectionUtils;
23 25 import org.apache.commons.lang.StringUtils;
24 26 import org.joda.time.DateTime;
25 27 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -61,6 +63,8 @@
61 63  
62 64 @Autowired
63 65 private PlatMapper platMapper;
  66 + @Autowired
  67 + private CommunityConfigService communityConfigService;
64 68  
65 69  
66 70 @Value("#{configProperties['login.token']}")
... ... @@ -86,7 +90,7 @@
86 90 public void updateBasicConfig() {
87 91 try {
88 92 List<PlatDataType> typeList = platMapper.selectPlatDataType();
89   - for (PlatDataType type:typeList) {
  93 + for (PlatDataType type : typeList) {
90 94 try {
91 95 if (StringUtils.isBlank(type.getDtId())) {
92 96 continue;
... ... @@ -177,6 +181,7 @@
177 181 }
178 182 }
179 183  
  184 +
180 185 /**
181 186 * 每天晚上9点25同步一次
182 187 */
... ... @@ -376,7 +381,6 @@
376 381 }
377 382  
378 383  
379   -
380 384 /**
381 385 * 每5分钟同步一次(早六点到晚九点)
382 386 */
... ... @@ -442,7 +446,8 @@
442 446 patients.setAreaRegisterId(map.get("P_HUSBANDMOBILEPHONE") == null ? null : map.get("P_HUSBANDMOBILEPHONE").toString());
443 447 patients.setVcCardNo(map.get("VC_CARDNO") == null ? null : map.get("VC_CARDNO").toString());
444 448 patients.setDeliverOrg(map.get("P_HOSPITALID") == null ? null : map.get("P_HOSPITALID").toString());
445   -
  449 + //分配社区
  450 + updateCommunity(patients);
446 451 if (patientsService.queryPatientCount(patients.getId()) == 0) {
447 452 patients.setCreated(patients.getModified());
448 453 patients.setIsVisit(VisitStatusEnums.UNVISIT.getId());
... ... @@ -462,6 +467,33 @@
462 467 } catch (Exception e) {
463 468 e.printStackTrace();
464 469 LogUtil.taskError(e.getMessage(), e);
  470 + }
  471 + }
  472 +
  473 + private void updateCommunity(Patients patients) {
  474 + Assert.notNull(patients, "patient must not null.");
  475 + //产后修养地
  476 + patients.getAddressPostRest();
  477 + patients.getProvincePostRestId();
  478 + patients.getCityPostRestId();
  479 + patients.getAreaPostRestId();
  480 + CommunityQuery communityQuery = null;
  481 + CommunityConfig communityConfig = null;
  482 + if (StringUtils.isNotEmpty(patients.getAreaPostRestId()) && StringUtils.isNotEmpty(patients.getAddressPostRest())) {
  483 + communityQuery = new CommunityQuery();
  484 + communityQuery.setOrgAreaId(patients.getAreaPostRestId());
  485 + communityQuery.setGxxq(patients.getAddressPostRest());
  486 + } else if (StringUtils.isNotEmpty(patients.getAddress()) && StringUtils.isNotEmpty(patients.getAreaId())) {
  487 + communityQuery = new CommunityQuery();
  488 + communityQuery.setOrgAreaId(patients.getAreaId());
  489 + communityQuery.setGxxq(patients.getAddress());
  490 + }
  491 + if (null != communityQuery) {
  492 + List<CommunityConfig> list = communityConfigService.queryCommunity(communityQuery);
  493 + if (CollectionUtils.isNotEmpty(list)) {
  494 + communityConfig = list.get(0);
  495 + patients.setCommunityId(communityConfig.getId());
  496 + }
465 497 }
466 498 }
467 499