Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r17394 -r17406 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 17394) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 17406) @@ -13314,6 +13314,7 @@ String endDay = params.get("endDay"); String sterilizerName = params.get("sterilizerName"); String sterilizationType = params.get("sterilizationType"); + String sortType = params.get("sortType"); String where = " 1=1 "; if(StringTools.isEmpty(sterilizerName) || StringTools.isEmpty(sterilizationType)){ where = " 1=0 "; @@ -13411,14 +13412,37 @@ for(TousseOverLoadDetail detail : details){ List rowBeans = detail.getRowBeans(); String code = detail.getCode(); + Integer count = combinationCodeCountMap.get(code); + detail.setCodeCount(count == null?0:count); for(TousseOverLoadBean bean : rowBeans){ bean.setCombinationCode(code); bean.setCombinationCodeCount(combinationCodeCountMap.get(code).toString()); bean.setRowNum(index); } ++index; } - + if("组合次数降序".equals(sortType)){ + Collections.sort(details, new Comparator(){ + @Override + public int compare(TousseOverLoadDetail o1, + TousseOverLoadDetail o2) { + if(o1.getCodeCount() < o2.getCodeCount()){ + return 1; + }else if(o1.getCodeCount() > o2.getCodeCount()){ + return -1; + } + return 0; + }}); + //重新设置序号 + index = 1; + for(TousseOverLoadDetail detail : details){ + List rowBeans = detail.getRowBeans(); + for(TousseOverLoadBean bean : rowBeans){ + bean.setRowNum(index); + } + ++index; + } + } List beans = new ArrayList<>(); for(TousseOverLoadDetail detail : details){ beans.addAll(detail.getRowBeans()); Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseOverLoad.js =================================================================== diff -u -r17359 -r17406 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseOverLoad.js (.../tousseOverLoad.js) (revision 17359) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseOverLoad.js (.../tousseOverLoad.js) (revision 17406) @@ -17,6 +17,7 @@ var endTime = $Id('endTime').value; var sterilizerName = Ext.getCmp('sterilizerName').getValue(); var sterilizationType = Ext.getCmp('sterilizationType').getValue(); + var sortType = Ext.getCmp('sortType').getValue(); myMask = new Ext.LoadMask(Ext.getBody(), { msg: '正在加载,请稍候!', removeMask: true @@ -27,7 +28,8 @@ "&startDay=" + startTime + "&endDay=" + endTime + "&sterilizerName=" + sterilizerName + - "&sterilizationType=" + sterilizationType, + "&sterilizationType=" + sterilizationType + + "&sortType=" + sortType, 'thisIframe', '_self'); } @@ -59,6 +61,11 @@ } } }); + + var sortTypeStore = new Ext.data.SimpleStore({ + fields : ['sortType'], + data : [["灭菌时间降序"],["组合次数降序"]] + }); Ext.QuickTips.init(); @@ -76,10 +83,10 @@ border : 0, frame : true, bodyStyle : 'padding:0px auto;margin:0px',// padding:1px;padding-top:5px; - height : 105, + height : 135, items : [{ layout : 'column', - height : 40, + height : 50, width : 1024, labelWidth : 70, items : [{ @@ -192,6 +199,26 @@ readOnly:true, anchor : '100%' }] + },{ + columnWidth : .25, + layout : 'form', + cls:'edit-5char-labelwidth', + items : [{ + xtype : 'combo', + fieldLabel : "排序方式", + valueField : 'sortType', + displayField : 'sortType', + store : sortTypeStore, + triggerAction : 'all', + mode : 'local', + editable:false, + forceSelection : true, + name : 'sortType', + id : 'sortType', + allowBlank : true, + readOnly:true, + anchor : '100%' + }] }] }], buttons:[{