Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java =================================================================== diff -u -r14423 -r14490 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 14423) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 14490) @@ -218,6 +218,10 @@ // 对于一级供应室以外的其他科室,加上按部门过滤的语句,只能查看本部门的申请单 sqlBuilder.append(String.format(" AND po.departCoding = '%s'", currentOrgUnitCode)); + //如果是科室申领 + if("todoList".equals(listType)){ + this.createApplyFilterSql(sqlBuilder, deliverStatusSql); + } } String sql = sqlBuilder.toString(); @@ -228,6 +232,34 @@ "recyclingApplications", "parent" }); } + /** + * 创建临床科室的科室申领过滤的sql + * 今天提交或者没提交的,今天之前提交的且回收状态处于待回收,部分回收;发货状态处于待发货,部分发货;归还状态处于未归还,部分归还,归还待确认; + * @param sqlBuilder 原来的sql + * @param deliverStatusSql 发货状态sql + */ + private void createApplyFilterSql(StringBuilder sqlBuilder,String deliverStatusSql){ + //归还状态:未归还,部分归还,归还待确认 + String returnStatusSql = SqlBuilder.build_IN_Statement("po.returnStatus", SqlBuilder.IN, InvoicePlan.RETURN_STATUS_UNRETURNED, + InvoicePlan.RETURN_STATUS_PARTIALLY_RETURNED, InvoicePlan.RETURN_STATUS_AWAITCONFIRM); + //回收状态:待回收,部分回收 + String recyclingStatusSql = SqlBuilder.build_IN_Statement("po.recyclingStatus", SqlBuilder.IN, InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE, + InvoicePlan.RECYCLINGSTATUS_PARTRECYCLE); + Date now = new Date(); + String todayBegin = dateQueryAdapter.dateAdapter(DateUtils.truncate(now, Calendar.DAY_OF_MONTH)); + String todayEnd = dateQueryAdapter.dateAdapter(DateUtils.truncate(DateUtils.addDays(now, 1),Calendar.DAY_OF_MONTH)); + String todaySql = " po.lastInvoiceTime >= " + todayBegin; + String todaySubmitSql = " (po.submitTime >= " + todayBegin + " and po.submitTime < " + todayEnd + ") "; + String beforeTodaySubmitSql = " (po.submitTime < " + todayBegin + ") "; + sqlBuilder.append(" AND ("); + //今天提交或者没提交的 + sqlBuilder.append(String.format("submitTime is null OR %s ", todaySubmitSql)); + sqlBuilder.append("OR ("); + //今天之前提交的且回收状态处于待回收,部分回收;发货状态处于待发货,部分发货;归还状态处于未归还,部分归还,归还待确认; + sqlBuilder.append(String.format("%s AND (%s OR %s OR %s OR %s) ", beforeTodaySubmitSql, deliverStatusSql, returnStatusSql, recyclingStatusSql, todaySql)); + sqlBuilder.append("))"); + } + private boolean showForeignTousseApplication() { SupplyRoomConfig sysConfig = supplyRoomConfigManager.getSystemParamsObj(); Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp =================================================================== diff -u -r14283 -r14490 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 14283) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 14490) @@ -131,7 +131,8 @@ var unPrint = '<%=InvoicePlan.PRINT_STATUS_UNPRINT%>'; var isCssdUser = '<%=request.getAttribute("isCssdUser")%>'; -var sortFieldStr = 'po.applicationTime'; +var sortFieldStr = 'committedStatus ASC, po.orderByFiled ASC, po.applicationTime'; +//var sortFieldStr = 'po.applicationTime'; if(isCssdUser == 'true'){ sortFieldStr = 'committedStatus ASC, printed ASC, po.orderByFiled ASC, po.applicationTime'; }