Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r13710 -r13728 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 13710) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 13728) @@ -492,7 +492,7 @@ } /** - * 查询今天本组已审核的器械包 + * 查询今天本组已审核的器械包(器械包、消毒物品、敷料包、外来器械包、外来器械拆分小包、自定义器械包、外部代理灭菌) */ @Override public List getReviewerVoAtToday(String taskGroup) @@ -503,7 +503,10 @@ String startDateTime = currentDate + " 00:00:00"; String endDateTime = currentDate + " 23:59:59"; String fmt = "yyyy-MM-dd HH24:MI:SS"; - String sql = "select d.name,i.reviewer as reviewer,d.isTraceable,count(d.name) amount " + + SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); + String sql = "select alias.name , alias.reviewer , alias.isTraceable ,count(alias.name) amount from"; + //普通器械包、消毒物品、敷料包的查询 + sql += "(select d.name,i.reviewer as reviewer,d.isTraceable " + "from tousseInstance i,tousseDefinition d,cssdHandleTousses t where i.toussedefinition_id = d.id and d.id=t.tousseDefinitionId " + "and i.reviewTime between "+dateQueryAdapter.dateConverAdapter2(startDateTime, fmt)+" and " + dateQueryAdapter.dateConverAdapter2(endDateTime, fmt) @@ -513,7 +516,38 @@ + orgUnitCode + "' and i.orgUnitCoding = '" + orgUnitCode - + "' group by d.name,i.reviewer, d.isTraceable,i.orgUnitCoding"; + + "'"; + + if(StringUtils.equals(taskGroup, supplyRoomConfig.getDefalutTaskGroup())){ + //外来器械包、外来器械拆分小包 + sql += " union all select d.name,i.reviewer as reviewer,d.isTraceable amount " + + "from tousseInstance i,tousseDefinition d where i.toussedefinition_id = d.id and d.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') " + + "and i.reviewTime between "+dateQueryAdapter.dateConverAdapter2(startDateTime, fmt)+" and " + + dateQueryAdapter.dateConverAdapter2(endDateTime, fmt) + + " and i.orgUnitCoding = '" + + orgUnitCode + + "' "; + } + + if(StringUtils.equals(taskGroup, supplyRoomConfig.getDefalutTaskGroup())){ + //自定义器械包 + sql += " union all select d.name,i.reviewer as reviewer,d.isTraceable amount " + + "from tousseInstance i,tousseDefinition d where i.toussedefinition_id = d.id and d.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"') " + + "and i.reviewTime between "+dateQueryAdapter.dateConverAdapter2(startDateTime, fmt)+" and " + + dateQueryAdapter.dateConverAdapter2(endDateTime, fmt) + + " and i.orgUnitCoding = '" + + orgUnitCode + + "' "; + } + //外部代理灭菌 + sql += " union all select d.name,i.reviewer as reviewer,d.isTraceable " + + "from tousseInstance i,tousseDefinition d where i.toussedefinition_id = d.id and d.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY+"') " + + "and i.reviewTime between "+dateQueryAdapter.dateConverAdapter2(startDateTime, fmt)+" and " + + dateQueryAdapter.dateConverAdapter2(endDateTime, fmt) + + " and i.orgUnitCoding = '" + + orgUnitCode + + "' "; + sql += ") alias group by alias.name,alias.reviewer, alias.isTraceable"; ResultSet rs = objectDao.executeSql(sql); List returnValue = new ArrayList(); try { Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r13722 -r13728 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13722) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13728) @@ -134,6 +134,11 @@ this.wareHouseManager = wareHouseManager; } + public void setSupplyRoomConfigManager( + SupplyRoomConfigManager supplyRoomConfigManager) { + this.supplyRoomConfigManager = supplyRoomConfigManager; + } + public void discardTousseInstance(TousseInstance tousseInstance,String operateUser,String wasteReason,Date wasteDate){ if(tousseInstance == null){ return; @@ -357,18 +362,67 @@ ReviewedBasket reviewedBasket, String taskGroup) { logger.debug("getTousseInstanceVOsInReviewedBasket,篮筐名字:" + reviewedBasket.getContainer().getContainerName()); - + //科室供应室配置 + SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); List vos = new ArrayList(); - - String sql = " select t.id id, tt.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + //普通器械包、消毒物品、敷料包 + String sql = " select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + "from tousseinstance t, barcodedevice b , cssdHandleTousses tt , TousseDefinition td " - + "where t.id = b.id and tt.tousseDefinitionId=t.toussedefinition_id and t.tousseDefinition_id=td.id and t.reviewBasket_id =" + + "where t.id = b.id and tt.tousseDefinitionId=td.ancestorID and t.tousseDefinition_id=td.id and t.reviewBasket_id =" + reviewedBasket.getId() + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; if(StringUtils.isNotBlank(taskGroup)){ sql += String.format(" and tt.taskGroup = '%s'", taskGroup); + + //外来器械包、外来器械拆分小包 + if(taskGroup.equals(supplyRoomConfig.getDefalutTaskGroup())){ + sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "from tousseinstance t, barcodedevice b , TousseDefinition td " + + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id =" + + reviewedBasket.getId() + + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; + } + //自定义器械包 + if(taskGroup.equals(supplyRoomConfig.getCustomTousseDefaultTaskGroup())){ + sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "from tousseinstance t, barcodedevice b , TousseDefinition td " + + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"') and t.reviewBasket_id =" + + reviewedBasket.getId() + + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; + } + //外部代理灭菌 + sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "from tousseinstance t, barcodedevice b , TousseDefinition td " + + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY+"') and t.reviewBasket_id =" + + reviewedBasket.getId() + + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; + }else{ + //外来器械包、外来器械拆分小包 + sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "from tousseinstance t, barcodedevice b , TousseDefinition td " + + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id =" + + reviewedBasket.getId() + + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; + //自定义器械包 + sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "from tousseinstance t, barcodedevice b , TousseDefinition td " + + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"') and t.reviewBasket_id =" + + reviewedBasket.getId() + + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; + //外部代理灭菌 + sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "from tousseinstance t, barcodedevice b , TousseDefinition td " + + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY+"') and t.reviewBasket_id =" + + reviewedBasket.getId() + + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; } ResultSet rs = objectDao.executeSql(sql);