diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java index 44634dc..28fef59 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java @@ -6,11 +6,13 @@ import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.pojo.UpdateMultiData; import com.lyms.platform.common.utils.*; import com.lyms.platform.pojo.*; +import com.mongodb.DBObject; import com.mongodb.Mongo; import org.apache.commons.lang.*; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; @@ -38,6 +40,10 @@ public class MongoSyncService { public static String mongo_crypto_key = Config.getItem("mongo_crypto_key", "0"); + public static void main(String[] a) { + + } + public boolean syncData(String action, String id, String className, String json) { System.out.println(mongo_crypto_key); System.out.println(action); @@ -51,7 +57,18 @@ public class MongoSyncService { if (obj instanceof UpdateMultiData) { UpdateMultiData data = (UpdateMultiData) obj; if (data.getQuery() != null && data.getUpdate() != null) { - mongoTemplate.updateMulti(data.getQuery(), data.getUpdate(), cla); + MongoCondition c = null; + for (String key:data.getQuery().keySet()) { + if (c == null) { + c = new MongoCondition(key, data.getQuery().get(key), MongoOper.IS); + } else { + c.and(key, data.getQuery().get(key), MongoOper.IS); + } + } + if (c != null) { + mongoTemplate.updateMulti(new MongoQuery(c).convertToMongoQuery(), data.getUpdate(), cla); + return true; + } } } } else if ("ADD".equals(action)) { diff --git a/platform-common/src/main/java/com/lyms/platform/common/pojo/UpdateMultiData.java b/platform-common/src/main/java/com/lyms/platform/common/pojo/UpdateMultiData.java index ccb7da0..acc5c3e 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/pojo/UpdateMultiData.java +++ b/platform-common/src/main/java/com/lyms/platform/common/pojo/UpdateMultiData.java @@ -1,22 +1,32 @@ package com.lyms.platform.common.pojo; +import com.mongodb.DBObject; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; +import java.util.HashMap; +import java.util.Map; + /** * Created by riecard on 2016/10/30. */ public class UpdateMultiData { - private Query query; + private Map query; private Update update; - public Query getQuery() { + public Map getQuery() { return query; } public void setQuery(Query query) { - this.query = query; + DBObject dbObject = query.getQueryObject(); + this.query = new HashMap<>(); + for (String key:dbObject.keySet()) { + if (dbObject.get(key) != null) { + this.query.put(key, dbObject.get(key)); + } + } } public Update getUpdate() { diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java index 8936fc1..d0bd1d1 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/MongoSyncUtil.java @@ -1,9 +1,13 @@ package com.lyms.platform.common.utils; import com.lyms.platform.common.base.PageInfo; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; +import org.springframework.data.mongodb.core.query.Query; /** * Created by Administrator on 2016/9/13 0013. @@ -90,8 +94,13 @@ public class MongoSyncUtil { System.out.println(MD5Utils.md5(aaa.getClass().getName())); System.out.println(LymsEncodeUtil.aesEncrypt("5805868f28b6213d2b7755eb", "Lymsh@2016")); System.out.println(LymsEncodeUtil.aesDecrypt("26EB0301C4A2410E90985A3E55856E4B94848F070CCE3F6400CF502216F6DD18ED0A0A43348E4AB0AB97B38E4CEFEA7A4E1D74EE1671DAD6AC72560C5329BC05","Lymsh@2016")); - System.out.println(LymsEncodeUtil.aesDecrypt("1E66365A4C484EC5DCF99895D324A87FB2F37315BD4FB4C327CF4F002FD203EBF1E850920AB9CBFDB4311E97A481629C325A2519D77B18FE6D18DDDC3206EFACF2B189E1DB41839B019BB8403F2C0875F22A1DF69BC786D3FB4A80FD3FC454A200EF5F2B2F5B534BDC272FB382DA2B14816AD6CBC907E3A6E92C6927B2A8D99A99AB386BFC3326918B7ABC246CBC2BB865E8C217C35DE4D63E1B9F85362951631B4F21101BF2677D87451AD022A87AEF01C099640011CFE40F7427AA3FF00075A878415DA09AD45B4927FEE874F9BA0222F4F39D79E6053EE35CA5997DADA53D88C7D611C8BFAA3C56CE083C80F80F412596C6854CE310766B7F4A97D9E6FF5E4B307EECF94FBC4064BCDC6215C911AF0EE74D33698333F4CBD80D294CD7A9B0447B20A74C8BF046D7C050A6DC9520F95E94C86D5CDE93DA481C86B8F4717FFF132356367A8BB54664742124D0D846877D312FA6B0B00DFCAF9A76A82F8E6A151B1B53E6CE346F228EC5028EA032AB0882617D821E901F96B505956D2A32D11E2D49B33A995828D40C94AA8EE0BE20A53590851073FB6DDE81E7FA4C20508597AEC72C3A8188634D1FB19360DA94FC695510E6FE3B8F2CCC8DB62CB0201F86F753AC93DD7FAA8E6FE69E949692C1DA1B77A10D7049C8B6B92A25F68D1AA935D9223FA0E972F079CB3700F7D0E89F4A6704E66975562133DEAAB6E5501F4578AC42998252F68DD1BC51BEA5F8FC02E4AEA985F268A4B868EF39E59670E5997F9B125761D8A9C05C01C6692253E512E42CB058F183AC04053E07219531D72E8624CDBDCD0D7810F54CABA2FD2F6C9ABDC06827979F3AB97E232CC40A40B3CA0D9EC45DC60593046C29B4B9E36D24A9D663E9D9FD2FE6F4134746E5441A4A3C03CAC95A8E58A11A067410D43C3121DED7AC8FCEF58B9E8B368D4AC0BE5FFF5482B1BF6C7B526F2818D957A2EF68E2FE16695C5B3570B90BBD96FB645B940EE71DE3BA49FBA404B73E58132864877EA6A18039086BD4C3D91C84FEEBD532CF550BDEF950055E7920CDD4EB1FEFAA0468B8A323BEAC7831F91A2E5B248A87CBF2C4B2928F849B1932C0CC0D24B5892F21DCE27738AD99AB14DD6024F983CDC33505609D0FFFA377F3DD507F947DB565B49A007547CFA585F38A12F0BCE7E7384F60D72F080FF9E7DCB8097E975923C1C6B332EE09D933E0E7B5FB2C41B1B4CCA619A674F6840211DE28EF93040854981390852E6FBD11ED48FA9B9172FE2C4C86A3FC84E5760BF0C8A9FE98E3A352105BE540D2D2C9E5283C75A042A47ED98FB1D40E3D26452101FCD38E8630A4FAC165AA36981B75797CA4CA99E96A2D7AE050FF74FCF3859CDB546E1706BE7AF76136461B6C880D4E3BFD6666C80E95DE7E65A1831902FBBC74DDCD1E01EDA246B6942A0AFD48BC7F92EE1197BBF7CAD82AEC196250DDAECD875E67626E4C213A85D39B4208A4812C71FBB21D00844A0D0ED1860FD84185750996D1AD2425F65017A2BF00F3FA748FF34DBEA9CD91B611BF5BD17D06643AB5E23428743064815D2D63B3A877D87D68A2123E0E1856567C056EA76FEE3D435E56D8CB9F6CD57C49FACC42E5CB69C9735DBBE922C11DDE4BECE29333E4EED7F17F8575D50214002A5D870891C6C8D9050A5FC9C56A8CA9B18360FD3EA0CF8BD4C72A3B99EE3042CC5C0292F9CC27D6C219836901B5E3C1A0BDC50A84725A517C0A2DD38106794831725AD7188F784ED4ACC79F38D3273E6C0219F074C92B433C52C3A6D9A3E84394DCFD0539FA9F549028989EC63C8E3E1C71934B6FE681A74FA6F50D683EA349EE278F149EF431043CEF1880768B2111EDFCE5ECE75D17A6F808033350FC0969AF3F990985D3BD6FE3C049EC4DE530BB013DF33A333E19CA3B6D2A39FC8BBC3F17F6064BF4A17F78FAE772C19ACBC7068373C9E8A394C9EA882B47F21491689EB822CCA135019F6D9D76FDBAE47BC4981F6D7F3E60830D9292254C2E7153014509EED6071E67DBE1E83F19E1E3E4B2BEB31A093C8791C583726C817E373BBC6F90D837EB7A4D92B5F9E01BAFF1E768A92BB70A6E303A221A4D2814F7EF702E5FB908AE819E50C8D3E90BE4413BBE03112E8343BB2A4C4241DA3E7AC1EB1B127702AFC8D7D3C42A7BDC5722BF4A81903041D5ED77C50F07B0E18D07266812A3DE48C23ACB6A702DECF9E96AABAAA6847D898F8C884164A96F04A40F7A4EA28BA3CC54053C52","Lymsh@2016")); + System.out.println(LymsEncodeUtil.aesDecrypt("FE679036A0EE365E30DD51E0E3C38460E8B20EEDC76E8E0B04267438BFFCFFFD76D0C562244A2C914B1254B7E706BA124EE8FF560F8DEF9AD8C87EA9C793F0E16CED2A06DF8BB124DF034D21FF38F41B6CC9B1ECB30E408073D62327F5ADF8F17E7C44235EF3BCF169A1E5AFA51AD746F515F882A9B1DBD4C10C7BD747939FDA08A3FCDC7210E660534F3FC5D602046050D22F2AAF087C7A91C2354890284B057576CE83CEBBA3BD206DD9923565BE9512124867D52FAF4EDEAB6D3051F2CAB91369DAA8F00A2C81A9529A154DB2CE549F8F4740E36EDF167BFA5B7FCFFA959E21B327CAFA63A3FF1DDE45D2455C5CC77EA36B5F7E097EF42BC87E485A0F6E47DA1B3359799768A89FE1D2D4DD4F71EBDEA0ED4CA19531DE4AA318A53F6CDD3E25A8EC17A0D5A0BA3F3C0ABA45F9B3C2C3F797A66669526FDAFCE83A29B7767870614CCB6022F32690B94B3818839F87B6CB04613F7338E8C77CD5359E3A860B06AFDC40128D8E5711DE057748A4695C","Lymsh@2016")); + Query query = new MongoQuery(new MongoCondition("id", "aaa", MongoOper.IS).and("name", "bbb", MongoOper.IS)).convertToMongoQuery(); + System.out.println(JsonUtil.obj2Str(query)); + String s = "{\"restrictedTypes\":[],\"skip\":0,\"limit\":0,\"hint\":null,\"queryObject\":{\"id\":\"aaa\"},\"fieldsObject\":null,\"sortObject\":null}"; + query = JsonUtil.str2Obj(s, Query.class); + System.out.println(JsonUtil.obj2Str(query)); } } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/v2/HisService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/v2/HisService.java index b84a013..cf87ea8 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/v2/HisService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/v2/HisService.java @@ -125,7 +125,11 @@ public class HisService { item.setName(checkItem.getP_ITEMNAME()); item.setCode(checkItem.getP_ITEMCODE()); item.setRefer(checkItem.getP_REFERENCEVALUE()); - item.setResult(checkItem.getP_ITEMRESULT()); + if (StringUtils.isNotBlank(checkItem.getP_CODERESULT())) { + item.setResult(checkItem.getP_CODERESULT()); + } else { + item.setResult(checkItem.getP_ITEMRESULT()); + } item.setUnit(checkItem.getP_UNIT()); item.setSpecial(checkItem.getP_HIGHANDLOWMARK()); itemList.add(item);