Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.js (revision 22914)
@@ -0,0 +1,136 @@
+var entityName = '清洗区人员工作量统计报表';
+var form;
+
+/**
+ * 加载报表的数据
+ *
+ */
+var myMask;
+function reloadReport(){
+ if (!form.getForm().isValid()) {
+ showResult('请正确填写表单各值');
+ return false;
+ }
+
+ var monthSearch = $Id('monthSearch').value;
+ var departmentCode = Ext.getCmp('querySupplyRoom').getValue();
+
+ myMask = new Ext.LoadMask(Ext.getBody(), {
+ msg: '正在加载,请稍候!',
+ removeMask: true
+ });
+ myMask.show();
+ window.open(WWWROOT + "/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do" +
+ "?jasperreportName=cleaningAreaWorkloadForUser.jasper&reportName=cleaningAreaWorkloadForUser" +
+ "&monthSearch=" + monthSearch +
+ "&departmentCode=" + departmentCode,
+ 'thisIframe', '_self');
+}
+
+
+Ext.onReady(function() {
+ Ext.QuickTips.init();
+
+ //任务组combo的store
+ var taskGroupJsonStore = new Ext.data.SimpleStore({
+ fields : [ 'taskGroupName' ],
+ url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getTaskGroupName.do',
+ listeners : {
+ beforeload : function(_this, options) {
+ _this.baseParams.handlerDepartCode = Ext.getCmp('querySupplyRoom').getValue();
+ }
+ }
+ });
+
+ form = new Ext.form.FormPanel({
+ title : entityName,
+ region : 'north',
+ labelAlign : 'right',
+ buttonAlign : 'center',
+ collapsible : true,
+ collapseMode : 'mini',
+ split : true,
+ border : 0,
+ frame : true,
+ bodyStyle : 'padding:0px auto;margin:0px',// padding:1px;padding-top:5px;
+ height : 105,
+ items : [{
+ layout : 'column',
+ height : 100,
+ labelWidth : 70,
+ width : 1000,
+ items : [{
+ width : 160,
+ layout : 'form',
+ labelWidth : 60,
+ items : [
+ new Ext.form.DateField({
+ id:'monthSearch',
+ name : 'monthSearch',
+ fieldLabel : '月份',
+ readOnly : true,
+ allowBlank : false,
+ format:'Y-m',
+ value : new Date(),
+ anchor : '95%'
+ })
+ ]
+ },{
+ columnWidth:.25,
+ layout : 'form',
+ labelSeparator : '选择供应室:',
+ items : [{
+ xtype : 'combo',
+ id : 'querySupplyRoom',
+ name : 'querySupplyRoom',
+ valueField : 'departmentCode',
+ displayField : 'name',
+ allowBlank : true,
+ editable : false,
+ store : supplyRoomStore,
+ forceSelection : true,
+ mode : 'local',
+ triggerAction : 'all',
+ anchor : '95%'
+ }]
+ }]
+ }],
+ buttons:[{
+ xtype : 'button',
+ text : '查询',
+ minWidth : 70,
+ iconCls : 'icon_search',
+ handler : function() {
+ reloadReport();
+ }
+ },{
+ xtype : 'button',
+ text : '重置',
+ minWidth : 70,
+ iconCls : 'icon_set',
+ handler : function() {
+ $Id('monthSearch').value = "";
+ }
+ }]
+ });
+
+ var reportForm = new Ext.Panel({
+ frame:false,//渲染面板
+ autoScroll:true,//自动显示滚动条
+ collapsible:true,//允许展开和收缩
+ bodyPadding:5,
+ html:''
+
+ });
+
+ var viewport = new Ext.Viewport({
+ layout : 'border',
+ items : [form, {
+ region : 'center',
+ margins : '0 0 0 0',
+ layout : 'fit',
+ items : reportForm
+ }]
+ });
+
+});
\ No newline at end of file
Index: ssts-web/src/main/webapp/homepage/menuconfigure.js
===================================================================
diff -u -r22873 -r22914
--- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 22873)
+++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 22914)
@@ -541,6 +541,7 @@
{hidden :SSTS_USERECORD_ForGoods,text:"使用记录物品分类汇总表",href:WWWROOT+'/disinfectsystem/reportforms/summaryUseRecordForGoodsView.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_SterilizingStoveUseCountReport,text:"灭菌炉使用次数统计报表",href:WWWROOT+'/disinfectsystem/reportforms/sterilizingStoveUseCountView.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_TousseWorkLoadTotalReport,text:(sstsConfig.tousseWorkLoadName ? sstsConfig.tousseWorkLoadName : "器械包工作量统计报表"),href:WWWROOT+'/disinfectsystem/reportforms/tousseWorkLoadView.jsp',hrefTarget:linkTarget,leaf:true},
+ {hidden :SSTS_CleaningAreaWorkloadForUser,text:'清洗区人员工作量统计报表',href:WWWROOT+'/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_WaitPackingTaskReport,text:'待装配任务工作表',href:WWWROOT+'/disinfectsystem/reportforms/waitPackingTaskReport.jsp',hrefTarget:linkTarget,leaf:true}
]
Index: ssts-web/src/main/resources/systemset/operationDefine.xml
===================================================================
diff -u -r22690 -r22914
--- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 22690)
+++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 22914)
@@ -392,6 +392,7 @@
+
Index: ssts-web/src/main/webapp/jasperRtp/cleaningAreaWorkloadForUser.jasper
===================================================================
diff -u
Binary files differ
Index: ssts-web/src/main/webapp/homepage/menu.jsp
===================================================================
diff -u -r22535 -r22914
--- ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 22535)
+++ ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 22914)
@@ -129,7 +129,7 @@
* 《消毒供应中心工作量统计报表》菜单
*/
var SSTS_WorkLoad_Menu = true;
-
+
if (!notInWhiteList(sstsConfig, 'workloadStatisticsRelatedReports')) {
SSTS_WorkLoad_Menu = false;
}
@@ -217,6 +217,16 @@
/**
+ * 《清洗区人员工作量统计报表》权限
+ */
+var SSTS_CleaningAreaWorkloadForUser = true;
+
+if (sstsConfig.enableCleaningAreaWorkloadForUser) {
+ SSTS_CleaningAreaWorkloadForUser = false;
+}
+
+
+/**
* 《灭菌遗漏检查表》权限
*/
var SSTS_SterilizationOmitReport = true;
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java
===================================================================
diff -u -r22691 -r22914
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 22691)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 22914)
@@ -1019,6 +1019,10 @@
String departCode = StrutsParamUtils.getPraramValue("departCode", "");
String remark = StrutsParamUtils.getPraramValue("remark", "");
return recyclingItemManager.loadUnqualifiedPretreatments(startDate, endDate, departCode, remark);
+ }else if("cleaningAreaWorkloadForUser".equals(reportName)){
+ String monthSearch = StrutsParamUtils.getPraramValue("monthSearch", "");
+ String departmentCode = StrutsParamUtils.getPraramValue("departmentCode", "");
+ return jasperReportManager.getCleaningAreaWorkloadForUserData(monthSearch, departmentCode);
}
return null;
}
@@ -1706,6 +1710,10 @@
String startDate = StrutsParamUtils.getPraramValue("startDate", "");
String endDate = StrutsParamUtils.getPraramValue("endDate", "");
map.put("title", String.format("预处理不合格统计报表(%s~%s)", startDate, endDate));
+ }else if("cleaningAreaWorkloadForUser".equals(reportName)){
+ String monthSearch = StrutsParamUtils.getPraramValue("monthSearch", "");
+ String departmentCode = StrutsParamUtils.getPraramValue("departmentCode", "");
+ map.put("title", String.format("清洗区人员工作量统计报表(%s)", monthSearch));
}
return map;
}
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java
===================================================================
diff -u -r22691 -r22914
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 22691)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 22914)
@@ -16,6 +16,7 @@
import com.forgon.disinfectsystem.jasperreports.javabeansource.ApparatusInfusionisType;
import com.forgon.disinfectsystem.jasperreports.javabeansource.BaseBean;
import com.forgon.disinfectsystem.jasperreports.javabeansource.BorrowingRecordVo;
+import com.forgon.disinfectsystem.jasperreports.javabeansource.CleaningAreaWorkloadForUser;
import com.forgon.disinfectsystem.jasperreports.javabeansource.CrossTableBean;
import com.forgon.disinfectsystem.jasperreports.javabeansource.DamageErrorMontBean;
import com.forgon.disinfectsystem.jasperreports.javabeansource.DepartMentTousseOperate;
@@ -684,5 +685,14 @@
*/
public List getSupplyRoomQualityQuota(String departmentCode,
String queryScope, String queryTime);
+
+ /**
+ * 获取清洗区人员工作量统计报表的数据
+ * @param monthSearch 查询的月份
+ * @param departmentCode 供应室的科室编码
+ * @return
+ */
+ public List getCleaningAreaWorkloadForUserData(String monthSearch,
+ String departmentCode);
}
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/CleaningAreaWorkloadForUser.java
===================================================================
diff -u
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/CleaningAreaWorkloadForUser.java (revision 0)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/CleaningAreaWorkloadForUser.java (revision 22914)
@@ -0,0 +1,62 @@
+package com.forgon.disinfectsystem.jasperreports.javabeansource;
+/**
+ * 清洗区人员工作量统计报表的javabean
+ * @author Chenjiaru 2018-04-09
+ *
+ */
+public class CleaningAreaWorkloadForUser {
+
+ /**
+ * 清洗责任人
+ */
+ private String personInCharge;
+
+ /**
+ * 清洗责任人的编码
+ */
+ private String personInChargeCode;
+
+ /**
+ * 材料类型
+ */
+ private String type;
+
+ /**
+ * 数量
+ */
+ private Integer amount = 0;
+
+
+ public String getPersonInCharge() {
+ return personInCharge;
+ }
+
+ public void setPersonInCharge(String personInCharge) {
+ this.personInCharge = personInCharge;
+ }
+
+ public String getPersonInChargeCode() {
+ return personInChargeCode;
+ }
+
+ public void setPersonInChargeCode(String personInChargeCode) {
+ this.personInChargeCode = personInChargeCode;
+ }
+
+ public Integer getAmount() {
+ return amount;
+ }
+
+ public void setAmount(Integer amount) {
+ this.amount = amount;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+}
Index: ssts-web/src/main/webapp/disinfectsystem/config/kpszxyy/config.js
===================================================================
diff -u -r22653 -r22914
--- ssts-web/src/main/webapp/disinfectsystem/config/kpszxyy/config.js (.../config.js) (revision 22653)
+++ ssts-web/src/main/webapp/disinfectsystem/config/kpszxyy/config.js (.../config.js) (revision 22914)
@@ -1 +1 @@
-var sstsConfig = {"companyName":"dingxiang","disableIdCard":false,"mustScanBasketForTousseReview":false,"mustScanBasketForTousseReviewOf2ndSupplyRoom":false,"applicationFormType":"2","hidePackageSpec":false,"showTousseUnitColumn":true,"hideToussePriceColumn":true,"hideDisposablePriceColumn":true,"barcodeType":2,"autoReturnTousse":false,"hideEnterReviewListButton":true,"autoFillUserName":false,"autoFillUserNameLength":6,"enableTerminatePartOfApplication":true,"restrictGodownEntryDiposableGoods":false,"showAppliedGoodsBeforeSubmit":true,"hideWashHandNurseOfUseRecord":true,"useRecordWashHandNurseAllowBlank":true,"hideTreatmentNumOfUseRecord":false,"useRecordAuditMode":2,"hideApplyDepartColumn":false,"hideSettleDepartColumn":true,"hideDiposableGoodsPrice":true,"showExternalCodeOfDisposableGoods":true,"autoFillExternalCodeOfDisposableGoods":true,"printValidDateUtil":true,"godownEntryShowInvoice":true,"godownEntryShowBiologicalTestReport":true,"moneyDigitCount":4,"idCardUseAmountNoticeType":1,"showTousseWeight":true,"isHideHospitalNumber":false,"closeFormDefinition":false,"useRecordConvertRecyclingApplicationRemark":"手术台数:@operationAmount;器械包数量:@tousseAmount","useRecordConvertRecyclingApplicationMergeRegular":"operationRoom","confirmRecyclingAmount":false}
\ No newline at end of file
+var sstsConfig = {"companyName":"dingxiang","disableIdCard":false,"enableCleaningAreaWorkloadForUser":true,"mustScanBasketForTousseReview":false,"mustScanBasketForTousseReviewOf2ndSupplyRoom":false,"applicationFormType":"2","hidePackageSpec":false,"showTousseUnitColumn":true,"hideToussePriceColumn":true,"hideDisposablePriceColumn":true,"barcodeType":2,"autoReturnTousse":false,"hideEnterReviewListButton":true,"autoFillUserName":false,"autoFillUserNameLength":6,"enableTerminatePartOfApplication":true,"restrictGodownEntryDiposableGoods":false,"showAppliedGoodsBeforeSubmit":true,"hideWashHandNurseOfUseRecord":true,"useRecordWashHandNurseAllowBlank":true,"hideTreatmentNumOfUseRecord":false,"useRecordAuditMode":2,"hideApplyDepartColumn":false,"hideSettleDepartColumn":true,"hideDiposableGoodsPrice":true,"showExternalCodeOfDisposableGoods":true,"autoFillExternalCodeOfDisposableGoods":true,"printValidDateUtil":true,"godownEntryShowInvoice":true,"godownEntryShowBiologicalTestReport":true,"moneyDigitCount":4,"idCardUseAmountNoticeType":1,"showTousseWeight":true,"isHideHospitalNumber":false,"closeFormDefinition":false,"useRecordConvertRecyclingApplicationRemark":"手术台数:@operationAmount;器械包数量:@tousseAmount","useRecordConvertRecyclingApplicationMergeRegular":"operationRoom","confirmRecyclingAmount":false}
\ No newline at end of file
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java
===================================================================
diff -u -r22804 -r22914
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 22804)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 22914)
@@ -134,6 +134,7 @@
import com.forgon.disinfectsystem.jasperreports.javabeansource.BaseBean;
import com.forgon.disinfectsystem.jasperreports.javabeansource.BorrowingRecordItemVo;
import com.forgon.disinfectsystem.jasperreports.javabeansource.BorrowingRecordVo;
+import com.forgon.disinfectsystem.jasperreports.javabeansource.CleaningAreaWorkloadForUser;
import com.forgon.disinfectsystem.jasperreports.javabeansource.CrossTableBean;
import com.forgon.disinfectsystem.jasperreports.javabeansource.DamageErrorMontBean;
import com.forgon.disinfectsystem.jasperreports.javabeansource.DepartMentTousseOperate;
@@ -20234,5 +20235,68 @@
}
return list;
}
+
+ @Override
+ public List getCleaningAreaWorkloadForUserData(
+ String monthSearch, String departmentCode) {
+ List list = new ArrayList();
+ if (StringTools.isNotBlank(monthSearch) && StringTools.isNotBlank(departmentCode)) {
+ /**
+ * 获取当月的时间段
+ */
+ List dayList = ForgonDateUtils.getFirstDayToLastDay(monthSearch);
+ String start = dayList.get(0); //这里不会出现空指针和空的集合,所以这里可以直接get
+ String end = dayList.get(dayList.size() - 1);
+ String betweenSql = dateQueryAdapter.dateAreaSql("wr.endDate", start, end, true);
+
+ String sql = String.format("select temp.personInChargeCode,min(temp.personInCharge) personInCharge,temp.type,sum(temp.amount) amount "
+ + "from ("
+ + "select case when cb.personInChargeCode is null or cb.personInChargeCode='' then wr.operatorCode else cb.personInChargeCode end personInChargeCode,"
+ + "case when cb.personInCharge is null or cb.personInCharge='' then wr.operator else cb.personInCharge end personInCharge,"
+ + "md.type,ci.amount*mi.count amount "
+ + "from WashAndDisinfectRecord wr "
+ + "join ClassifyBasket_WashRecord cw on cw.washAndDisinfectRecord_ID=wr.id "
+ + "join ClassifyBasket cb on cb.id=cw.ClassifyBasket_ID "
+ + "join ClassifiedItem ci on ci.classifybasket_id=cb.id "
+ + "join TousseDefinition td on td.id=ci.toussedefinition_id "
+ + "join MaterialInstance mi on mi.tousse_id=td.id "
+ + "join MaterialDefinition md on md.id=mi.materialDefinition_id "
+ + "where wr.orgUnitCoding='%s' and %s "
+ + "union all "
+ + "select case when cb.personInChargeCode is null or cb.personInChargeCode='' then wr.operatorCode else cb.personInChargeCode end personInChargeCode,"
+ + "case when cb.personInCharge is null or cb.personInCharge='' then wr.operator else cb.personInCharge end personInCharge,"
+ + "md.type,ci.amount amount "
+ + "from WashAndDisinfectRecord wr "
+ + "join ClassifyBasket_WashRecord cw on cw.washAndDisinfectRecord_ID=wr.id "
+ + "join ClassifyBasket cb on cb.id=cw.ClassifyBasket_ID "
+ + "join ClassifiedItem ci on ci.classifybasket_id=cb.id "
+ + "join MaterialDefinition md on md.id=ci.materialDefinition_id "
+ + "where wr.orgUnitCoding='%s' and %s"
+ + ") temp group by temp.personInChargeCode,temp.type"
+ , departmentCode, betweenSql, departmentCode, betweenSql);
+
+ ResultSet rs = objectDao.executeSql(sql);
+ try {
+ while (rs.next()) {
+ String personInChargeCode = StringTools.defaultString(rs.getString("personInChargeCode"));
+ String personInCharge = StringTools.defaultString(rs.getString("personInCharge"));
+ String type = StringTools.defaultString(rs.getString("type"));
+ int amount = rs.getInt("amount");
+
+ CleaningAreaWorkloadForUser vo = new CleaningAreaWorkloadForUser();
+ vo.setPersonInCharge(personInCharge);
+ vo.setPersonInChargeCode(personInChargeCode);
+ vo.setType(type);
+ vo.setAmount(amount);
+ list.add(vo);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ DatabaseUtil.closeResultSetAndStatement(rs);
+ }
+ }
+ return list;
+ }
}
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.jsp (revision 22914)
@@ -0,0 +1,24 @@
+<%@page contentType="text/html; charset=UTF-8"%>
+<%@include file="/common/taglibs.jsp"%>
+<%@include file="/common/includeExtJsAndCss.jsp"%>
+
+
+
+
+
+
+
+
+<%-- 月份时间控件 --%>
+
+
+
+
+
+清洗区人员工作量统计
+
+
+
+
+
+
\ No newline at end of file
Index: ssts-web/src/main/webapp/jasperRtp/cleaningAreaWorkloadForUser.jrxml
===================================================================
diff -u
--- ssts-web/src/main/webapp/jasperRtp/cleaningAreaWorkloadForUser.jrxml (revision 0)
+++ ssts-web/src/main/webapp/jasperRtp/cleaningAreaWorkloadForUser.jrxml (revision 22914)
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+