Index: forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManager.java =================================================================== diff -u -r17189 -r17347 --- forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManager.java (.../BasePoManager.java) (revision 17189) +++ forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManager.java (.../BasePoManager.java) (revision 17347) @@ -92,6 +92,13 @@ */ public T getForUpdate(String id); /** + * 根据唯一属性获取对象,并加锁 + * @param property 唯一属性 + * @param value 属性的值,不能为null,如果为null,返回null + * @return + */ + public T getForUpdate(String property,Object value); + /** * 根据属性值获取对象 * @param property 属性名 * @param value 属性值 Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordToJson.java =================================================================== diff -u -r13940 -r17347 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordToJson.java (.../UseRecordToJson.java) (revision 13940) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordToJson.java (.../UseRecordToJson.java) (revision 17347) @@ -29,6 +29,7 @@ /** * 将使用记录转换为json对象 * @param useRecord + * @param tousseInstanceManager 如果为null,则不添加使用记录的器械包信息 * @return */ public static String converUseRecordPoToJson(UseRecord useRecord,TousseInstanceManager tousseInstanceManager){ @@ -58,20 +59,21 @@ JSONObject useRecordJson = JSONObject.fromObject(useRecord, config); JSONArray tousseInstanceJsonArray = new JSONArray(); - List tousseInstanceList = tousseInstanceManager - .findTousseInstanceListByUseRecordId(useRecord.getId()); - - if(tousseInstanceList != null && !tousseInstanceList.isEmpty()){ - for (TousseInstance tousseInstance : tousseInstanceList) { - JSONObject tousseInstanceJson = new JSONObject(); - tousseInstanceJson.put("barcode", tousseInstance.getBarcode()); - tousseInstanceJson.put("tousseName", - tousseInstance.getShowTousseName()); - tousseInstanceJson.put("validUtil",tousseInstance.getValidUntilStr(Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM)); - tousseInstanceJsonArray.add(tousseInstanceJson); + if(tousseInstanceManager != null){ + List tousseInstanceList = tousseInstanceManager + .findTousseInstanceListByUseRecordId(useRecord.getId()); + + if(tousseInstanceList != null && !tousseInstanceList.isEmpty()){ + for (TousseInstance tousseInstance : tousseInstanceList) { + JSONObject tousseInstanceJson = new JSONObject(); + tousseInstanceJson.put("barcode", tousseInstance.getBarcode()); + tousseInstanceJson.put("tousseName", + tousseInstance.getShowTousseName()); + tousseInstanceJson.put("validUtil",tousseInstance.getValidUntilStr(Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM)); + tousseInstanceJsonArray.add(tousseInstanceJson); + } } } - return new JSONStringer().object().key("useRecord") .value(useRecordJson).key("tousseInstances") .value(tousseInstanceJsonArray).endObject().toString(); Index: forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManagerImpl.java =================================================================== diff -u -r17147 -r17347 --- forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManagerImpl.java (.../BasePoManagerImpl.java) (revision 17147) +++ forgon-tools/src/main/java/com/forgon/tools/hibernate/BasePoManagerImpl.java (.../BasePoManagerImpl.java) (revision 17347) @@ -130,6 +130,14 @@ T o = (T)objectDao.getByID_ForUpdate(poName, id); return o; } + + public T getForUpdate(String property,Object value){ + if(StringTools.isBlank(property)||value == null){ + return null; + } + T o = (T)objectDao.getByProperty_ForUpdate(poName, property, value); + return o; + } @SuppressWarnings("unchecked") @Override Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r17314 -r17347 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 17314) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 17347) @@ -1492,7 +1492,7 @@ useRecord = useRecordManager.getSyncUseRecordByHostpitalNumOrTreatmentNum(barcode, "treatmentNum"); } if(useRecord != null){ - String useRecordStr = UseRecordToJson.converUseRecordPoToJson(useRecord, tousseInstanceManager); + String useRecordStr = UseRecordToJson.converUseRecordPoToJson(useRecord, null); return new JSONStringer().object().key("success").value(true) .key("type").value("useRecord").key("data") .value(JSONObject.fromObject(useRecordStr)).endObject().toString(); @@ -3460,7 +3460,7 @@ public String getMobileClientInfo(JSONObject params){ String type = null; try{ - type =params.getString("type"); + type =params.optString("type"); }catch(Throwable e){ System.out.println(e); }