Commit aa503fe97750ae0f65d95e7b92ec6b8e2bf63708
1 parent
7e240fbc6b
Exists in
master
and in
6 other branches
update
Showing 7 changed files with 766 additions and 9 deletions
- platform-dal/src/main/java/com/lyms/platform/query/MicroelementQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java
- platform-sync-data/src/main/java/com/lyms/platform/sync/data/service/SyncBaseInfoService.java
- platform-sync-data/src/main/java/com/lyms/platform/sync/data/service/SyncDataService.java
- platform-sync-data/src/main/java/com/lyms/platform/sync/data/service/SyncHsPatientService.java
- platform-sync-data/src/main/java/com/lyms/platform/sync/data/util/HsDataUtil.java
- platform-sync-data/src/main/java/com/lyms/platform/sync/data/web/controller/SyncDataController.java
platform-dal/src/main/java/com/lyms/platform/query/MicroelementQuery.java
View file @
aa503fe
... | ... | @@ -82,6 +82,14 @@ |
82 | 82 | c = Criteria.where("lastMenses").gte(lastMensesStart).lte(lastMensesEnd); |
83 | 83 | } |
84 | 84 | } |
85 | + | |
86 | + if (null != birthStart && birthEnd != null) { | |
87 | + if (null != c) { | |
88 | + c = c.where("birthday").gte(birthStart).lte(birthEnd); | |
89 | + } else { | |
90 | + c = Criteria.where("birthday").gte(birthStart).lte(birthEnd); | |
91 | + } | |
92 | + } | |
85 | 93 | if (null != createdTimeStart && createdTimeEnd != null) { |
86 | 94 | if (null != c) { |
87 | 95 | c = c.where("created").gte(createdTimeStart).lte(createdTimeEnd); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java
View file @
aa503fe
... | ... | @@ -100,20 +100,21 @@ |
100 | 100 | { |
101 | 101 | Date start1 = DateUtil.getBeforeAge(age); |
102 | 102 | Date end2 = DateUtil.getBeforeAge(age + 1); |
103 | - query.setBirthStart(start1); | |
104 | - query.setBirthEnd(end2); | |
103 | + query.setBirthStart(end2); | |
104 | + query.setBirthEnd(start1); | |
105 | 105 | } |
106 | 106 | |
107 | 107 | //孕周 |
108 | 108 | if (start != null && end != null) { |
109 | 109 | Date start1 = DateUtil.getWeekStart(start); |
110 | 110 | Date end2 = DateUtil.getWeekEnd(end); |
111 | - query.setLastMensesStart(start1); | |
112 | - query.setLastMensesEnd(end2); | |
111 | + query.setLastMensesStart(end2); | |
112 | + query.setLastMensesEnd(start1); | |
113 | 113 | } |
114 | 114 | |
115 | 115 | |
116 | 116 | List<MicroelementModel> models = microelementService.queryMicroelementList(query); |
117 | + | |
117 | 118 | if (CollectionUtils.isNotEmpty(models)) |
118 | 119 | { |
119 | 120 | for (MicroelementModel model : models) |
... | ... | @@ -169,7 +170,7 @@ |
169 | 170 | query.setHospitalId(hospitalId); |
170 | 171 | query.setPatientIds(babayIds); |
171 | 172 | query.setType(1); |
172 | - query.setSort(" created "); | |
173 | + query.setSort("created"); | |
173 | 174 | |
174 | 175 | if (start != null && end != null) |
175 | 176 | { |
... | ... | @@ -179,7 +180,7 @@ |
179 | 180 | query.setBirthStart(start1); |
180 | 181 | query.setBirthEnd(end2); |
181 | 182 | } |
182 | - | |
183 | + System.out.println(query.convertToQuery().convertToMongoQuery().toString()); | |
183 | 184 | List<MicroelementModel> models = microelementService.queryMicroelementList(query); |
184 | 185 | if (CollectionUtils.isNotEmpty(models)) |
185 | 186 | { |
platform-sync-data/src/main/java/com/lyms/platform/sync/data/service/SyncBaseInfoService.java
View file @
aa503fe
1 | +package com.lyms.platform.sync.data.service; | |
2 | + | |
3 | +import com.lyms.platform.biz.service.BasicConfigService; | |
4 | +import com.lyms.platform.common.enums.UserTypeEnum; | |
5 | +import com.lyms.platform.common.enums.YnEnums; | |
6 | +import com.lyms.platform.common.utils.MD5Utils; | |
7 | +import com.lyms.platform.permission.model.Organization; | |
8 | +import com.lyms.platform.permission.model.OrganizationQuery; | |
9 | +import com.lyms.platform.permission.model.Users; | |
10 | +import com.lyms.platform.permission.service.OrganizationService; | |
11 | +import com.lyms.platform.permission.service.UsersService; | |
12 | +import com.lyms.platform.pojo.BasicConfig; | |
13 | +import com.lyms.platform.query.BasicConfigQuery; | |
14 | +import com.lyms.platform.sync.data.util.JDBCUtil; | |
15 | +import org.apache.commons.collections.CollectionUtils; | |
16 | +import org.springframework.beans.factory.annotation.Autowired; | |
17 | +import org.springframework.beans.factory.annotation.Qualifier; | |
18 | +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | |
19 | +import org.springframework.stereotype.Service; | |
20 | + | |
21 | +import java.util.Date; | |
22 | +import java.util.List; | |
23 | +import java.util.Map; | |
24 | + | |
25 | +/** | |
26 | + * Created by Administrator on 2020-04-10. | |
27 | + */ | |
28 | +@Service("syncBaseInfoService") | |
29 | +public class SyncBaseInfoService { | |
30 | + | |
31 | + @Autowired | |
32 | + private UsersService usersService; | |
33 | + | |
34 | + @Autowired | |
35 | + OrganizationService organizationService; | |
36 | + | |
37 | + @Autowired | |
38 | + private BasicConfigService basicConfigService; | |
39 | + | |
40 | + @Autowired | |
41 | + @Qualifier("commonThreadPool") | |
42 | + private ThreadPoolTaskExecutor commonThreadPool; | |
43 | + | |
44 | + public void syncBaseInfo() { | |
45 | + | |
46 | + List<Map<String, Object>> orcleHospsList = JDBCUtil.getOracleListDataBySql("select h_name,h_id,h_countryname from plat_hospital h where h.h_isvalid = 1"); | |
47 | + if (CollectionUtils.isNotEmpty(orcleHospsList)) { | |
48 | + int batchSize = 20; | |
49 | + int end = 0; | |
50 | + for (int i = 0; i < orcleHospsList.size(); i += batchSize) { | |
51 | + end = (end + batchSize); | |
52 | + if (end > orcleHospsList.size()) { | |
53 | + end = orcleHospsList.size(); | |
54 | + } | |
55 | + System.out.println("start:" + i + ",end:" + end); | |
56 | + final List<Map<String, Object>> hospitals = orcleHospsList.subList(i, end); | |
57 | + | |
58 | + commonThreadPool.execute(new Runnable() { | |
59 | + @Override | |
60 | + public void run() { | |
61 | + for (Map<String, Object> map : hospitals) { | |
62 | + OrganizationQuery organizationQuery = new OrganizationQuery(); | |
63 | + organizationQuery.setYn(YnEnums.YES.getId()); | |
64 | + organizationQuery.setName(getString(map.get("H_NAME"))); | |
65 | + List<Organization> organizations = organizationService.queryOrganization(organizationQuery); | |
66 | + if (CollectionUtils.isEmpty(organizations)) | |
67 | + { | |
68 | + Organization organization = new Organization(); | |
69 | + organization.setName(getString(map.get("H_NAME"))); | |
70 | + organization.setType(2); | |
71 | + organization.setLevel(3); | |
72 | + organization.setProvinceId("1"); | |
73 | + organization.setCityId("12"); | |
74 | + | |
75 | + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
76 | + basicConfigQuery.setName(getString(map.get("H_COUNTRYNAME"))); | |
77 | + basicConfigQuery.setYn(YnEnums.YES.getId()); | |
78 | + basicConfigQuery.setParentId("12"); | |
79 | + | |
80 | + List<BasicConfig> basicConfigs = basicConfigService.queryBasicConfig(basicConfigQuery); | |
81 | + if (CollectionUtils.isNotEmpty(basicConfigs)) | |
82 | + { | |
83 | + organization.setAreaId(basicConfigs.get(0).getId()); | |
84 | + } | |
85 | + //organization.setStreetId(streetId); | |
86 | + organization.setAddress(getString(map.get("H_NAME"))); | |
87 | + organization.setYn(YnEnums.YES.getId()); | |
88 | + organization.setCreated(new Date()); | |
89 | + organization.setModified(new Date()); | |
90 | + organization.setPublishName("邢佩"); | |
91 | + organization.setPublishId(300000325); | |
92 | + //默认为建档医院 | |
93 | + organization.setbStatus(1); | |
94 | + | |
95 | + Integer orgId = organizationService.addOrganization(organization); | |
96 | + System.out.println("创建机构成功="+orgId); | |
97 | + createUser(getString(map.get("H_ID")),orgId); | |
98 | + | |
99 | + } | |
100 | + } | |
101 | + } | |
102 | + }); | |
103 | + } | |
104 | + } | |
105 | + } | |
106 | + | |
107 | + | |
108 | + private void createUser(String oracleHid,Integer orgId) | |
109 | + { | |
110 | + String empSql = "select e_id,e_code,e_name,e_hospitalid from mommy_employee e where e.e_isvalid = 1 and e.e_hospitalid = '" + oracleHid + "'"; | |
111 | + | |
112 | + List<Map<String, Object>> listEmp = JDBCUtil.getOracleListDataBySql(empSql); | |
113 | + if (CollectionUtils.isNotEmpty(listEmp)) | |
114 | + { | |
115 | + for (Map<String, Object> map : listEmp) | |
116 | + { | |
117 | + //准备添加数据 | |
118 | + Users users = new Users(); | |
119 | + users.setType(UserTypeEnum.NORMAL_USER.getId()); //1普通用户 | |
120 | + users.setOrgId(orgId); | |
121 | + users.setName(getString(map.get("E_NAME"))); | |
122 | + users.setAccount(getString(map.get("E_CODE"))); | |
123 | + users.setEnable(1); | |
124 | + users.setZhiChenId(1); | |
125 | + users.setPwd(MD5Utils.md5("123456").toUpperCase()); | |
126 | + users.setPublishName("邢佩"); | |
127 | + users.setPublishId(300000325); | |
128 | + users.setYn(YnEnums.YES.getId()); | |
129 | + users.setModified(new Date()); | |
130 | + users.setCreated(new Date()); | |
131 | + usersService.addUsers(users); | |
132 | + System.out.println("创建用户成功=" + users.getId()); | |
133 | + } | |
134 | + } | |
135 | + } | |
136 | + | |
137 | + | |
138 | + | |
139 | + | |
140 | + public static String getString(Object obj) { | |
141 | + return obj == null ? null : String.valueOf(obj); | |
142 | + } | |
143 | + | |
144 | +} |
platform-sync-data/src/main/java/com/lyms/platform/sync/data/service/SyncDataService.java
View file @
aa503fe
... | ... | @@ -237,7 +237,8 @@ |
237 | 237 | //初始化数据 |
238 | 238 | DataUtil.initData(mysqlHid,oracleHid); |
239 | 239 | |
240 | - String sql = "select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday,p_name,floor((trunc(sysdate) - trunc(mp.P_LASTMENSTRUALPERIOD)+1) /7) as weeks,vc.VC_CARDNO from MOMMY_PATIENT mp left join Plat_Patient pp " + | |
240 | + String sql = "select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday,p_name,floor((trunc(sysdate) - trunc(mp.P_LASTMENSTRUALPERIOD)+1) /7) as weeks,vc.VC_CARDNO from " + | |
241 | + " MOMMY_PATIENT mp left join Plat_Patient pp " + | |
241 | 242 | " on mp.p_platpatientid=pp.p_id left join (select max(VC_OPERTIME) as OPERTIME,VC_CARDNO,VC_PATIENTNO from MOMMY_VISITCARD group by VC_CARDNO,VC_PATIENTNO) vc on vc.VC_PATIENTNO = mp.P_NO " + |
242 | 243 | " where mp.p_hospitalid = '" + oracleHid + "' and p_name is not null order by mp.p_lastmenstrualperiod desc "; |
243 | 244 | List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(sql); |
platform-sync-data/src/main/java/com/lyms/platform/sync/data/service/SyncHsPatientService.java
View file @
aa503fe
1 | +package com.lyms.platform.sync.data.service; | |
2 | + | |
3 | + | |
4 | +import com.lyms.platform.biz.service.SimplePatient; | |
5 | +import com.lyms.platform.common.enums.ServiceStatusEnums; | |
6 | +import com.lyms.platform.common.enums.ServiceTypeEnums; | |
7 | +import com.lyms.platform.common.enums.YnEnums; | |
8 | +import com.lyms.platform.common.utils.DateUtil; | |
9 | +import com.lyms.platform.common.utils.ExceptionUtils; | |
10 | +import com.lyms.platform.common.utils.StringUtils; | |
11 | +import com.lyms.platform.common.utils.SystemConfig; | |
12 | +import com.lyms.platform.pojo.Patients; | |
13 | +import com.lyms.platform.pojo.PersonModel; | |
14 | +import com.lyms.platform.sync.data.util.DataUtil; | |
15 | +import com.lyms.platform.sync.data.util.HsDataUtil; | |
16 | +import com.lyms.platform.sync.data.util.JDBCUtil; | |
17 | +import org.apache.commons.collections.CollectionUtils; | |
18 | +import org.springframework.beans.factory.InitializingBean; | |
19 | +import org.springframework.beans.factory.annotation.Autowired; | |
20 | +import org.springframework.beans.factory.annotation.Qualifier; | |
21 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
22 | +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | |
23 | +import org.springframework.stereotype.Service; | |
24 | + | |
25 | +import java.util.Date; | |
26 | +import java.util.List; | |
27 | +import java.util.Map; | |
28 | + | |
29 | + | |
30 | +/** | |
31 | + * Created by Administrator on 2020-04-10. | |
32 | + */ | |
33 | +@Service("syncHsPatientService") | |
34 | +public class SyncHsPatientService implements InitializingBean { | |
35 | + @Autowired | |
36 | + private MongoTemplate mongoTemplate; | |
37 | + | |
38 | + @Autowired | |
39 | + @Qualifier("commonThreadPool") | |
40 | + private ThreadPoolTaskExecutor commonThreadPool; | |
41 | + | |
42 | + @Override | |
43 | + public void afterPropertiesSet() throws Exception { | |
44 | + //初始化数据 | |
45 | + HsDataUtil.initData(); | |
46 | + } | |
47 | + | |
48 | + /** | |
49 | + * 同步孕妇 | |
50 | + */ | |
51 | + public void synchsPatientData() { | |
52 | + | |
53 | + int pageStart = 0; | |
54 | + int pageEnd = 10000; | |
55 | + | |
56 | + //查询孕妇档案 | |
57 | + String sql = ""; | |
58 | + List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(sql); | |
59 | + while (CollectionUtils.isNotEmpty(list)) | |
60 | + { | |
61 | + pageStart += (10000+1); | |
62 | + pageEnd += 10000; | |
63 | + | |
64 | + int batchSize = 1000; | |
65 | + int end = 0; | |
66 | + for (int i = 0; i < list.size(); i += batchSize) { | |
67 | + end = (end + batchSize); | |
68 | + if (end > list.size()) { | |
69 | + end = list.size(); | |
70 | + } | |
71 | + System.out.println("start:" + i + ",end:" + end); | |
72 | + List<Map<String, Object>> tempList = list.subList(i, end); | |
73 | + commonThreadPool.execute(new PatientWorker(tempList, mongoTemplate)); | |
74 | + } | |
75 | + | |
76 | + } | |
77 | + } | |
78 | + | |
79 | + private class PatientWorker extends Thread { | |
80 | + private List<Map<String, Object>> list; | |
81 | + private MongoTemplate mongoTemplate; | |
82 | + public PatientWorker(List<Map<String, Object>> list, MongoTemplate mongoTemplate) { | |
83 | + this.list = list; | |
84 | + this.mongoTemplate = mongoTemplate; | |
85 | + } | |
86 | + | |
87 | + @Override | |
88 | + public void run() { | |
89 | + for (Map<String, Object> map : list) | |
90 | + { | |
91 | + try { | |
92 | + syncPatient(map, mongoTemplate); | |
93 | + } catch (Exception e) | |
94 | + { | |
95 | + ExceptionUtils.catchException(e, "孕产妇同步异常:" + map); | |
96 | + } | |
97 | + } | |
98 | + } | |
99 | + } | |
100 | + | |
101 | + | |
102 | + | |
103 | + private void syncPatient(Map<String, Object> map,MongoTemplate mongoTemplate) | |
104 | + { | |
105 | + | |
106 | + | |
107 | + if (StringUtils.isEmpty(DataUtil.getString(map.get("P_LASTMENSTRUALPERIOD")))) | |
108 | + { | |
109 | + return; | |
110 | + } | |
111 | + | |
112 | + Patients patients = new Patients(); | |
113 | + PersonModel person = new PersonModel(); | |
114 | + int type = 1; | |
115 | + Integer weeks = DataUtil.getInteger(map.get("WEEKS")); | |
116 | + List<Map<String, Object>> chanList = null; | |
117 | + if (StringUtils.isNotEmpty(DataUtil.getString(map.get("P_ID")))) { | |
118 | + chanList = JDBCUtil.getOracleListDataBySql("select * from MOMMY_PREGDELIVERYRECORD p where p.pdr_patientid = '" + DataUtil.getString(map.get("p_id")) + "' order by p.PDR_CHILDBIRTHDAY desc "); | |
119 | + } | |
120 | + if (weeks != null && weeks >= 42 || CollectionUtils.isNotEmpty(chanList)) { | |
121 | + Date fmDate = null; | |
122 | + if (CollectionUtils.isNotEmpty(chanList)) { | |
123 | + fmDate = DataUtil.getDate(chanList.get(0).get("PDR_CHILDBIRTHDAY")); | |
124 | + } else { | |
125 | + fmDate = DateUtil.addDay(DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), 42 * 7); | |
126 | + } | |
127 | + patients.setFmDate(fmDate); | |
128 | + | |
129 | + type = 3; | |
130 | + } | |
131 | + | |
132 | + Date dueDate = DateUtil.addDay(DateUtil.addMonth(DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), 9), 7); | |
133 | + | |
134 | + patients.setDueDate(dueDate); | |
135 | + person.setCreated(new Date()); | |
136 | + | |
137 | + person.setId(String.valueOf(map.get("PID"))); | |
138 | + person.setType(type); | |
139 | + person.setYn(YnEnums.YES.getId()); | |
140 | + person.setBirth(DataUtil.getDate(map.get("P_BIRTHDAY"))); | |
141 | + person.setCardNo(DataUtil.getString(map.get("P_CARDNO"))); | |
142 | + person.setName(DataUtil.getString(map.get("P_NAME"))); | |
143 | + person.setPhone(DataUtil.getString(map.get("P_MOBILEPHONE"))); | |
144 | + person.setCreated(DataUtil.getDate(map.get("P_FILINGTIME"))); | |
145 | + person.setModified(DataUtil.getDate(map.get("P_OPERTIME"))); | |
146 | + mongoTemplate.save(person); | |
147 | + | |
148 | + | |
149 | + patients.setPid(person.getId()); | |
150 | + patients.setId(String.valueOf(map.get("PID"))); | |
151 | + patients.setYn(DataUtil.getInteger(map.get("P_ISVALID"))); //是否有效 | |
152 | + patients.setBuildType(0); | |
153 | + patients.setBirth(DataUtil.getDate(map.get("P_BIRTHDAY"))); | |
154 | + patients.setCreated(DataUtil.getDate(map.get("P_FILINGTIME"))); | |
155 | + patients.setModified(DataUtil.getDate(map.get("P_OPERTIME"))); | |
156 | + patients.setDueStatus(0); | |
157 | + | |
158 | + if (StringUtils.isNotEmpty(DataUtil.getString(map.get("P_CARDNO")))) { | |
159 | + String cardType = DataUtil.getString(map.get("P_CARDTYPE")); //证件类型 | |
160 | + String cardTypeName = DataUtil.getDataContentByById(cardType); | |
161 | + if (cardTypeName != null && !"".equals(cardTypeName)) { | |
162 | + String id = DataUtil.getMongoBasicConfig(cardTypeName, SystemConfig.CERTE_TYPE_ID); | |
163 | + patients.setPcerteTypeId(id); | |
164 | + } | |
165 | + | |
166 | + patients.setCardNo(DataUtil.getString(map.get("P_CARDNO"))); //证件号码 | |
167 | + } else { | |
168 | + patients.setCardNo(DataUtil.getString(map.get("P_MOBILEPHONE"))); //证件号码 | |
169 | + patients.setPcerteTypeId("57e1dcd3f0f02e7ca519d6c6"); | |
170 | + } | |
171 | + | |
172 | + //---------------------居住地址 | |
173 | + String proviceId = DataUtil.getString(map.get("P_ADDRESSPROVINCE")); | |
174 | + if (proviceId != null && !"".equals(proviceId)) { | |
175 | + String juzhudiProviceName = DataUtil.getOracleBasicConfig(proviceId); | |
176 | + String id1 = DataUtil.getMongoBasicConfig(juzhudiProviceName, SystemConfig.CHINA_BASIC_ID); | |
177 | + patients.setProvinceId(id1); //居住地省 | |
178 | + | |
179 | + String cityId = DataUtil.getString(map.get("P_ADDRESSCITY")); | |
180 | + if (cityId != null && !"".equals(cityId)) { | |
181 | + String juzhudiCityName = DataUtil.getOracleBasicConfig(cityId); | |
182 | + String id2 = DataUtil.getMongoBasicConfig(juzhudiCityName, id1); | |
183 | + patients.setCityId(id2); //居住地市 | |
184 | + String areaId = DataUtil.getString(DataUtil.getString(map.get("P_ADDRESSCOUNTY"))); | |
185 | + if (areaId != null && !"".equals(areaId)) { | |
186 | + String juzhudiAreaName = DataUtil.getOracleBasicConfig(areaId); | |
187 | + String id3 =DataUtil. getMongoBasicConfig(juzhudiAreaName, id2); | |
188 | + patients.setAreaId(id3); //居住区 | |
189 | + | |
190 | + String streetId = DataUtil.getString(map.get("P_TOWNSHIP")); | |
191 | + if (streetId != null && !"".equals(streetId)) { | |
192 | + String juzhudiStreetName = DataUtil.getOracleBasicConfig(streetId); | |
193 | + String id4 = DataUtil.getMongoBasicConfig(juzhudiStreetName, id3); | |
194 | + patients.setStreetId(id4); //街道 镇 | |
195 | + } | |
196 | + } | |
197 | + } | |
198 | + } | |
199 | + | |
200 | + patients.setAddress(DataUtil.getString(map.get("P_ADDRESSSTREET"))); // 详细地址 | |
201 | + | |
202 | + //---------------------居住地址 | |
203 | + | |
204 | + String pprofessionTypeId = DataUtil.getString(map.get("P_OCCUPATIONID")); | |
205 | + if (pprofessionTypeId != null && !"".equals(pprofessionTypeId)) { | |
206 | + String pprofessionTypeName = DataUtil.getOracleBasicConfig(pprofessionTypeId); | |
207 | + String id = DataUtil.getMongoBasicConfig(pprofessionTypeName, SystemConfig.PROFESSION_TYPE_ID); | |
208 | + patients.setPprofessionTypeId(id); // 职业 | |
209 | + } | |
210 | + | |
211 | + patients.setPhone(DataUtil.getString(map.get("P_MOBILEPHONE"))); //孕妇手机号码 | |
212 | + patients.setUsername(DataUtil.getString(map.get("P_NAME"))); //孕妇姓名 | |
213 | + patients.setBookbuildingDate(DataUtil.getDate(map.get("P_FILINGTIME"))); //建档日期 | |
214 | + patients.setLastMenses(DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD"))); //末次月经 | |
215 | + | |
216 | + String buildHospitalId = DataUtil.getString(map.get("P_HOSPITALID")); //医院ID | |
217 | + | |
218 | + | |
219 | + Integer P_RESIDETYPE = DataUtil.getInteger(map.get("P_RESIDETYPE")); //居住类别 | |
220 | + if (P_RESIDETYPE != null && P_RESIDETYPE == 0) { | |
221 | + patients.setPliveTypeId("57624bf90cf23d4631523e9e"); | |
222 | + } else if (P_RESIDETYPE != null && (P_RESIDETYPE == 1 || P_RESIDETYPE == 2)) { | |
223 | + patients.setPliveTypeId("57624c090cf23d4631523e9f"); | |
224 | + } | |
225 | + | |
226 | + | |
227 | + Integer P_ACCOUNTTYPE = DataUtil.getInteger(map.get("P_ACCOUNTTYPE")); //户口类别 | |
228 | + if (P_ACCOUNTTYPE != null && P_ACCOUNTTYPE == 0) { | |
229 | + patients.setPliveTypeId("57624c440cf23d4631523ea1"); | |
230 | + } else if (P_ACCOUNTTYPE != null && P_ACCOUNTTYPE == 1) { | |
231 | + patients.setPliveTypeId("57624c5e0cf23d4631523ea2"); | |
232 | + } | |
233 | + | |
234 | + if (buildHospitalId != null && !"".equals(buildHospitalId)) { | |
235 | + String hname = DataUtil.getPatHosptalById(buildHospitalId); | |
236 | + String id = DataUtil.getOrgIdByName(hname); | |
237 | + patients.setHospitalId(id); | |
238 | + } | |
239 | + | |
240 | + patients.setType(type); //患者类型 | |
241 | + | |
242 | + String doctorId = DataUtil.getString(map.get("P_FILINGOPER")); | |
243 | + if (doctorId != null && !"".equals(doctorId)) { | |
244 | + String userName = DataUtil.getEmpNameById(doctorId); | |
245 | + String id = DataUtil.getUserIdByName(userName); | |
246 | + patients.setBookbuildingDoctor(id); //建档医生(创建者) | |
247 | + } | |
248 | + | |
249 | + | |
250 | + String operuserId = DataUtil.getString(map.get("P_OPERUSER")); | |
251 | + if (StringUtils.isNotEmpty(operuserId)) { | |
252 | + String userName = DataUtil.getEmpNameById(operuserId); | |
253 | + String id = DataUtil.getUserIdByName(userName); | |
254 | + try { | |
255 | + patients.setOperator(Integer.parseInt(id)); //操作人 | |
256 | + }catch (Exception e) | |
257 | + { | |
258 | + | |
259 | + } | |
260 | + | |
261 | + } | |
262 | + | |
263 | + Integer isvip = DataUtil.getInteger(map.get("P_ISVIP")); //vip | |
264 | + if (isvip != null) { | |
265 | + //会员状态 0不是会员 1 是 | |
266 | + if (0 == isvip) { | |
267 | + patients.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); | |
268 | + patients.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); | |
269 | + } else if (1 == isvip) { | |
270 | + patients.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); | |
271 | + patients.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); | |
272 | + } | |
273 | + } | |
274 | + | |
275 | + patients.setExpType(-1); | |
276 | + | |
277 | + | |
278 | + String plevel = DataUtil.getString(map.get("P_EDUCATIONLEVEL"));//孕妇文化程度 | |
279 | + if (plevel != null && !"".equals(plevel)) { | |
280 | + String plevelName = DataUtil.getOracleBasicConfig(plevel); | |
281 | + String id = DataUtil.getMongoBasicConfig(plevelName, SystemConfig.LEVEL_TYPE_ID); | |
282 | + patients.setPlevelTypeId(id); | |
283 | + } | |
284 | + | |
285 | + | |
286 | + String guoJi = DataUtil.getString(map.get("P_COUNTRY"));//孕妇国籍 | |
287 | + if (guoJi != null && !"".equals(guoJi)) { | |
288 | + String guoJiName = DataUtil.getOracleBasicConfig(guoJi); | |
289 | + String id = DataUtil.getMongoBasicConfig(guoJiName, SystemConfig.COUNTRY_TYPE_ID); | |
290 | + patients.setPcountryId(id); | |
291 | + } | |
292 | + | |
293 | + patients.setPworkUnit(DataUtil.getString(map.get("P_UNITWORK")));//孕妇工作单位 | |
294 | + | |
295 | + String pnation = DataUtil.getString(map.get("P_NATION")); | |
296 | + if (pnation != null && !"".equals(pnation)) { | |
297 | + String pnationName = DataUtil.getOracleBasicConfig(pnation); | |
298 | + String id = DataUtil.getMongoBasicConfig(pnationName, SystemConfig.NATION_TYPE_ID); | |
299 | + patients.setPnationId(id); | |
300 | + } | |
301 | + | |
302 | + //---------------------户口地址 | |
303 | + String huKouproviceId = DataUtil.getString(map.get("P_RRPROVINCE")); | |
304 | + if (huKouproviceId != null && !"".equals(huKouproviceId)) { | |
305 | + String proviceName = DataUtil.getOracleBasicConfig(huKouproviceId); | |
306 | + String id1 = DataUtil.getMongoBasicConfig(proviceName, SystemConfig.LIVE_TYPE_ID); | |
307 | + patients.setProvinceRegisterId(id1); //户口地省 | |
308 | + | |
309 | + String huKoucityId = DataUtil.getString(map.get("P_RRCITY")); | |
310 | + if (huKoucityId != null && !"".equals(huKoucityId)) { | |
311 | + String cityName = DataUtil.getOracleBasicConfig(huKoucityId); | |
312 | + String id2 = DataUtil.getMongoBasicConfig(cityName, id1); | |
313 | + patients.setCityRegisterId(id2); //户口地市 | |
314 | + | |
315 | + String huKouareaId = DataUtil.getString(DataUtil.getString(map.get("P_RRCOUNTY"))); | |
316 | + if (huKouareaId != null && !"".equals(huKouareaId)) { | |
317 | + String areaName = DataUtil.getOracleBasicConfig(huKouareaId); | |
318 | + String id3 = DataUtil.getMongoBasicConfig(areaName, id2); | |
319 | + patients.setAreaRegisterId(id3); //户口居住区 | |
320 | + | |
321 | + String huKoustreetId = DataUtil.getString(map.get("P_RRTOWNSHIP")); | |
322 | + if (huKoustreetId != null && !"".equals(huKoustreetId)) { | |
323 | + String streetName = DataUtil.getOracleBasicConfig(huKoustreetId); | |
324 | + String id4 = DataUtil.getMongoBasicConfig(streetName, id3); | |
325 | + patients.setStreetRegisterId(id4); //户口街道 镇 | |
326 | + | |
327 | + } | |
328 | + } | |
329 | + | |
330 | + } | |
331 | + } | |
332 | + patients.setAddressRegister(DataUtil.getString(map.get("P_RRSTREET"))); // 详细地址 | |
333 | + | |
334 | + //---------------------户口地址 | |
335 | + | |
336 | + //----------------------产后修养地 | |
337 | + | |
338 | + String chanHouproviceId = DataUtil.getString(map.get("P_POSTPARTUMPROVINCE")); | |
339 | + if (chanHouproviceId != null && !"".equals(chanHouproviceId)) { | |
340 | + String proviceName = DataUtil.getOracleBasicConfig(chanHouproviceId); | |
341 | + String id1 = DataUtil.getMongoBasicConfig(proviceName, SystemConfig.LIVE_TYPE_ID); | |
342 | + patients.setProvincePostRestId(id1); | |
343 | + | |
344 | + String chanhoucityId = DataUtil.getString(map.get("P_POSTPARTUMCITY")); | |
345 | + if (chanhoucityId != null && !"".equals(chanhoucityId)) { | |
346 | + String cityName = DataUtil.getOracleBasicConfig(chanhoucityId); | |
347 | + String id2 = DataUtil.getMongoBasicConfig(cityName, id1); | |
348 | + patients.setCityPostRestId(id2); | |
349 | + | |
350 | + String chanhouareaId = DataUtil.getString(DataUtil.getString(map.get("P_POSTPARTUMCOUNTY"))); | |
351 | + if (chanhouareaId != null && !"".equals(chanhouareaId)) { | |
352 | + String areaName = DataUtil.getOracleBasicConfig(chanhouareaId); | |
353 | + String id3 = DataUtil.getMongoBasicConfig(areaName, id2); | |
354 | + patients.setAreaPostRestId(id3); | |
355 | + | |
356 | + String chanhoustreetId = DataUtil.getString(map.get("P_POSTPARTUMTOWNSHIP")); | |
357 | + if (chanhoustreetId != null && !"".equals(chanhoustreetId)) { | |
358 | + String streetName = DataUtil.getOracleBasicConfig(chanhoustreetId); | |
359 | + String id4 = DataUtil.getMongoBasicConfig(streetName, id3); | |
360 | + patients.setStreetPostRestId(id4); | |
361 | + } | |
362 | + } | |
363 | + } | |
364 | + } | |
365 | + | |
366 | + patients.setAddressPostRest(DataUtil.getString(map.get("P_POSTPARTUMSTREET"))); // 详细地址 | |
367 | + | |
368 | + //----------------------产后修养地 | |
369 | + | |
370 | + patients.setHusbandName(DataUtil.getString(map.get("P_HUSBANDNAME"))); //丈夫名称 | |
371 | + patients.setHusbandBirth(DataUtil.getDate(map.get("P_HUSBANDBIRTHDAY"))); //丈夫生日 | |
372 | + patients.setHusbandPhone(DataUtil.getString(map.get("P_HUSBANDMOBILEPHONE"))); //丈夫电话 | |
373 | + patients.setHworkUnit(DataUtil.getString(map.get("P_HUSBANDUNITWORK"))); //丈夫工作单位 | |
374 | + | |
375 | + String hprofessionTypeId = DataUtil.getString(map.get("P_HUSBANDOCCUPATIONID"));// 职业 | |
376 | + if (hprofessionTypeId != null && !"".equals(hprofessionTypeId)) { | |
377 | + String professionTypeName = DataUtil.getOracleBasicConfig(hprofessionTypeId); | |
378 | + String id = DataUtil.getMongoBasicConfig(professionTypeName, SystemConfig.PROFESSION_TYPE_ID); | |
379 | + patients.setHprofessionTypeId(id); | |
380 | + } | |
381 | + | |
382 | + String P_HUSBANDCARDTYPE = DataUtil.getString(map.get("P_HUSBANDCARDTYPE")); //丈夫证件类 | |
383 | + if (StringUtils.isNotEmpty(P_HUSBANDCARDTYPE)) { | |
384 | + String hcardTypeName = DataUtil.getDataContentByById(P_HUSBANDCARDTYPE); | |
385 | + if (hcardTypeName != null && !"".equals(hcardTypeName)) { | |
386 | + String id = DataUtil.getMongoBasicConfig(hcardTypeName, SystemConfig.CERTE_TYPE_ID); | |
387 | + patients.setHcertificateTypeId(id); | |
388 | + } | |
389 | + } | |
390 | + patients.setHcertificateNum(DataUtil.getString(map.get("P_HUSBANDCARDNO"))); //证件号码 | |
391 | + | |
392 | + | |
393 | + String hlevel = DataUtil.getString(map.get("P_HUSBANDEDUCATIONLEVEL"));//丈夫文化程度 | |
394 | + if (hlevel != null && !"".equals(hlevel)) { | |
395 | + String plevelName = DataUtil.getOracleBasicConfig(hlevel); | |
396 | + String id = DataUtil.getMongoBasicConfig(plevelName, SystemConfig.LEVEL_TYPE_ID); | |
397 | + patients.setHlevelTypeId(id); | |
398 | + } | |
399 | + | |
400 | + | |
401 | + String hguoji = DataUtil.getString(map.get("P_HUSBANDCOUNTRY"));//丈夫国籍 | |
402 | + if (hguoji != null && !"".equals(hguoji)) { | |
403 | + String guoJiName = DataUtil.getOracleBasicConfig(hguoji); | |
404 | + String id = DataUtil.getMongoBasicConfig(guoJiName, SystemConfig.COUNTRY_TYPE_ID); | |
405 | + patients.setHcountryId(id); | |
406 | + } | |
407 | + | |
408 | + String P_HUSBANDNATION = DataUtil.getString(map.get("P_HUSBANDNATION")); //丈夫民族 | |
409 | + if (P_HUSBANDNATION != null && !"".equals(P_HUSBANDNATION)) { | |
410 | + String pnationName = DataUtil.getOracleBasicConfig(P_HUSBANDNATION); | |
411 | + String id = DataUtil.getMongoBasicConfig(pnationName, SystemConfig.NATION_TYPE_ID); | |
412 | + patients.setHnationId(id); | |
413 | + } | |
414 | + | |
415 | + //------丈夫户口所在地 | |
416 | + | |
417 | + String hproviceId = DataUtil.getString(map.get("P_HUSBANDRRPROVINCE")); | |
418 | + if (hproviceId != null && !"".equals(hproviceId)) { | |
419 | + String name = DataUtil.getOracleBasicConfig(hproviceId); | |
420 | + String id1 = DataUtil.getMongoBasicConfig(name, SystemConfig.LIVE_TYPE_ID); | |
421 | + patients.setProvincePostRestId(id1); | |
422 | + | |
423 | + String hcityId = DataUtil.getString(map.get("P_HUSBANDRRCITY")); | |
424 | + if (hcityId != null && !"".equals(hcityId)) { | |
425 | + String nameCity = DataUtil.getOracleBasicConfig(hcityId); | |
426 | + String id2 = DataUtil.getMongoBasicConfig(nameCity, id1); | |
427 | + patients.setCityPostRestId(id2); | |
428 | + | |
429 | + String hareId = DataUtil.getString(DataUtil.getString(map.get("P_HUSBANDRRCOUNTY"))); | |
430 | + if (hareId != null && !"".equals(hareId)) { | |
431 | + String nameArea = DataUtil.getOracleBasicConfig(hareId); | |
432 | + String id3 = DataUtil.getMongoBasicConfig(nameArea, id2); | |
433 | + patients.setAreaPostRestId(id3); | |
434 | + | |
435 | + String hstreetId = DataUtil.getString(map.get("P_HUSBANDRRTOWNSHIP")); | |
436 | + if (hstreetId != null && !"".equals(hstreetId)) { | |
437 | + String nameStreet = DataUtil.getOracleBasicConfig(hstreetId); | |
438 | + String id4 = DataUtil.getMongoBasicConfig(nameStreet, id3); | |
439 | + patients.setStreetPostRestId(id4); | |
440 | + } | |
441 | + } | |
442 | + } | |
443 | + } | |
444 | + | |
445 | + | |
446 | + | |
447 | + | |
448 | + patients.setAddressPostRest(DataUtil.getString(map.get("P_HUSBANDRRSTREET"))); // 详细地址 | |
449 | + patients.setFileCode(DataUtil.getString(map.get("P_FILENUMBER"))); //建档编号 | |
450 | + patients.setVcCardNo(DataUtil.getString(map.get("VC_CARDNO"))); //就诊卡号 | |
451 | + | |
452 | + | |
453 | + mongoTemplate.save(patients); | |
454 | + System.out.println(patients.getId() + "============"); | |
455 | + | |
456 | + //patientsQueue.add(new SimplePatient(person.getId(), patients.getId(),DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")),weeks)); | |
457 | + | |
458 | + } | |
459 | + | |
460 | + | |
461 | +} |
platform-sync-data/src/main/java/com/lyms/platform/sync/data/util/HsDataUtil.java
View file @
aa503fe
1 | +package com.lyms.platform.sync.data.util; | |
2 | + | |
3 | + | |
4 | +import java.util.*; | |
5 | + | |
6 | +/** | |
7 | + * Created by Administrator on 2016/10/13. | |
8 | + */ | |
9 | +public class HsDataUtil { | |
10 | + | |
11 | + private static Map<String, String> employees = new HashMap<>(); | |
12 | + private static Map<String, String> oracleHosps = new HashMap<>(); | |
13 | + private static Map<String, String> users = new HashMap<>(); | |
14 | + private static Map<String, String> mysqlHosps = new HashMap<>(); | |
15 | + private static Map<String, String> datacontents = new HashMap<>(); | |
16 | + private static Map<String, String> basicConfigs = new HashMap<>(); | |
17 | + | |
18 | + private static Integer orgId = 0; | |
19 | + | |
20 | + | |
21 | + public static void initData() { | |
22 | + List<Map<String, Object>> listEmp = JDBCUtil.getOracleListDataBySql("select e.e_code,e.e_name,e.e_id,e_hospitalid from mommy_employee e "); | |
23 | + for (Map<String, Object> map : listEmp) { | |
24 | + employees.put(getString(map.get("E_ID")), getString(map.get("E_NAME"))+getString(map.get("E_CODE"))); | |
25 | + } | |
26 | + System.out.println("employees------" + employees.size()); | |
27 | + | |
28 | + | |
29 | + List<Map<String, Object>> datacontentsList = JDBCUtil.getOracleListDataBySql("select dc_name,dc_id from plat_datacontent "); | |
30 | + for (Map<String, Object> map : datacontentsList) { | |
31 | + datacontents.put(getString(map.get("DC_ID")), getString(map.get("DC_NAME"))); | |
32 | + } | |
33 | + | |
34 | + System.out.println("datacontents------" + datacontents.size()); | |
35 | + | |
36 | + List<Map<String, Object>> orcleHospsList = JDBCUtil.getOracleListDataBySql("select h_name,h_id from plat_hospital h"); | |
37 | + for (Map<String, Object> map : orcleHospsList) { | |
38 | + oracleHosps.put(getString(map.get("H_ID")), getString(map.get("H_NAME"))); | |
39 | + } | |
40 | + | |
41 | + System.out.println("oracleHosps------" + oracleHosps.size()); | |
42 | + | |
43 | + List<Map<String, Object>> usersList = JDBCUtil.getMysqlListDataBySql("select u.id,u.name,u.account,u.org_id from users u left join organization o on u.id = u.org_id where o.city_id=12 "); | |
44 | + for (Map<String, Object> map : usersList) { | |
45 | + users.put(getString(map.get("name"))+getString(map.get("account")), getString(map.get("id"))); | |
46 | + } | |
47 | + System.out.println("users------" + users.size()); | |
48 | + | |
49 | + List<Map<String, Object>> mysqlHospsList = JDBCUtil.getMysqlListDataBySql("select id,name from organization "); | |
50 | + for (Map<String, Object> map : mysqlHospsList) { | |
51 | + mysqlHosps.put(getString(map.get("name")), getString(map.get("id"))); | |
52 | + } | |
53 | + System.out.println("mysqlHosps------" + mysqlHosps.size()); | |
54 | + | |
55 | + | |
56 | + List<Map<String, Object>> oracleBasicList = JDBCUtil.getOracleListDataBySql("select id,name,parentId from lyms_basicconfig "); | |
57 | + for (Map<String, Object> map : oracleBasicList) { | |
58 | + basicConfigs.put(getString(map.get("NAME")) + getString(map.get("PARENTID")), getString(map.get("ID"))); | |
59 | + } | |
60 | + | |
61 | + System.out.println("basicConfigs------" + basicConfigs.size()); | |
62 | + | |
63 | + } | |
64 | + public static String getDataContentByById(String id) { | |
65 | + return datacontents.get(id); | |
66 | + | |
67 | + } | |
68 | + | |
69 | + public static String getPatHosptalById(String id) { | |
70 | + return oracleHosps.get(id); | |
71 | + | |
72 | + } | |
73 | + | |
74 | + public static String getOrgIdByName(String name) { | |
75 | + return String.valueOf(orgId); | |
76 | + } | |
77 | + | |
78 | + public static String getEmpNameById(String id) { | |
79 | + return employees.get(id); | |
80 | + } | |
81 | + | |
82 | + | |
83 | + public static String getUserIdByName(String name) { | |
84 | + return users.get(name); | |
85 | + } | |
86 | + | |
87 | + public static String getBasicConfigByNameAndParentId(String name, String parentId) { | |
88 | + return basicConfigs.get(name + parentId); | |
89 | + } | |
90 | + | |
91 | + public static String getString(Object obj) { | |
92 | + return obj == null ? null : String.valueOf(obj); | |
93 | + } | |
94 | + | |
95 | + public static String getMongoBasicConfig(String name, String parentId) { | |
96 | + return getBasicConfigByNameAndParentId(name, parentId); | |
97 | + } | |
98 | + | |
99 | + public static String getOracleBasicConfig(String id) { | |
100 | + return getDataContentByById(id); | |
101 | + } | |
102 | + | |
103 | + public static Double getDouble(Object obj) { | |
104 | + return obj == null ? null : Double.valueOf(String.valueOf(obj)); | |
105 | + } | |
106 | + | |
107 | + public static Integer getInteger(Object obj) { | |
108 | + return obj == null ? null : Integer.valueOf(String.valueOf(obj)); | |
109 | + } | |
110 | + | |
111 | + public static Date getDate(Object obj) { | |
112 | + return obj == null ? null : (Date) obj; | |
113 | + } | |
114 | + | |
115 | +} |
platform-sync-data/src/main/java/com/lyms/platform/sync/data/web/controller/SyncDataController.java
View file @
aa503fe
1 | 1 | package com.lyms.platform.sync.data.web.controller; |
2 | 2 | |
3 | -import com.lyms.platform.common.utils.ExceptionUtils; | |
3 | +import com.lyms.platform.sync.data.service.SyncBaseInfoService; | |
4 | 4 | import com.lyms.platform.sync.data.service.SyncDataService; |
5 | +import com.lyms.platform.sync.data.service.SyncHsPatientService; | |
5 | 6 | import org.springframework.beans.factory.annotation.Autowired; |
6 | 7 | import org.springframework.beans.factory.annotation.Qualifier; |
7 | 8 | import org.springframework.stereotype.Controller; |
... | ... | @@ -22,6 +23,15 @@ |
22 | 23 | @Qualifier("job-index-syncdataservice") |
23 | 24 | private SyncDataService syncDataService; |
24 | 25 | |
26 | + @Autowired | |
27 | + @Qualifier("syncBaseInfoService") | |
28 | + private SyncBaseInfoService syncBaseInfoService; | |
29 | + | |
30 | + | |
31 | + @Autowired | |
32 | + @Qualifier("syncHsPatientService") | |
33 | + private SyncHsPatientService syncHsPatientService; | |
34 | + | |
25 | 35 | /** |
26 | 36 | * 孕妇同步 |
27 | 37 | * |
28 | 38 | |
... | ... | @@ -48,9 +58,26 @@ |
48 | 58 | @RequestMapping(value = "/delete", method = RequestMethod.GET) |
49 | 59 | @ResponseBody |
50 | 60 | public String deleteData(@RequestParam(required = true) String hospitalId,@RequestParam(required = false) String pid) { |
51 | - syncDataService.deleteData(hospitalId,pid); | |
61 | + syncDataService.deleteData(hospitalId, pid); | |
52 | 62 | return "delete starting..........."; |
53 | 63 | } |
64 | + | |
65 | + | |
66 | + @RequestMapping(value = "/syncBaseInfo", method = RequestMethod.GET) | |
67 | + @ResponseBody | |
68 | + public String syncBaseInfo() { | |
69 | + syncBaseInfoService.syncBaseInfo(); | |
70 | + return "syncBaseInfo starting..........."; | |
71 | + } | |
72 | + | |
73 | + @RequestMapping(value = "/synchsPatientData", method = RequestMethod.GET) | |
74 | + @ResponseBody | |
75 | + public String synchsPatientData() { | |
76 | + syncHsPatientService.synchsPatientData(); | |
77 | + return "synchsPatientData starting..........."; | |
78 | + } | |
79 | + | |
80 | + | |
54 | 81 | |
55 | 82 | } |