Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r16052 -r16087 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 16052) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 16087) @@ -267,8 +267,9 @@ }else if(reportName.equals("formInstanceReport")){ String startDate = StrutsParamUtils.getPraramValue("startDate", ""); String endDate = StrutsParamUtils.getPraramValue("endDate", ""); - String formDefinitionId = StrutsParamUtils.getPraramValue("formDefinitionId", ""); - return jasperReportManager.getFormInstanceData(startDate,endDate,formDefinitionId); + String formName = StrutsParamUtils.getPraramValue("formName", ""); + String departCoding = StrutsParamUtils.getPraramValue("departCoding", ""); + return jasperReportManager.getFormInstanceData(startDate,endDate,departCoding,formName); }else if(reportName.equals("SterilizationRecord")){ // 灭菌记录信息 return getSterilizationRecordDataSource(); } Index: ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.js =================================================================== diff -u -r16052 -r16087 --- ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.js (.../formInstanceReportView.js) (revision 16052) +++ ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.js (.../formInstanceReportView.js) (revision 16087) @@ -14,18 +14,26 @@ showResult("请选择结束日期"); return; } - var formDefinitionId = Ext.getCmp("formName").getValue(); + var formName = Ext.getCmp("formName").getRawValue(); var title = Ext.getCmp("formName").getRawValue(); - if(formDefinitionId == ""){ + if(formName == ""){ showResult("请选择表单名称"); return; } + var departCoding = Ext.getCmp("departCoding").getValue(); + var departName = Ext.getCmp("departName").getRawValue(); + if(departCoding == null){ + departCoding = ""; + } + if(departName == ""){ + departCoding = ""; + } myMask = new Ext.LoadMask(Ext.getBody(), { msg: '正在加载,请稍候!', removeMask: true }); myMask.show(); - window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName=formInstanceReport.jasper&reportName=formInstanceReport&startDate=" + startDate + "&endDate=" + endDate +"&formDefinitionId=" + formDefinitionId+"&title=" + title,'thisIframe','_self'); + window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName=formInstanceReport.jasper&reportName=formInstanceReport&startDate=" + startDate + "&endDate=" + endDate +"&formName=" + formName + "&departCoding="+departCoding+"&title=" + title,'thisIframe','_self'); } var formDefinitionStore = new Ext.data.Store({ @@ -41,6 +49,22 @@ ] ) }); + + var departRecord = Ext.data.Record.create([ { + name : 'id' + }, { + name : 'name' + } ]); + + var departJsonStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getSettleAccountsDepartJson.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + root : 'data' + },departRecord) + }); var form = new Ext.form.FormPanel({ title : entityName, @@ -59,6 +83,10 @@ height : 60, labelWidth : 70, items : [{ + xtype:'hidden', + id:'departCoding', + name:'departCoding' + },{ columnWidth : .2, layout : 'form', labelWidth : 60, @@ -69,7 +97,7 @@ readOnly : false, format:'Y-m-d', value : new Date(), - anchor : '95%' + anchor : '100%' })] },{ columnWidth : .2, @@ -82,10 +110,10 @@ readOnly : false, format:'Y-m-d', value : new Date(), - anchor : '95%' + anchor : '100%' })] },{ - columnWidth : .3, + columnWidth : .35, layout : 'form', labelWidth : 60, items : [{ @@ -95,16 +123,47 @@ queryParam : 'spell', fieldLabel : '表单名称', minChars : 0, - width:270, valueField : 'id', displayField : 'name', store : formDefinitionStore, lazyInit : true, forceSelection : true, triggerAction : 'all', hideTrigger : true, - typeAhead : false + typeAhead : false, + anchor : '100%' }] + },{ + columnWidth : .25, + layout : 'form', + labelWidth : 40, + items : [{ + xtype : 'combo', + id : 'departName', + name : 'departName', + queryParam : 'spell', + fieldLabel : '科室', + minChars : 0, + valueField : 'id', + displayField : 'name', + anchor : '95%', + store : departJsonStore, + lazyInit : true, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + readOnly:(isCssdUser == 'false'?true:false), + listeners:{ + beforequery:function(queryEvent){ + if(isCssdUser == 'false'){ + return false; + } + }, + select : function(combo,record,index){ + top.Ext.getCmp("departCoding").setValue(combo.getValue()); + } + } + }] }] }], buttons:[{ @@ -144,4 +203,7 @@ items : reportForm }] }); + + Ext.getCmp("departName").setValue(currentOrgUnitName); + Ext.getCmp("departCoding").setValue(currentOrgUnitCode); }); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.jsp =================================================================== diff -u -r16052 -r16087 --- ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.jsp (.../formInstanceReportView.jsp) (revision 16052) +++ ssts-web/src/main/webapp/disinfectsystem/customform/formInstanceReportView.jsp (.../formInstanceReportView.jsp) (revision 16087) @@ -1,5 +1,33 @@ +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig"%> +<%@page import="com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%> <%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/common/taglibs.jsp"%> +<% +SupplyRoomConfigManager supplyRoomConfigManager = (SupplyRoomConfigManager)SpringBeanManger.getBean("supplyRoomConfigManager"); +SupplyRoomConfig firstSupplyRoomConfig = supplyRoomConfigManager.getFirstSupplyRoomConfig(); +LoginUserData userData = AcegiHelper.getLoginUser(); +String currentOrgUnitName = userData.getOrgUnitNameCodingFromSupplyRoomConfig(); +String currentOrgUnitCode = userData.getOrgUnitCodingFromSupplyRoomConfig(); +boolean isCssdUser = false; +if(firstSupplyRoomConfig != null && currentOrgUnitCode != null){ + String supplyRoomCoding = firstSupplyRoomConfig.getOrgUnitCoding(); + if(currentOrgUnitCode.equals(supplyRoomCoding)){ + isCssdUser = true; + } + if(!isCssdUser){ + List secondSupplyRooms = supplyRoomConfigManager.getSupplyRoomList(SupplyRoomConfig.SUPPLYROOM_TYPE_2); + for(SupplyRoomConfig secondSupplyRoomConfig : secondSupplyRooms){ + if(currentOrgUnitCode.equals(secondSupplyRoomConfig.getOrgUnitCoding())){ + isCssdUser = true; + break; + } + } + } +} +request.setAttribute("isCssdUser", isCssdUser); +request.setAttribute("currentOrgUnitName", currentOrgUnitName); +request.setAttribute("currentOrgUnitCode", currentOrgUnitCode); +%> @@ -14,16 +42,9 @@ 自定义表单报表 Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/qualityMonitoringView.js =================================================================== diff -u -r16052 -r16087 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/qualityMonitoringView.js (.../qualityMonitoringView.js) (revision 16052) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/qualityMonitoringView.js (.../qualityMonitoringView.js) (revision 16087) @@ -35,7 +35,6 @@ var startDate = $Id('startDate').value; var endDate = $Id('endDate').value; var monitoringType = $Id('monitoringType').value; - var formDefinitionId = Ext.getCmp('inspectItem').getValue(); var formName = Ext.getCmp('inspectItem').getRawValue(); if(formName == ""){ showResult("请选择监测项"); @@ -54,7 +53,7 @@ if(monitoringType == "定期监测"){ reportFile = "routineMonitoringReport.jasper"; } - window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName="+reportFile+"&monitoringType="+monitoringType+"&reportName=QualityMonitoring&startDate="+startDate+"&endDate="+endDate+"&formDefinitionId="+formDefinitionId+"&formName=" + formName + "&querySupplyRoom="+querySupplyRoom+"&materialName="+materialName+"&tousseName="+tousseName+"",'thisIframe','_self'); + window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName="+reportFile+"&monitoringType="+monitoringType+"&reportName=QualityMonitoring&startDate="+startDate+"&endDate="+endDate+"&formName=" + formName + "&querySupplyRoom="+querySupplyRoom+"&materialName="+materialName+"&tousseName="+tousseName+"",'thisIframe','_self'); } var columns = [ Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r16080 -r16087 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 16080) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 16087) @@ -11237,18 +11237,20 @@ return voList; } - public List getFormInstanceData(String startDate,String endDate,String formDefinitionId) { + public List getFormInstanceData(String startDate,String endDate,String departCoding,String formName) { List vos = new ArrayList(); if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate) - && StringUtils.isNotBlank(formDefinitionId)) { + && StringUtils.isNotBlank(formName)) { startDate += " 00:00:00"; endDate += " 23:59:59"; String sql = String.format( - "where po.formDefinition.id = %s and po.createDate between %s and %s", - formDefinitionId, - dateQueryAdapter.dateAdapter(startDate), + "where po.formDefinition.formName = '%s' and po.createDate between %s and %s", + formName,dateQueryAdapter.dateAdapter(startDate), dateQueryAdapter.dateAdapter(endDate)); + if(StringUtils.isNotBlank(departCoding)){ + sql += " and po.orgUnitCoding = '" + departCoding + "'"; + } List instanceList = objectDao.findBySql(FormInstance.class.getSimpleName(), sql); if(instanceList != null){ @@ -11295,15 +11297,15 @@ String endDate = StrutsParamUtils.getPraramValue("endDate", ""); String querySupplyRoom = StrutsParamUtils.getPraramValue("querySupplyRoom", ""); - String formDefinitionId = StrutsParamUtils.getPraramValue("formDefinitionId", ""); + String formName = StrutsParamUtils.getPraramValue("formName", ""); String materialName = StrutsParamUtils.getPraramValue("materialName", ""); String tousseName = StrutsParamUtils.getPraramValue("tousseName", ""); String monitoringType = StrutsParamUtils.getPraramValue("monitoringType", ""); if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate) - && StringUtils.isNotBlank(formDefinitionId)) { + && StringUtils.isNotBlank(formName)) { String sql = buildQuerySQL(startDate, endDate, querySupplyRoom, - formDefinitionId, materialName, tousseName, monitoringType); + formName, materialName, tousseName, monitoringType); List qmInstanceList = objectDao.findBySql(QualityMonitoringInstance.class.getSimpleName(), sql); for (QualityMonitoringInstance qmInstance : qmInstanceList) { @@ -11509,14 +11511,14 @@ } private String buildQuerySQL(String startDate, String endDate, - String querySupplyRoom, String formDefinitionId, String materialName, + String querySupplyRoom, String formName, String materialName, String tousseName, String monitoringType) { String sql = " where po.dateTime between " + dateQueryAdapter.dateAdapter(startDate+" 00:00:00") + " and " + "" + dateQueryAdapter.dateAdapter(endDate+" 23:59:59") + " and po.formDefinition.formType = '" + monitoringType - + "' and po.formDefinition.id = '" + formDefinitionId + "'" + + "' and po.formDefinition.formName = '" + formName + "'" + " and po.orgUnitCoding = '" + querySupplyRoom + "'"; if( StringUtils.isNotBlank(materialName)){ Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r16052 -r16087 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 16052) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 16087) @@ -355,7 +355,7 @@ */ public List getSummaryUseRecordForGoodsVO(String startTime, String endTime, String departSearch, String goodsSearch); - public List getFormInstanceData(String startDate,String endDate,String formDefinitionId); + public List getFormInstanceData(String startDate,String endDate,String departCoding,String formDefinitionId); public List getQualityMonitoringDataSource(); }