Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js =================================================================== diff -u -r16671 -r16915 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 16671) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 16915) @@ -464,6 +464,92 @@ } return true; } +//名字到数量的map +function getComboTousseNameToAmountMap(tousseInstancesBelongToThisComboTousse){ + var map = {}; + for(var i=0;i 1) && goods.tousseFixedBarcode){// 扫单个包才提示 continue; Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java =================================================================== diff -u -r16848 -r16915 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 16848) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 16915) @@ -1804,10 +1804,73 @@ invoiceManager.updateInvoiceTousseAmount(); } + + private void updateTousseInstances( + JsonArray tousseInstancesBelongToThisComboTousse) { + String voBarcodes = ""; + for (int i = 0; i < tousseInstancesBelongToThisComboTousse.size(); ++i) { + JsonObject vo = tousseInstancesBelongToThisComboTousse.get(i) + .getAsJsonObject(); + + String barcode = vo.get("barcode").getAsString(); + if (i == tousseInstancesBelongToThisComboTousse.size() - 1) { + voBarcodes += barcode; + } else { + voBarcodes += barcode + ";"; + } + + } + JSONObject jsonObj = invoiceManager + .getBiologicalMonitoringInfo(voBarcodes); + + for (int i = 0; i < tousseInstancesBelongToThisComboTousse.size(); ++i) { + JsonObject vo = tousseInstancesBelongToThisComboTousse.get(i) + .getAsJsonObject(); + + String barcode = vo.get("barcode").getAsString(); + JSONObject jsonVo = (JSONObject) jsonObj.get(barcode); + Boolean noBiologicalMonitoring = false; + + Boolean biologicalMonitoringNoResult = false; + + Boolean biologicalMonitoringFail = false; + + String isRoutine = TousseInstance.ROUTINE_YES; + if (jsonVo != null) { // 不为空说明,都是含有植入物的器械包 + String noBiologicalMonitoringStr = jsonVo + .optString("noBiologicalMonitoring"); + String biologicalMonitoringNoResultStr = jsonVo + .optString("biologicalMonitoringNoResult"); + String biologicalMonitoringFailStr = jsonVo + .optString("biologicalMonitoringFail"); + String urgentDelivery = jsonVo.optString("urgentDelivery"); + + noBiologicalMonitoring = StringTools + .isNotBlank(noBiologicalMonitoringStr); + biologicalMonitoringNoResult = StringTools + .isNotBlank(biologicalMonitoringNoResultStr); + biologicalMonitoringFail = StringTools + .isNotBlank(biologicalMonitoringFailStr); + + if (StringTools.isNotBlank(urgentDelivery)) { // 紧急发货 + isRoutine = TousseInstance.ROUTINE_NO;// 生物监测结果是不合格 + } + } + vo.addProperty("noBiologicalMonitoring", noBiologicalMonitoring);// 没做生物监测 + vo.addProperty("biologicalMonitoringNoResult", + biologicalMonitoringNoResult);// 生物监测结果是无 + vo.addProperty("biologicalMonitoringFail", biologicalMonitoringFail);// 生物监测结果是不合格 + + vo.addProperty("isRoutine", isRoutine);// 生物监测结果是不合格 + } + + } + private void setTousseInstancesBelongToThisComboTousse(JsonObject data,InvoiceGoodsVo vo) { Collection vos = new ArrayList(); if(data.has("tousseInstancesBelongToThisComboTousse")){ JsonArray tousseInstancesBelongToThisComboTousse = data.getAsJsonArray("tousseInstancesBelongToThisComboTousse"); + updateTousseInstances(tousseInstancesBelongToThisComboTousse); vo.setTousseInstancesBelongToThisComboTousse(tousseInstancesBelongToThisComboTousse); } }