Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r18368 -r18371 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 18368) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 18371) @@ -15743,7 +15743,7 @@ String sql = "select * from (" + - //--1.使用记录转申请单后的预回收、回收、清洗交接、装配 + //--1.使用记录转申请单后的预回收、回收、清洗交接、装配(全部装配+部分装配) "select ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',tit2.invoiceSendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + @@ -15762,6 +15762,7 @@ "where ri.urgentAmount > 0 " + "union all " + //--2.使用记录转申请单后的预回收、回收、清洗交接 (排除装配的包实例数据) + //--2.1 使用记录转申请单后的预回收、回收、清洗交接但还未装配的数据 "select ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + @@ -15777,7 +15778,24 @@ "and tit.id not in (select lastTousseInstanceId from TousseInstance where lastTousseInstanceId is not null) " + "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + - //--3.使用记录转申请单后的预回收、回收、装配 (排除清洗交接的数据) + //--2.2使用记录转申请单后的预回收、回收、清洗交接、已经开始装配但未完全装配完的未装配部分的数据 + "select 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 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 " + + "join WashTransitionItem wti on wti.tousseDefinitionId=ri.tousseDefinitionId and b.barcode=wti.tousseBarcode " + + "join WashTransitionRecord wtr on wtr.id=wti.washTransitionRecordId " + + "join PackingTask pt on pt.sourceId=rr.id and pt.tousseDefinition_id=ri.tousseDefinitionId " + + "where ri.urgentAmount > 0 " + + "and tit.id not in (select lastTousseInstanceId from TousseInstance where lastTousseInstanceId is not null) " + + "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + + "union all " + + //--3.使用记录转申请单后的预回收、回收、装配 (排除清洗交接的数据)(全部装配+部分装配) "select ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',tit2.invoiceSendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + @@ -15795,6 +15813,7 @@ "and b.barcode not in (select wti.tousseBarcode from WashTransitionItem wti where wti.tousseDefinitionId=ri.tousseDefinitionId and wti.tousseBarcode is not null) " + "union all " + //--4.使用记录转申请单后的预回收、回收 (排除清洗交接与装配的包实例数据) + //--4.1 使用记录转申请单后的预回收、回收、且未装配 "select ttr.transitionTime '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + @@ -15809,7 +15828,23 @@ "and b.barcode not in (select wti.tousseBarcode from WashTransitionItem wti where wti.tousseDefinitionId=ri.tousseDefinitionId and wti.tousseBarcode is not null) " + "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + - //--5.使用记录转申请单后的回收、清洗交接、装配 (排除预回收数据) + //--4.2 使用记录转申请单后的预回收、回收、已经开始装配但未完全装配完的未装配部分的数据 + "select 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 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 " + + "join PackingTask pt on pt.sourceId=rr.id and pt.tousseDefinition_id=ri.tousseDefinitionId " + + "where ri.urgentAmount > 0 " + + "and tit.id not in (select lastTousseInstanceId from TousseInstance where lastTousseInstanceId is not null) " + + "and b.barcode not in (select wti.tousseBarcode from WashTransitionItem wti where wti.tousseDefinitionId=ri.tousseDefinitionId and wti.tousseBarcode is not null) " + + "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + + "union all " + + //--5.使用记录转申请单后的回收、清洗交接、装配 (排除预回收数据)(全部装配+部分装配) "select null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',tit2.invoiceSendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + @@ -15827,6 +15862,7 @@ "and b.barcode not in (select tti.tousseBarcode from TousseTransitionItem tti where tti.tousseBarcode is not null) " + "union all " + //--6.使用记录转申请单后的回收、清洗交接 (排除预回收与装配的包实例数据) + //--6.1 使用记录转申请单后的回收、清洗交接、且未装配 "select null '预回收时间',rr.recyclingTime '回收时间',wtr.transitionTime '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + @@ -15841,7 +15877,23 @@ "and tit.id not in (select lastTousseInstanceId from TousseInstance where lastTousseInstanceId is not null) " + "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + - //--7.使用记录转申请单后的回收、装配 (排除预回收与清洗交接数据) + //--6.2 使用记录转申请单后的回收、清洗交接、已经开始装配但未完全装配完的未装配部分的数据 + "select 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 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 " + + "join PackingTask pt on pt.sourceId=rr.id and pt.tousseDefinition_id=ri.tousseDefinitionId " + + "where ri.urgentAmount > 0 " + + "and b.barcode not in (select tti.tousseBarcode from TousseTransitionItem tti where tti.tousseBarcode is not null) " + + "and tit.id not in (select lastTousseInstanceId from TousseInstance where lastTousseInstanceId is not null) " + + "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + + "union all " + + //--7.使用记录转申请单后的回收、装配 (排除预回收与清洗交接数据)(全部装配+部分装配) "select null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',tit2.invoiceSendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + "from RecyclingRecord rr " + @@ -15858,6 +15910,7 @@ "and b.barcode not in (select wti.tousseBarcode from WashTransitionItem wti where wti.tousseDefinitionId=ri.tousseDefinitionId and wti.tousseBarcode is not null) " + "union all " + //--8.使用记录转申请单后的回收 (排除预回收、清洗交接与装配的包实例数据) + //--8.1使用记录转申请单后的回收、查询未装配的数据 "select null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',null '装配时间',null '灭菌开始时间',null '灭菌结束时间',null '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',null '灭菌方式',null '器械包条码',null '标识牌条码' " + "from RecyclingRecord rr " + @@ -15871,6 +15924,21 @@ "and tit.id not in (select lastTousseInstanceId from TousseInstance where lastTousseInstanceId is not null) " + "and ri.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + "union all " + + //--8.2.使用记录转申请单后的回收、查询有装配但未装完的未装配部分的数据 + "select 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 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 " + + "and b.barcode not in (select tti.tousseBarcode from TousseTransitionItem tti where tti.tousseBarcode is not null) " + + "and b.barcode not in (select wti.tousseBarcode from WashTransitionItem wti where wti.tousseDefinitionId=ri.tousseDefinitionId and wti.tousseBarcode is not null) " + + "and tit.id not in (select lastTousseInstanceId from TousseInstance where lastTousseInstanceId is not null) " + + "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + + "union all " + //--9.手工添加回收(或添加申请单后的回收)后的回收、装配 (排除预回收数据、手工添加的不会做预回收,清洗交接没有意义) "select null '预回收时间',rr.recyclingTime '回收时间',null '清洗交接时间',tit2.operationTime '装配时间',sr.startDate '灭菌开始时间',sr.endDate '灭菌结束时间',tit2.invoiceSendTime '发货时间'," + "ri.tousseName '物品名称',ri.urgentLevel '加急类型',sz.ownGroup '灭菌方式',b2.barcode '器械包条码',tit2.idCardInstanceBarcode '标识牌条码' " + @@ -15884,15 +15952,27 @@ "where ri.urgentAmount > 0 " + "and ti.id not in (select tousseItemId from TousseInstance where tousseItemId is not null) " + "union all " + - //--10.手工添加回收(或添加申请单后的回收)后的回收 (排除预回收、装配的包实例数据、手工添加的不会做预回收,清洗交接没有意义) + //--10.手工添加回收(或添加申请单后的回收)后的回收 (排除预回收、装配的包实例数据、手工添加的不会做预回收,清洗交接没有意义)(全部装配+部分装配) + //--10.1.手工添加回收(或添加申请单后的回收)后的回收,未装配的数据 "select 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 " + "where ri.urgentAmount > 0 " + "and 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.id not in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + + "union all " + + //--10.2.手工添加回收(或添加申请单后的回收)后的回收,查询有装配但未装完的未装配部分的数据() + "select 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 PackingTask pt on pt.sourceId=rr.id and pt.tousseDefinition_id=ri.tousseDefinitionId " + + "where ri.urgentAmount > 0 " + + "and ti.id not in (select tousseItemId from TousseInstance where tousseItemId is not null) " + + "and ri.id in (select sourceRecyclingItemId from TousseInstance where sourceRecyclingItemId is not null) " + ") temp where 1=1 " + betweenSql + tousseNameSql + " order by temp.回收时间" ; ResultSet result = objectDao.executeSql(sql); @@ -15955,7 +16035,7 @@ bean.setDeliveryTime(invoiceSendTime.substring(11)); } bean.setGoodsName(name); - bean.setUrgentLevel(urgentLevel); + bean.setUrgentLevel(StringTools.isBlank(urgentLevel) ? "加急" : urgentLevel); bean.setBarcode(barcode); bean.setIdCardInstanceBarcode(idCardInstanceBarcode); bean.setSterilerGroup(ownGroup);