Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r25621 -r25635 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 25621) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 25635) @@ -97,10 +97,11 @@ * @param tousseType 器械包类型(按器械包类型过滤) * @param packageSize 器械包大小(按器械包大小过滤) * @param isStrengthen 是否是加强版的“消毒供应中心工作量统计报表”(即:增加了评分功能) + * @param taskGroup 任务组过滤 * @return */ public List getStatisticalWorkloadData(String startTime, String endTime, - String querySupplyRoom, String tousseType, String packageSize, boolean isStrengthen); + String querySupplyRoom, String tousseType, String packageSize, boolean isStrengthen, String taskGroup); /** * @param year 查询年份 * @param querySupplyRoom 查询供应室 Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r25634 -r25635 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 25634) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 25635) @@ -5282,7 +5282,7 @@ */ @Override public List getStatisticalWorkloadData(String startTime, String endTime, - String querySupplyRoom, String tousseTypes, String packageSizes, boolean isStrengthen) { + String querySupplyRoom, String tousseTypes, String packageSizes, boolean isStrengthen, String taskGroup) { List list = new ArrayList(); if (StringUtils.isNotBlank(startTime) @@ -5353,15 +5353,14 @@ params.betweenSql = betweenSql; params.querySupplyRoom = querySupplyRoom; params.isDisableIDCardSqlWithAliasOfTousseDefinitionIsTd = ""; - params.taskGroupSqlWithAliasOfTousseDefinitionIsTd = ""; params.tousseGroupSqlWithAliasOfTousseDefinitionIsTd = ""; params.tousseTypeAndPackageSizeSql = tousseTypeAndPackageSizeSql; params.sqlLengthFunctionName = sqlLengthFunctionName; params.tousseTypes = tousseTypes; params.selectUserName = true; + params.taskGroupSqlWithAliasOfTousseDefinitionIsTd = SqlUtils.get_InSql_Extra("td.taskGroup", taskGroup); - //按包数量统计的SQL //回收记录 String tousseAmountSql = String.format("select '回收数量' type,tl.userName,sum(tl.amount) amount from (" Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.js =================================================================== diff -u -r25250 -r25635 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.js (.../statisticalWorkloadView.js) (revision 25250) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.js (.../statisticalWorkloadView.js) (revision 25635) @@ -17,9 +17,13 @@ var startTime= $Id('startTime').value; var endTime = $Id('endTime').value; var departCoding = Ext.getCmp('querySupplyRoom').getValue(); + var taskGroup = Ext.getCmp('taskGroup').getValue(); if(departCoding.indexOf(ALL) == 0){ departCoding = ""; } + if(taskGroup.indexOf(ALL) == 0){ + taskGroup = ""; + } var tousseTypes = Ext.getCmp('tousseType').getValue(); var packageSizes = Ext.getCmp('packageSize').getValue(); var jasperreportName = isStrengthen ? 'strengthenStatisticalWorkload.jasper' : 'statisticalWorkload.jasper'; @@ -36,13 +40,39 @@ "&tousseTypes=" + tousseTypes + "&packageSizes=" + packageSizes + "&startTime=" + startTime + - "&endTime=" + endTime, + "&endTime=" + endTime + "&taskGroup="+taskGroup, 'thisIframe', '_self'); } Ext.onReady(function() { Ext.QuickTips.init(); + //任务组数据源 + var taskGroupStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/taskGroupAction!getTaskGroupList.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'name',mapping : 'name'} + ]), + listeners : { + beforeload:function(){ + taskGroupStore.baseParams["departCoding"] = Ext.getCmp("querySupplyRoom").getValue(); + }, + load :function (thiz,records,options ){ + if(taskGroupStore.getCount() > 1){ + taskGroupStore.insert(0 , new testRecord({'name':ALL})); + } + } + } + }); + var testRecord = Ext.data.Record.create([ + {name: 'name', type: 'string'} + ]); //20181225 var supplyRoomRecord = Ext.data.Record.create([ {name: 'departCode', type: 'string'}, @@ -252,6 +282,10 @@ all.set(combo.checkField, false); } combo.setValue(combo.getCheckedValue()); + taskGroupStore.reload(); + if(!combo.getValue()){ + taskGroupStore.removeAll(); + } } } }] @@ -353,7 +387,61 @@ } } }] - }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 50, + items:[{ + fieldLabel:'任务组', + xtype : 'multiSelect', + id : 'taskGroup', + name : 'taskGroup', + queryParam : 'spell', + minChars : 0, + valueField : 'name', + displayField : 'name', + matchFieldWidth: false, + listConfig: {width : 600}, + store : taskGroupStore, + forceSelection : false, + lazyInit : true, + triggerAction : 'all', + hideTrigger : false, + typeAhead : false, + editable: false, + allowBlank : true, + anchor : '100%', + listeners: { + select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('name') == ALL) { + if (record.get('checked')) { + combo.selectAll(); + } else { + combo.deselectAll(); + } + } + + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function(record) { + if (record.get('name') != ALL && !record.get(this.checkField)) { + selectAll = false; + return; + } + }, combo); + + var all = combo.store.getAt(0); + if (selectAll) { + all.set(combo.checkField, true); + } else { + all.set(combo.checkField, false); + } + combo.setValue(combo.getCheckedValue()); + } + } + }] + }] }], buttons:[{ xtype : 'button', Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r25621 -r25635 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 25621) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 25635) @@ -832,11 +832,11 @@ String tousseTypes = StrutsParamUtils.getPraramValue("tousseTypes", ""); String packageSizes = StrutsParamUtils.getPraramValue("packageSizes", ""); String isStrengthen = StrutsParamUtils.getPraramValue("isStrengthen", ""); - + String taskGroup = StrutsParamUtils.getPraramValue("taskGroup", ""); if (StringTools.isNotBlank(startTime) && StringTools.isNotBlank(endTime)) { return jasperReportManager.getStatisticalWorkloadData(startTime, endTime, departCoding, tousseTypes, packageSizes, - BooleanUtils.toBoolean(isStrengthen)); + BooleanUtils.toBoolean(isStrengthen),taskGroup); } } else if (reportName.equals("tousseOperate")) { String startDate = StrutsParamUtils.getPraramValue("startDate", "");