From e7af0dc8c77e992ceb7fb1afbdf86ab0f6913e23 Mon Sep 17 00:00:00 2001 From: baohanddd Date: Mon, 2 May 2016 17:15:13 +0800 Subject: [PATCH] =?UTF-8?q?add=20data=20import=20:=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E3=80=81=E9=83=A8=E9=97=A8=E3=80=81=E7=94=A8=E6=88=B7(?= =?UTF-8?q?=E5=8C=BB=E7=94=9F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/service/PatientsService.java | 10 + .../main/java/com/lyms/platform/pojo/Patients.java | 116 ++++++++++++ .../platform/data/controller/TaskController.java | 3 + .../service/impl/DataImportTaskServiceImpl.java | 210 ++++++++++++++++----- .../src/main/webapp/WEB-INF/vm/task/index.vm | 4 +- .../lymsh/mommybaby/earlydata/dao/PlatMapper.java | 2 + .../mommybaby/earlydata/service/PlatService.java | 2 + .../earlydata/service/impl/PlatServiceImpl.java | 5 + .../src/main/resources/earlyOrm/Plat.xml | 18 ++ 9 files changed, 317 insertions(+), 53 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java index 6d4d96a..0c7fb89 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java @@ -44,6 +44,16 @@ public class PatientsService { return iPatientDao.queryPatient(query.addOrder(Sort.Direction.DESC, "id")); } + public int queryPatientCount(PatientsQuery patientsQuery) { + return iPatientDao.queryPatientCount(patientsQuery.convertToQuery()); + } + + public int queryPatientCount(String _id) { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setId(_id); + return iPatientDao.queryPatientCount(patientsQuery.convertToQuery()); + } + /** * 根据身份证号码查询某一个患者 * diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java index 6a8c200..1b91794 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java @@ -61,6 +61,86 @@ public class Patients extends BaseModel { } /** + * 产后休养地 + */ + private String addressPostRest; + private String provincePostRestId; + private String cityPostRestId; + private String areaPostRestId; + + public String getAddressPostRest() { + return addressPostRest; + } + + public void setAddressPostRest(String addressPostRest) { + this.addressPostRest = addressPostRest; + } + + public String getProvincePostRestId() { + return provincePostRestId; + } + + public void setProvincePostRestId(String provincePostRestId) { + this.provincePostRestId = provincePostRestId; + } + + public String getCityPostRestId() { + return cityPostRestId; + } + + public void setCityPostRestId(String cityPostRestId) { + this.cityPostRestId = cityPostRestId; + } + + public String getAreaPostRestId() { + return areaPostRestId; + } + + public void setAreaPostRestId(String areaPostRestId) { + this.areaPostRestId = areaPostRestId; + } + + /** + * 户籍 + */ + private String addressRegister; + private String provinceRegisterId; + private String cityRegisterId; + private String areaRegisterId; + + public String getAddressRegister() { + return addressRegister; + } + + public void setAddressRegister(String addressRegister) { + this.addressRegister = addressRegister; + } + + public String getProvinceRegisterId() { + return provinceRegisterId; + } + + public void setProvinceRegisterId(String provinceRegisterId) { + this.provinceRegisterId = provinceRegisterId; + } + + public String getCityRegisterId() { + return cityRegisterId; + } + + public void setCityRegisterId(String cityRegisterId) { + this.cityRegisterId = cityRegisterId; + } + + public String getAreaRegisterId() { + return areaRegisterId; + } + + public void setAreaRegisterId(String areaRegisterId) { + this.areaRegisterId = areaRegisterId; + } + + /** * 社区id */ private String communityId; @@ -120,6 +200,42 @@ public class Patients extends BaseModel { private Integer serviceType; private Integer vip; private String lastReportDoctorName; + private String mommyPatientId; + private String husbandName; + private String husbandPhone; + private String vcCardNo; + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } + + public String getHusbandName() { + return husbandName; + } + + public void setHusbandName(String husbandName) { + this.husbandName = husbandName; + } + + public String getHusbandPhone() { + return husbandPhone; + } + + public void setHusbandPhone(String husbandPhone) { + this.husbandPhone = husbandPhone; + } + + public String getMommyPatientId() { + return mommyPatientId; + } + + public void setMommyPatientId(String mommyPatientId) { + this.mommyPatientId = mommyPatientId; + } public String getLastCheckEmployeeId() { return lastCheckEmployeeId; diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java b/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java index a1dbc22..bad71fe 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/controller/TaskController.java @@ -59,6 +59,9 @@ public class TaskController extends BaseController { } else if ("fullUpdateUsers".equals(sid)) { dataImportTaskService.fullUpdateUsers(); writeString(response, "success"); + } else if ("fullUpdatePatients".equals(sid)) { + dataImportTaskService.fullUpdatePatients(); + writeString(response, "success"); } else if ("codeinit111".equals(sid)) { try { List list = FileUtils.readLines(new File("d:/streets.csv")); 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 fa47789..a188201 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,6 +1,8 @@ package com.lyms.platform.data.service.impl; +import com.lyms.platform.biz.service.BabyService; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.enums.PermissionTypeEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.JsonUtil; @@ -9,7 +11,10 @@ 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.Patients; +import com.lyms.platform.pojo.PuerperaModel; import com.lymsh.mommybaby.earlydata.dao.PlatMapper; import com.lymsh.mommybaby.earlydata.model.PlatDataContent; import org.apache.commons.lang.StringUtils; @@ -46,6 +51,12 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { private UserRoleMapsService userRoleMapsService; @Autowired + private PatientsService patientsService; + + @Autowired + private BabyService babyService; + + @Autowired private PlatMapper platMapper; @@ -65,9 +76,63 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { } } + /** + * 每个小时的57分钟同步一次 + */ + @Override + public void updateBasicConfig() { + try { + List list = platMapper.selectPlatDataContent(); + for (PlatDataContent data : list) { + try { + if (StringUtils.isBlank(data.getDcId())) { + continue; + } + BasicConfig config = new BasicConfig(); + config.setId(data.getDcId()); + config.setCode(data.getDcNo()); + config.setName(data.getDcName()); + config.setParentId(data.getDcParentid()); + config.setTypeId(data.getDcDatatypeid()); + config.setYn(YnEnums.YES.getId()); + BasicConfig db = basicConfigService.getOneBasicConfigById(data.getDcId()); + if (db == null) { + basicConfigService.addBasicConfig(config); + } else { + basicConfigService.updateBasicConfig(config); + } + } catch (Exception ee) { + ee.printStackTrace(); + LogUtil.taskError(ee.getMessage(), ee); + } + } + } catch (Exception e) { + e.printStackTrace(); + LogUtil.taskError(e.getMessage(), e); + } + } + + @Override + public void updateAssay() { + + } + + @Override + public void fullUpdateAssay() { + + } + + @Override + public void updateAssayByHospital(String hospitalForeignId, Integer hospitalId, Date startTime) { + + } + + /** + * 每10分钟同步一次(早六点到晚九点) + */ @Override public void updateUsers() { - Date startTime = new DateTime().minusMinutes(7).toDate(); + Date startTime = new DateTime().minusMinutes(14).toDate(); OrganizationQuery query = new OrganizationQuery(); query.setYn(YnEnums.YES.getId()); List list = organizationService.queryOrganization(query); @@ -78,6 +143,9 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { } } + /** + * 每天晚上9点25同步一次 + */ @Override public void fullUpdateUsers() { updateUsersByHospital(null, null, null); @@ -271,77 +339,117 @@ public class DataImportTaskServiceImpl implements DataImportTaskService { } - @Override - public void updateBasicConfig() { - try { - List list = platMapper.selectPlatDataContent(); - for (PlatDataContent data : list) { - try { - if (StringUtils.isBlank(data.getDcId())) { - continue; - } - BasicConfig config = new BasicConfig(); - config.setId(data.getDcId()); - config.setCode(data.getDcNo()); - config.setName(data.getDcName()); - config.setParentId(data.getDcParentid()); - config.setTypeId(data.getDcDatatypeid()); - config.setYn(YnEnums.YES.getId()); - BasicConfig db = basicConfigService.getOneBasicConfigById(data.getDcId()); - if (db == null) { - basicConfigService.addBasicConfig(config); - } else { - basicConfigService.updateBasicConfig(config); - } - } catch (Exception ee) { - ee.printStackTrace(); - LogUtil.taskError(ee.getMessage(), ee); - } - } - } catch (Exception e) { - e.printStackTrace(); - LogUtil.taskError(e.getMessage(), e); - } - } - - @Override - public void updateAssay() { - - } - - @Override - public void fullUpdateAssay() { - } - - @Override - public void updateAssayByHospital(String hospitalForeignId, Integer hospitalId, Date startTime) { - - } + /** + * 每5分钟同步一次(早六点到晚九点) + */ @Override public void updatePatients() { - + Date startTime = new DateTime().minusMinutes(10).toDate(); + OrganizationQuery query = new OrganizationQuery(); + query.setYn(YnEnums.YES.getId()); + List list = organizationService.queryOrganization(query); + for (Organization organization : list) { + if (StringUtils.isNotBlank(organization.getForeignId())) { + updatePatientsByHospital(organization.getForeignId(), organization.getId(), null); + } + } } + /** + * 每天晚上9点55同步一次 + */ @Override public void fullUpdatePatients() { - + updatePatientsByHospital(null, null, null); } @Override public void updatePatientsByHospital(String hospitalForeignId, Integer hospitalId, Date startTime) { + try { + List pidList = new ArrayList<>(); + List list = platMapper.selectAllPuerperaByHospitalId(hospitalForeignId, startTime); + if (list != null && list.size() > 0) { + for (Map map : list) { + try { + if (!pidList.contains(map.get("P_ID"))) { + pidList.add(map.get("P_ID").toString()); + Patients patients = new Patients(); + patients.setModified(new Date()); + patients.setYn(YnEnums.YES.getId()); + patients.setPublishName("system"); + patients.setPublishId("worker"); + patients.setId(map.get("P_ID").toString()); + patients.setMommyPatientId(map.get("P_NO").toString()); + patients.setUsername(map.get("P_NAME").toString()); + patients.setPhone(map.get("P_MOBILEPHONE").toString()); + patients.setBirth(map.get("P_BIRTHDAY") == null ? null : (Date) map.get("P_BIRTHDAY")); + patients.setLastMenses(map.get("P_LASTMENSTRUALPERIOD") == null ? null : (Date) map.get("P_LASTMENSTRUALPERIOD")); + + patients.setAddress(map.get("P_ADDRESSSTREET") == null ? null : map.get("P_ADDRESSSTREET").toString()); + patients.setProvinceId(map.get("P_ADDRESSPROVINCE") == null ? null : map.get("P_ADDRESSPROVINCE").toString()); + patients.setCityId(map.get("P_ADDRESSCITY") == null ? null : map.get("P_ADDRESSCITY").toString()); + patients.setAreaId(map.get("P_ADDRESSCOUNTY") == null ? null : map.get("P_ADDRESSCOUNTY").toString()); + + patients.setAddressPostRest(map.get("P_POSTPARTUMSTREET") == null ? null : map.get("P_POSTPARTUMSTREET").toString()); + patients.setProvincePostRestId(map.get("P_POSTPARTUMPROVINCE") == null ? null : map.get("P_POSTPARTUMPROVINCE").toString()); + patients.setCityPostRestId(map.get("P_POSTPARTUMCITY") == null ? null : map.get("P_POSTPARTUMCITY").toString()); + patients.setAreaPostRestId(map.get("P_POSTPARTUMCOUNTY") == null ? null : map.get("P_POSTPARTUMCOUNTY").toString()); + + patients.setAddressRegister(map.get("P_RRSTREET") == null ? null : map.get("P_RRSTREET").toString()); + patients.setProvinceRegisterId(map.get("P_RRPROVINCE") == null ? null : map.get("P_RRPROVINCE").toString()); + patients.setCityRegisterId(map.get("P_RRCITY") == null ? null : map.get("P_RRCITY").toString()); + patients.setAreaRegisterId(map.get("P_RRCOUNTY") == null ? null : map.get("P_RRCOUNTY").toString()); + + patients.setAreaRegisterId(map.get("P_HUSBANDNAME") == null ? null : map.get("P_HUSBANDNAME").toString()); + 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()); + + if (patientsService.queryPatientCount(patients.getId()) == 0) { + patients.setCreated(patients.getModified()); + patientsService.addPatient(patients); + } else { + patientsService.updatePatient(patients); + } + } + } catch (Exception ee) { + LogUtil.taskError(ee.getMessage(), ee); + } + } + } else { + LogUtil.taskInfo("hospitalId:" + hospitalForeignId + " has no data!"); + } + } catch (Exception e) { + e.printStackTrace(); + LogUtil.taskError(e.getMessage(), e); + } } + /** + * 每5分钟同步一次(早六点到晚九点) + */ @Override public void updateNewBorns() { - + Date startTime = new DateTime().minusMinutes(10).toDate(); + OrganizationQuery query = new OrganizationQuery(); + query.setYn(YnEnums.YES.getId()); + List list = organizationService.queryOrganization(query); + for (Organization organization : list) { + if (StringUtils.isNotBlank(organization.getForeignId())) { + updateNewBornsByHospital(organization.getForeignId(), organization.getId(), null); + } + } } + /** + * 每天晚上11点25同步一次 + */ @Override public void fullUpdateNewBorns() { - + updateNewBornsByHospital(null, null, null); } @Override diff --git a/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm b/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm index 0af4af1..d1bc84b 100644 --- a/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm +++ b/platform-data-api/src/main/webapp/WEB-INF/vm/task/index.vm @@ -34,11 +34,11 @@ - 初始化省市区乡镇code + 产妇 无 - + diff --git a/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/dao/PlatMapper.java b/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/dao/PlatMapper.java index f62c0d4..21fb9d5 100644 --- a/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/dao/PlatMapper.java +++ b/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/dao/PlatMapper.java @@ -34,4 +34,6 @@ public interface PlatMapper { public List selectAllUserByHospitalId(@Param("hospitalId") String hospitalId, @Param("startTime") Date startTime); + public List selectAllPuerperaByHospitalId(@Param("hospitalId") String hospitalId, @Param("startTime") Date startTime); + } diff --git a/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/PlatService.java b/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/PlatService.java index ff0816f..30bc10d 100644 --- a/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/PlatService.java +++ b/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/PlatService.java @@ -31,4 +31,6 @@ public interface PlatService { public List selectAllByHospitalId(String hospitalId, Date startTime); + public List selectAllPuerperaByHospitalId(String hospitalId, Date startTime); + } diff --git a/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/impl/PlatServiceImpl.java b/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/impl/PlatServiceImpl.java index a1ac729..65e755c 100644 --- a/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/impl/PlatServiceImpl.java +++ b/platform-mommyData/src/main/java/com/lymsh/mommybaby/earlydata/service/impl/PlatServiceImpl.java @@ -101,4 +101,9 @@ public class PlatServiceImpl implements PlatService { public List selectAllByHospitalId(String hospitalId, Date startTime) { return platMapper.selectAllByHospitalId(hospitalId, startTime); } + + @Override + public List selectAllPuerperaByHospitalId(String hospitalId, Date startTime) { + return platMapper.selectAllPuerperaByHospitalId(hospitalId, startTime); + } } diff --git a/platform-mommyData/src/main/resources/earlyOrm/Plat.xml b/platform-mommyData/src/main/resources/earlyOrm/Plat.xml index 1523c03..dac78e9 100644 --- a/platform-mommyData/src/main/resources/earlyOrm/Plat.xml +++ b/platform-mommyData/src/main/resources/earlyOrm/Plat.xml @@ -221,5 +221,23 @@ order by h.h_id,d.d_id,u.u_id + + \ No newline at end of file -- 1.8.3.1