Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r34891 -r34967 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 34891) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 34967) @@ -1978,10 +1978,10 @@ String endTime = StrutsParamUtils.getPraramValue("endTime", ""); String tousseName = StrutsParamUtils.getPraramValue("tousseName", ""); String departCoding = StrutsParamUtils.getPraramValue("departCoding", ""); - + String tousseTypes = StrutsParamUtils.getPraramValue("tousseTypes", ""); String urgentTotalMsg = "";//加急物品物品总计信息 if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) { - List firstColumnVos = jasperReportManager.getUrgentNeedGoodsProcessingCycleData(startTime, endTime, tousseName, departCoding); + List firstColumnVos = jasperReportManager.getUrgentNeedGoodsProcessingCycleData(startTime, endTime, tousseName, departCoding, tousseTypes); if(CollectionUtils.isNotEmpty(firstColumnVos)){//统计加急物品物品 Map urgentLevelToUrgentAmountMap = new HashMap(); Integer totalUrgentAmount = 0; Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r34790 -r34967 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 34790) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 34967) @@ -838,10 +838,11 @@ * @param endTime 结束时间格式如:2017-01-01 * @param tousseName 指定想要查询的器械包名称,如果不指定则查询全部器械包 * @param departCoding 供应室编码 + * @param tousseTypes 器械包类型 ,分隔 全部则不过滤 * @return */ public List getUrgentNeedGoodsProcessingCycleData(String startTime, - String endTime, String tousseName, String departCoding); + String endTime, String tousseName, String departCoding, String tousseTypes); /** * 获取手术仪器追溯查询报表的数据 * @param barcode 器械包条码或者标识牌条码 Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r34940 -r34967 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 34940) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 34967) @@ -20995,7 +20995,7 @@ @Override public List getUrgentNeedGoodsProcessingCycleData( - String startTime, String endTime, String tousseName, String departCoding) { + String startTime, String endTime, String tousseName, String departCoding, String tousseTypes) { List firstColumnVos = new ArrayList(); Map firstColumnVoMap = new HashMap(); if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) { @@ -21005,25 +21005,18 @@ if (StringTools.isNotBlank(tousseName)) { tousseNameSql += String.format("and temp.物品名称='%s'", tousseName); } - String whereSqlForOrgUnitCoding = null; - if(StringUtils.isNotBlank(departCoding) && !departCoding.contains("全部")){ - if(!departCoding.contains(",")){ - whereSqlForOrgUnitCoding = " and temp.orgUnitCoding = '"+ departCoding +"'"; - }else{ - whereSqlForOrgUnitCoding = " and " + SqlUtils.getStringFieldInLargeCollectionsPredicate("temp.orgUnitCoding", SqlUtils.splitStringToSet(departCoding, ",")); - } - }else{ - whereSqlForOrgUnitCoding = ""; - } + String whereSqlForOrgUnitCoding = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparatorFilterAll("temp.orgUnitCoding", departCoding, ","); + String tousseTypesSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparatorFilterAll("temp.tousseType", tousseTypes, ","); String sql = "select * from (select * from (" + //--1.使用记录转申请单后的预回收、回收、清洗交接、装配(全部装配+部分装配) - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join TousseTransitionItem tti on tti.tousseItemId=ti.id and tti.tousseBarcode=b.barcode " + "join TousseTransitionRecord ttr on ttr.id=tti.tousseTransitionRecordId " + @@ -21040,12 +21033,13 @@ "union all " + //--2.使用记录转申请单后的预回收、回收、清洗交接 (排除装配的包实例数据) //--2.1 使用记录转申请单后的预回收、回收、清洗交接但还未装配的数据 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join TousseTransitionItem tti on tti.tousseItemId=ti.id and tti.tousseBarcode=b.barcode " + "join TousseTransitionRecord ttr on ttr.id=tti.tousseTransitionRecordId " + @@ -21057,12 +21051,13 @@ "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--2.2使用记录转申请单后的预回收、回收、清洗交接、已经开始装配但未完全装配完的未装配部分的数据 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join TousseTransitionItem tti on tti.tousseItemId=ti.id and tti.tousseBarcode=b.barcode " + "join TousseTransitionRecord ttr on ttr.id=tti.tousseTransitionRecordId " + @@ -21075,12 +21070,13 @@ "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--3.使用记录转申请单后的预回收、回收、装配 (排除清洗交接的数据)(全部装配+部分装配) - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join TousseTransitionItem tti on tti.tousseItemId=ti.id and tti.tousseBarcode=b.barcode " + "join TousseTransitionRecord ttr on ttr.id=tti.tousseTransitionRecordId " + @@ -21096,12 +21092,13 @@ "union all " + //--4.使用记录转申请单后的预回收、回收 (排除清洗交接与装配的包实例数据) //--4.1 使用记录转申请单后的预回收、回收、且未装配 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join TousseTransitionItem tti on tti.tousseItemId=ti.id and tti.tousseBarcode=b.barcode " + "join TousseTransitionRecord ttr on ttr.id=tti.tousseTransitionRecordId " + @@ -21112,12 +21109,13 @@ "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--4.2 使用记录转申请单后的预回收、回收、已经开始装配但未完全装配完的未装配部分的数据 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join TousseTransitionItem tti on tti.tousseItemId=ti.id and tti.tousseBarcode=b.barcode " + "join TousseTransitionRecord ttr on ttr.id=tti.tousseTransitionRecordId " + @@ -21129,12 +21127,13 @@ "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--5.使用记录转申请单后的回收、清洗交接、装配 (排除预回收数据)(全部装配+部分装配) - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join WashTransitionItem wti on wti.tousseDefinitionId=ri.tousseDefinitionId and b.barcode=wti.tousseBarcode " + "join WashTransitionRecord wtr on wtr.id=wti.washTransitionRecordId " + @@ -21150,12 +21149,13 @@ "union all " + //--6.使用记录转申请单后的回收、清洗交接 (排除预回收与装配的包实例数据) //--6.1 使用记录转申请单后的回收、清洗交接、且未装配 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join WashTransitionItem wti on wti.tousseDefinitionId=ri.tousseDefinitionId and b.barcode=wti.tousseBarcode " + "join WashTransitionRecord wtr on wtr.id=wti.washTransitionRecordId " + @@ -21166,12 +21166,13 @@ "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--6.2 使用记录转申请单后的回收、清洗交接、已经开始装配但未完全装配完的未装配部分的数据 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join WashTransitionItem wti on wti.tousseDefinitionId=ri.tousseDefinitionId and b.barcode=wti.tousseBarcode " + "join WashTransitionRecord wtr on wtr.id=wti.washTransitionRecordId " + @@ -21183,12 +21184,13 @@ "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--7.使用记录转申请单后的回收、装配 (排除预回收与清洗交接数据)(全部装配+部分装配) - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join TousseInstance tit2 on tit2.recyclingRecordId=rr.id and tit2.tousseDefinition_id=ri.tousseDefinitionId and tit2.lasttousseinstanceid = tit.id " + "left join Invoice i on i.id=tit2.invoice_id " + @@ -21203,12 +21205,13 @@ "union all " + //--8.使用记录转申请单后的回收 (排除预回收、清洗交接与装配的包实例数据) //--8.1使用记录转申请单后的回收、查询未装配的数据 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "where ri.urgentAmount > 0 " + "and (ti.isTerminated is null or ti.isTerminated<>1) " + @@ -21218,12 +21221,13 @@ "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--8.2.使用记录转申请单后的回收、查询有装配但未装完的未装配部分的数据 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit on tit.tousseItemId=ti.id " + + "join TousseDefinition td on td.id=tit.tousseDefinition_id " + "join barcodeDevice b on tit.id=b.id " + "join PackingTask pt on pt.sourceId=rr.id and pt.tousseDefinition_id=ri.tousseDefinitionId " + "where ri.urgentAmount > 0 " + @@ -21234,12 +21238,13 @@ "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + //--9.手工添加回收(或添加申请单后的回收)后的回收、装配 (排除预回收数据、手工添加的不会做预回收,清洗交接没有意义) - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',i.sendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "left join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + "join TousseInstance tit2 on tit2.recyclingRecordId=rr.id and tit2.tousseDefinition_id=ri.tousseDefinitionId and (tit2.sourceRecyclingItemId is null or tit2.sourceRecyclingItemId = ri.id) " + + "join TousseDefinition td on td.id=tit2.tousseDefinition_id " + "left join Invoice i on i.id=tit2.invoice_id " + "join barcodeDevice b2 on tit2.id=b2.id " + "left join SterilizationRecord sr on tit2.sterilizationRecord_id=sr.id " + @@ -21251,23 +21256,25 @@ "union all " + //--10.手工添加回收(或添加申请单后的回收)后的回收 (排除预回收、装配的包实例数据、手工添加的不会做预回收,清洗交接没有意义)(全部装配+部分装配) //--10.1.手工添加回收(或添加申请单后的回收)后的回收,未装配的数据 - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "left join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + + "left join TousseDefinition td on td.id=ti.tousseDefinitionId " + "where ri.urgentAmount > 0 " + "and (ti.isTerminated is null or ti.isTerminated<>1) " + "and (ti.id is null or ti.id not in (select tousseItemId from TousseInstance where tousseItemId is not null)) " + "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "and ri.tousseDefinitionId not in (select tousseDefinition_id from TousseInstance where recyclingRecordId=rr.id and sourceRecyclingItemId is null) " + "union all " + //--10.2.手工添加回收(或添加申请单后的回收)后的回收,查询有装配但未装完的未装配部分的数据() - "select null tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + + "select td.tousseType,null parentTousseName, ri.id,ri.urgentAmount,rr.orgUnitCoding,null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + "join RecyclingItem ri on ri.recyclingRecord_id=rr.id " + "left join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + + "left join TousseDefinition td on td.id=ti.tousseDefinitionId " + "join PackingTask pt on pt.sourceId=rr.id and pt.tousseDefinition_id=ri.tousseDefinitionId " + "where ri.urgentAmount > 0 " + "and (ti.isTerminated is null or ti.isTerminated<>1) " + @@ -21295,7 +21302,7 @@ + " left join TousseItem ti on ti.recyclingApplication_ID=rr.recyclingApplication_id and ti.tousseDefinitionId=ri.tousseDefinitionId " + " where ri.urgentAmount > 0 and (ti.isTerminated is null or ti.isTerminated<>1) " + " and td.tousseType='"+ TousseDefinition.PACKAGE_TYPE_SPLIT +"' " - + ") temp where 1=1 " + betweenSql + tousseNameSql + whereSqlForOrgUnitCoding + " order by temp.回收时间,temp.id,temp.物品名称 asc " + + ") temp where 1=1 " + betweenSql + tousseNameSql + whereSqlForOrgUnitCoding + tousseTypesSql + " order by temp.回收时间,temp.id,temp.物品名称 asc " ; logger.debug("急用物品处理周期统计报表查询:" + sql); ResultSet result = objectDao.executeSql(sql);