Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/dwr/table/ForeignProxyDisinfectionTableManager.java =================================================================== diff -u -r29496 -r29502 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/dwr/table/ForeignProxyDisinfectionTableManager.java (.../ForeignProxyDisinfectionTableManager.java) (revision 29496) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/dwr/table/ForeignProxyDisinfectionTableManager.java (.../ForeignProxyDisinfectionTableManager.java) (revision 29502) @@ -14,6 +14,7 @@ import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; +import com.forgon.disinfectsystem.basedatamanager.container.service.ReviewedBasketManager; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; @@ -51,6 +52,12 @@ private LogManager appLogManager; + private ReviewedBasketManager reviewedBasketManager; + + public void setReviewedBasketManager(ReviewedBasketManager reviewedBasketManager) { + this.reviewedBasketManager = reviewedBasketManager; + } + public void setAppLogManager(LogManager appLogManager) { this.appLogManager = appLogManager; } @@ -160,9 +167,7 @@ tousseInstanceManager.getVirtualBasketTousse(json, barcode, barcodeEnd); }else{ //判断篮筐中是否有未发货(已灭菌)的器械包,如果有则进行提示 - int count = objectDao.countBySql("select count(0) from "+ TousseInstance.class.getSimpleName() - +" po where po.status='" + TousseInstance.STATUS_STERILED - + "' and po.reviewBasket_id in (select id from ReviewedBasket where container_id=" + container.getId() + ")"); + int count = reviewedBasketManager.getSterilizedTousseAmountBySterilizeBasket(container); if(count > 0){ JSONUtil.addProperty(json, "returnType", "scanBasketFoundNotDeliverTousseInContainer");//扫描篮筐时发现有未发货的器械包 JSONUtil.addProperty(json, "notDeliverTousseAmount", count);//扫描篮筐时发现有未发货的器械包数量 Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterileloading/dwr/table/SterileLoadingTableManager.java =================================================================== diff -u -r29496 -r29502 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterileloading/dwr/table/SterileLoadingTableManager.java (.../SterileLoadingTableManager.java) (revision 29496) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterileloading/dwr/table/SterileLoadingTableManager.java (.../SterileLoadingTableManager.java) (revision 29502) @@ -18,6 +18,7 @@ import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; +import com.forgon.disinfectsystem.basedatamanager.container.service.ReviewedBasketManager; import com.forgon.disinfectsystem.basedatamanager.urgent.service.UrgentLevelManager; import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; @@ -49,6 +50,12 @@ private UrgentLevelManager urgentLevelManager; + private ReviewedBasketManager reviewedBasketManager; + + public void setReviewedBasketManager(ReviewedBasketManager reviewedBasketManager) { + this.reviewedBasketManager = reviewedBasketManager; + } + public InitDbConnection getDbConnection() { return dbConnection; } @@ -377,9 +384,7 @@ return json.toString(); } //判断篮筐中是否有未发货(已灭菌)的器械包,如果有则进行提示 - int count = objectDao.countBySql("select count(0) from "+ TousseInstance.class.getSimpleName() - +" po where po.status='" + TousseInstance.STATUS_STERILED - + "' and po.reviewBasket_id in (select id from ReviewedBasket where container_id=" + container.getId() + ")"); + int count = reviewedBasketManager.getSterilizedTousseAmountBySterilizeBasket(container); if(count > 0){ JSONUtil.addProperty(json, "returnType", "scanBasketFoundNotDeliverTousseInContainer");//扫描篮筐时发现有未发货的器械包 JSONUtil.addProperty(json, "notDeliverTousseAmount", count);//扫描篮筐时发现有未发货的器械包数量 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java =================================================================== diff -u -r28859 -r29502 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 28859) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 29502) @@ -442,5 +442,28 @@ } return baskets; } + + @Override + public int getSterilizedTousseAmountBySterilizeBasket(Container container) { + if(container == null || !DatabaseUtil.isPoIdValid(container.getId())){ + return 0; + } + if(!StringUtils.equals(Container.CONTAINER_PURPOSE_DISINFECTION, container.getPurpose())){ + return 0; + } + String hql = String.format("from %s po where po.container.id = %s and po.container.status='%s' order by po.id desc", + ReviewedBasket.class.getSimpleName(), container.getId(), Container.CONTAINER_STATUS_FREE); + @SuppressWarnings("unchecked") + List reviewedBasketList = objectDao.findByHql(hql); + if(CollectionUtils.isEmpty(reviewedBasketList)){ + return 0; + } + ReviewedBasket reviewedBasket = reviewedBasketList.get(0); + int count = objectDao.countBySql("select count(0) from "+ TousseInstance.class.getSimpleName() + +" po where po.status in ('" + TousseInstance.STATUS_STERILED + + "','" + TousseInstance.STATUS_DISINFECTED +"') and po.reviewBasket_id = " + reviewedBasket.getId()); + return count; + } + } \ No newline at end of file Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/action/ProxyDisinfectionAction.java =================================================================== diff -u -r29496 -r29502 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/action/ProxyDisinfectionAction.java (.../ProxyDisinfectionAction.java) (revision 29496) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/action/ProxyDisinfectionAction.java (.../ProxyDisinfectionAction.java) (revision 29502) @@ -439,9 +439,7 @@ basketId = basket.getId(); } List tousses = proxyDisinfectionManager.buildReviewedTousseInstanceVos(basket); - int count = objectDao.countBySql("select count(0) from "+ TousseInstance.class.getSimpleName() - +" po where po.status='" + TousseInstance.STATUS_STERILED - + "' and po.reviewBasket_id in (select id from ReviewedBasket where container_id=" + container.getId() + ")"); + int count = reviewedBasketManager.getSterilizedTousseAmountBySterilizeBasket(container); json.put("notDeliverTousseAmount", count); json.put("containerName", container.getContainerName()); json.put("purpose", container.getPurpose()); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManager.java =================================================================== diff -u -r28859 -r29502 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManager.java (.../ReviewedBasketManager.java) (revision 28859) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManager.java (.../ReviewedBasketManager.java) (revision 29502) @@ -5,6 +5,7 @@ import java.util.List; +import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; @@ -116,4 +117,11 @@ * @return */ public List getDepartAllTodayReviewedBasket(String orgUnitCoding); + + /** + * 获取灭菌篮筐已灭菌的物品数量(只获取最后有个reviewBasket的物品) + * @param container + * @return + */ + public int getSterilizedTousseAmountBySterilizeBasket(Container container); }