Index: ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/config.js
===================================================================
diff -u -r20717 -r20872
--- ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/config.js (.../config.js) (revision 20717)
+++ ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/config.js (.../config.js) (revision 20872)
@@ -89,5 +89,7 @@
// PDA签收器械包
enablePDATousseSign:true,
//只有装配完成才能使用清洗篮筐回收.默认为true
- recycleClassifyBasketAfterPacked:false
+ recycleClassifyBasketAfterPacked:false,
+ //是否显示预处理不合格统计报表
+ showUnqualifiedPretreatmentReport:true
}
\ No newline at end of file
Index: ssts-web/src/main/webapp/jasperRtp/unqualifiedPretreatmentReport.jrxml
===================================================================
diff -u
--- ssts-web/src/main/webapp/jasperRtp/unqualifiedPretreatmentReport.jrxml (revision 0)
+++ ssts-web/src/main/webapp/jasperRtp/unqualifiedPretreatmentReport.jrxml (revision 20872)
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/unqualifiedPretreatmentReport.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/unqualifiedPretreatmentReport.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/unqualifiedPretreatmentReport.js (revision 20872)
@@ -0,0 +1,200 @@
+var entityName = "预处理不合格报表";
+var grid;
+
+var rd = new Ext.data.JsonReader( {
+ fields : [
+ {name : 'id'},
+ {name : 'departId'},
+ {name : 'name'}
+
+ ]
+});
+
+// 申请科室Store
+var sendDepartJsonStore = new Ext.data.Store({
+ proxy : new Ext.data.HttpProxy({
+ url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getDepartNameJson.do',
+ method : 'POST'
+ }),
+ reader : new Ext.data.JsonReader({
+ root : 'data'
+ },[
+ {name : 'id',mapping : 'id'},
+ {name : 'name',mapping : 'name'}
+ ]
+ )
+});
+
+var myMask;
+Ext.onReady(function() {
+ Ext.QuickTips.init();
+ // 记录cookie(3步)
+ function reloadReport(){
+ var startDate = $Id('startDate').value;
+ var endDate = $Id('endDate').value;
+ var sendDepart = Ext.getCmp('depart').getValue();
+ var remark = Ext.getCmp('remark').getValue();;
+ var reportFile = "unqualifiedPretreatmentReport.jasper";
+ myMask = new Ext.LoadMask(Ext.getBody(), {
+ msg: '正在加载,请稍候!',
+ removeMask: true
+ });
+ myMask.show();
+
+ /*
+ * 因为window.open只能用get方式提交,有些参数的值有“#”会被当成锚点,“#”后面的内容会被截掉,导致后台得到的值发生变化
+ * 所以这里改成了post方式提交
+ *
+ */
+
+ var newWindow = window.open('', 'thisIframe', '_self');
+ var url = WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do";
+ formString = '
';
+
+ newWindow.document.body.innerHTML = formString;
+ newWindow.document.forms[0].submit();
+ }
+
+ var form = new Ext.form.FormPanel({
+ title : '灭菌物品质量监测统计报表',
+ region : 'north',
+ labelAlign : 'right',
+ buttonAlign : 'center',
+ collapsible : true,
+ collapseMode : 'mini',
+ split : true,
+ border : 0,
+ // bodyStyle : 'padding: 10px 10px 0px 10px;',
+ frame : true,
+ bodyStyle : 'padding:0px auto;margin:0px',// padding:1px;padding-top:5px;
+ height : 100,
+ items : [{
+ layout : 'column',
+ height : 40,
+ labelWidth : 70,
+ items : [{
+ columnWidth : .15,
+ layout : 'form',
+ labelWidth : 60,
+ items : [new Ext.form.DateField({
+ id:'startDate',
+ name : 'startDate',
+ fieldLabel : '开始日期',
+ readOnly : false,
+ format:'Y-m-d',
+ value : new Date(),
+ anchor : '95%',
+ listeners : {
+ specialkey : function(field, ee) {
+ if (ee.getKey() == Ext.EventObject.ENTER) {
+ var isOK = field.validate();
+ if(isOK){
+ var value = field.getValue();
+ field.setValue(value);
+ reloadReport();
+ }
+ }
+ }
+ }
+ })]
+ },{
+ columnWidth : .15,
+ layout : 'form',
+ labelWidth : 60,
+ items : [new Ext.form.DateField({
+ id:'endDate',
+ name : 'endDate',
+ fieldLabel : '结束日期',
+ readOnly : false,
+ format:'Y-m-d',
+ value : new Date(),
+ anchor : '95%',
+ listeners : {
+ specialkey : function(field, ee) {
+ if (ee.getKey() == Ext.EventObject.ENTER) {
+ var isOK = field.validate();
+ if(isOK){
+ var value = field.getValue();
+ field.setValue(value);
+ reloadReport();
+ }
+ }
+ }
+ }
+ })]
+ },{
+ columnWidth : .20,
+ layout : 'form',
+ labelWidth : 70,
+ items : [{
+ xtype : 'combo',
+ id : 'depart',
+ name : 'depart',
+ valueField : 'id',
+ displayField : 'name',
+ fieldLabel : "科室",
+ allowBlank : true,
+ editable : true,
+ store : sendDepartJsonStore,
+ forceSelection : true,
+ triggerAction : 'all',
+ anchor : '95%'
+ }]
+ },{
+ columnWidth : .15,
+ layout : 'form',
+ labelWidth : 60,
+ items : [{
+ xtype:'textfield',
+ id:'remark',
+ name:'remark',
+ fieldLabel : '备注'
+ }]
+ }]
+ }],
+ buttons:[{
+ text : '查询',
+ minWidth : 70,
+ iconCls : 'icon_search',
+ handler : function() {
+ reloadReport();
+ }
+ },{
+ text : '重置',
+ minWidth : 70,
+ iconCls : 'icon_set',
+ handler : function() {
+ Ext.getCmp('startDate').setValue("");
+ Ext.getCmp('endDate').setValue("");
+ Ext.getCmp('depart').setValue("");
+ Ext.getCmp('remark').setValue("");
+ }
+ }]
+ });
+
+
+ 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-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingItemManagerImpl.java
===================================================================
diff -u -r18645 -r20872
--- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingItemManagerImpl.java (.../RecyclingItemManagerImpl.java) (revision 18645)
+++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingItemManagerImpl.java (.../RecyclingItemManagerImpl.java) (revision 20872)
@@ -1,22 +1,45 @@
package com.forgon.disinfectsystem.recyclingrecord.service;
+import java.sql.ResultSet;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Predicate;
+import org.apache.commons.lang3.StringUtils;
+import com.forgon.Constants;
+import com.forgon.databaseadapter.service.DateQueryAdapter;
+import com.forgon.databaseadapter.service.SqlFunctionsAdapter;
import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan;
import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingItem;
+import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord;
import com.forgon.disinfectsystem.entity.tousseitem.TousseItem;
+import com.forgon.disinfectsystem.recyclingrecord.vo.UnqualifiedPretreatmentVo;
import com.forgon.tools.MathTools;
import com.forgon.tools.db.DatabaseUtil;
import com.forgon.tools.hibernate.BasePoManagerImpl;
+import com.forgon.tools.util.ForgonDateUtils;
public class RecyclingItemManagerImpl extends BasePoManagerImpl
implements RecyclingItemManager {
+ private DateQueryAdapter dateQueryAdapter;
+ private SqlFunctionsAdapter sqlFunctionsAdapter;
+
+ public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) {
+ this.dateQueryAdapter = dateQueryAdapter;
+ }
+
+ public void setSqlFunctionsAdapter(SqlFunctionsAdapter sqlFunctionsAdapter) {
+ this.sqlFunctionsAdapter = sqlFunctionsAdapter;
+ }
+
@Override
public RecyclingItem find(Collection items,
Long tousseDefinitionId) {
@@ -55,5 +78,48 @@
}
return null;
}
+
+ @Override
+ public List loadUnqualifiedPretreatments(
+ String startDate, String endDate, String departCode, String remark) {
+ String dateSql = dateQueryAdapter.dateAreaSql("rr.recyclingTime", endDate, endDate, true, true);
+ String departSql = "1=1";
+ String remarkSql = null;
+ if(StringUtils.isNotBlank(departCode)){
+ departSql = "rr.departCode='" + departCode + "'";
+ }
+ if(StringUtils.isNotBlank(remark)){
+ remarkSql = "po.remark like '%" + remark + "%'";
+ }else{
+ remarkSql = sqlFunctionsAdapter.strNotBlank("po.remark") + " and po.remark <> 'undefined'";
+ }
+ String sql = String.format("select po.remark,po.tousseName,rr.depart,rr.recyclingTime,rr.recyclingUser from %s po join %s rr on rr.id = po.recyclingRecord_id where %s and %s and %s order by rr.departCode",
+ poName,RecyclingRecord.class.getSimpleName(),dateSql,departSql,remarkSql);
+ List ret = new ArrayList<>();
+ ResultSet rs = objectDao.executeSql(sql);
+ try{
+ while(rs.next()){
+ String rm = rs.getString("remark");
+ String tousseName = rs.getString("tousseName");
+ String depart = rs.getString("depart");
+ String recyclingUser = rs.getString("recyclingUser");
+ Timestamp t = rs.getTimestamp("recyclingTime", Calendar.getInstance());
+
+ UnqualifiedPretreatmentVo vo = new UnqualifiedPretreatmentVo();
+ vo.setDepart(depart);
+ vo.setRecyclingTime(ForgonDateUtils.safelyFormatDate(t,
+ Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS, ""));
+ vo.setRecyclingUser(recyclingUser);
+ vo.setTousseName(tousseName);
+ vo.setRemark(rm);
+ ret.add(vo);
+ }
+ }catch(Exception e){
+ e.printStackTrace();
+ }finally{
+ DatabaseUtil.closeResultSetAndStatement(rs);
+ }
+ return ret;
+ }
}
Index: ssts-web/src/main/webapp/homepage/menuconfigure.js
===================================================================
diff -u -r20862 -r20872
--- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 20862)
+++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 20872)
@@ -548,7 +548,8 @@
{hidden :!sstsConfig.enableTousseOverloadReport,text:"器械包实际负载组合统计报表",href:WWWROOT+'/disinfectsystem/reportforms/tousseOverLoad.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :!sstsConfig.enableTousseMorrowSend,text:"器械包次日下送率统计报表",href:WWWROOT+'/disinfectsystem/reportforms/tousseMorrowSend.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :!sstsConfig.enableNurseWorkload,text:"护理工作质量指标报表",href:WWWROOT+'/disinfectsystem/reportforms/nurseWorkload.jsp',hrefTarget:linkTarget,leaf:true},
- {hidden :!sstsConfig.showSterilizerQualityReport,text:"灭菌物品质量监测统计报表",href:WWWROOT+'/disinfectsystem/reportforms/sterilizerQuality.jsp',hrefTarget:linkTarget,leaf:true}
+ {hidden :!sstsConfig.showSterilizerQualityReport,text:"灭菌物品质量监测统计报表",href:WWWROOT+'/disinfectsystem/reportforms/sterilizerQuality.jsp',hrefTarget:linkTarget,leaf:true},
+ {hidden :!sstsConfig.showUnqualifiedPretreatmentReport,text:"预处理不合格报表",href:WWWROOT+'/disinfectsystem/reportforms/unqualifiedPretreatmentReport.jsp',hrefTarget:linkTarget,leaf:true}
]
},{
text:"财务核算及物品发放报表",
Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/UnqualifiedPretreatmentVo.java
===================================================================
diff -u
--- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/UnqualifiedPretreatmentVo.java (revision 0)
+++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/UnqualifiedPretreatmentVo.java (revision 20872)
@@ -0,0 +1,54 @@
+package com.forgon.disinfectsystem.recyclingrecord.vo;
+
+
+public class UnqualifiedPretreatmentVo {
+ private String tousseName;
+ /**
+ * 申请科室的名称.为回收时显示的科室名称,可能为申请科室,可能为结算科室,看配置
+ */
+ private String depart;
+ /**
+ * 回收时间
+ */
+ private String recyclingTime;
+ /**
+ * 回收人
+ */
+ private String recyclingUser;
+ /**
+ * 备注
+ */
+ private String remark;
+
+ public String getTousseName() {
+ return tousseName;
+ }
+ public void setTousseName(String tousseName) {
+ this.tousseName = tousseName;
+ }
+ public String getDepart() {
+ return depart;
+ }
+ public void setDepart(String depart) {
+ this.depart = depart;
+ }
+ public String getRecyclingTime() {
+ return recyclingTime;
+ }
+ public void setRecyclingTime(String recyclingTime) {
+ this.recyclingTime = recyclingTime;
+ }
+ public String getRecyclingUser() {
+ return recyclingUser;
+ }
+ public void setRecyclingUser(String recyclingUser) {
+ this.recyclingUser = recyclingUser;
+ }
+ public String getRemark() {
+ return remark;
+ }
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+}
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/unqualifiedPretreatmentReport.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/unqualifiedPretreatmentReport.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/unqualifiedPretreatmentReport.jsp (revision 20872)
@@ -0,0 +1,49 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%@ include file="/common/taglibs.jsp"%>
+
+
+
+<%@ include file="/common/includeExtJsAndCss.jsp"%>
+<%@ include file="/common/includeExtJs4_2.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+预处理不合格报表
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java
===================================================================
diff -u -r20726 -r20872
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 20726)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 20872)
@@ -87,6 +87,7 @@
import com.forgon.disinfectsystem.jasperreports.javabeansource.YearReportChartBean;
import com.forgon.disinfectsystem.jasperreports.service.JasperReportManager;
import com.forgon.disinfectsystem.materialerrordamage.service.MaterialErrorDamageDetailManager;
+import com.forgon.disinfectsystem.recyclingrecord.service.RecyclingItemManager;
import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager;
import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager;
import com.forgon.systemsetting.model.HttpOption;
@@ -132,6 +133,12 @@
private WareHouseManager wareHouseManager;
+ private RecyclingItemManager recyclingItemManager;
+
+ public void setRecyclingItemManager(RecyclingItemManager recyclingItemManager) {
+ this.recyclingItemManager = recyclingItemManager;
+ }
+
public void setMaterialErrorDamageDetailManager(
MaterialErrorDamageDetailManager materialErrorDamageDetailManager) {
this.materialErrorDamageDetailManager = materialErrorDamageDetailManager;
@@ -967,6 +974,13 @@
&& StringUtils.isNotBlank(endTime)) {
return jasperReportManager.getTousseApplySummaryData(startTime, endTime, departmentCode);
}
+ }else if("unqualifiedPretreatmentReport".equals(reportName)){
+ //预处理不合格统计报表
+ String startDate = StrutsParamUtils.getPraramValue("startDate", "");
+ String endDate = StrutsParamUtils.getPraramValue("endDate", "");
+ String departCode = StrutsParamUtils.getPraramValue("departCode", "");
+ String remark = StrutsParamUtils.getPraramValue("remark", "");
+ return recyclingItemManager.loadUnqualifiedPretreatments(startDate, endDate, departCode, remark);
}
return null;
}
@@ -1625,6 +1639,10 @@
String startTime = StrutsParamUtils.getPraramValue("startTime", "");
String endTime = StrutsParamUtils.getPraramValue("endTime", "");
map.put("title", String.format("各部门器械包申请汇总(%s~%s)", startTime, endTime));
+ }else if("unqualifiedPretreatmentReport".equals(reportName)){
+ String startDate = StrutsParamUtils.getPraramValue("startDate", "");
+ String endDate = StrutsParamUtils.getPraramValue("endDate", "");
+ map.put("title", String.format("预处理不合格统计报表(%s~%s)", startDate, endDate));
}
return map;
}
Index: ssts-web/src/main/webapp/jasperRtp/unqualifiedPretreatmentReport.jasper
===================================================================
diff -u
Binary files differ
Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingItemManager.java
===================================================================
diff -u -r18645 -r20872
--- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingItemManager.java (.../RecyclingItemManager.java) (revision 18645)
+++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingItemManager.java (.../RecyclingItemManager.java) (revision 20872)
@@ -1,9 +1,11 @@
package com.forgon.disinfectsystem.recyclingrecord.service;
import java.util.Collection;
+import java.util.List;
import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingItem;
import com.forgon.disinfectsystem.entity.tousseitem.TousseItem;
+import com.forgon.disinfectsystem.recyclingrecord.vo.UnqualifiedPretreatmentVo;
import com.forgon.tools.hibernate.BasePoManager;
/**
* 回收项操作类
@@ -31,5 +33,15 @@
* @return
*/
public RecyclingItem get(TousseItem tousseItem);
+ /**
+ * 获取预处理统计报表数据
+ * @param startDate
+ * @param endDate
+ * @param departCode
+ * @param remark
+ * @return
+ */
+ public List loadUnqualifiedPretreatments(String startDate,String endDate,
+ String departCode,String remark);
}