Commit 5488b4956052efddcaea28d573c3a11b41e85552
1 parent
d4db6732bc
Exists in
master
and in
1 other branch
fuck ture and false
Showing 5 changed files with 304 additions and 150 deletions
- platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java
- platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java
- platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java
- platform-operate-api/src/main/java/com/lyms/nio/NIOServer.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java
platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java
View file @
5488b49
... | ... | @@ -21,8 +21,7 @@ |
21 | 21 | public static <T> T jkstr2Obj(String content, |
22 | 22 | Class<T> cls) { |
23 | 23 | ObjectMapper objectMapper = new ObjectMapper(); |
24 | - | |
25 | - | |
24 | + objectMapper.setDateFormat(DateUtil.y_m_d_h_m_s); | |
26 | 25 | try { |
27 | 26 | return (T) objectMapper.readValue(content, cls); |
28 | 27 | } catch (IOException e) { |
... | ... | @@ -35,6 +34,7 @@ |
35 | 34 | Object cls) { |
36 | 35 | try { |
37 | 36 | ObjectMapper objectMapper = new ObjectMapper(); |
37 | + objectMapper.setDateFormat(DateUtil.y_m_d_h_m_s); | |
38 | 38 | return objectMapper.writeValueAsString(cls); |
39 | 39 | } catch (Exception e) { |
40 | 40 |
platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java
View file @
5488b49
... | ... | @@ -101,7 +101,7 @@ |
101 | 101 | System.out.println(LymsEncodeUtil.aesEncrypt("com.lyms.platform.pojo.AntenatalExaminationModel", "Lymsh@2016")); |
102 | 102 | System.out.println(LymsEncodeUtil.aesDecrypt("26EB0301C4A2410E90985A3E55856E4B17CABBCE00EE3710B5338326EF3D68CA40298890D135C40B591D77FE529AAC4E","Lymsh@2016")); |
103 | 103 | System.out.println(); |
104 | - String ssss = LymsEncodeUtil.aesDecrypt("8092817F8193D33BE10DE56935C157288FCAC8B7692BECA293504A9D487C207288C0A44ECA93600DC916D943AB6123AE24C1291D79503683D613C576B3704ABE82FA9B1285B343DD091E04C8FFB1BB8C6B0FCD48E397BAB86F484CC534AB6F1F0FAF4BB2B8CCE48F4FD740C102F72D564E92B74D4F463543A39A14D33D6E86E53DD7F5E6827006C1D2C9148C70AA6B397B90CE84E774FCFB5D034E79306BAB24481AC7617B763C4F2B94E71E9C68E2EE0222EB4AD90C2860303BFFDAD3F8F5FCE5C8D26B4D4B14DEBEC8C176A5E19EDA25CF68C1394D435267882C4C8D3D736F84004985A18CA0FF5C100AC40A074981485C7410DB4C4DD101E424E283D7FC3A69914727D5554C2C810862656190567AA211CAEE091BD384271C31DD7276E10FB8CECE0790D59EE18A06ABC1CBC406800057030323C8F3C2C16D9E85E31BE2D63CA31D99FCC5C7E2E1D552779ED5E57AF484BE7F34FBAF0BA5AB6CEB43FA45E231BE428D83ADE2C08CFF0A40E28F8441A16D4A3582B74273F081F4C7E7C672412FAB2E061F0C89DFED5BF6675CC648AE0EABFCC3B87A0316C65590C4F2C7ECB93C4952AC4257BC562D99D9A71E70B3077FA37536B654EF0879BF4B474FCE978059C6FBFDBF35E69D678F9B70E231FA2077B1D2F46B4E7ACAC5592BE63F472F4499DC4A529AA5E95ED41FADDE96378B571AE02F614F124D4DD4AD65A65E7051AC5C4AC46B99B40D4E02E12B25B47A695802B27A888070A3B7B1BC22DE5A9451BB7C09DDB298B5DDB73754339039288DECB1FFD31A0045F8543AA081E29A08DF99F4F48320FC6C6321D6C8932806332B8FDDE30E6CC26A271D429AD79B25DE1D2B9CA51E04BCDCE9BD290932583774FF2790E22C9E0D66FF266C8B3CBB92959CA1C50BB2E92E007FE74F7EE562C6833E69864B1F0D1621F213B05A2BE63B75418A0948D613E0BE8B894D01A7F120850AF98A938FD4DB6AB75E949F5FF0E75AF9A4667C0D4466778CB198B33F526285D90D5809FE7FC862E60A744664B9BFB91A2E43AA3434402EFE9217A7ADF8C519A5B6A48EF852E45E027C8BE9424D79A8096F4C98DE16B0DE2E5740F75C0DDF0AC8192818C6D864F41DBC6C4898EFB692103A97270F4AE03E9300215D65EEDD52473AAD0F83290CA85F9E190B154E34D56E18370F12F33DBD7F35DA476ECF7211000C0508805E2429422A94DBD3296C26D8A859C6FBFDBF35E69D678F9B70E231FA20C0A36E8D6883CAE2D7B9978221B55E60E9BAF730BFDE116772B4DF6EAD107B250E2B987756AB90DC6166A136FEA7010B1FCE2788ADA2367F164094325BD7A323B6C67115C6964F7FE56F4914D0DE29D08787DCB10387B961DAC2F78A57981019EA0C89D13546F29670FA7E2928A7203B0172244B9D4802C76971980AA0859713ABE7D0ADFFDF1EEA22826B31D8DD5C61DB8BFB4C17909F9B098563B7D22DCDED3347C4D4F94FE2D09DCB1F569205ADED73D90BEBF183255D827FA873228C4E092CB47C997D727D57DA3D83F53C3A510686B90C3ABCEE0B49C66327EEC60E83A8086A881E5E398233660FCCA0DE65F4BFC8FD48AF452E6EC3B721A55EFBBA7A362A4C373399B38C787358CBDE1E72EA7D1ECFF79B71DF77D533BE8596F16237667FE6619F15E9676DB849DC6ACBC06DAA776B405D687632895302216F1EDA659962B74F47A5B305623EFE466090EEE6BFE82EB5C98F31E9EBC2E0A4C74C4AF1B7FBB7AA7528C18EB56A29CFE5BF19AE063F5202664D7FEDD2D28B9A09122DEB50A27742855315921018A6A5A8F890C1DE919766A561184D22FC4F6EFB2CD0A2D9ABF1F3678547B1318F1192E8EAF8FA9B6C50C58546DF1C53FD2A4FA204EBF025535D5EAA33B0EE081F12A55A7EFB0C1B582D900D35D1557F56FCD9494AA0C8503E3E565785B656BA2415FB9BFE160A1371777AE606ECAD799A6AB3D11508026585EB0FE6EB05986978EF86E01A92296E52EB58DF88298F747869C5266F737B70DD3009B1763D2E1B3529D066C10E969CAB958D7C1E7CA41FE4D97B2AA9B474B21F17C8926E2D12E2A10FE4B48F5B9180B04DC255EA38B43A7E1301942F3AB9413D0131E91EE0F2657D394CF5FD6A5E1F8088E1E937CAAFE11106F8ECC5D2DF0C5EE4EF5CF507A44699783F51CAD85DF273AFBF6AA4F6E9FD460BC14C1314B774D655002855A3B4ABED752905A7EE63B11B211286E10FB3F1CEA2CAB57634B16F9848C7D418B48D2E84A78F5A7725F57D5EB4314AEC74BCF3D9A88BAD7F125F809505472E18A71CE82747804F655D49EDFAAA78DCC69F11C206E6FCB8F6381892618FA9C6FC95872AE447D7E716DFA778BAF1630A44F66F566F3FFCE683D93D43740CEBE6B6E4CFC0DE474150A861E9FC1C4A02966B3F560F6E8311037547D79962C0B93E097E6D9B07B781AF3A451002E42F9219C3BB06EB860DAF46183B05AAF311EEAAA7A58DADECFA956A00E7505EBE60035AF518D5FF378FA6FEE1123515A4001AEBDEC6FB475D5D442ADE62D5CB", "Lymsh@2016"); | |
104 | + String ssss = LymsEncodeUtil.aesDecrypt("8092817F8193D33BE10DE56935C157288FCAC8B7692BECA293504A9D487C207288C0A44ECA93600DC916D943AB6123AE24C1291D79503683D613C576B3704ABE82FA9B1285B343DD091E04C8FFB1BB8C6B0FCD48E397BAB86F484CC534AB6F1F0FAF4BB2B8CCE48F4FD740C102F72D564E92B74D4F463543A39A14D33D6E86E53DD7F5E6827006C1D2C9148C70AA6B397B90CE84E774FCFB5D034E79306BAB24481AC7617B763C4F2B94E71E9C68E2EE0222EB4AD90C2860303BFFDAD3F8F5FCE5C8D26B4D4B14DEBEC8C176A5E19EDA25CF68C1394D435267882C4C8D3D736F84004985A18CA0FF5C100AC40A074981485C7410DB4C4DD101E424E283D7FC3A69914727D5554C2C810862656190567AA211CAEE091BD384271C31DD7276E10FB8CECE0790D59EE18A06ABC1CBC406800057030323C8F3C2C16D9E85E31BE2D63CA31D99FCC5C7E2E1D552779ED5E57AF484BE7F34FBAF0BA5AB6CEB43FA45E231BE428D83ADE2C08CFF0A40E28F8441A16D4A3582B74273F081F4C7E7C672412FAB2E061F0C89DFED5BF6675CC648AE0EABFCC3B87A0316C65590C4F2C7ECB93C4952AC4257BC562D99D9A71E70B3077FA37536B654EF0879BF4B474FCE978059C6FBFDBF35E69D678F9B70E231FA2077B1D2F46B4E7ACAC5592BE63F472F4499DC4A529AA5E95ED41FADDE96378B571AE02F614F124D4DD4AD65A65E7051AC5C4AC46B99B40D4E02E12B25B47A695802B27A888070A3B7B1BC22DE5A9451BB7C09DDB298B5DDB73754339039288DECB1FFD31A0045F8543AA081E29A08DF99F4F48320FC6C6321D6C8932806332B8FDDE30E6CC26A271D429AD79B25DE1D2B9CA51E04BCDCE9BD290932583774FF2790E22C9E0D66FF266C8B3CBB92959CA1C50BB2E92E007FE74F7EE562C6833E69864B1F0D1621F213B05A2BE63B75418A0948D613E0BE8B894D01A7F120850AF98A938FD4DB6AB75E949F5FF0E75AF9A4667C0D4466778CB198B33F526285D90D5809FE7FC862E60A744664B9BFB91A2E43AA3434402EFE9217A7ADF8C519A5B6A48EF852E45E027C8BE9424D79A8096F4C98DE16B0DE2E5740F75C0DDF0AC8192818C6D864F41DBC6C4898EFB692103A97270F4AE03E9300215D65EEDD52473AAD0F83290CA85F9E190B154E34D56E18370F12F33DBD7F35DA476ECF7211000C0508805E2429422A94DBD3296C26D8A859C6FBFDBF35E69D678F9B70E231FA20C0A36E8D6883CAE2D7B9978221B55E60E9BAF730BFDE116772B4DF6EAD107B250E2B987756AB90DC6166A136FEA7010B1FCE2788ADA2367F164094325BD7A323B6C67115C6964F7FE56F4914D0DE29D08787DCB10387B961DAC2F78A579810198A155AB9D63D2A78654F3447728A6363F0210B9D902AEA9B53916DC687D4E22187C98E4D4849CCFB4729BB910DA123CDDB8BFB4C17909F9B098563B7D22DCDED3347C4D4F94FE2D09DCB1F569205ADED73D90BEBF183255D827FA873228C4E092CB47C997D727D57DA3D83F53C3A510686B90C3ABCEE0B49C66327EEC60E83A8086A881E5E398233660FCCA0DE65F4BFC8FD48AF452E6EC3B721A55EFBBA7A362A4C373399B38C787358CBDE1E72EA7D1ECFF79B71DF77D533BE8596F16237667FE6619F15E9676DB849DC6ACBC06DAA776B405D687632895302216F1EDA659962B74F47A5B305623EFE466090EEE6BFE82EB5C98F31E9EBC2E0A4C74C4AF1B7FBB7AA7528C18EB56A29CFE5BF19AE063F5202664D7FEDD2D28B9A09122DEB50A27742855315921018A6A5A8F890C1DE919766A561184D22FC4F6EFB2CD0A2D9ABF1F3678547B1318F1192E8EAF8FA9B6C50C58546DF1C53FD2A4FA204EBF025535D5EAA33B0EE081F12A55A7EFB0C1B582D900D35D1557F56FCD9494AA0C8503E3E565785B656BA2415FB9BFE160A1371777AE606ECAD799A6AB3D11508026585EB0FE6EB05986978EF86E01A92296E52EB58DF88298F747869C5266F737B70DD3009B1763D2E1B3529D066C10E969CAB958D7C1E7CA41FE4D97B2AA9B474B21F17C8926E2D12E2A10FE4B48F5B9180B04DC255EA38B43A7E1301942F3AB9413D0131E91EE0F2657D394CF5FD6A5E1F8088E1E937CAAFE11106F8ECC5D2DF0C5EE4EF5CF507A44699783F51CAD85DF273AFBF6AA4F6E9FD460BC14C1314B774D655002855A3B4ABED752905A7EE63B11B211286E10FB3F1CEA2CAB57634B16F9848C7D418B48D2E84A78F5A7725F57D5EB4314AEC74BCF3D9A88BAD7F125F809505472E18A71CE82747804F655D49EDFAAA78DCC69F11C206E6FCB8F6381892618FA9C6FC95872AE447D7E716DFA778BAF1630A44F66F566F3FFCE683D93D43740CEBE6B6E4CFC0DE474150A861E9FC1C4A02966B3F560F6E8311037547D79962C0B93E097E6D9B07B781AF3A45100231F33145D04C9F3EB778A7A3E1750062F311EEAAA7A58DADECFA956A00E7505EBE60035AF518D5FF378FA6FEE1123515A4001AEBDEC6FB475D5D442ADE62D5CB", "Lymsh@2016"); | |
105 | 105 | System.out.println(ssss); |
106 | 106 | System.out.println(ssss); |
107 | 107 | UpdateMultiData data = new UpdateMultiData(); |
... | ... | @@ -117,6 +117,10 @@ |
117 | 117 | String s = "{\"query\":{\"parentId\":\"581a91c528b67bb1fa239ce3\"},\"update\":{\"score\":0,\"rRisk\":\"[\\\"年龄??35??\\\"]\"}}"; |
118 | 118 | UpdateMultiData updateMultiData = JsonUtil.str2Obj(s, UpdateMultiData.class); |
119 | 119 | System.out.println(JsonUtil.obj2Str(updateMultiData)); |
120 | + | |
121 | + String patientsStr = "{\"cardNo\":null,\"deliverOrg\":null,\"dueType\":null,\"pcountryId\":null,\"pnationId\":null,\"pprofessionTypeId\":null,\"pcensusTypeId\":null,\"plevelTypeId\":null,\"pworkUnit\":null,\"pliveTypeId\":null,\"pcerteTypeId\":null,\"fileCode\":null,\"bookbuildingDoctor\":null,\"bookbuildingDate\":null,\"hospitalId\":null,\"hcertificateNum\":null,\"hcertificateTypeId\":null,\"hcountryId\":null,\"hnationId\":null,\"hworkUnit\":null,\"hprofessionTypeId\":null,\"haddressRegister\":null,\"hprovinceRegisterId\":null,\"hcityRegisterId\":null,\"hareaRegisterId\":null,\"hstreetRegisterId\":null,\"address\":null,\"provinceId\":null,\"cityId\":null,\"areaId\":null,\"streetId\":null,\"serviceStatus\":null,\"expVip\":null,\"vipEndTime\":null,\"mremark\":null,\"dueStatus\":null,\"buildType\":null,\"addressPostRest\":null,\"provincePostRestId\":null,\"cityPostRestId\":null,\"areaPostRestId\":null,\"streetPostRestId\":null,\"addressRegister\":null,\"provinceRegisterId\":null,\"cityRegisterId\":null,\"areaRegisterId\":null,\"streetRegisterId\":null,\"communityId\":null,\"isVisit\":null,\"id\":\"5d7cbb9ac8554be3a7e149adfefcc54c\",\"username\":null,\"crisis\":null,\"avatar\":null,\"dueDate\":null,\"lastMenses\":null,\"fmDate\":null,\"age\":null,\"phone\":null,\"foreignId\":null,\"publishId\":null,\"publishName\":null,\"yn\":null,\"modified\":null,\"created\":null,\"gender\":null,\"birth\":null,\"type\":null,\"foreignSubId\":null,\"triageOrderNo\":null,\"nextCheckTime\":null,\"patientLevel\":null,\"lastCheckEmployeeId\":null,\"lastReportId\":null,\"riskFactorId\":null,\"firstRiskFactorId\":null,\"riskLevelId\":null,\"riskScore\":null,\"serviceType\":null,\"vip\":null,\"lastReportDoctorName\":null,\"mommyPatientId\":null,\"husbandName\":null,\"husbandPhone\":null,\"husbandBirth\":null,\"vcCardNo\":null,\"hlevelTypeId\":null,\"expType\":null,\"pid\":null,\"enable\":null,\"lastRhTime\":null,\"lastCTime\":\"2016-09-30 10:00:00\",\"postViewTimes\":null,\"operator\":null}\n"; | |
122 | + | |
123 | + | |
120 | 124 | } |
121 | 125 | |
122 | 126 | } |
platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java
View file @
5488b49
... | ... | @@ -166,7 +166,6 @@ |
166 | 166 | syncBaby(map); |
167 | 167 | } catch (Exception e) { |
168 | 168 | ExceptionUtils.catchException(e, "syncbaby thread error.id:"+map); |
169 | - continue; | |
170 | 169 | } |
171 | 170 | } |
172 | 171 | } |
173 | 172 | |
174 | 173 | |
175 | 174 | |
176 | 175 | |
177 | 176 | |
178 | 177 | |
179 | 178 | |
180 | 179 | |
181 | 180 | |
182 | 181 | |
183 | 182 | |
184 | 183 | |
185 | 184 | |
186 | 185 | |
187 | 186 | |
188 | 187 | |
189 | 188 | |
190 | 189 | |
191 | 190 | |
192 | 191 | |
193 | 192 | |
... | ... | @@ -1075,164 +1074,162 @@ |
1075 | 1074 | |
1076 | 1075 | |
1077 | 1076 | public void syncBabyCheck(String parentId, MongoTemplate mongoTemplate,Date birth) { |
1078 | - String sql = " select * from MOMMY_CHILDEXAMINRECORD MC left join MOMMY_PATIENTINFO MP ON MP.PI_ID = MC.CER_PATIENTID WHERE replace(MP.Pi_Id,'-','')= '" + parentId + "' order by mc.CER_EXAMINDATE asc "; | |
1077 | + try { | |
1078 | + String sql = " select * from MOMMY_CHILDEXAMINRECORD MC left join MOMMY_PATIENTINFO MP ON MP.PI_ID = MC.CER_PATIENTID WHERE replace(MP.Pi_Id,'-','')= '" + parentId + "' order by mc.CER_EXAMINDATE asc "; | |
1079 | 1079 | |
1080 | - List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(sql); | |
1081 | - for (Map<String, Object> map : list) { | |
1082 | - BabyCheckModel checkModel = new BabyCheckModel(); | |
1080 | + List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(sql); | |
1081 | + for (Map<String, Object> map : list) { | |
1082 | + BabyCheckModel checkModel = new BabyCheckModel(); | |
1083 | 1083 | |
1084 | - checkModel.setId(DataUtil.getString(map.get("CER_ID")).replace("-", "")); | |
1085 | - checkModel.setYn(YnEnums.YES.getId()); | |
1086 | - checkModel.setBuildId(parentId); | |
1087 | - checkModel.setCheckDate(DataUtil.getDate(map.get("CER_EXAMINDATE"))); | |
1084 | + checkModel.setId(DataUtil.getString(map.get("CER_ID")).replace("-", "")); | |
1085 | + checkModel.setYn(YnEnums.YES.getId()); | |
1086 | + checkModel.setBuildId(parentId); | |
1087 | + checkModel.setCheckDate(DataUtil.getDate(map.get("CER_EXAMINDATE"))); | |
1088 | + String hname = DataUtil.getString(map.get("CER_EXAMINHOSPITAL")); | |
1089 | + checkModel.setHospitalId(DataUtil.getOrgIdByName(hname)); | |
1090 | + checkModel.setCreated(DataUtil.getDate(map.get("CER_CREATETIME"))); | |
1091 | + checkModel.setModified(DataUtil.getDate(map.get("CER_MODIFIEDTIME"))); | |
1092 | + checkModel.setHighRisk(DataUtil.getInteger(map.get(""))); | |
1093 | + checkModel.setNextDate(DataUtil.getDate(map.get("CER_NEXTEXAMINDATE"))); | |
1088 | 1094 | |
1089 | - String hname = DataUtil.getString(map.get("CER_EXAMINHOSPITAL")); | |
1090 | - if (hname != null && !"".equals(hname)) { | |
1091 | - String id = DataUtil.getOrgIdByName(hname); | |
1092 | - checkModel.setHospitalId(id); | |
1093 | - } | |
1094 | - checkModel.setCreated(DataUtil.getDate(map.get("CER_CREATETIME"))); | |
1095 | - checkModel.setModified(DataUtil.getDate(map.get("CER_MODIFIEDTIME"))); | |
1096 | - checkModel.setHighRisk(DataUtil.getInteger(map.get(""))); | |
1097 | - checkModel.setNextDate(DataUtil.getDate(map.get("CER_NEXTEXAMINDATE"))); | |
1095 | + String doctorName = DataUtil.getString(map.get("CER_DOCTORSIGNATURE")); | |
1096 | + if (doctorName != null && !"".equals(doctorName)) { | |
1097 | + String id = DataUtil.getUserIdByName(doctorName); | |
1098 | + checkModel.setCheckDoctor(id); | |
1099 | + } | |
1098 | 1100 | |
1099 | - String doctorName = DataUtil.getString(map.get("CER_DOCTORSIGNATURE")); | |
1100 | - if (doctorName != null && !"".equals(doctorName)) { | |
1101 | - String id = DataUtil.getUserIdByName(doctorName); | |
1102 | - checkModel.setCheckDoctor(id); | |
1103 | - } | |
1101 | + checkModel.setHandlSuggest(DataUtil.getString(map.get("CER_DIRECTIVEOPINION"))); | |
1102 | + checkModel.setMainFoster(DataUtil.getString(map.get(""))); | |
1104 | 1103 | |
1105 | - checkModel.setHandlSuggest(DataUtil.getString(map.get("CER_DIRECTIVEOPINION"))); | |
1106 | - checkModel.setMainFoster(DataUtil.getString(map.get(""))); | |
1107 | 1104 | |
1105 | + List<Map<String, Object>> checkItems = JDBCUtil.getOracleListDataBySql("SELECT A.e_Result,C.Ei_Name,B.CER_ID,B.CER_PATIENTID\n" + | |
1106 | + " FROM MOMMY_EXAMINE A " + | |
1107 | + " INNER JOIN MOMMY_CHILDEXAMINRECORD B ON A.E_CHILDEXAMINID=B.CER_ID " + | |
1108 | + " INNER JOIN MOMMY_EXAMINEINFO C ON A.E_EXAMINEID=C.EI_ID " + | |
1108 | 1109 | |
1109 | - List<Map<String, Object>> checkItems = JDBCUtil.getOracleListDataBySql("SELECT A.e_Result,C.Ei_Name,B.CER_ID,B.CER_PATIENTID\n" + | |
1110 | - " FROM MOMMY_EXAMINE A " + | |
1111 | - " INNER JOIN MOMMY_CHILDEXAMINRECORD B ON A.E_CHILDEXAMINID=B.CER_ID " + | |
1112 | - " INNER JOIN MOMMY_EXAMINEINFO C ON A.E_EXAMINEID=C.EI_ID " + | |
1110 | + " and B.CER_PATIENTID = '" + DataUtil.getString(map.get("CER_PATIENTID")) + "' " + | |
1111 | + " and B.Cer_Id='" + DataUtil.getString(map.get("CER_ID")) + "'"); | |
1113 | 1112 | |
1114 | - " and B.CER_PATIENTID = '" + DataUtil.getString(map.get("CER_PATIENTID")) + "' " + | |
1115 | - " and B.Cer_Id='" + DataUtil.getString(map.get("CER_ID")) + "'"); | |
1113 | + String content = ""; | |
1114 | + if (birth != null && DataUtil.getDate(map.get("CER_EXAMINDATE")) != null) { | |
1115 | + int week = DateUtil.getWeek(birth, DataUtil.getDate(map.get("CER_EXAMINDATE"))); | |
1116 | + for (Map<String, Object> guide : babyGuides) { | |
1117 | + if (guide.get("ER_ID") != null && DataUtil.getString(guide.get("ER_ID")).equals(String.valueOf(week))) { | |
1118 | + content += guide.get("ER_CONTENT"); | |
1119 | + } | |
1116 | 1120 | |
1117 | - String content = ""; | |
1118 | - if (birth != null && DataUtil.getDate(map.get("CER_EXAMINDATE")) != null) | |
1119 | - { | |
1120 | - int week = DateUtil.getWeek(birth, DataUtil.getDate(map.get("CER_EXAMINDATE"))); | |
1121 | - for (Map<String, Object> guide : babyGuides) | |
1122 | - { | |
1123 | - if (guide.get("ER_ID") != null && DataUtil.getString(guide.get("ER_ID")).equals(String.valueOf(week))) | |
1124 | - { | |
1125 | - content+=guide.get("ER_CONTENT"); | |
1126 | 1121 | } |
1127 | - | |
1128 | 1122 | } |
1129 | - } | |
1130 | - checkModel.setGuideSuggest(content); | |
1123 | + checkModel.setGuideSuggest(content); | |
1131 | 1124 | |
1132 | - for (Map<String, Object> item : checkItems) { | |
1133 | - String result = DataUtil.getString(item.get("E_RESULT")); | |
1134 | - String itemName = DataUtil.getString(item.get("EI_NAME")); | |
1135 | - if ("喂养方式".equals(DataUtil.getString(item.get("EI_NAME")))) { | |
1136 | - checkModel.setFeedType(WyTypeEnums.getIdByName(result)); | |
1137 | - } else if ("户外活动".equals(DataUtil.getString(item.get("EI_NAME")))) { | |
1138 | - checkModel.setActivity(result); | |
1139 | - } else if ("服用维生素D".equals(DataUtil.getString(item.get("EI_NAME")))) { | |
1140 | - checkModel.setVitaminD(result); | |
1141 | - } else if ("体温".equals(itemName)) { | |
1142 | - checkModel.setTemperature(result); | |
1143 | - } else if ("身长".equals(itemName)) { | |
1144 | - checkModel.setHeight(result); | |
1145 | - } else if ("体重".equals(itemName)) { | |
1146 | - checkModel.setWeight(result); | |
1147 | - } else if ("身高别体重".equals(itemName)) { | |
1148 | - checkModel.setHeightWeight(result); | |
1149 | - } else if ("头围".equals(itemName)) { | |
1150 | - checkModel.setHeightWeight(result); | |
1151 | - } else if ("胸围".equals(itemName)) { | |
1152 | - checkModel.setChestw(result); | |
1153 | - } else if ("体格发育评价".equals(itemName)) { | |
1154 | - List<String> growthEvaluate = new ArrayList<>(); | |
1155 | - growthEvaluate.add(result); | |
1156 | - checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate)); | |
1157 | - } else if ("经皮胆红素".equals(itemName)) { | |
1158 | - //头:9.5|胸:10.0|腹:10.0 | |
1159 | - String[] arrs = result.split("\\u007C"); | |
1160 | - for (String str : arrs) { | |
1161 | - String[] temps = str.split(":"); | |
1162 | - if (str.startsWith("头")) { | |
1163 | - checkModel.setBilirubinHead(temps.length == 2 ? temps[1] : ""); | |
1164 | - } else if (str.startsWith("胸")) { | |
1165 | - checkModel.setBilirubinChest(temps.length == 2 ? temps[1] : ""); | |
1166 | - } else if (str.startsWith("腹")) { | |
1167 | - checkModel.setBilirubinBelly(temps.length == 2 ? temps[1] : ""); | |
1168 | - } | |
1169 | - } | |
1170 | - } else if ("前囟".equals(itemName)) { | |
1171 | - //{"yeaOrNo":"no","wbhcc1":"5","wbhcc2":"5"} | |
1172 | - //未闭合|1*1 未闭合|1.5×1.5 未闭合|1×1 | |
1173 | - Map bregma = new HashMap(); | |
1174 | - if ("闭合".equals(result)) { | |
1175 | - bregma.put("yeaOrNo", "yes"); | |
1176 | - } else if (result != null && result.startsWith("未闭合")) { | |
1177 | - bregma.put("yeaOrNo", "no"); | |
1125 | + for (Map<String, Object> item : checkItems) { | |
1126 | + String result = DataUtil.getString(item.get("E_RESULT")); | |
1127 | + String itemName = DataUtil.getString(item.get("EI_NAME")); | |
1128 | + if ("喂养方式".equals(DataUtil.getString(item.get("EI_NAME")))) { | |
1129 | + checkModel.setFeedType(WyTypeEnums.getIdByName(result)); | |
1130 | + } else if ("户外活动".equals(DataUtil.getString(item.get("EI_NAME")))) { | |
1131 | + checkModel.setActivity(result); | |
1132 | + } else if ("服用维生素D".equals(DataUtil.getString(item.get("EI_NAME")))) { | |
1133 | + checkModel.setVitaminD(result); | |
1134 | + } else if ("体温".equals(itemName)) { | |
1135 | + checkModel.setTemperature(result); | |
1136 | + } else if ("身长".equals(itemName)) { | |
1137 | + checkModel.setHeight(result); | |
1138 | + } else if ("体重".equals(itemName)) { | |
1139 | + checkModel.setWeight(result); | |
1140 | + } else if ("身高别体重".equals(itemName)) { | |
1141 | + checkModel.setHeightWeight(result); | |
1142 | + } else if ("头围".equals(itemName)) { | |
1143 | + checkModel.setHeightWeight(result); | |
1144 | + } else if ("胸围".equals(itemName)) { | |
1145 | + checkModel.setChestw(result); | |
1146 | + } else if ("体格发育评价".equals(itemName)) { | |
1147 | + List<String> growthEvaluate = new ArrayList<>(); | |
1148 | + growthEvaluate.add(result); | |
1149 | + checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate)); | |
1150 | + } else if ("经皮胆红素".equals(itemName)) { | |
1151 | + //头:9.5|胸:10.0|腹:10.0 | |
1178 | 1152 | String[] arrs = result.split("\\u007C"); |
1179 | - if (arrs[1] != null && !"".equals(arrs[1])) { | |
1153 | + for (String str : arrs) { | |
1154 | + String[] temps = str.split(":"); | |
1155 | + if (str.startsWith("头")) { | |
1156 | + checkModel.setBilirubinHead(temps.length == 2 ? temps[1] : ""); | |
1157 | + } else if (str.startsWith("胸")) { | |
1158 | + checkModel.setBilirubinChest(temps.length == 2 ? temps[1] : ""); | |
1159 | + } else if (str.startsWith("腹")) { | |
1160 | + checkModel.setBilirubinBelly(temps.length == 2 ? temps[1] : ""); | |
1161 | + } | |
1162 | + } | |
1163 | + } else if ("前囟".equals(itemName)) { | |
1164 | + //{"yeaOrNo":"no","wbhcc1":"5","wbhcc2":"5"} | |
1165 | + //未闭合|1*1 未闭合|1.5×1.5 未闭合|1×1 | |
1166 | + Map bregma = new HashMap(); | |
1167 | + if ("闭合".equals(result)) { | |
1168 | + bregma.put("yeaOrNo", "yes"); | |
1169 | + } else if (result != null && result.startsWith("未闭合")) { | |
1170 | + bregma.put("yeaOrNo", "no"); | |
1171 | + String[] arrs = result.split("\\u007C"); | |
1172 | + if (arrs.length >=2 &&arrs[1] != null && !"".equals(arrs[1])) { | |
1180 | 1173 | |
1181 | - String temp = arrs[1].replace("×","&"); | |
1182 | - temp = temp.replace("*","&"); | |
1183 | - String[] items = temp.split("&"); | |
1184 | - if (items != null && items.length > 0) { | |
1185 | - if (items.length == 1) { | |
1186 | - bregma.put("wbhcc1", items[0]); | |
1187 | - } else { | |
1188 | - bregma.put("wbhcc1", items[0]); | |
1189 | - bregma.put("wbhcc2", items[1]); | |
1174 | + String temp = arrs[1].replace("×", "&"); | |
1175 | + temp = temp.replace("*", "&"); | |
1176 | + String[] items = temp.split("&"); | |
1177 | + if (items != null && items.length > 0) { | |
1178 | + if (items.length == 1) { | |
1179 | + bregma.put("wbhcc1", items[0]); | |
1180 | + } else { | |
1181 | + bregma.put("wbhcc1", items[0]); | |
1182 | + bregma.put("wbhcc2", items[1]); | |
1183 | + } | |
1190 | 1184 | } |
1191 | - } | |
1192 | 1185 | |
1186 | + } | |
1193 | 1187 | } |
1188 | + checkModel.setBregma(JsonUtil.obj2JsonString(bregma)); | |
1189 | + } else if ("出牙数".equals(itemName)) { | |
1190 | + checkModel.setTooth(result); | |
1191 | + } else if ("面色".equals(itemName)) { | |
1192 | + checkModel.setFaceColor(result); | |
1193 | + } else if ("眼".equals(itemName)) { | |
1194 | + checkModel.setEye(result); | |
1195 | + } else if ("眼【视力】".equals(itemName)) { | |
1196 | + checkModel.setEyesight(result); | |
1197 | + } else if ("耳".equals(itemName)) { | |
1198 | + checkModel.setEar(result); | |
1199 | + } else if ("听力".equals(itemName)) { | |
1200 | + checkModel.setHearing(result); | |
1201 | + } else if ("颈部/胸部".equals(itemName)) { | |
1202 | + checkModel.setNeck(result); | |
1203 | + checkModel.setChest(result); | |
1204 | + } else if ("腹部".equals(itemName)) { | |
1205 | + checkModel.setBelly(result); | |
1206 | + } else if ("脊柱四肢".equals(itemName)) { | |
1207 | + checkModel.setSpineFours(result); | |
1208 | + } else if ("肛门/外生殖器".equals(itemName)) { | |
1209 | + checkModel.setPortaGenitals(result); | |
1210 | + } else if ("可疑佝偻病症状".equals(itemName)) { | |
1211 | + checkModel.setStoopStatus(result); | |
1212 | + } else if ("可疑佝偻病体征".equals(itemName)) { | |
1213 | + checkModel.setStoopSign(result); | |
1214 | + } else if ("神经系统检查".equals(itemName)) { | |
1215 | + checkModel.setNerve(result); | |
1216 | + } else if ("骨密度Z值".equals(itemName)) { | |
1217 | + checkModel.setBonez(result); | |
1218 | + } else if ("血红蛋白值".equals(itemName)) { | |
1219 | + checkModel.setHemoglobin(result); | |
1220 | + } else if ("白细胞".equals(itemName)) { | |
1221 | + checkModel.setWhiteCell(result); | |
1194 | 1222 | } |
1195 | - checkModel.setBregma(JsonUtil.obj2JsonString(bregma)); | |
1196 | - } else if ("出牙数".equals(itemName)) { | |
1197 | - checkModel.setTooth(result); | |
1198 | - } else if ("面色".equals(itemName)) { | |
1199 | - checkModel.setFaceColor(result); | |
1200 | - } else if ("眼".equals(itemName)) { | |
1201 | - checkModel.setEye(result); | |
1202 | - } else if ("眼【视力】".equals(itemName)) { | |
1203 | - checkModel.setEyesight(result); | |
1204 | - } else if ("耳".equals(itemName)) { | |
1205 | - checkModel.setEar(result); | |
1206 | - } else if ("听力".equals(itemName)) { | |
1207 | - checkModel.setHearing(result); | |
1208 | - } else if ("颈部/胸部".equals(itemName)) { | |
1209 | - checkModel.setNeck(result); | |
1210 | - checkModel.setChest(result); | |
1211 | - } else if ("腹部".equals(itemName)) { | |
1212 | - checkModel.setBelly(result); | |
1213 | - } else if ("脊柱四肢".equals(itemName)) { | |
1214 | - checkModel.setSpineFours(result); | |
1215 | - } else if ("肛门/外生殖器".equals(itemName)) { | |
1216 | - checkModel.setPortaGenitals(result); | |
1217 | - } else if ("可疑佝偻病症状".equals(itemName)) { | |
1218 | - checkModel.setStoopStatus(result); | |
1219 | - } else if ("可疑佝偻病体征".equals(itemName)) { | |
1220 | - checkModel.setStoopSign(result); | |
1221 | - } else if ("神经系统检查".equals(itemName)) { | |
1222 | - checkModel.setNerve(result); | |
1223 | - } else if ("骨密度Z值".equals(itemName)) { | |
1224 | - checkModel.setBonez(result); | |
1225 | - } else if ("血红蛋白值".equals(itemName)) { | |
1226 | - checkModel.setHemoglobin(result); | |
1227 | - } else if ("白细胞".equals(itemName)) { | |
1228 | - checkModel.setWhiteCell(result); | |
1229 | 1223 | } |
1230 | - } | |
1231 | 1224 | |
1232 | - Date nextDate = DataUtil.getDate(map.get("CER_NEXTEXAMINDATE")); | |
1233 | - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(parentId)), Update.update("nextDate", nextDate), BabyModel.class); | |
1225 | + Date nextDate = DataUtil.getDate(map.get("CER_NEXTEXAMINDATE")); | |
1226 | + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(parentId)), Update.update("nextDate", nextDate), BabyModel.class); | |
1234 | 1227 | |
1235 | - mongoTemplate.save(checkModel); | |
1228 | + mongoTemplate.save(checkModel); | |
1229 | + } | |
1230 | + } catch (Exception e) { | |
1231 | + System.out.println("syncBabyCheck patientId:"+parentId); | |
1232 | + e.printStackTrace(); | |
1236 | 1233 | } |
1237 | 1234 | } |
1238 | 1235 |
platform-operate-api/src/main/java/com/lyms/nio/NIOServer.java
View file @
5488b49
1 | +package com.lyms.nio; | |
2 | + | |
3 | +import java.io.IOException; | |
4 | +import java.net.InetSocketAddress; | |
5 | +import java.nio.ByteBuffer; | |
6 | +import java.nio.channels.*; | |
7 | +import java.util.Iterator; | |
8 | + | |
9 | +/** | |
10 | + * Created by riecard on 2016/11/17. | |
11 | + */ | |
12 | +public class NIOServer { | |
13 | + //通道管理器 | |
14 | + private Selector selector; | |
15 | + | |
16 | + /** | |
17 | + * 获得一个ServerSocket通道,并对该通道做一些初始化的工作 | |
18 | + * @param port 绑定的端口号 | |
19 | + * @throws IOException | |
20 | + */ | |
21 | + public void initServer(int port) throws IOException { | |
22 | + // 获得一个ServerSocket通道 | |
23 | + ServerSocketChannel serverChannel = ServerSocketChannel.open(); | |
24 | + // 设置通道为非阻塞 | |
25 | + serverChannel.configureBlocking(false); | |
26 | + // 将该通道对应的ServerSocket绑定到port端口 | |
27 | + serverChannel.socket().bind(new InetSocketAddress(port)); | |
28 | + // 获得一个通道管理器 | |
29 | + this.selector = Selector.open(); | |
30 | + //将通道管理器和该通道绑定,并为该通道注册SelectionKey.OP_ACCEPT事件,注册该事件后, | |
31 | + //当该事件到达时,selector.select()会返回,如果该事件没到达selector.select()会一直阻塞。 | |
32 | + serverChannel.register(selector, SelectionKey.OP_ACCEPT); | |
33 | + new BeatTask(selector).start(); | |
34 | + } | |
35 | + | |
36 | + /** | |
37 | + * 采用轮询的方式监听selector上是否有需要处理的事件,如果有,则进行处理 | |
38 | + * @throws IOException | |
39 | + */ | |
40 | + @SuppressWarnings("unchecked") | |
41 | + public void listen() throws IOException { | |
42 | + System.out.println("服务端启动成功!"); | |
43 | + // 轮询访问selector | |
44 | + while (true) { | |
45 | + //当注册的事件到达时,方法返回;否则,该方法会一直阻塞 | |
46 | + selector.select(); | |
47 | + // 获得selector中选中的项的迭代器,选中的项为注册的事件 | |
48 | + Iterator ite = this.selector.selectedKeys().iterator(); | |
49 | + while (ite.hasNext()) { | |
50 | + SelectionKey key = (SelectionKey) ite.next(); | |
51 | + // 删除已选的key,以防重复处理 | |
52 | + ite.remove(); | |
53 | + // 客户端请求连接事件 | |
54 | + if (key.isAcceptable()) { | |
55 | + ServerSocketChannel server = (ServerSocketChannel) key | |
56 | + .channel(); | |
57 | + // 获得和客户端连接的通道 | |
58 | + SocketChannel channel = server.accept(); | |
59 | + // 设置成非阻塞 | |
60 | + channel.configureBlocking(false); | |
61 | + | |
62 | + //在这里可以给客户端发送信息哦 | |
63 | + channel.write(ByteBuffer.wrap(new String("向客户端发送了一条信息").getBytes())); | |
64 | + //在和客户端连接成功之后,为了可以接收到客户端的信息,需要给通道设置读的权限。 | |
65 | + channel.register(this.selector, SelectionKey.OP_READ); | |
66 | + | |
67 | + // 获得了可读的事件 | |
68 | + } else if (key.isReadable()) { | |
69 | + int length = read(key); | |
70 | + if (length == 0) { | |
71 | + key.channel().close(); | |
72 | + } | |
73 | + } | |
74 | + | |
75 | + } | |
76 | + | |
77 | + } | |
78 | + } | |
79 | + /** | |
80 | + * 处理读取客户端发来的信息 的事件 | |
81 | + * @param key | |
82 | + * @throws IOException | |
83 | + */ | |
84 | + public int read(SelectionKey key) throws IOException{ | |
85 | + // 服务器可读取消息:得到事件发生的Socket通道 | |
86 | + SocketChannel channel = (SocketChannel) key.channel(); | |
87 | + // 创建读取的缓冲区 | |
88 | + ByteBuffer buffer = ByteBuffer.allocate(10); | |
89 | + channel.read(buffer); | |
90 | + byte[] data = buffer.array(); | |
91 | + String msg = new String(data).trim(); | |
92 | + if (msg.length() == 0) { | |
93 | + return 0; | |
94 | + } | |
95 | + System.out.println("服务端收到信息:"+msg); | |
96 | + ByteBuffer outBuffer = ByteBuffer.wrap(msg.getBytes()); | |
97 | + channel.write(outBuffer);// 将消息回送给客户端 | |
98 | + return msg.length(); | |
99 | + } | |
100 | + | |
101 | + class BeatTask extends Thread { | |
102 | + | |
103 | + private Selector selector; | |
104 | + | |
105 | + public BeatTask(Selector selector) { | |
106 | + this.selector = selector; | |
107 | + } | |
108 | + | |
109 | + @Override | |
110 | + public void run() { | |
111 | + while (true) { | |
112 | + for (SelectionKey key:selector.keys()) { | |
113 | + System.out.println(key); | |
114 | + Channel channel = key.channel(); | |
115 | + if (channel instanceof SocketChannel) { | |
116 | + ByteBuffer outBuffer = ByteBuffer.wrap("heartbeat".getBytes()); | |
117 | + try { | |
118 | + ((SocketChannel)channel).write(outBuffer);// 将消息回送给客户端 | |
119 | + } catch (IOException e) { | |
120 | + e.printStackTrace(); | |
121 | + } | |
122 | + } | |
123 | + } | |
124 | + try { | |
125 | + sleep(3000L); | |
126 | + } catch (InterruptedException e) { | |
127 | + e.printStackTrace(); | |
128 | + } | |
129 | + } | |
130 | + } | |
131 | + } | |
132 | + | |
133 | + /** | |
134 | + * 启动服务端测试 | |
135 | + * @throws IOException | |
136 | + */ | |
137 | + public static void main(String[] args) throws IOException { | |
138 | + NIOServer server = new NIOServer(); | |
139 | + server.initServer(8000); | |
140 | + server.listen(); | |
141 | + } | |
142 | + | |
143 | + | |
144 | + | |
145 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java
View file @
5488b49
... | ... | @@ -472,6 +472,7 @@ |
472 | 472 | } |
473 | 473 | List<String> list = FileUtils.readLines(new File("D:\\qhd-jd.csv"), "utf-8"); |
474 | 474 | int linenum = 0; |
475 | + StringBuffer sb = new StringBuffer(); | |
475 | 476 | for (String line : list) { |
476 | 477 | linenum++; |
477 | 478 | if (linenum > 14035) { |
... | ... | @@ -484,6 +485,8 @@ |
484 | 485 | if (!ss[1].startsWith("2016")) { |
485 | 486 | continue; |
486 | 487 | } |
488 | + PersonModel personModel = new PersonModel(); | |
489 | + personModel.setType(1); | |
487 | 490 | Patients patients = new Patients(); |
488 | 491 | patients.setServiceStatus(0); |
489 | 492 | patients.setServiceType(0); |
... | ... | @@ -506,6 +509,8 @@ |
506 | 509 | } |
507 | 510 | if (patients.getBookbuildingDate() == null) { |
508 | 511 | System.out.println(line); |
512 | + sb.append(line); | |
513 | + sb.append("\r\n"); | |
509 | 514 | continue; |
510 | 515 | } |
511 | 516 | patients.setCreated(patients.getBookbuildingDate()); |
512 | 517 | |
... | ... | @@ -527,12 +532,13 @@ |
527 | 532 | patients.setLastMenses(DateUtil.getYmdhmDate("20" + ss[6].trim() + month + day + "0000")); |
528 | 533 | if (patients.getLastMenses() == null) { |
529 | 534 | System.out.println(line); |
535 | + sb.append(line); | |
536 | + sb.append("\r\n"); | |
530 | 537 | continue; |
531 | 538 | } |
532 | 539 | // > 41zhou |
533 | 540 | if (DateUtil.getWeek(patients.getLastMenses(), new Date()) > 41) { |
534 | - System.out.println(line); | |
535 | - continue; | |
541 | + personModel.setType(3); | |
536 | 542 | } |
537 | 543 | // 预产期9,10,11 |
538 | 544 | month = ss[10].trim(); |
539 | 545 | |
... | ... | @@ -641,13 +647,12 @@ |
641 | 647 | } |
642 | 648 | } |
643 | 649 | } |
644 | - PersonModel personModel = new PersonModel(); | |
650 | + | |
645 | 651 | personModel.setCreated(patients.getCreated()); |
646 | 652 | personModel.setModified(patients.getModified()); |
647 | 653 | personModel.setBirth(patients.getBirth()); |
648 | 654 | personModel.setPhone(patients.getPhone()); |
649 | 655 | personModel.setYn(1); |
650 | - personModel.setType(1); | |
651 | 656 | personModel.setName(patients.getUsername()); |
652 | 657 | personModel.setId(patients.getId()); |
653 | 658 | |
654 | 659 | |
... | ... | @@ -729,9 +734,12 @@ |
729 | 734 | |
730 | 735 | |
731 | 736 | } catch (Exception e) { |
737 | + sb.append(line); | |
738 | + sb.append("\r\n"); | |
732 | 739 | ExceptionUtils.catchException(e, "syncQhdfyCsv Error."); |
733 | 740 | } |
734 | 741 | } |
742 | + FileUtils.writeStringToFile(new File("d:\\qhdfy_lost.csv"), sb.toString()); | |
735 | 743 | } catch (Exception e) { |
736 | 744 | ExceptionUtils.catchException(e, "syncQhdfyCsv Error."); |
737 | 745 | } |