Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r29354 -r29583 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 29354) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 29583) @@ -19,6 +19,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; import net.sf.json.JSONArray; import net.sf.json.JSONException; @@ -1520,7 +1521,7 @@ Class clazz = source.getClass(); if (clazz == TousseDefinition.class) { - String[] retainPropertys = { "name","tousseType","id","isTraceable" }; + String[] retainPropertys = { "name","tousseType","id","isTraceable","includeImplant" }; if (ArrayUtils.contains(retainPropertys, name)) { return false; } @@ -2143,13 +2144,16 @@ .getReviewedTousseInstanceByBasket(barcode); JSONArray tousseInstanceJSONArray = JSONArray.fromObject( tousseInstances, buildJsonConfigForTousseInstance()); + //判断篮筐中是否有未发货(已灭菌)的器械包,如果有则进行提示 + int notDeliverTousseAmount = reviewedBasketManager.getSterilizedTousseAmountBySterilizeBasket(container); return new JSONStringer().object().key("success").value(true) .key("barcode").value(barcode).key("type") .value("containerStatus").key("data").object() .key("container").object().key("barcode") .value(container.getBarcode()).key("name") - .value(container.getContainerName()).key("sterilingMode").value(container.getSterilingMode()).endObject() + .value(container.getContainerName()).key("notDeliverTousseAmount").value(notDeliverTousseAmount) + .key("sterilingMode").value(container.getSterilingMode()).endObject() .key("tousseInstanceList").value(tousseInstanceJSONArray) .endObject().endObject().toString(); @@ -2277,7 +2281,7 @@ String[] retainPropertyNames = { "id", "sterilizationUser", "sterilizerName", "startDate", "endDate", "status", "frequency", "sterilizationPurpose", - "sterilizationType" }; + "sterilizationType","includeImplant" }; if (ArrayUtils.contains(retainPropertyNames, name)) { return false; } else { @@ -2344,6 +2348,11 @@ Collection sterilizationRecords = objectDao .findBySql(SterilizationRecord.class.getSimpleName(), sqlWhere, first, count, "startDate desc"); + Map sterilizationRecordIncludeImplantMap = + sterilizationRecordManager.getSterilizationRecordIncludeImplantMap(sterilizationRecords.stream().map(SterilizationRecord::getId).collect(Collectors.toList())); + for(SterilizationRecord sterilizationRecord : sterilizationRecords){ + sterilizationRecord.setIncludeImplant(sterilizationRecordIncludeImplantMap.get(sterilizationRecord.getId())); + } JSONArray sterilizationRecordsJsonArray = JSONArray.fromObject( sterilizationRecords, buildJsonConfigForSterilizationRecord()); @@ -2420,6 +2429,14 @@ JSONObject json = JSONUtil.buildJsonObject(true, sterilizerToJson((Sterilizer) barcodeDevice)); json.put("barcode", barcode); json.put("type", "sterilizer"); + //如果启用了生物监测未做的提示时 + if(CssdUtils.getSystemSetConfigByNameBool("enableSterilizerBioMonitoringIntervalReminder")){ + //获取灭菌炉的生监测提醒信息 + String message = sterilizationRecordManager.sterilizerBioMonitoringIntervalReminder(sterilizer,Log.MODEL_STERILIZATION,false); + if(StringUtils.isNotBlank(message)){ + json.put("message", message); + } + } return json.toString(); } else if (barcodeDevice instanceof Sterilisation) { Sterilisation sterilisation = (Sterilisation) barcodeDevice; @@ -2883,10 +2900,13 @@ return JSONUtil.buildErrorMsgJsonResult("只能使用空闲或灭菌装载的篮筐,此篮筐状态为:" + container.getStatus()); } + //判断篮筐中是否有未发货(已灭菌)的器械包,如果有则进行提示 + int notDeliverTousseAmount = reviewedBasketManager.getSterilizedTousseAmountBySterilizeBasket(container); JsonObject data = new JsonObject(); data.addProperty("barcode", container.getBarcode()); data.addProperty("name", container.getContainerName()); + data.addProperty("notDeliverTousseAmount", notDeliverTousseAmount); JsonObject result = new JsonObject(); result.addProperty("success", true); result.addProperty("barcode", barcode); @@ -3383,6 +3403,8 @@ return JSONUtil.buildErrorMsgJsonResult("此篮筐状态异常:" + container.getStatus()); } + //篮筐内已灭菌但未发货的物品数量 + int notDeliverTousseAmount = reviewedBasketManager.getSterilizedTousseAmountBySterilizeBasket(container); ReviewedBasket basket = reviewedBasketManager .getReviewedBasketForSterilizeRecord(barcode); List tousses = proxyDisinfectionManager.buildReviewedTousseInstanceVos(basket); @@ -3392,6 +3414,7 @@ dataJson.put("name", container.getContainerName()); dataJson.put("produceDeptCode", container.getDepartCode()); dataJson.put("produceDeptName", container.getDepartName()); + dataJson.put("notDeliverTousseAmount", notDeliverTousseAmount); json.put("barcode", barcode); json.put("type", "container"); json.put("data", dataJson); @@ -6392,6 +6415,7 @@ } return resultObj.toString(); } + /** * 获取图片和视频信息 */