Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r40995 -r41086 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 40995) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 41086) @@ -15,6 +15,7 @@ import com.forgon.log.model.Log; import com.forgon.log.service.LogManager; import com.forgon.tools.*; + import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -1845,8 +1846,8 @@ + "where %s and %s and " + tousseItemWaitSendAmountSumSql +" > 0 ", TousseItem.class.getSimpleName() , InvoicePlan.class.getSimpleName(), UrgentLevel.class.getSimpleName() , tousseItemCondition,String.format("%s and %s", invoicePlanForeignTousseConditionExcludingAppDate, - String.format("not exists (select 1 from %s tist where tist.tousseDefinition_id = "+ tousseItemTableAlias +".tousseDefinitionId and tist.foreignTousseApp_id = "+ invoicePlanTableAlias +".id)", - TousseInstance.class.getSimpleName()))); + String.format("not exists (select 1 from %s tist join %s tdofti on tist.tousseDefinition_id = tdofti.id where (tist.tousseDefinition_id = "+ tousseItemTableAlias +".tousseDefinitionId or tdofti.parentID = ti.tousseDefinitionId) and tist.foreignTousseApp_id = "+ invoicePlanTableAlias +".id)", + TousseInstance.class.getSimpleName(),TousseDefinition.class.getSimpleName()))); //2.再查已经装配生成包实例的申请单。由于后面括号里这个问题要求不再把包实例的状态列进条件里,所以不再使用此条件(SZSDSRMYY-46 添加外来器械申请单后,要根据科室供应室设置里的器械包发货时间来决定该发货计划的显示) //倒数第二个%s点位符用于插入时间过滤条件用,无时间过滤条件时,替换为空字符串,最后一个%s为order by,union语句中只有最后一条语句末尾才可以加order by Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanOptimizeManagerImpl.java =================================================================== diff -u -r40302 -r41086 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanOptimizeManagerImpl.java (.../InvoicePlanOptimizeManagerImpl.java) (revision 40302) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanOptimizeManagerImpl.java (.../InvoicePlanOptimizeManagerImpl.java) (revision 41086) @@ -544,8 +544,8 @@ + "where %s and %s and " + tousseItemWaitSendAmountSumSql +" > 0 ",queryDepartCoding, TousseItem.class.getSimpleName() , InvoicePlan.class.getSimpleName(), UrgentLevel.class.getSimpleName() , tousseItemCondition,String.format("%s and %s", invoicePlanForeignTousseConditionExcludingAppDate, - String.format("not exists (select 1 from %s tist where tist.tousseDefinition_id = "+ tousseItemTableAlias +".tousseDefinitionId and tist.foreignTousseApp_id = "+ invoicePlanTableAlias +".id)", - TousseInstance.class.getSimpleName()))); + String.format("not exists (select 1 from %s tist join %s tdofti on tist.tousseDefinition_id = tdofti.id where (tist.tousseDefinition_id = "+ tousseItemTableAlias +".tousseDefinitionId or tdofti.parentID = ti.tousseDefinitionId) and tist.foreignTousseApp_id = "+ invoicePlanTableAlias +".id)", + TousseInstance.class.getSimpleName(),TousseDefinition.class.getSimpleName()))); //2.再查已经装配生成包实例的申请单。由于后面括号里这个问题要求不再把包实例的状态列进条件里,所以不再使用此条件(SZSDSRMYY-46 添加外来器械申请单后,要根据科室供应室设置里的器械包发货时间来决定该发货计划的显示) //倒数第二个%s点位符用于插入时间过滤条件用,无时间过滤条件时,替换为空字符串,最后一个%s为order by,union语句中只有最后一条语句末尾才可以加order by