Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManager.java =================================================================== diff -u -r27476 -r28859 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManager.java (.../ReviewedBasketManager.java) (revision 27476) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManager.java (.../ReviewedBasketManager.java) (revision 28859) @@ -109,4 +109,11 @@ * @return */ public ReviewedBasket getReviewedBasketByBasketBarcodeAndSterilizationRecordId(String barcode, Long sterilizationRecordId); + + /** + * 根据科室编码,获取所有待灭菌的审核篮筐,并且篮筐必须包含今天审核的器械包 + * @param orgUnitCoding + * @return + */ + public List getDepartAllTodayReviewedBasket(String orgUnitCoding); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java =================================================================== diff -u -r28804 -r28859 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 28804) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 28859) @@ -6,6 +6,8 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedHashSet; import java.util.List; import java.util.Set; @@ -15,7 +17,9 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; @@ -41,6 +45,9 @@ private LogManager appLogManager; + private SupplyRoomConfigManager supplyRoomConfigManager; + + private DateQueryAdapter dateQueryAdapter; public void setAppLogManager(LogManager appLogManager) { this.appLogManager = appLogManager; @@ -54,7 +61,15 @@ this.objectDao = objectDao; } - + public void setSupplyRoomConfigManager( + SupplyRoomConfigManager supplyRoomConfigManager) { + this.supplyRoomConfigManager = supplyRoomConfigManager; + } + + public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { + this.dateQueryAdapter = dateQueryAdapter; + } + @Override public void deleteReviewedBasket(ReviewedBasket reviewedBasket) { if(reviewedBasket != null){ @@ -387,4 +402,45 @@ } return (ReviewedBasket)list.get(0); } + + @Override + public List getDepartAllTodayReviewedBasket(String departCode) { + // 查询的待灭菌的物品的审核时间范围,取科室供应室设置里面的每天开始时间作为时间节点过滤(ZYYFS-118) + // 包含今天审核的器械包的篮筐,就要显示出来(篮筐内所有的包都要显示) + Date out_beginTime = new Date(); + Date out_endTime = new Date(); + supplyRoomConfigManager.getTodayTimeQuantum(out_beginTime, out_endTime); + String reviewTimeSql = " and ti.reviewTime between " + + dateQueryAdapter + .dateAdapter(out_beginTime) + + " and " + + dateQueryAdapter.dateAdapter(out_endTime); + String sql = "select po,s from " + + ReviewedBasket.class.getSimpleName() + + " po left join po.sterilizationRecords s, TousseInstance ti where ti.reviewBasket_id = po.id " + + reviewTimeSql + + " and s.id is null and po.container.status = '" + + Container.CONTAINER_STATUS_STERILIZELOADING + + "' and (po.container.departCode = '" + departCode + "'" + + " or po.id in (select rbs.id from "+ ProxyDisinfection.class.getSimpleName() +" pd join pd.reviewedBaskets rbs where pd.handleDepartCoding='" + departCode + "')" + + ")" + + " and po.container.purpose<>'" + Container.CONTAINER_PURPOSE_VIRTUAL + "'"; + List objs = objectDao.findByHql(sql); + Set basketSet = new LinkedHashSet(); + List baskets = new ArrayList(); + for (Object obj : objs) { + Object[] objArray = (Object[]) obj; + Object reviewedBasketObj = objArray[0]; + Object recordObj = objArray[1]; + if (recordObj == null + && reviewedBasketObj instanceof ReviewedBasket) { + basketSet.add((ReviewedBasket) reviewedBasketObj); + } + } + for (ReviewedBasket reviewedBasket : basketSet) { + baskets.add(reviewedBasket); + } + return baskets; + } + } \ No newline at end of file Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r28804 -r28859 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 28804) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 28859) @@ -5436,8 +5436,9 @@ JSONArray notTimeoutArray = new JSONArray(); //1、所有待灭菌的审核篮筐 - List reviewedBaskets = reviewedBasketManager - .getDepartAllReviewedBasket(orgUnitCoding); + /* List reviewedBaskets = reviewedBasketManager + .getDepartAllReviewedBasket(orgUnitCoding);*/ + List reviewedBaskets = reviewedBasketManager.getDepartAllTodayReviewedBasket(orgUnitCoding); String waitSterilizedTousseInstanceDefaultSortOrder = CssdUtils.getSystemSetConfigByName("waitSterilizedTousseInstanceDefaultSortOrder"); String extraOrder = getExtraOrderSqlBySystemSetConfig(waitSterilizedTousseInstanceDefaultSortOrder); // 遍历加载放入灭菌篮筐的器械包 @@ -6545,19 +6546,22 @@ * @return */ private String getToDayReviewedTousseInsSql(String orgUnitCode, boolean enableUrgentFunction, String extraOrder){ - String todayStr = DateTools.getCurrentDayByFormat("yyyy-MM-dd"); + //待灭菌物品列表中显示按照科室供应室设置里面的每天开始时间作为时间节点(ZYYFS-118) + Date out_beginTime = new Date(); + Date out_endTime = new Date(); + supplyRoomConfigManager.getTodayTimeQuantum(out_beginTime, out_endTime); int listDisplayOfItemsToBeSterilized = CssdUtils.getSystemSetConfigByNameInt("listDisplayOfItemsToBeSterilized", 1); String dateSql = ""; if(listDisplayOfItemsToBeSterilized == 1){//按今天审核的查询 dateSql = " and ti.reviewTime >= " - + dateQueryAdapter.dateAdapter(todayStr + " 00:00:00") - + " and ti.reviewTime <= " - + dateQueryAdapter.dateAdapter(todayStr + " 23:59:59"); + + dateQueryAdapter.dateAdapter(out_beginTime) + + " and ti.reviewTime < " + + dateQueryAdapter.dateAdapter(out_endTime); }else if(listDisplayOfItemsToBeSterilized == 2){//按今天待灭菌查询 dateSql = " and ti.sterileStartTime >= " - + dateQueryAdapter.dateAdapter(todayStr + " 00:00:00") - + " and ti.sterileStartTime <= " - + dateQueryAdapter.dateAdapter(todayStr + " 23:59:59"); + + dateQueryAdapter.dateAdapter(out_beginTime) + + " and ti.sterileStartTime < " + + dateQueryAdapter.dateAdapter(out_endTime); } String firstBarcodeSql = null; if(dbConnection.isSqlServer()){