Commit 5488b4956052efddcaea28d573c3a11b41e85552

Authored by hanshaofeng
1 parent d4db6732bc

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 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 }