Commit 85c4a7c7c941589c919df5540b29c4419ff6bef8
1 parent
cd7d4ad63c
Exists in
master
and in
1 other branch
code update
Showing 1 changed file with 1210 additions and 0 deletions
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java
View file @
85c4a7c
Diff suppressed. Click to show
1 | +package com.lyms.platform.biz; | |
2 | + | |
3 | +import com.lyms.platform.common.enums.*; | |
4 | +import com.lyms.platform.common.utils.JsonUtil; | |
5 | +import com.lyms.platform.common.utils.SystemConfig; | |
6 | +import com.lyms.platform.pojo.*; | |
7 | +import org.apache.velocity.anakia.Escape; | |
8 | +import org.bson.types.ObjectId; | |
9 | +import org.springframework.context.ApplicationContext; | |
10 | +import org.springframework.context.support.ClassPathXmlApplicationContext; | |
11 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
12 | + | |
13 | + | |
14 | +import java.sql.*; | |
15 | +import java.util.*; | |
16 | +import java.util.Date; | |
17 | + | |
18 | +/** | |
19 | + * Created by Administrator on 2016/9/29. | |
20 | + */ | |
21 | +public class JdbcUtil { | |
22 | + public static Connection getOracleConnection() { | |
23 | + Connection con = null; | |
24 | + try { | |
25 | + Class.forName("oracle.jdbc.driver.OracleDriver"); | |
26 | + String url = "jdbc:oracle:thin:@119.90.57.27:1521:orcl"; | |
27 | + String userName = "lyms_21"; | |
28 | + String pwd = "LYMS_21"; | |
29 | + con = DriverManager.getConnection(url, userName, pwd); | |
30 | + } catch (Exception e) { | |
31 | + e.printStackTrace(); | |
32 | + } | |
33 | + return con; | |
34 | + } | |
35 | + | |
36 | + | |
37 | + public static Connection getMysqlConnection() { | |
38 | + Connection con = null; | |
39 | + try { | |
40 | + Class.forName("com.mysql.jdbc.Driver"); | |
41 | + String url = "jdbc:mysql://119.90.57.26:3306/platform?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"; | |
42 | + String userName = "platform"; | |
43 | + String pwd = "platform123"; | |
44 | + con = DriverManager.getConnection(url, userName, pwd); | |
45 | + } catch (Exception e) { | |
46 | + e.printStackTrace(); | |
47 | + } | |
48 | + return con; | |
49 | + } | |
50 | + | |
51 | + public static void freeConnection(Connection connection,PreparedStatement ps,ResultSet rs){ | |
52 | + try { | |
53 | + if(rs != null){ | |
54 | + rs.close(); | |
55 | + } | |
56 | + if(ps != null){ | |
57 | + ps.close(); | |
58 | + } | |
59 | + if( null != connection) | |
60 | + { | |
61 | + connection.close(); | |
62 | + } | |
63 | + } catch (SQLException e) { | |
64 | + } | |
65 | + } | |
66 | + | |
67 | + /** | |
68 | + * | |
69 | + * @param sql | |
70 | + * @return | |
71 | + */ | |
72 | + public static List<Map<String,Object>> getListDataBySql(String sql) | |
73 | + { | |
74 | + Connection conn = getOracleConnection(); | |
75 | + PreparedStatement pst = null; | |
76 | + ResultSet rs = null; | |
77 | + List<Map<String,Object>> list = new ArrayList<>(); | |
78 | + try { | |
79 | + pst = conn.prepareStatement(sql); | |
80 | + rs = pst.executeQuery(); | |
81 | + int count = rs.getMetaData().getColumnCount(); | |
82 | + while (rs.next()) { | |
83 | + Map<String,Object> maps = new HashMap<>(); | |
84 | + for (int i = 1; i <= count; i++) { | |
85 | + String columnName = rs.getMetaData().getColumnName(i); | |
86 | + Object obj = rs.getObject(columnName); | |
87 | + if (obj != null) { | |
88 | + maps.put(columnName, obj); | |
89 | + } | |
90 | + else | |
91 | + { | |
92 | + maps.put(columnName,null); | |
93 | + } | |
94 | + } | |
95 | + list.add(maps); | |
96 | + } | |
97 | + }catch (Exception e) | |
98 | + { | |
99 | + e.printStackTrace(); | |
100 | + } finally { | |
101 | + freeConnection(conn,pst,rs); | |
102 | + } | |
103 | + return list; | |
104 | + } | |
105 | + | |
106 | + public static Object getOralceSingleObjBySql(String sql) | |
107 | + { | |
108 | + Connection conn = getOracleConnection(); | |
109 | + PreparedStatement pst = null; | |
110 | + ResultSet rs = null; | |
111 | + try { | |
112 | + pst = conn.prepareStatement(sql); | |
113 | + rs = pst.executeQuery(); | |
114 | + int count = rs.getMetaData().getColumnCount(); | |
115 | + for (int i = 1 ; i <= count ;i++) | |
116 | + { | |
117 | + String columnName = rs.getMetaData().getColumnName(i); | |
118 | + while (rs.next()){ | |
119 | + return rs.getObject(columnName); | |
120 | + } | |
121 | + | |
122 | + } | |
123 | + }catch (Exception e) | |
124 | + { | |
125 | + e.printStackTrace(); | |
126 | + } finally { | |
127 | + freeConnection(conn,pst,rs); | |
128 | + } | |
129 | + return null; | |
130 | + } | |
131 | + | |
132 | + | |
133 | + public static Object getMysqlSingleObjBySql(String sql) | |
134 | + { | |
135 | + Connection conn = getMysqlConnection(); | |
136 | + PreparedStatement pst = null; | |
137 | + ResultSet rs = null; | |
138 | + try { | |
139 | + pst = conn.prepareStatement(sql); | |
140 | + rs = pst.executeQuery(); | |
141 | + int count = rs.getMetaData().getColumnCount(); | |
142 | + for (int i = 1 ; i <= count ;i++) | |
143 | + { | |
144 | + String columnName = rs.getMetaData().getColumnName(i); | |
145 | + while (rs.next()){ | |
146 | + return rs.getObject(columnName); | |
147 | + } | |
148 | + | |
149 | + } | |
150 | + }catch (Exception e) | |
151 | + { | |
152 | + e.printStackTrace(); | |
153 | + } finally { | |
154 | + freeConnection(conn,pst,rs); | |
155 | + } | |
156 | + return null; | |
157 | + } | |
158 | + | |
159 | + public static MongoTemplate getMongoTemplate() | |
160 | + { | |
161 | + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); | |
162 | + MongoTemplate mongoTemplate | |
163 | + =(MongoTemplate)applicationContext.getBean("mongoTemplate"); | |
164 | + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); | |
165 | + return mongoTemplate; | |
166 | + } | |
167 | + | |
168 | + | |
169 | + public static void syncPatientData() | |
170 | + { | |
171 | + List<Map<String,Object>> list = getListDataBySql(" SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday from MOMMY_PATIENT mp left join Plat_Patient pp on mp.p_platpatientid=pp.p_id where mp.P_CARDTYPE is not null" + | |
172 | + " and mp.p_no = '44ac6a05-9873-4233-85c4-6360b640e3a0') A WHERE ROWNUM <= 10 ) WHERE RN >= 0 "); | |
173 | + | |
174 | + | |
175 | + MongoTemplate mongoTemplate = getMongoTemplate(); | |
176 | + | |
177 | + for(Map<String,Object> map : list) | |
178 | + { | |
179 | + PersonModel person = new PersonModel(); | |
180 | + person.setCreated(new Date()); | |
181 | + person.setType(getInteger(map.get("P_PATIENTTYPE"))); | |
182 | + person.setYn(YnEnums.YES.getId()); | |
183 | + person.setBirth(map.get("P_BIRTHDAY") == null ? new Date() : getDate(map.get("P_BIRTHDAY"))); | |
184 | + person.setCardNo(getString(map.get("P_CARDNO"))); | |
185 | + person.setName(getString(map.get("P_MOTHERNAME"))); | |
186 | + person.setPhone(getString(map.get("P_MOBILEPHONE"))); | |
187 | + | |
188 | + mongoTemplate.save(person); | |
189 | + | |
190 | + Patients patients = new Patients(); | |
191 | + patients.setPid(person.getId()); | |
192 | + patients.setId(String.valueOf(map.get("PID"))); | |
193 | + patients.setYn(getInteger(map.get("P_ISVALID"))); //是否有效 | |
194 | + | |
195 | + String cardType = getString(map.get("P_CARDTYPE")); //证件类型 | |
196 | + String cardTypeName = getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + cardType + "'")); | |
197 | + if (cardTypeName != null && !"".equals(cardTypeName)) | |
198 | + { | |
199 | + String id = getMongoBasicConfig(cardTypeName, SystemConfig.CERTE_TYPE_ID); | |
200 | + patients.setPcerteTypeId(id); | |
201 | + } | |
202 | + patients.setCardNo(getString(map.get("P_CARDNO"))); //证件号码 | |
203 | + | |
204 | + //---------------------居住地址 | |
205 | + String proviceId = getString(map.get("P_ADDRESSPROVINCE")); | |
206 | + if (proviceId != null && !"".equals(proviceId)) | |
207 | + { | |
208 | + String juzhudiProviceName = getOracleBasicConfig(proviceId); | |
209 | + String id1 = getMongoBasicConfig(juzhudiProviceName, SystemConfig.CHINA_BASIC_ID); | |
210 | + patients.setProvinceId(id1); //居住地省 | |
211 | + | |
212 | + String cityId = getString(map.get("P_ADDRESSCITY")); | |
213 | + if (cityId != null && !"".equals(cityId)) | |
214 | + { | |
215 | + String juzhudiCityName = getOracleBasicConfig(cityId); | |
216 | + String id2 = getMongoBasicConfig(juzhudiCityName, id1); | |
217 | + patients.setCityId(id2); //居住地市 | |
218 | + String areaId = getString(getString(map.get("P_ADDRESSCOUNTY"))); | |
219 | + if (areaId != null && !"".equals(areaId)) | |
220 | + { | |
221 | + String juzhudiAreaName = getOracleBasicConfig(areaId); | |
222 | + String id3 = getMongoBasicConfig(juzhudiAreaName, id2); | |
223 | + patients.setAreaId(id3); //居住区 | |
224 | + | |
225 | + String streetId = getString(map.get("P_TOWNSHIP")); | |
226 | + if (streetId != null && !"".equals(streetId)) | |
227 | + { | |
228 | + String juzhudiStreetName = getOracleBasicConfig(streetId); | |
229 | + String id4 = getMongoBasicConfig(juzhudiStreetName, id3); | |
230 | + patients.setStreetId(id4); //街道 镇 | |
231 | + } | |
232 | + } | |
233 | + } | |
234 | + } | |
235 | + | |
236 | + patients.setAddress(getString(map.get("P_ADDRESSSTREET"))); // 详细地址 | |
237 | + | |
238 | + //---------------------居住地址 | |
239 | + | |
240 | + String pprofessionTypeId = getString(map.get("P_OCCUPATIONID")); | |
241 | + if (pprofessionTypeId != null && !"".equals(pprofessionTypeId)) | |
242 | + { | |
243 | + String pprofessionTypeName = getOracleBasicConfig(pprofessionTypeId); | |
244 | + String id = getMongoBasicConfig(pprofessionTypeName, SystemConfig.PROFESSION_TYPE_ID); | |
245 | + patients.setPprofessionTypeId(id); // 职业 | |
246 | + } | |
247 | + | |
248 | + patients.setPhone(getString(map.get("P_MOBILEPHONE"))); //孕妇手机号码 | |
249 | + patients.setUsername(getString(map.get("P_MOTHERNAME"))); //孕妇姓名 | |
250 | + patients.setBookbuildingDate(getDate(map.get("P_FILINGTIME"))); //建档日期 | |
251 | + patients.setLastMenses(getDate(map.get("P_LASTMENSTRUALPERIOD"))); //末次月经 | |
252 | + | |
253 | + String buildHospitalId = getString(map.get("P_HOSPITALID")); //医院ID | |
254 | + | |
255 | + | |
256 | + Integer P_RESIDETYPE = getInteger(map.get("P_RESIDETYPE")); //居住类别 | |
257 | + if (P_RESIDETYPE != null && P_RESIDETYPE == 0) | |
258 | + { | |
259 | + patients.setPliveTypeId("57624bf90cf23d4631523e9e"); | |
260 | + } | |
261 | + else if (P_RESIDETYPE != null && (P_RESIDETYPE == 1 || P_RESIDETYPE == 2)) | |
262 | + { | |
263 | + patients.setPliveTypeId("57624c090cf23d4631523e9f"); | |
264 | + } | |
265 | + | |
266 | + | |
267 | + Integer P_ACCOUNTTYPE = getInteger(map.get("P_ACCOUNTTYPE")); //户口类别 | |
268 | + if (P_ACCOUNTTYPE != null && P_ACCOUNTTYPE == 0) | |
269 | + { | |
270 | + patients.setPliveTypeId("57624c440cf23d4631523ea1"); | |
271 | + } | |
272 | + else if (P_ACCOUNTTYPE != null && P_ACCOUNTTYPE == 1) | |
273 | + { | |
274 | + patients.setPliveTypeId("57624c5e0cf23d4631523ea2"); | |
275 | + } | |
276 | + | |
277 | + if (buildHospitalId != null && !"".equals(buildHospitalId)) | |
278 | + { | |
279 | + String hname = getString(getOralceSingleObjBySql("select h_name from plat_hospital h where h.h_isvalid=1 and h_id = '" + buildHospitalId + "'")); | |
280 | + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'")); | |
281 | + patients.setHospitalId(id); | |
282 | + } | |
283 | + | |
284 | + patients.setType(getInteger(map.get("P_PATIENTTYPE"))); //患者类型 | |
285 | + | |
286 | + String doctorId = getString(map.get("P_DOCID")); | |
287 | + if (doctorId != null && !"".equals(doctorId)) | |
288 | + { | |
289 | + String hname = getString(getOralceSingleObjBySql("select e.e_name from mommy_employee e where e.e_id = '" + doctorId + "'")); | |
290 | + String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + hname + "'")); | |
291 | + patients.setBookbuildingDoctor(id); //建档医生 | |
292 | + } | |
293 | + | |
294 | + Integer isvip = getInteger(map.get("P_ISVIP")); //vip | |
295 | + if (isvip != null) | |
296 | + { | |
297 | + //会员状态 0不是会员 1 是 | |
298 | + if (0 == isvip) | |
299 | + { | |
300 | + patients.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); | |
301 | + patients.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); | |
302 | + } | |
303 | + else if (1 == isvip) | |
304 | + { | |
305 | + patients.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); | |
306 | + patients.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); | |
307 | + } | |
308 | + } | |
309 | + | |
310 | + | |
311 | + String plevel = getString(map.get("P_EDUCATIONLEVEL"));//孕妇文化程度 | |
312 | + if (plevel != null && !"".equals(plevel)) | |
313 | + { | |
314 | + String plevelName = getOracleBasicConfig(plevel); | |
315 | + String id = getMongoBasicConfig(plevelName, SystemConfig.LEVEL_TYPE_ID); | |
316 | + patients.setPlevelTypeId(id); | |
317 | + } | |
318 | + | |
319 | + | |
320 | + String guoJi = getString(map.get("P_COUNTRY"));//孕妇国籍 | |
321 | + if (guoJi != null && !"".equals(guoJi)) | |
322 | + { | |
323 | + String guoJiName = getOracleBasicConfig(guoJi); | |
324 | + String id = getMongoBasicConfig(guoJiName, SystemConfig.COUNTRY_TYPE_ID); | |
325 | + patients.setPcountryId(id); | |
326 | + } | |
327 | + | |
328 | + patients.setPworkUnit(getString(map.get("P_UNITWORK")));//孕妇工作单位 | |
329 | + | |
330 | + String pnation = getString(map.get("P_NATION")); | |
331 | + if (pnation != null && !"".equals(pnation)) | |
332 | + { | |
333 | + String pnationName = getOracleBasicConfig(pnation); | |
334 | + String id = getMongoBasicConfig(pnationName, SystemConfig.NATION_TYPE_ID); | |
335 | + patients.setPnationId(id); | |
336 | + } | |
337 | + | |
338 | + //---------------------户口地址 | |
339 | + String huKouproviceId = getString(map.get("P_RRPROVINCE")); | |
340 | + if (huKouproviceId != null && !"".equals(huKouproviceId)) | |
341 | + { | |
342 | + String proviceName = getOracleBasicConfig(huKouproviceId); | |
343 | + String id1 = getMongoBasicConfig(proviceName, SystemConfig.LIVE_TYPE_ID); | |
344 | + patients.setProvinceRegisterId(id1); //户口地省 | |
345 | + | |
346 | + String huKoucityId = getString(map.get("P_RRCITY")); | |
347 | + if (huKoucityId != null && !"".equals(huKoucityId)) | |
348 | + { | |
349 | + String cityName = getOracleBasicConfig(huKoucityId); | |
350 | + String id2 = getMongoBasicConfig(cityName, id1); | |
351 | + patients.setCityRegisterId(id2); //户口地市 | |
352 | + | |
353 | + String huKouareaId = getString(getString(map.get("P_RRCOUNTY"))); | |
354 | + if (huKouareaId != null && !"".equals(huKouareaId)) | |
355 | + { | |
356 | + String areaName = getOracleBasicConfig(huKouareaId); | |
357 | + String id3 = getMongoBasicConfig(areaName, id2); | |
358 | + patients.setAreaRegisterId(id3); //户口居住区 | |
359 | + | |
360 | + String huKoustreetId = getString(map.get("P_RRTOWNSHIP")); | |
361 | + if (huKoustreetId != null && !"".equals(huKoustreetId)) | |
362 | + { | |
363 | + String streetName = getOracleBasicConfig(huKoustreetId); | |
364 | + String id4 = getMongoBasicConfig(streetName, id3); | |
365 | + patients.setStreetRegisterId(id4); //户口街道 镇 | |
366 | + | |
367 | + } | |
368 | + } | |
369 | + | |
370 | + } | |
371 | + } | |
372 | + patients.setAddressRegister(getString(map.get("P_RRSTREET"))); // 详细地址 | |
373 | + | |
374 | + //---------------------户口地址 | |
375 | + | |
376 | + //----------------------产后修养地 | |
377 | + | |
378 | + String chanHouproviceId = getString(map.get("P_POSTPARTUMPROVINCE")); | |
379 | + if (chanHouproviceId != null && !"".equals(chanHouproviceId)) | |
380 | + { | |
381 | + String proviceName = getOracleBasicConfig(chanHouproviceId); | |
382 | + String id1 = getMongoBasicConfig(proviceName, SystemConfig.LIVE_TYPE_ID); | |
383 | + patients.setProvincePostRestId(id1); | |
384 | + | |
385 | + String chanhoucityId = getString(map.get("P_POSTPARTUMCITY")); | |
386 | + if (chanhoucityId != null && !"".equals(chanhoucityId)) | |
387 | + { | |
388 | + String cityName = getOracleBasicConfig(chanhoucityId); | |
389 | + String id2 = getMongoBasicConfig(cityName, id1); | |
390 | + patients.setCityPostRestId(id2); | |
391 | + | |
392 | + String chanhouareaId = getString(getString(map.get("P_POSTPARTUMCOUNTY"))); | |
393 | + if (chanhouareaId != null && !"".equals(chanhouareaId)) | |
394 | + { | |
395 | + String areaName = getOracleBasicConfig(chanhouareaId); | |
396 | + String id3 = getMongoBasicConfig(areaName, id2); | |
397 | + patients.setAreaPostRestId(id3); | |
398 | + | |
399 | + String chanhoustreetId = getString(map.get("P_POSTPARTUMTOWNSHIP")); | |
400 | + if (chanhoustreetId != null && !"".equals(chanhoustreetId)) | |
401 | + { | |
402 | + String streetName = getOracleBasicConfig(chanhoustreetId); | |
403 | + String id4 = getMongoBasicConfig(streetName, id3); | |
404 | + patients.setStreetPostRestId(id4); | |
405 | + } | |
406 | + } | |
407 | + } | |
408 | + } | |
409 | + | |
410 | + patients.setAddressPostRest(getString(map.get("P_POSTPARTUMSTREET"))); // 详细地址 | |
411 | + | |
412 | + //----------------------产后修养地 | |
413 | + | |
414 | + patients.setHusbandName(getString(map.get("P_HUSBANDNAME"))); //丈夫名称 | |
415 | + patients.setHusbandBirth(getDate(map.get("P_HUSBANDBIRTHDAY"))); //丈夫生日 | |
416 | + patients.setHusbandPhone(getString(map.get("P_HUSBANDMOBILEPHONE"))); //丈夫电话 | |
417 | + patients.setHworkUnit(getString(map.get("P_HUSBANDUNITWORK"))); //丈夫工作单位 | |
418 | + | |
419 | + String hprofessionTypeId = getString(map.get("P_HUSBANDOCCUPATIONID"));// 职业 | |
420 | + if (hprofessionTypeId != null && !"".equals(hprofessionTypeId)) | |
421 | + { | |
422 | + String professionTypeName = getOracleBasicConfig(hprofessionTypeId); | |
423 | + String id = getMongoBasicConfig(professionTypeName, SystemConfig.PROFESSION_TYPE_ID); | |
424 | + patients.setHprofessionTypeId(id); | |
425 | + } | |
426 | + | |
427 | + String P_HUSBANDCARDTYPE = getString(map.get("P_HUSBANDCARDTYPE")); //丈夫证件类型 | |
428 | + String hcardTypeName = getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + P_HUSBANDCARDTYPE + "'")); | |
429 | + if (hcardTypeName != null && !"".equals(hcardTypeName)) | |
430 | + { | |
431 | + String id = getMongoBasicConfig(hcardTypeName, SystemConfig.CERTE_TYPE_ID); | |
432 | + patients.setHcertificateTypeId(id); | |
433 | + } | |
434 | + patients.setHcertificateNum(getString(map.get("P_HUSBANDCARDNO"))); //证件号码 | |
435 | + | |
436 | + | |
437 | + String hlevel = getString(map.get("P_HUSBANDEDUCATIONLEVEL"));//丈夫文化程度 | |
438 | + if (hlevel != null && !"".equals(hlevel)) | |
439 | + { | |
440 | + String plevelName = getOracleBasicConfig(hlevel); | |
441 | + String id = getMongoBasicConfig(plevelName, SystemConfig.LEVEL_TYPE_ID); | |
442 | + patients.setHlevelTypeId(id); | |
443 | + } | |
444 | + | |
445 | + | |
446 | + String hguoji = getString(map.get("P_HUSBANDCOUNTRY"));//丈夫国籍 | |
447 | + if (hguoji != null && !"".equals(hguoji)) | |
448 | + { | |
449 | + String guoJiName = getOracleBasicConfig(hguoji); | |
450 | + String id = getMongoBasicConfig(guoJiName, SystemConfig.COUNTRY_TYPE_ID); | |
451 | + patients.setHcountryId(id); | |
452 | + } | |
453 | + | |
454 | + String P_HUSBANDNATION = getString(map.get("P_HUSBANDNATION")); //丈夫民族 | |
455 | + if (P_HUSBANDNATION != null && !"".equals(P_HUSBANDNATION)) | |
456 | + { | |
457 | + String pnationName = getOracleBasicConfig(P_HUSBANDNATION); | |
458 | + String id = getMongoBasicConfig(pnationName, SystemConfig.NATION_TYPE_ID); | |
459 | + patients.setHnationId(id); | |
460 | + } | |
461 | + | |
462 | + //------丈夫户口所在地 | |
463 | + | |
464 | + String hproviceId = getString(map.get("P_HUSBANDRRPROVINCE")); | |
465 | + if (hproviceId != null && !"".equals(hproviceId)) | |
466 | + { | |
467 | + String name = getOracleBasicConfig(hproviceId); | |
468 | + String id1 = getMongoBasicConfig(name, SystemConfig.LIVE_TYPE_ID); | |
469 | + patients.setProvincePostRestId(id1); | |
470 | + | |
471 | + String hcityId = getString(map.get("P_HUSBANDRRCITY")); | |
472 | + if (hcityId != null && !"".equals(hcityId)) | |
473 | + { | |
474 | + String nameCity = getOracleBasicConfig(hcityId); | |
475 | + String id2 = getMongoBasicConfig(nameCity, id1); | |
476 | + patients.setCityPostRestId(id2); | |
477 | + | |
478 | + String hareId = getString(getString(map.get("P_HUSBANDRRCOUNTY"))); | |
479 | + if (hareId != null && !"".equals(hareId)) | |
480 | + { | |
481 | + String nameArea = getOracleBasicConfig(hareId); | |
482 | + String id3 = getMongoBasicConfig(nameArea, id2); | |
483 | + patients.setAreaPostRestId(id3); | |
484 | + | |
485 | + String hstreetId = getString(map.get("P_HUSBANDRRTOWNSHIP")); | |
486 | + if (hstreetId != null && !"".equals(hstreetId)) | |
487 | + { | |
488 | + String nameStreet = getOracleBasicConfig(hstreetId); | |
489 | + String id4 = getMongoBasicConfig(nameStreet, id3); | |
490 | + patients.setStreetPostRestId(id4); | |
491 | + } | |
492 | + } | |
493 | + } | |
494 | + } | |
495 | + | |
496 | + patients.setAddressPostRest(getString(map.get("P_HUSBANDRRSTREET"))); // 详细地址 | |
497 | + patients.setHworkUnit(getString(map.get("P_FILENUMBER"))); //建档编号 | |
498 | + patients.setFileCode(getString(map.get("P_CLINICNO"))); //就诊卡号 | |
499 | + | |
500 | + mongoTemplate.save(patients); | |
501 | + syncChuZhen(person.getId(),patients.getId(),mongoTemplate); | |
502 | + syncFuzhen(person.getId(),patients.getId(),mongoTemplate); | |
503 | + } | |
504 | + } | |
505 | + | |
506 | + private static void syncChuZhen(String pid,String parentId, MongoTemplate mongoTemplate) | |
507 | + { | |
508 | + List<Map<String,Object>> list = getListDataBySql(" SELECT * FROM MOMMY_FIRSTEXAMINE f where replace(f.FE_TRIAGEORDERNO,'-','') = '" + parentId + "'"); | |
509 | + for(Map<String,Object> map : list) | |
510 | + { | |
511 | + AntExChuModel chuModel = new AntExChuModel(); | |
512 | + | |
513 | + chuModel.setParentId(parentId); | |
514 | + chuModel.setPid(pid); | |
515 | + chuModel.setId(getString(map.get("FE_ID"))); | |
516 | + | |
517 | + chuModel.setDueDate(getDate(map.get("FE_EXPECTEDDATECONFINEMENT"))); | |
518 | + chuModel.setLastMenses(getDate(map.get("FE_LASTMENSTRUALPERIOD"))); | |
519 | + chuModel.setcDueWeek(getString(map.get("FE_PREGNANCYWEEK"))); | |
520 | + chuModel.setPastHistory(getString(map.get(""))); | |
521 | + chuModel.setFamilyHistory(getString(map.get(""))); | |
522 | + chuModel.setPersonalHistory(getString(map.get(""))); | |
523 | + chuModel.setYmjzHistory(getString(map.get(""))); | |
524 | + chuModel.setYwgmHistory(getString(map.get(""))); | |
525 | + chuModel.setFksxHistory(getString(map.get(""))); | |
526 | + chuModel.setYsfyHistory(getString(map.get(""))); | |
527 | + chuModel.setPregnancyTimes(getInteger(map.get(""))); | |
528 | + chuModel.setProdTime(getInteger(map.get(""))); | |
529 | + chuModel.setDelivery(getInteger(map.get(""))); | |
530 | + chuModel.setPlanedProd(getInteger(map.get(""))); | |
531 | + chuModel.setAbortion(getInteger(map.get(""))); | |
532 | + chuModel.setStillbirth(getInteger(map.get(""))); | |
533 | + chuModel.setStillChan(getInteger(map.get(""))); | |
534 | + chuModel.setNeoDeath(getInteger(map.get(""))); | |
535 | + chuModel.setBirthDefect(getInteger(map.get(""))); | |
536 | + chuModel.setHeight(getString(map.get("FE_HEIGHT"))); | |
537 | + chuModel.setWeight(getString(map.get("FE_WEIGHT"))); | |
538 | + chuModel.setYqWeight(getString(map.get("FE_PREGNANCYWEIGHT"))); | |
539 | + chuModel.setBaricIndex(getString(map.get("FE_BMI"))); | |
540 | + chuModel.setCestationInfo(getString(map.get(""))); | |
541 | + chuModel.setGonggao(getString(map.get("FE_UTERUSHEIGHT"))); | |
542 | + chuModel.setFuwei(getString(map.get("FE_ABGIRTH"))); | |
543 | + | |
544 | + Integer tireNum = 1; | |
545 | + if (map.get("FE_ISSECOND") !=null ) | |
546 | + { | |
547 | + tireNum = getInteger(map.get("FE_ISSECOND")) == 1 ? 2 : 1; | |
548 | + } | |
549 | + else if (map.get("FE_ISTHIRD") !=null ) | |
550 | + { | |
551 | + tireNum = getInteger(map.get("FE_ISSECOND")) == 1 ? 3 : 1; | |
552 | + } | |
553 | + chuModel.setTireNumber1(String.valueOf(tireNum)); | |
554 | + chuModel.setSyjg(getString(map.get(""))); | |
555 | +// chuModel.setPlacentas(); | |
556 | + chuModel.setHeart(getString(map.get("FE_HEART"))); | |
557 | + chuModel.setLungs(getString(map.get("FE_LUNGS"))); | |
558 | + chuModel.setVulva(getString(map.get("FE_VULVA"))); | |
559 | + chuModel.setVagina(getString(map.get("FE_VAGINA"))); | |
560 | + chuModel.setCervical(getString(map.get("FE_CERVICAL"))); | |
561 | + chuModel.setUterus(getString(map.get("FE_UTERUS"))); | |
562 | + chuModel.setFujian(getString(map.get("FE_ATTACHMENT"))); | |
563 | + chuModel.setCreated(getDate(map.get("FE_CREATETIME"))); | |
564 | + | |
565 | + String hid = getString(map.get("FE_HOSPITALID")); | |
566 | + if (hid != null && !"".equals(hid)) | |
567 | + { | |
568 | + String hname = getString(getOralceSingleObjBySql("select h_name from plat_hospital h where h.h_isvalid=1 and h_id = '" + hid + "'")); | |
569 | + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'")); | |
570 | + chuModel.setHospitalId(id); | |
571 | + } | |
572 | + if (map.get("FE_LBLOODPRESSURE") != null) | |
573 | + { | |
574 | + Map<String,Integer> bpmap = new HashMap<>(); | |
575 | + bpmap.put("ssy",getInteger(map.get("FE_LBLOODPRESSURE"))); | |
576 | + bpmap.put("szy",getInteger(map.get("FE_LBLOODPRESSURE"))); | |
577 | + | |
578 | + chuModel.setBp(JsonUtil.obj2Str(bpmap)); | |
579 | + } | |
580 | + | |
581 | + mongoTemplate.save(chuModel); | |
582 | + } | |
583 | + } | |
584 | + | |
585 | + private static void syncFuzhen(String pid,String parentId, MongoTemplate mongoTemplate) | |
586 | + { | |
587 | + String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT A.ER_ID AS ID,\n" + | |
588 | + " '' AS PID,\n" + | |
589 | + " B.P_NO AS PARENTID,\n" + | |
590 | + " (CASE WHEN ABS(MOD((FLOOR(A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD)+1),7))=0 \n" + | |
591 | + " THEN '孕'||TO_CHAR(ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)))||'周'\n" + | |
592 | + " ELSE '孕'||TO_CHAR(ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)))||'周+'||TO_CHAR(ABS(MOD((FLOOR(A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD)+1),7)))||'天'\n" + | |
593 | + " END) AS CURRENTDUEDATE,\n" + | |
594 | + " A.ER_CHIEF AS CHIEFCOMPLAINT,\n" + | |
595 | + " A.ER_WEIGHT AS WEIGHT,\n" + | |
596 | + " '{\"ssy\":'||A.ER_BBLOODPRESSURE||',\"szy\":'||A.ER_HBLOODPRESSURE||'}' AS BP,\n" + | |
597 | + " A.ER_UTERUSHEIGHT AS GONGGAO,\n" + | |
598 | + " A.ER_CIRCUMFERENCE AS ABDOMINALCIRCUMFERENCE,\n" + | |
599 | + " DECODE(A.ER_WATEREDEMA,'-',1,'++',2,'+++',3,'++++',4) AS EDEMA, \n" + | |
600 | + " (CASE WHEN 1=1\n" + | |
601 | + " --A.ER_FETALPOSITION_THD IS NOT NULL AND A.ER_FETALPOSITION_SEC IS NOT NULL AND A.ER_FETALPOSITION IS NOT NULL\n" + | |
602 | + " THEN '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
603 | + " TO_CHAR(DECODE(A.ER_FETALPOSITION,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
604 | + " '\",\"fetalPresentation\":\"'||\n" + | |
605 | + " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
606 | + " '\",\"join\":\"'||\n" + | |
607 | + " TO_CHAR(DECODE(A.ER_LINK,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
608 | + " '\"},{\"heartRate\":\"'||\n" + | |
609 | + " A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
610 | + " TO_CHAR(DECODE(A.ER_FETALPOSITION_SEC,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
611 | + " '\",\"fetalPresentation\":\"'||\n" + | |
612 | + " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_SEC,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
613 | + " '\",\"join\":\"'||\n" + | |
614 | + " TO_CHAR(DECODE(A.ER_LINK_SEC,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
615 | + " '\"},{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
616 | + " TO_CHAR(DECODE(A.ER_FETALPOSITION_THD,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
617 | + " '\",\"fetalPresentation\":\"'||\n" + | |
618 | + " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_THD,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
619 | + " '\",\"join\":\"'||\n" + | |
620 | + " TO_CHAR(DECODE(A.ER_LINK_THD,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
621 | + " '\"}]'\n" + | |
622 | + " END) AS TIREDATA,\n" + | |
623 | + " A.ER_WHITEBLOOD AS HEMOGLOBIN,\n" + | |
624 | + " A.ER_URINARYPROTEIN AS URINEPROTEIN,\n" + | |
625 | + " A.ER_B AS BCHAO,\n" + | |
626 | + " A.ER_BLOODGLUCOSESCREENING AS BLOODSUGAR,\n" + | |
627 | + " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" + | |
628 | + " A.ER_CLASSIFICATION AS TYPE,\n" + | |
629 | + " A.ER_DEAL AS TREATMENTOPINION,\n" + | |
630 | + " A.ER_CHECKDATE AS CHECKDATE,\n" + | |
631 | + " A.ER_NEXTDATE AS NEXTCHECKTIME,\n" + | |
632 | + " A.ER_CREATETIME AS CREATED,\n" + | |
633 | + " A.ER_OPERTIME AS MODIFIED,\n" + | |
634 | + " H.E_HOSPITALID AS HOSPITALID,\n" + | |
635 | + " ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)) AS CDUEWEEK,\n" + | |
636 | + " B.P_ISVALID AS YN\n" + | |
637 | + " \n" + | |
638 | + "FROM \n" + | |
639 | + " MOMMY_EXAMINERESULT A --初诊表\n" + | |
640 | + "----孕产婴用户表\n" + | |
641 | + "INNER JOIN MOMMY_PATIENT B ON A.ER_TRIAGEORDERNO=B.P_NO AND B.P_ISVALID=1\n" + | |
642 | + "--平台用户表 \n" + | |
643 | + "INNER JOIN PLAT_PATIENT C ON B.P_PLATPATIENTID=C.P_ID AND C.P_ISVALID=1\n" + | |
644 | + "--医生表\n" + | |
645 | + "INNER JOIN MOMMY_EMPLOYEE H ON H.E_ISVALID=1 AND A.ER_CREATOR=H.E_ID\n" + | |
646 | + "--医院表\n" + | |
647 | + "INNER JOIN PLAT_HOSPITAL F ON F.H_ID=H.E_HOSPITALID AND F.H_ISVALID=1 \n" + | |
648 | + "--高危数据\n" + | |
649 | + "LEFT JOIN \n" + | |
650 | + " (\n" + | |
651 | + " SELECT T.ME_EXAMINID,WMSYS.WM_CONCAT(T.HIGH_RISK_FACTOR) AS HIGH_RISK_FACTOR,WMSYS.WM_CONCAT(DISTINCT T.HIGH_RISK_GRADE) AS HIGH_RISK_GRADE,SUM(T.HIGH_RISK_VALUE) AS HIGH_RISK_VALUE,WMSYS.WM_CONCAT(T.HIGH_RISK_ID) AS HIGH_RISK_ID\n" + | |
652 | + " FROM \n" + | |
653 | + " (SELECT J.ME_EXAMINID,K.DC_NAME AS HIGH_RISK_FACTOR,L.DC_NAME AS HIGH_RISK_GRADE,TO_NUMBER(K.DC_NO) AS HIGH_RISK_VALUE,LL.ID AS HIGH_RISK_ID\n" + | |
654 | + " FROM \n" + | |
655 | + " --高危风险关系表\n" + | |
656 | + " MOMMY_EXAMINWARNING J\n" + | |
657 | + " --高危内容\n" + | |
658 | + " INNER JOIN PLAT_DATACONTENT K ON J.ME_WORNINGID = K.DC_ID AND K.DC_ISVALID=1 AND K.DC_DATATYPEID='fb43fd5a-b153-4cb9-9180-c46f5612ba43'\n" + | |
659 | + " --高危等级\n" + | |
660 | + " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1\n" + | |
661 | + " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME\n" + | |
662 | + " -- UNION ALL \n" + | |
663 | + " --其他高危评分\n" + | |
664 | + " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" + | |
665 | + " )T\n" + | |
666 | + " GROUP BY T.ME_EXAMINID \n" + | |
667 | + " )TT ON A.ER_ID=TT.ME_EXAMINID where replace(p_no,'-','') = '" + parentId + "') A WHERE ROWNUM <= 10 ) WHERE RN >= 0 "; | |
668 | + | |
669 | + | |
670 | + List<Map<String, Object>> list = getListDataBySql(sql); | |
671 | + | |
672 | + | |
673 | + | |
674 | + for(Map<String,Object> map : list) | |
675 | + { | |
676 | + AntenatalExaminationModel antxModel = new AntenatalExaminationModel(); | |
677 | + antxModel.setPid(pid); | |
678 | + antxModel.setParentId(parentId); | |
679 | + antxModel.setId(getString(map.get("ID"))); | |
680 | + | |
681 | + antxModel.setCurrentDueDate(getString(map.get("CURRENTDUEDATE"))); | |
682 | + antxModel.setWeight(getDouble(map.get("WEIGHT"))); | |
683 | + antxModel.setBp(getString(map.get("BP"))); | |
684 | + antxModel.setGongGao(getString(map.get("GONGGAO"))); | |
685 | + antxModel.setAbdominalCircumference(getString(map.get("ABDOMINALCIRCUMFERENCE"))); | |
686 | + antxModel.setEdema(getString(map.get("EDEMA"))); | |
687 | + antxModel.setTireNumber(getString(map.get(""))); | |
688 | + | |
689 | + antxModel.setTireData(JsonUtil.toList(getString(map.get("TIREDATA")),Placenta.class)); | |
690 | + | |
691 | + antxModel.setHemoglobin(getString(map.get("HEMOGLOBIN"))); | |
692 | + antxModel.setUrineProtein(getString(map.get("URINEPROTEIN"))); | |
693 | + antxModel.setbChao(getString(map.get("BCHAO"))); | |
694 | + antxModel.setBloodSugar(getString(map.get("BLOODSUGAR"))); | |
695 | + antxModel.setRiskFactor(getString(map.get("RISKFACTOR"))); | |
696 | + antxModel.setRiskScore(getString(map.get(""))); | |
697 | + antxModel.setOtherRisk(getString(map.get(""))); | |
698 | + antxModel.setDiagnosis(getString(map.get(""))); | |
699 | + antxModel.setType(getString(map.get("TYPE"))); | |
700 | + antxModel.setTypeYc(getString(map.get(""))); | |
701 | + antxModel.setTreatmentOpinion(getString(map.get("TREATMENTOPINION"))); | |
702 | + antxModel.setGuide(getString(map.get(""))); | |
703 | + | |
704 | + antxModel.setCheckDoctor(getString(map.get(""))); | |
705 | + antxModel.setCheckDate(getDate(map.get("CHECKDATE"))); | |
706 | + antxModel.setNextCheckTime(getDate(map.get("NEXTCHECKTIME"))); | |
707 | + antxModel.setYn(getInteger(map.get("YN"))); | |
708 | + antxModel.setCreated(getDate(map.get("CREATED"))); | |
709 | + antxModel.setModified(getDate(map.get("MODIFIED"))); | |
710 | + antxModel.setHospitalId(getString(map.get("HOSPITALID"))); | |
711 | + antxModel.setcDueWeek(getString(map.get("CDUEWEEK"))); | |
712 | + | |
713 | + | |
714 | + antxModel.setChiefComplaint(getString(map.get("CHIEFCOMPLAINT"))); | |
715 | + antxModel.setcDueWeek(getString(map.get("CDUEWEEK"))); | |
716 | + mongoTemplate.save(antxModel); | |
717 | + } | |
718 | + } | |
719 | + | |
720 | + public static void syncBabyData() { | |
721 | + List<Map<String, Object>> list = getListDataBySql(" SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (select replace(m.PI_ID,'-','') as ID,m.* from MOMMY_PATIENTINFO m) A WHERE ROWNUM <= 10 ) WHERE RN >= 0 "); | |
722 | + | |
723 | + | |
724 | + MongoTemplate mongoTemplate = getMongoTemplate(); | |
725 | + | |
726 | + for (Map<String, Object> map : list) { | |
727 | + | |
728 | + PersonModel personModel = new PersonModel(); | |
729 | + personModel.setPhone(getString(map.get("PI_MOTHERPHONE"))); | |
730 | + personModel.setName(getString(map.get("PI_NAME"))); | |
731 | + personModel.setCardNo(getString(map.get("PI_IDENTITYCARDNUMBER"))); | |
732 | + personModel.setBirth(getDate(map.get("PI_BIRTHDAY"))); | |
733 | + personModel.setType(2); | |
734 | + personModel.setYn(YnEnums.YES.getId()); | |
735 | + personModel.setCreated(getDate(map.get("PI_CREATETIME"))); | |
736 | + personModel.setModified(getDate(map.get("PI_OPERTIME"))); | |
737 | + | |
738 | + mongoTemplate.save(personModel); | |
739 | + | |
740 | + BabyModel model = new BabyModel(); | |
741 | + model.setId(getString(map.get("ID"))); | |
742 | + model.setPid(personModel.getId()); | |
743 | + model.setCreated(getDate(map.get("PI_CREATETIME"))); | |
744 | + model.setModified(getDate(map.get("PI_OPERTIME"))); | |
745 | + model.setBirth(getDate(map.get("PI_BIRTHDAY"))); | |
746 | + model.setAddress(getString(map.get("PI_ADDRESS"))); | |
747 | + | |
748 | + model.setFname(getString(map.get("PI_FATHERNAME"))); | |
749 | + model.setFphone(getString(map.get("PI_FATHERPROFESSION"))); | |
750 | + model.setFbirth(getDate(map.get(""))); | |
751 | + | |
752 | + | |
753 | + String fproTypeId = getString(map.get("PI_FATHERPROFESSION")); | |
754 | + if (fproTypeId != null && !"".equals(fproTypeId)) { | |
755 | + String fproTypeName = getOracleBasicConfig(fproTypeId); | |
756 | + String id = getMongoBasicConfig(fproTypeName, SystemConfig.PROFESSION_TYPE_ID); | |
757 | + model.setFproTypeId(id); | |
758 | + } | |
759 | + | |
760 | + model.setFcertNo(getString(map.get(""))); | |
761 | + model.setFcertTypeId(getString(map.get(""))); | |
762 | + | |
763 | + String fLevelId = getString(map.get("PI_BBCULTURE")); | |
764 | + if (fLevelId != null && !"".equals(fLevelId)) { | |
765 | + String fLevelName = getOracleBasicConfig(fLevelId); | |
766 | + String id = getMongoBasicConfig(fLevelName, SystemConfig.LEVEL_TYPE_ID); | |
767 | + model.setfLevelId(id); | |
768 | + } | |
769 | + | |
770 | + model.setMname(getString(map.get("PI_MOTHERNAME"))); | |
771 | + model.setMphone(getString(map.get("PI_MOTHERPHONE"))); | |
772 | + model.setMbirth(getDate(map.get(""))); | |
773 | + | |
774 | + String mproTypeId = getString(map.get("PI_MATHERPROFESSION")); | |
775 | + if (mproTypeId != null && !"".equals(mproTypeId)) { | |
776 | + String mproTypeName = getOracleBasicConfig(mproTypeId); | |
777 | + String id = getMongoBasicConfig(mproTypeName, SystemConfig.PROFESSION_TYPE_ID); | |
778 | + model.setMproTypeId(id); | |
779 | + } | |
780 | + | |
781 | + model.setMcertNo(getString(map.get(""))); | |
782 | + model.setMcertTypeId(getString(map.get(""))); | |
783 | + | |
784 | + String mLevelId = getString(map.get("PI_MMCULTURE")); | |
785 | + if (mLevelId != null && !"".equals(mLevelId)) { | |
786 | + String mLevelName = getOracleBasicConfig(fLevelId); | |
787 | + String id = getMongoBasicConfig(mLevelName, SystemConfig.LEVEL_TYPE_ID); | |
788 | + model.setmLevelId(id); | |
789 | + } | |
790 | + | |
791 | + String zhuchanOrg = getString(map.get("PI_BIRTHASPHYXIA")); | |
792 | + if (zhuchanOrg != null && !"".equals(zhuchanOrg)) { | |
793 | + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + zhuchanOrg + "'")); | |
794 | + model.setDeliverOrg(id); | |
795 | + } | |
796 | + | |
797 | + model.setCardNo(getString(map.get("PI_IDENTITYCARDNUMBER"))); | |
798 | + | |
799 | + String buildHospitalId = getString(map.get("PI_BOOKBUILDINGHOSPITALID")); | |
800 | + | |
801 | + | |
802 | + if (buildHospitalId != null && !"".equals(buildHospitalId)) { | |
803 | + String hname = getString(getOralceSingleObjBySql("select h_name from plat_hospital h where h.h_isvalid=1 and h_id = '" + buildHospitalId + "'")); | |
804 | + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'")); | |
805 | + model.setHospitalId(id); | |
806 | + } | |
807 | + | |
808 | + model.setBuildType(1); | |
809 | + model.setSex(getInteger(map.get("PI_SEX"))); | |
810 | + model.setName(getString(map.get("PI_NAME"))); | |
811 | + Integer yn = getInteger(map.get("PI_ISDELETE")); | |
812 | + model.setYn(yn); | |
813 | + | |
814 | + model.setDueType(getString(map.get(""))); | |
815 | + model.setFetusCount(getString(map.get(""))); | |
816 | + model.setDueCount(getString(map.get(""))); | |
817 | + model.setBabyWeight(getString(map.get("PI_WEIGHT"))); | |
818 | + model.setBabyHeight(getString(map.get("PI_HEIGHT"))); | |
819 | + model.setBabyHead(getString(map.get("PI_HEADSIZE"))); | |
820 | + model.setMalformation(getInteger(map.get(""))); | |
821 | + | |
822 | + | |
823 | + String doctorId = getString(map.get("PI_DOCTORID")); | |
824 | + if (doctorId != null && !"".equals(doctorId)) { | |
825 | + String hname = getString(getOralceSingleObjBySql("select e.e_name from mommy_employee e where e.e_id = '" + doctorId + "'")); | |
826 | + String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + hname + "'")); | |
827 | + model.setBuildDoctor(id); | |
828 | + } | |
829 | + | |
830 | + model.setBuildDate(getDate(map.get("PI_CREATETIME"))); | |
831 | + | |
832 | + Integer isVip = getInteger(map.get("PI_ISVIP")); | |
833 | + Integer status = getInteger(map.get("PI_SERVICETYPE")); | |
834 | + if (isVip == 0) { | |
835 | + model.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); | |
836 | + if (status != null) | |
837 | + { | |
838 | + if (status == 0) | |
839 | + { | |
840 | + model.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); | |
841 | + } | |
842 | + else | |
843 | + { | |
844 | + model.setServiceStatus(ServiceStatusEnums.NO_OPEN.getId()); | |
845 | + } | |
846 | + | |
847 | + } | |
848 | + | |
849 | + } | |
850 | + else if (isVip == 1) | |
851 | + { | |
852 | + model.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); | |
853 | + | |
854 | + if (status == 0) | |
855 | + { | |
856 | + model.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); | |
857 | + } | |
858 | + else if (status == 1) | |
859 | + { | |
860 | + model.setServiceStatus(ServiceStatusEnums.SUSPEND.getId()); | |
861 | + } | |
862 | + else if (status == 2) | |
863 | + { | |
864 | + model.setServiceStatus(ServiceStatusEnums.UNSUBSCRIBE.getId()); | |
865 | + } | |
866 | + else if (status == 3) | |
867 | + { | |
868 | + model.setServiceStatus(ServiceStatusEnums.UNSUBSCRIBE.getId()); | |
869 | + } | |
870 | + else if (status == 4) | |
871 | + { | |
872 | + model.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId()); | |
873 | + } | |
874 | + } | |
875 | + | |
876 | + model.setVcCardNo(getString(map.get("PI_CARDNO"))); | |
877 | + model.setApgarScore(getString(map.get(""))); | |
878 | + model.setAsphyxiaM(getString(map.get(""))); | |
879 | + model.setPregnancyOut(getString(map.get("PI_BIRTHASPHYXIA"))); | |
880 | + model.setBabyHealthy(getString(map.get(""))); | |
881 | + model.setContactStartM(getString(map.get(""))); | |
882 | + model.setContactM(getString(map.get(""))); | |
883 | + model.setEarlySuck(getString(map.get(""))); | |
884 | + model.setDiagnose(getString(map.get(""))); | |
885 | + model.setNextDate(getDate(map.get(""))); | |
886 | + model.setLastHighRisk(getInteger(map.get("PI_KIDSTYPE"))); | |
887 | + String dueWeek = getString(map.get("PI_GESTATIONALWEEKS")); | |
888 | + if (dueWeek != null && !"".equals(dueWeek)) | |
889 | + { | |
890 | + String sp = "\\u002B"; | |
891 | + model.setDueWeek(Integer.parseInt(dueWeek.split(sp)[0])); | |
892 | + } | |
893 | + | |
894 | + mongoTemplate.save(model); | |
895 | + syncBabyCheck(model.getId(),mongoTemplate); | |
896 | + } | |
897 | + } | |
898 | + | |
899 | + public static void syncBabyCheck(String parentId,MongoTemplate mongoTemplate) | |
900 | + { | |
901 | + | |
902 | + | |
903 | + String sql = " select * from MOMMY_PATIENTINFO MP left join MOMMY_CHILDEXAMINRECORD MC ON MP.PI_ID = MC.CER_PATIENTID WHERE MP.Pi_Id= '"+parentId+"'"; | |
904 | + | |
905 | + List<Map<String, Object>> list = getListDataBySql(sql); | |
906 | + for (Map<String, Object> map : list) | |
907 | + { | |
908 | + BabyCheckModel checkModel = new BabyCheckModel(); | |
909 | + | |
910 | + checkModel.setId(getString(map.get("CER_ID"))); | |
911 | + checkModel.setYn(YnEnums.YES.getId()); | |
912 | + checkModel.setBuildId(getString(map.get("CER_PATIENTID"))); | |
913 | + checkModel.setCheckDate(getDate(map.get("CER_EXAMINDATE"))); | |
914 | + | |
915 | + String hname = getString(map.get("CER_EXAMINHOSPITAL")); | |
916 | + if (hname != null && !"".equals(hname)) | |
917 | + { | |
918 | + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'")); | |
919 | + checkModel.setHospitalId(id); | |
920 | + } | |
921 | + checkModel.setCreated(getDate(map.get("CER_CREATETIME"))); | |
922 | + checkModel.setModified(getDate(map.get("CER_MODIFIEDTIME"))); | |
923 | + checkModel.setHighRisk(getInteger(map.get(""))); | |
924 | + checkModel.setNextDate(getDate(map.get("CER_NEXTEXAMINDATE"))); | |
925 | + | |
926 | + String doctorName = getString(map.get("CER_DOCTORSIGNATURE")); | |
927 | + if (doctorName != null && !"".equals(doctorName)) | |
928 | + { | |
929 | + String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + doctorName + "'")); | |
930 | + checkModel.setCheckDoctor(id); | |
931 | + } | |
932 | + | |
933 | + checkModel.setGuideSuggest(getString(map.get("CER_DIRECTIVEOPINION"))); | |
934 | + checkModel.setHandlSuggest(getString(map.get("CER_REMARKS"))); | |
935 | + | |
936 | + checkModel.setMainFoster(getString(map.get(""))); | |
937 | + | |
938 | + | |
939 | + List<Map<String,Object>> checkItems = getListDataBySql("SELECT A.e_Result,C.Ei_Name,B.CER_ID,B.CER_PATIENTID\n" + | |
940 | + " FROM MOMMY_EXAMINE A " + | |
941 | + " INNER JOIN MOMMY_CHILDEXAMINRECORD B ON A.E_CHILDEXAMINID=B.CER_ID " + | |
942 | + " INNER JOIN MOMMY_EXAMINEINFO C ON A.E_EXAMINEID=C.EI_ID " + | |
943 | + | |
944 | + " and B.CER_PATIENTID = '"+getString(map.get("CER_PATIENTID"))+"' " + | |
945 | + " and B.Cer_Id='"+getString(map.get("CER_ID"))+"'"); | |
946 | + | |
947 | + for (Map<String,Object> item : checkItems) | |
948 | + { | |
949 | + String result =getString(item.get("E_RESULT")); | |
950 | + String itemName = getString(item.get("EI_NAME")); | |
951 | + if ("喂养方式".equals(getString(item.get("EI_NAME")))) | |
952 | + { | |
953 | + checkModel.setFeedType(WyTypeEnums.getIdByName(result)); | |
954 | + } | |
955 | + else if ("户外活动".equals(getString(item.get("EI_NAME")))) | |
956 | + { | |
957 | + checkModel.setActivity(result); | |
958 | + } | |
959 | + else if ("服用维生素D".equals(getString(item.get("EI_NAME")))) | |
960 | + { | |
961 | + checkModel.setVitaminD(result); | |
962 | + } | |
963 | + else if ("体温".equals(itemName)) | |
964 | + { | |
965 | + checkModel.setTemperature(result); | |
966 | + } | |
967 | + else if ("身长".equals(itemName)) | |
968 | + { | |
969 | + checkModel.setHeight(result); | |
970 | + } | |
971 | + else if ("体重".equals(itemName)) | |
972 | + { | |
973 | + checkModel.setWeight(result); | |
974 | + } | |
975 | + else if ("身高别体重".equals(itemName)) | |
976 | + { | |
977 | + checkModel.setHeightWeight(result); | |
978 | + } | |
979 | + else if ("头围".equals(itemName)) | |
980 | + { | |
981 | + checkModel.setHeightWeight(result); | |
982 | + } | |
983 | + else if ("胸围".equals(itemName)) | |
984 | + { | |
985 | + checkModel.setChestw(result); | |
986 | + } | |
987 | + else if ("体格发育评价".equals(itemName)) | |
988 | + { | |
989 | + checkModel.setGrowthEvaluate(result); | |
990 | + } | |
991 | + else if ("经皮胆红素".equals(itemName)) | |
992 | + { | |
993 | + //头:9.5|胸:10.0|腹:10.0 | |
994 | + String[] arrs = result.split("|"); | |
995 | + for (String str : arrs) | |
996 | + { | |
997 | + if (str.startsWith("头")) | |
998 | + { | |
999 | + checkModel.setBilirubinHead(str.split(":")[1]); | |
1000 | + } | |
1001 | + else if (str.startsWith("胸")) | |
1002 | + { | |
1003 | + checkModel.setBilirubinChest(str.split(":")[1]); | |
1004 | + } | |
1005 | + else if (str.startsWith("腹")) | |
1006 | + { | |
1007 | + checkModel.setBilirubinBelly(str.split(":")[1]); | |
1008 | + } | |
1009 | + } | |
1010 | + } | |
1011 | + else if ("前囟".equals(itemName)) | |
1012 | + { | |
1013 | + //{"yeaOrNo":"no","wbhcc1":"5","wbhcc2":"5"} | |
1014 | + //未闭合|1*1 未闭合|1.5×1.5 | |
1015 | + Map bregma = new HashMap(); | |
1016 | + if ("闭合".equals(result)) | |
1017 | + { | |
1018 | + bregma.put("yeaOrNo","yes"); | |
1019 | + } | |
1020 | + else if (result != null && result.startsWith("未闭合")) | |
1021 | + { | |
1022 | + bregma.put("yeaOrNo", "no"); | |
1023 | + String[] arrs = result.split("|"); | |
1024 | + if (arrs[1] != null && !"".equals(arrs[1])) | |
1025 | + { | |
1026 | + String[] items = arrs[1].split("×").length == 0 ? arrs[1].split("\\u002A") : arrs[1].split("×"); | |
1027 | + if (items != null && items.length > 0) | |
1028 | + { | |
1029 | + if (items.length == 1) | |
1030 | + { | |
1031 | + bregma.put("wbhcc1",items[0]); | |
1032 | + } | |
1033 | + else | |
1034 | + { | |
1035 | + bregma.put("wbhcc1",items[0]); | |
1036 | + bregma.put("wbhcc2",items[1]); | |
1037 | + } | |
1038 | + } | |
1039 | + | |
1040 | + } | |
1041 | + } | |
1042 | + checkModel.setBregma(result); | |
1043 | + } | |
1044 | + else if ("出牙数".equals(itemName)) | |
1045 | + { | |
1046 | + checkModel.setTooth(result); | |
1047 | + } | |
1048 | + else if ("面色".equals(itemName)) | |
1049 | + { | |
1050 | + checkModel.setFaceColor(result); | |
1051 | + } | |
1052 | + else if ("眼".equals(itemName)) | |
1053 | + { | |
1054 | + checkModel.setEye(result); | |
1055 | + } | |
1056 | + else if ("眼【视力】".equals(itemName)) | |
1057 | + { | |
1058 | + checkModel.setEyesight(result); | |
1059 | + } | |
1060 | + else if ("耳".equals(itemName)) | |
1061 | + { | |
1062 | + checkModel.setEar(result); | |
1063 | + } | |
1064 | + else if ("听力".equals(itemName)) | |
1065 | + { | |
1066 | + checkModel.setHearing(result); | |
1067 | + } | |
1068 | + else if ("颈部/胸部".equals(itemName)) | |
1069 | + { | |
1070 | + checkModel.setNeck(result); | |
1071 | + checkModel.setChest(result); | |
1072 | + } | |
1073 | + else if ("腹部".equals(itemName)) | |
1074 | + { | |
1075 | + checkModel.setBelly(result); | |
1076 | + } | |
1077 | + else if ("脊柱四肢".equals(itemName)) | |
1078 | + { | |
1079 | + checkModel.setSpineFours(result); | |
1080 | + } | |
1081 | + else if ("肛门/外生殖器".equals(itemName)) | |
1082 | + { | |
1083 | + checkModel.setPortaGenitals(result); | |
1084 | + } | |
1085 | + else if ("可疑佝偻病症状".equals(itemName)) | |
1086 | + { | |
1087 | + checkModel.setStoopStatus(result); | |
1088 | + } | |
1089 | + else if ("可疑佝偻病体征".equals(itemName)) | |
1090 | + { | |
1091 | + checkModel.setStoopSign(result); | |
1092 | + } | |
1093 | + else if ("神经系统检查".equals(itemName)) | |
1094 | + { | |
1095 | + checkModel.setNerve(result); | |
1096 | + } | |
1097 | + else if ("骨密度Z值".equals(itemName)) | |
1098 | + { | |
1099 | + checkModel.setBonez(result); | |
1100 | + } | |
1101 | + else if ("血红蛋白值".equals(itemName)) | |
1102 | + { | |
1103 | + checkModel.setHemoglobin(result); | |
1104 | + } | |
1105 | + else if ("白细胞".equals(itemName)) | |
1106 | + { | |
1107 | + checkModel.setWhiteCell(result); | |
1108 | + } | |
1109 | + else if ("白细胞".equals(itemName)) | |
1110 | + { | |
1111 | + checkModel.setWhiteCell(result); | |
1112 | + } | |
1113 | + } | |
1114 | + | |
1115 | + mongoTemplate.save(checkModel); | |
1116 | + } | |
1117 | + | |
1118 | + | |
1119 | + } | |
1120 | + | |
1121 | + | |
1122 | + public static String getMongoBasicConfig(String name,String parentId) | |
1123 | + { | |
1124 | + return getString(getOralceSingleObjBySql("select id from lyms_basicconfig where name='" + name + "' and parentId='" + parentId + "'")); | |
1125 | + } | |
1126 | + | |
1127 | + public static String getOracleBasicConfig(String id) | |
1128 | + { | |
1129 | + return getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + id + "'")); | |
1130 | + } | |
1131 | + | |
1132 | + | |
1133 | + public static String getString(Object obj) | |
1134 | + { | |
1135 | + return obj == null ? null : String.valueOf(obj); | |
1136 | + } | |
1137 | + | |
1138 | + public static Double getDouble(Object obj) | |
1139 | + { | |
1140 | + return obj == null ? null : Double.valueOf(String.valueOf(obj)); | |
1141 | + } | |
1142 | + | |
1143 | + public static Integer getInteger(Object obj) | |
1144 | + { | |
1145 | + return obj == null ? null : Integer.valueOf(String.valueOf(obj)); | |
1146 | + } | |
1147 | + | |
1148 | + public static Date getDate(Object obj) | |
1149 | + { | |
1150 | + return obj == null ? null : (Date)obj; | |
1151 | + } | |
1152 | + | |
1153 | + public static class Placenta{ | |
1154 | + //心率 | |
1155 | + private Double heartRate; | |
1156 | + //胎方位 | |
1157 | + private String fetalPosition; | |
1158 | + //胎先露 | |
1159 | + private String fetalPresentation; | |
1160 | + // 衔接 | |
1161 | + private String join; | |
1162 | + | |
1163 | + public String getFetalPosition() { | |
1164 | + return fetalPosition; | |
1165 | + } | |
1166 | + | |
1167 | + public void setFetalPosition(String fetalPosition) { | |
1168 | + this.fetalPosition = fetalPosition; | |
1169 | + } | |
1170 | + | |
1171 | + public String getFetalPresentation() { | |
1172 | + return fetalPresentation; | |
1173 | + } | |
1174 | + | |
1175 | + public void setFetalPresentation(String fetalPresentation) { | |
1176 | + this.fetalPresentation = fetalPresentation; | |
1177 | + } | |
1178 | + | |
1179 | + public Double getHeartRate() { | |
1180 | + return heartRate; | |
1181 | + } | |
1182 | + | |
1183 | + public void setHeartRate(Double heartRate) { | |
1184 | + this.heartRate = heartRate; | |
1185 | + } | |
1186 | + | |
1187 | + public String getJoin() { | |
1188 | + return join; | |
1189 | + } | |
1190 | + | |
1191 | + public void setJoin(String join) { | |
1192 | + this.join = join; | |
1193 | + } | |
1194 | + } | |
1195 | + | |
1196 | + public static void main(String[] args) | |
1197 | + { | |
1198 | +// MongoTemplate template = getMongoTemplate(); | |
1199 | +// AggregationOperation match = Aggregation.match(Criteria.where("_id").is("88ff423d07bf4d40b4fa331e6fe0e32a")); | |
1200 | +// AggregationOperation group = Aggregation.group("_id"); | |
1201 | +// Aggregation aggregation = Aggregation.newAggregation(match, group); | |
1202 | +// AggregationResults<BabyCheckModel> result = template.aggregate(aggregation, "lyms_patient_test", BabyCheckModel.class); | |
1203 | +// List<BabyCheckModel> list = result.getMappedResults(); | |
1204 | +// System.out.print(list); | |
1205 | +// DBCollection conn = template.getCollection("lyms_patient_test"); | |
1206 | +// conn.up | |
1207 | + | |
1208 | + syncBabyData(); | |
1209 | + } | |
1210 | +} |