Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r15990 -r16059 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 15990) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 16059) @@ -587,12 +587,11 @@ try { String[] barcodeArray = barcodeStr.split(";"); String barcode = barcodeArray[0]; - BarcodeDevice barcodeDevice = barcodeManager - .getBarcodeByBarcode(barcode); + BarcodeDevice barcodeDevice = barcodeManager.getBarcodeByBarcode(barcode); if(barcodeArray.length > 1){//按首尾两个条件进行过滤 - Map map = - barcodeManager.getTousseInstanceListByRange(barcode, barcodeArray[1], TousseInstance.STATUS_REVIEWED); + Map map = barcodeManager.getTousseInstanceListByRange(barcode, barcodeArray[1], TousseInstance.STATUS_REVIEWED); + if(map != null && "tousseInstanceSuccess".equals(map.get("returnType"))){ List tousseInstanceList = (List)map.get("result"); if(CollectionUtils.isNotEmpty(tousseInstanceList)){ @@ -698,61 +697,44 @@ String status = tousseInstance.getStatus(); TousseDefinition tousseDefinition = tousseInstance.getTousseDefinition(); - String tousseType = tousseDefinition - .getTousseType(); + String tousseType = tousseDefinition.getTousseType(); + // 扫描的物品是消毒物品并且是否灭菌不为是时,提示不需要灭菌(应对省医高水平消毒的需求进行调整 since 2016-01-22 SYF) if (TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(tousseType) && !TousseDefinition.STR_YES.equals(tousseDefinition.getIsSterile())){ result = "failure,-1,您扫描的是消毒物品条码,该物品不需要灭菌!"; - } - // 其它物品(器械包、敷料包、外来器械、自定义器械包等) - else{ - - boolean isReviewed = StringUtils.equals(status, - TousseInstance.STATUS_REVIEWED) - || StringUtils.equals(status, - TousseInstance.STATUS_STERILED); + } else { // 其它物品(器械包、敷料包、外来器械、自定义器械包等) + boolean isReviewed = StringUtils.equals(status,TousseInstance.STATUS_REVIEWED) || StringUtils.equals(status,TousseInstance.STATUS_STERILED); if (tousseInstance.getUnTraceableTousse()) { isReviewed = true; } // 验证是否是代理灭菌(代理灭菌器械包状态已装配就可以灭菌) if (!isReviewed) { - if (!StringUtils.equals(tousseInstance - .getOrgUnitCoding(), AcegiHelper.getLoginUser() - .getOrgUnitCodingFromSupplyRoomConfig())) { - if (status.equals( - TousseInstance.STATUS_PACKED)) { + if (!StringUtils.equals(tousseInstance.getOrgUnitCoding(), AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig())) { + if (status.equals(TousseInstance.STATUS_PACKED)) { isReviewed = true; } } } if (isReviewed) { - boolean isOutBasket = tousseInstanceManager - .isTousseInstanceOutOfBasket(tousseInstance - .getId()); - if (isOutBasket) { - - // 不追溯的器械包(含普通器械包、敷料包、外部代理灭菌包) - if (tousseInstance.getUnTraceableTousse()) { - + boolean isOutBasket = tousseInstanceManager.isTousseInstanceOutOfBasket(tousseInstance.getId()); + + if (isOutBasket) { //没入灭菌篮筐 + if (tousseInstance.getUnTraceableTousse()) { // 不追溯的器械包(含普通器械包、敷料包、外部代理灭菌包) String name = tousseDefinition.getName(); - String orgUnitCode = AcegiHelper.getLoginUser() - .getCurrentOrgUnitCode(); + String orgUnitCode = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); + Integer scanAmount = tousseDefinition.getScanAmount(); - List toussesOfToday = tousseInstanceManager - .getTodayReviewedTousseInstanceByNameAndOrgUnitCode( - orgUnitCode, name); + List toussesOfToday = tousseInstanceManager.getTodayReviewedTousseInstanceByNameAndOrgUnitCode(orgUnitCode, name); Map todayToussesMap = new HashMap(); for (TousseInstance tousse : toussesOfToday) { - todayToussesMap.put( - tousse.getBarcode(), - tousse); + todayToussesMap.put(tousse.getBarcode(), tousse); } // 已经装载了的器械包集合 @@ -761,8 +743,7 @@ String[] savedBarcodeArray = savedBarcodes.split(","); for (int i = 0; i < savedBarcodeArray.length; i++) { String savedBarcodeStr = savedBarcodeArray[i]; - TousseInstance tousseInstance2 = todayToussesMap - .get(savedBarcodeStr); + TousseInstance tousseInstance2 = todayToussesMap.get(savedBarcodeStr); alreadyLoadedTousses.add(tousseInstance2); } } @@ -784,13 +765,12 @@ } for (int i = 0; i < toussesAmount; i++) { - TousseInstance tousseInstance1 = toussesOfToday - .get(i); - String tousseName = tousseInstance1 - .getTousseName(); - String myTousseType = tousseInstance1 - .getTousseDefinition() - .getTousseType(); + TousseInstance tousseInstance1 = toussesOfToday.get(i); + + String tousseName = tousseInstance1.getTousseName(); + String myTousseType = tousseInstance1.getTousseDefinition().getTousseType(); + + if (TousseDefinition.PACKAGE_TYPE_FOREIGN .equals(myTousseType) || TousseDefinition.PACKAGE_TYPE_STERILIZATION @@ -801,33 +781,27 @@ } result += ("," + tousseInstance1.getBarcode() - + ":" + tousseName + ":" + tousseInstance1 - .getSterilingType()) + ":" + StringUtils.defaultString(tousseInstance.getDepart(), ""); - // 超重、超大外来器械用配置的灭菌方式 - if (TousseDefinition.BIG_PACKAGE_TRUE - .equals(tousseInstance1 - .getTousseDefinition() - .getIsBigPackage())) { - String bigPackage = supplyRoomConfigManager - .getSystemParamsObj() - .getBigPackageSterilizerType(); - if (StringUtils - .isNotBlank(bigPackage)) { - result += ":true:" - + bigPackage; + + ":" + tousseName + + ":" + tousseInstance1.getSterilingType()) + ":" + + StringUtils.defaultString(tousseInstance.getDepart(), ""); + + + if (TousseDefinition.BIG_PACKAGE_TRUE.equals( + tousseInstance1.getTousseDefinition().getIsBigPackage())) { // 超重、超大外来器械用配置的灭菌方式 + String bigPackage = supplyRoomConfigManager.getSystemParamsObj().getBigPackageSterilizerType(); //获取在科室供应室配置那里配置的超大、重外来器械灭菌方式 + if (StringUtils.isNotBlank(bigPackage)) { + result += ":true:" + bigPackage; } else { result += ":true:"; } } else { result += ":false:"; } } - } - else{ + } else { result = "failure,-1,加载完毕或者没有需要灭菌的包!"; } - // 需要追溯的器械包 - } else { + } else { // 需要追溯的器械包 Integer includeImplant = tousseDefinition .getIncludeImplant(); // 外来器械包去掉下划线ID @@ -883,15 +857,12 @@ } // 检查代理灭菌是否已录入代理灭菌单 - String checkProxyDisinfection = StrutsParamUtils - .getPraramValue("checkProxyDisinfection", ""); + String checkProxyDisinfection = StrutsParamUtils.getPraramValue("checkProxyDisinfection", ""); + if (StringUtils.isNotBlank(checkProxyDisinfection)) { - String userOrgUnitCode = AcegiHelper - .getLoginUser() - .getCurrentOrgUnitCode(); + String userOrgUnitCode = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); if (tousseInstance.getOrgUnitCoding() != null - && !tousseInstance.getOrgUnitCoding() - .equals(userOrgUnitCode) + && !tousseInstance.getOrgUnitCoding().equals(userOrgUnitCode) && tousseInstance.getProxyDisinfection_id() == null) { result = "failure,-1,无法添加,因为器械包未录入代理灭菌单"; } @@ -984,8 +955,7 @@ } try { StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); - StrutsParamUtils.getResponse().getWriter() - .print(result); + StrutsParamUtils.getResponse().getWriter().print(result); } catch (IOException e) { e.printStackTrace(); } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r16011 -r16059 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 16011) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 16059) @@ -82,6 +82,12 @@ public List getAllReviewedTousseInstanceWithOutBasket( String orgUnitCode , String beginDate , String endDate); + /** + * 获取指定科室今天审核的指定器械包 + * @param orgUnitCode 科室编码 + * @param name 器械包名称 + * @return + */ public List getTodayReviewedTousseInstanceByNameAndOrgUnitCode( String orgUnitCode,String name); @@ -98,6 +104,11 @@ public boolean isTousseStatusCorrect(TousseInstance tousseInstance); + /** + * 通过器械包实例Id判断器械包是否还没入灭菌篮筐 + * @param id 器械包实例id + * @return + */ public boolean isTousseInstanceOutOfBasket(Long id); public void updateTousseExpirationDate(String barcode, Date validDate); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r16039 -r16059 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 16039) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 16059) @@ -1078,7 +1078,7 @@ // } /** - * 通过器械包Id判断器械包是否关联篮筐 + * 通过器械包实例Id判断器械包是否还没入灭菌篮筐 */ @Override public boolean isTousseInstanceOutOfBasket(Long id) { @@ -1461,6 +1461,12 @@ return null; } + /** + * 获取指定科室今天审核的指定器械包 + * @param orgUnitCode 科室编码 + * @param name 器械包名称 + * @return + */ @SuppressWarnings("unchecked") @Override public List getTodayReviewedTousseInstanceByNameAndOrgUnitCode(