Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r33795 -r33816 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 33795) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 33816) @@ -2157,13 +2157,16 @@ //判断是否有勾选固定条码,如果有,则去获取下面的包实例条码 Collection bList = new ArrayList(); + //固定条码,不需要入筐 + List fixedBarcodeList = new ArrayList(); for (TousseSimpleVO tousseSimpleVO : tousseSimpleVOList) { //if(isCountBarcode(barcode)){ if(StringUtils.equals(Constants.STR_NO, tousseSimpleVO.getIsTraceable())){ List list = getTousseInsDataByFixedBarcode(tousseSimpleVO.getBarcode(), "", " and status='"+TousseInstance.STATUS_REVIEWED+"' ", "barcode", 1,null,null); for (String bStr : list) { bList.add(bStr); } + fixedBarcodeList.add(tousseSimpleVO.getBarcode()); } //包要接收了才能进行灭菌装载GDSZYY-131 if(StringUtils.equals(tousseSimpleVO.getHasReceived(), Constants.STR_NO)){ @@ -2207,6 +2210,7 @@ List tousseInstanceBarcodeList = new ArrayList(); tousseInstanceBarcodeList.addAll(tousseInstanceBarcodes); tousseInstanceBarcodeList.addAll(bList); + tousseInstanceBarcodeList.removeAll(fixedBarcodeList); String barcodeInCondition = SqlUtils.getStringFieldInLargeCollectionsPredicate("barcode", tousseInstanceBarcodeList); //获取器械包审核前所在的虚拟篮筐集合 @@ -2296,13 +2300,13 @@ objectDao.clearCache(); String updateSql = "update TousseInstance set VirtualBasketSeqNum = null , ReviewBasket_id = "+ basket.getId() +" , " + " SterilizationBasket='"+ basket.getContainer().getContainerName() - +"' where id in (select id from BarcodeDevice where " + barcodeInCondition + ")"; + +"' where id in (select id from BarcodeDevice where " + barcodeInCondition + ") and tousseFixedBarcode <> 1 "; objectDao.excuteSQL(updateSql); objectDao.clearCache(); updateSql = "update TousseInstance set VirtualBasketSeqNum = null , ReviewBasket_id = "+ basket.getId() +" , " + " SterilizationBasket='"+ basket.getContainer().getContainerName() - +"' where comboTousseInstanceId in (select id from BarcodeDevice where " + barcodeInCondition + ")"; + +"' where comboTousseInstanceId in (select id from BarcodeDevice where " + barcodeInCondition + ") and tousseFixedBarcode <> 1 "; objectDao.excuteSQL(updateSql); /*try{ //清除空的灭菌篮筐实例(即旗下没有包实例关联的灭菌篮筐) @@ -2328,7 +2332,8 @@ + "join TousseDefinition tdAncestor on td.ancestorID=tdAncestor.id " + "left join Sterilisation s on s.sterilisation=tdAncestor.sterilingMethod " + "where " + SqlUtils.getStringFieldInLargeCollectionsPredicate("b.barcode", tousseInstanceBarcodeList) - +" and reviewBasket_id is not null "; + +" and reviewBasket_id is not null " + + " and tousseFixedBarcode <> 1 "; List resultList = getTousseVoDataFromDb(returnSql); return resultList; } @@ -4984,6 +4989,7 @@ "操作人" + AcegiHelper.getLoginUserFullName() + "于"+ DateTools.getFormatDateStr(new Date(), DateTools.COMMON_DATE_HMS) +"对编码为"+ orgUnitCode +"的科室进行器械包库存校正"); String sql = "update "+ GoodsStock.class.getSimpleName() +" set amount=(select count(0) from "+ TousseInstance.class.getSimpleName() +" ti join " + TousseDefinition.class.getSimpleName() +" td on ti.tousseDefinition_id=td.id where wareHouseId=" + wareHouse.getId() + + " and tousseFixedBarcode <> 1" + " and status in ('"+ TousseInstance.STATUS_STERILED +"','"+ TousseInstance.STATUS_SHIPPED +"','"+ TousseInstance.STATUS_SIGNED +"') and td.ancestorId=" + GoodsStock.class.getSimpleName() +".tousseDefinitionId) " + " where wareHouseId=" + wareHouse.getId() + " and tousseDefinitionId is not null";