Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r38845 -r38868 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 38845) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 38868) @@ -1208,7 +1208,7 @@ + sterilingModeSql + "and tdancestor.isTraceable='是' "+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null and " + "((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"') " - + "or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in (select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCode+"')))) " + + "or (ti.proxyDisinfection_id is not null and exists (select 1 from InvoicePlan ip where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCode+"')))) " + " union " @@ -1218,7 +1218,7 @@ +" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + sterilingModeAncestorSql + "and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"')" - + " or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in (select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCode+"')))group by tdancestor.id)) t"; + + " or (ti.proxyDisinfection_id is not null and exists (select 1 from InvoicePlan ip where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCode+"')))group by tdancestor.id)) t"; } /** @@ -1248,8 +1248,8 @@ + sterilingModeSql + " and tdancestor.isTraceable='是' "+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + "and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"') or (ti.proxyDisinfection_id " - + "is not null and ti.proxyDisinfection_id in (select ip.id from InvoicePlan ip " - + "where ip.handleDepartCoding='"+orgUnitCode+"'))))" + + "is not null and exists (select 1 from InvoicePlan ip " + + "where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCode+"'))))" + " union " @@ -1261,8 +1261,8 @@ + "tdancestor.isTraceable='否'"+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + sterilingModeAncestorSql + "and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"') or " - + "(ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in " - + "(select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCode+"'))" + + "(ti.proxyDisinfection_id is not null and exists " + + "(select 1 from InvoicePlan ip where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCode+"'))" + ")group by tdancestor.id,tdancestor.name)) t"; } @@ -1302,8 +1302,8 @@ + " where ti.comboTousseInstanceId is null and tdancestor.isTraceable='是' "+keyWordSearchSql+" " + sterilingModeSql + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCoding+"') " - + "or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in " - + "(select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCoding+"')) ) ) " + + "or (ti.proxyDisinfection_id is not null and exists " + + "(select 1 from InvoicePlan ip where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCoding+"')) ) ) " + " union " @@ -1317,8 +1317,8 @@ + " where 1=1 and ti.comboTousseInstanceId is null and tdancestor.isTraceable='否' "+keyWordSearchSql+" " + sterilingModeAncestorSql + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCoding+"') " - + "or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in " - + "(select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCoding+"')))group by tdancestor.id,tdancestor.name,s.sterilizationMode) " + orderSql + " ) " + + "or (ti.proxyDisinfection_id is not null and exists " + + "(select 1 from InvoicePlan ip where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCoding+"')))group by tdancestor.id,tdancestor.name,s.sterilizationMode) " + orderSql + " ) " + "v where rownum <= "+amount+") v1 where rn > "+start+" " + orderSql; } @@ -1370,7 +1370,7 @@ + "ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + sterilingModeSql + "and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCoding+"') " - + "or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in (select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCoding+"'))))" + + "or (ti.proxyDisinfection_id is not null and exists (select 1 from InvoicePlan ip where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCoding+"'))))" + " union " @@ -1385,7 +1385,10 @@ + " where 1=1 and tdancestor.isTraceable='否' "+keyWordSearchSql+" " + sterilingModeAncestorSql + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " - + "and ti.orgunitcoding='"+orgUnitCoding+"' group by tdancestor.id,tdancestor.name,s.sterilizationMode)) tt " + + "and (ti.proxyDisinfection_id is null and ti.orgunitcoding='"+orgUnitCoding+"' " + + "or ti.proxyDisinfection_id is not null and exists " + + "(select 1 from InvoicePlan ip where ti.proxyDisinfection_id=ip.id and ip.handleDepartCoding='"+orgUnitCoding+"') " + + ") group by tdancestor.id,tdancestor.name,s.sterilizationMode)) tt " + ") t2 where t2.rowNum between "+ (start + 1) +" and "+ amount + " order by t2.rowNum asc "; }