Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/toussetransition/TousseTransitionRecord.java =================================================================== diff -u -r15160 -r15407 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/toussetransition/TousseTransitionRecord.java (.../TousseTransitionRecord.java) (revision 15160) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/toussetransition/TousseTransitionRecord.java (.../TousseTransitionRecord.java) (revision 15407) @@ -29,15 +29,15 @@ */ private String handoverCode; /** - * 交接人名称(用于显示的全名) + * 交接人名称(用于显示的全名),临床确认人 */ private String handover; /** * 接收人编码(不是条码,是登录名),用于唯一确定身份 */ private String takeoverCode; /** - * 接收人名称(用于显示的全名) + * 接收人名称(用于显示的全名),供应室的人 */ private String takeover; /** Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r15396 -r15407 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 15396) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 15407) @@ -144,6 +144,7 @@ import com.google.gson.FieldAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -1295,9 +1296,54 @@ // 在发货任务的上下文,根据条码获取信息 public String getInfoByBarcode_InvoicePlan(JSONObject params) { JsonObject params2 = (JsonObject)new JsonParser().parse(params.toString()); - return invoiceManager.getInfoByBarcodeForInvoiceScan(params2).toString(); + return addIsRoutineInfo(invoiceManager.getInfoByBarcodeForInvoiceScan(params2)).toString(); } - + private JsonObject addIsRoutineInfo(JsonObject json){ + if(json != null){ + if(!json.get(JSONUtil.JSON_KEY_SUCCESS).getAsBoolean()){ + return json; + } + String itemType = json.get("type").getAsString(); + if("tousseInstance".equals(itemType)){ + JsonObject dataJSON = json.getAsJsonObject("data"); + if(dataJSON != null){ + String barcode = dataJSON.get("barcode").getAsString(); + JSONObject jroutine = invoiceManager.isRoutine(barcode); + String noBiologicalMonitoring = jroutine.getString("noBiologicalMonitoringForeignTousses"); + String unconventional = jroutine.getString("unconventionalForeignTousses"); + dataJSON.addProperty("noBiologicalMonitoring",StringTools.isNotBlank(noBiologicalMonitoring)); + dataJSON.addProperty("unconventional", StringTools.isNotBlank(unconventional)); + } + }else if("tousseInstancesInContainer".equals(itemType)){ + JsonArray dataJArray = json.getAsJsonArray("data"); + if(dataJArray != null && dataJArray.size() > 0){ + List barcodes = new ArrayList(); + for(int i = 0;i < dataJArray.size();++i){ + JsonElement je = dataJArray.get(i); + if(je != null){ + JsonObject jobj = je.getAsJsonObject(); + barcodes.add(jobj.get("barcode").getAsString()); + } + } + JSONObject jroutine = invoiceManager.isRoutine(StringTools.join(barcodes, ";")); + String noBiologicalMonitoring = jroutine.getString("noBiologicalMonitoringForeignTousses"); + String unconventional = jroutine.getString("unconventionalForeignTousses"); + + for(int i = 0;i < dataJArray.size();++i){ + JsonElement je = dataJArray.get(i); + if(je != null){ + JsonObject jobj = je.getAsJsonObject(); + String barcode = jobj.get("barcode").getAsString(); + jobj.addProperty("noBiologicalMonitoring",StringTools.contains(noBiologicalMonitoring, barcode)); + jobj.addProperty("unconventional", StringTools.contains(unconventional, barcode)); + + } + } + } + } + } + return json; + } /** * 提交合并后的发货计划单 *