Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.jsp =================================================================== diff -u -r13624 -r13692 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.jsp (.../foreignProxyDisinfectionView.jsp) (revision 13624) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.jsp (.../foreignProxyDisinfectionView.jsp) (revision 13692) @@ -24,6 +24,7 @@ <% LoginUserData userData = AcegiHelper.getLoginUser(); request.setAttribute("userName",userData.getUserFullName()); + request.setAttribute("currentOrgUnitName", userData.getCurrentOrgUnitName()); %> @@ -47,6 +48,7 @@ + @@ -65,6 +67,7 @@ var hospitalName = '<%=request.getAttribute("hospitalName")%>'; var curUserName = '${userName}'; +var currentOrgUnitName = '${currentOrgUnitName}'; var SSTS_ForeignProxyDisinfection_Create = true; SSTS_ForeignProxyDisinfection_Create = false; Index: ssts-web/src/main/webapp/disinfectsystem/config/gdsy/print/printConfig.js =================================================================== diff -u -r13689 -r13692 --- ssts-web/src/main/webapp/disinfectsystem/config/gdsy/print/printConfig.js (.../printConfig.js) (revision 13689) +++ ssts-web/src/main/webapp/disinfectsystem/config/gdsy/print/printConfig.js (.../printConfig.js) (revision 13692) @@ -198,7 +198,55 @@ ] } } +//打印外部代理灭菌单 +var foreignProxyDisinfectionApplicationPrintConfig = { + headerFooter : [ + // 页眉名称 + {label : "广东省人民医院", dataIndex : '', fontSize : 10, position : ["5","1%","90%",5]}, + // 标题 + {label : "外部代理灭菌单", dataIndex : '', fontSize : 15, position : ["20","40%","99%",5]}, + {label : "申请科室:", dataIndex : 'depart', fontSize : 11, position : ["55","2%","90%",5]}, + {label : "录入部门:", dataIndex : 'currentOrgUnitName', fontSize : 11, position : ["55","35%","90%",5]}, + {label : "流水号:", dataIndex : 'serialNumber', fontSize : 11, position : ["55","70%","90%",5]}, + {label : "申请时间:", dataIndex : 'applicationTime', fontSize : 11, position : ["80","70%","90%",5]}, + {label : "送来时间:", dataIndex : 'arrivedTime', fontSize : 11, position : ["80","2%","90%",5]}, + {label : "预约时间:", dataIndex : 'scheduleTime', fontSize : 11, position : ["80","35%","90%",5]}, + + {label : "制表者:", dataIndex : 'printUser', fontSize : 11, position : ["415","5%","90%",5]}, + {label : "发物者:", dataIndex : '', fontSize : 11, position : ["415","40%","90%",5]}, + {label : "领物者:", dataIndex : '', fontSize : 11, position : ["415","75%","90%",5]}, + {label : "送物者:", dataIndex : '', fontSize : 11, position : ["445","5%","90%",5]}, + {label : "接收员工:", dataIndex : '', fontSize : 11, position : ["445","40%","90%",5]}, + {label : "打印时间:", dataIndex : 'printTime', fontSize : 11, position : ["445","70%","90%",5]}, + {barcodes : [ + {codeType : "128Auto", dataIndex : 'departBarcode', position : ["3mm","74%","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ]} + ], + currentPageNumber : {label : "第#页", fontSize : 11, position : ["475","75%","90%",5]}, + totalPageAmount : {label : "共&页", fontSize : 11, position : ["475","81%","90%",5]}, + goodsTable :{ + rowHeight : 25, + position : ["100","1%","97%","7cm"], + headRepeat : true, + columns : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'name', width : 220, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'amount', width : 40, align : 'right', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 40, align : 'center', fontSize : 11}, + {header : "灭菌日期", dataIndex : 'sterilizationdate', width : 105, align : 'center', fontSize : 11}, + {header : "失效日期", dataIndex : 'expireDate', width : 85, align : 'center', fontSize : 11}, + {header : "单价", dataIndex : 'price', width : 60, align : 'right', fontSize : 11}, + {header : "金额", dataIndex : 'rowPrice', width : 75, align : 'right', fontSize : 11} + ] + } +}; + var batchPrintMaterialInvoicesConfig = { headerFooter : [ // 页眉名称 Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.js =================================================================== diff -u -r13624 -r13692 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.js (.../foreignProxyDisinfectionView.js) (revision 13624) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.js (.../foreignProxyDisinfectionView.js) (revision 13692) @@ -57,6 +57,23 @@ ) }); +var userReader = new Ext.data.JsonReader( { + fields : [ + {name : 'id'}, + {name : 'fullName'}, + {name : 'orgUnitName'} + ] +}); + +//查找某科室的人员的store +var departUsersStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/systemmanage/user/userAction!loadUsersBySearchString.do', + method : 'POST' + }), + reader : userReader +}); + function formatDateYear(v, p, record) { try { return Ext.util.Format.date(new Date(v.time), 'Y-m-d H:i'); @@ -134,6 +151,7 @@ result.depart = depart; result.departBarcode = departBarcode; result.printUser = curUserName; + result.currentOrgUnitName = currentOrgUnitName; result.printTime = Ext.util.Format.date(new Date(), 'Y-m-d H:i'); // 发料人默认改为当前用户 if (isUndefinedOrNullOrEmpty(result.sender)) { @@ -1022,6 +1040,50 @@ readOnly : true, anchor : '100%' }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 70, + items : [{ + xtype : 'combo', + fieldLabel : '制作者', + id : 'maker', + name : 'maker', + queryParam : 'spell', + minChars : 0, + valueField : 'fullName', + displayField : 'fullName', + store : departUsersStore, + forceSelection : true, + lazyInit : true, + triggerAction : 'all', + hideTrigger : false, + typeAhead : false, + allowBlank : true, + anchor : '100%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 70, + items : [{ + xtype : 'combo', + fieldLabel : '核对者', + id : 'assistant', + name : 'assistant', + queryParam : 'spell', + minChars : 0, + valueField : 'fullName', + displayField : 'fullName', + store : departUsersStore, + forceSelection : true, + lazyInit : true, + triggerAction : 'all', + hideTrigger : false, + typeAhead : false, + allowBlank : true, + anchor : '100%' + }] },/*{ columnWidth : .5, layout : 'form', @@ -1079,6 +1141,36 @@ columnWidth : .5, layout : 'form', labelWidth : 70, + items : [{ + xtype : 'datefieldWithMin', + fieldLabel : '送来时间', + id : 'arrivedTimeStr', + name : 'arrivedTimeStr', + allowBlank: true, + altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + editable : false, + format : 'Y-m-d H:i', + anchor : '100%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 70, + items : [{ + xtype : 'datefieldWithMin', + fieldLabel : '预约时间', + id : 'scheduleTimeStr', + name : 'scheduleTimeStr', + allowBlank: true, + altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + editable : false, + format : 'Y-m-d H:i', + anchor : '100%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 70, hidden : !sstsConfig.showSterilizer, items : [{ xtype : 'combo', @@ -1426,6 +1518,10 @@ waitMsg : '正在加载数据,请稍候', success : function(form, action) { top.Ext.getCmp('applicationTimeStr').setValue(formatDateYear(action.result.data.applicationTime)); + top.Ext.getCmp('arrivedTimeStr').setValue(formatDateYear(action.result.data.arrivedTime)); + top.Ext.getCmp('scheduleTimeStr').setValue(formatDateYear(action.result.data.scheduleTime)); + top.Ext.getCmp('maker').setValue(action.result.data.maker); + top.Ext.getCmp('assistant').setValue(action.result.data.assistant); if(action.result.isEditable){ top.Ext.getCmp('saveBtn').disable(); top.Ext.getCmp('saveAndPrintBtn').disable(); @@ -1447,6 +1543,7 @@ if(!id){ top.Ext.getCmp('applicant').setValue($Id('userName').value); top.Ext.getCmp('applicationTimeStr').setValue(Ext.util.Format.date(new Date(), 'Y-m-d H:i')); + top.Ext.getCmp('arrivedTimeStr').setValue(Ext.util.Format.date(new Date(), 'Y-m-d H:i')); } } @@ -1865,7 +1962,11 @@ var columns = [ {header : "流水号",width : 120,dataIndex : 'serialNumber', renderer : modifyRecord}, {header : "灭菌员",width : 120,dataIndex : 'applicant'}, + {header : "制作者",width : 120,dataIndex : 'maker'}, + {header : "核对者",width : 120,dataIndex : 'assistant'}, {header : "申请时间",width : 120,dataIndex : 'applicationTime',renderer : myDateFormatByMinute}, + {header : "送来时间",width : 120,dataIndex : 'arrivedTime',renderer : myDateFormatByMinute}, + {header : "预约时间",width : 120,dataIndex : 'scheduleTime',renderer : myDateFormatByMinute}, {header : "申请部门",width : 120,dataIndex : 'depart'}, {header : "所属分组",width : 120,dataIndex : 'foreignProxyGroup'}, {header : "状态",width : 120,dataIndex : 'deliverStatus'}, @@ -1888,7 +1989,11 @@ var readerDetail = [ {name : 'id'}, {name : 'applicant'}, + {name : 'maker'}, + {name : 'assistant'}, {name : 'applicationTime'}, + {name : 'arrivedTime'}, + {name : 'scheduleTime'}, {name : 'depart'}, {name : 'foreignProxyGroup'}, {name : 'remark'}, @@ -1900,11 +2005,15 @@ filters : [ {type : 'string',dataIndex : 'serialNumber'}, {type : 'string',dataIndex : 'applicant'}, + {type : 'string',dataIndex : 'maker'}, + {type : 'string',dataIndex : 'assistant'}, {type : 'string',dataIndex : 'deliverStatus'}, {type : 'string',dataIndex : 'depart'}, {type : 'string',dataIndex : 'foreignProxyGroup'}, {type : 'string',dataIndex : 'remark'}, - {type : 'date',dataIndex : 'applicationTime'} + {type : 'date',dataIndex : 'applicationTime'}, + {type : 'string',dataIndex : 'arrivedTime'}, + {type : 'string',dataIndex : 'scheduleTime'} ] }); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/foreignproxydisinfection/ForeignProxyDisinfection.java =================================================================== diff -u -r12531 -r13692 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/foreignproxydisinfection/ForeignProxyDisinfection.java (.../ForeignProxyDisinfection.java) (revision 12531) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/foreignproxydisinfection/ForeignProxyDisinfection.java (.../ForeignProxyDisinfection.java) (revision 13692) @@ -1,20 +1,23 @@ package com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection; import java.util.ArrayList; +import java.util.Date; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OrderBy; +import javax.persistence.Transient; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.forgon.Constants; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.tools.hibernate.ObjectDao; @@ -32,6 +35,22 @@ private String sterilizer; private Integer frequency; + /** + * 制作者 + */ + private String maker; + /** + * 核对者 + */ + private String assistant; + /** + * 送来时间 + */ + private Date arrivedTime; + /** + * 预约时间 + */ + private Date scheduleTime; @JsonIgnore private List foreignProxyItems = new ArrayList(); @@ -62,6 +81,50 @@ this.frequency = frequency; } + public String getMaker() { + return maker; + } + + public void setMaker(String maker) { + this.maker = maker; + } + + public String getAssistant() { + return assistant; + } + + public void setAssistant(String assistant) { + this.assistant = assistant; + } + @Transient + public String getArrivedTimeStr(){ + if(arrivedTime != null){ + return Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(arrivedTime); + } + return ""; + } + public Date getArrivedTime() { + return arrivedTime; + } + + public void setArrivedTime(Date arrivedTime) { + this.arrivedTime = arrivedTime; + } + @Transient + public String getScheduleTimeStr(){ + if(scheduleTime != null){ + return Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(scheduleTime); + } + return ""; + } + public Date getScheduleTime() { + return scheduleTime; + } + + public void setScheduleTime(Date scheduleTime) { + this.scheduleTime = scheduleTime; + } + @OneToMany @Cascade(value = { CascadeType.ALL }) @JoinColumn(name = "foreignProxyDisinfection_id") Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r13667 -r13692 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 13667) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 13692) @@ -806,18 +806,30 @@ String serialNumber = ""; String applicant = ""; String applicationTime = ""; + String maker = ""; + String assistant = ""; + String arrivedTime = ""; + String scheduleTime = ""; String remark = ""; if(list.size() == 1){ ForeignProxyDisinfection foreignProxyDisinfection = list.get(0); serialNumber = foreignProxyDisinfection.getSerialNumber(); applicant = foreignProxyDisinfection.getApplicant(); applicationTime = foreignProxyDisinfection.getApplicationTimeStr(); remark = foreignProxyDisinfection.getRemark(); + maker = foreignProxyDisinfection.getMaker(); + assistant = foreignProxyDisinfection.getAssistant(); + arrivedTime = foreignProxyDisinfection.getArrivedTimeStr(); + scheduleTime = foreignProxyDisinfection.getScheduleTimeStr(); } jsonObject.put("serialNumber", serialNumber); jsonObject.put("applicant", applicant); jsonObject.put("applicationTime", applicationTime); jsonObject.put("remark", remark); + jsonObject.put("maker", maker); + jsonObject.put("assistant", assistant); + jsonObject.put("arrivedTime", arrivedTime); + jsonObject.put("scheduleTime", scheduleTime); tousseList = loadToussePrintData(list); jsonObject.put("tousse", tousseList); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/action/ForeignProxyDisinfectionAction.java =================================================================== diff -u -r13386 -r13692 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/action/ForeignProxyDisinfectionAction.java (.../ForeignProxyDisinfectionAction.java) (revision 13386) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/action/ForeignProxyDisinfectionAction.java (.../ForeignProxyDisinfectionAction.java) (revision 13692) @@ -87,9 +87,17 @@ String applicationTimeStr = StrutsParamUtils.getPraramValue( "applicationTimeStr", sdf.format(Calendar.getInstance().getTime())); + String arrivedTimeStr = StrutsParamUtils.getPraramValue( + "arrivedTimeStr", + sdf.format(Calendar.getInstance().getTime())); + String scheduleTimeStr = StrutsParamUtils.getPraramValue( + "scheduleTimeStr", + sdf.format(Calendar.getInstance().getTime())); try { foreignProxyDisinfection.setApplicationTime(sdf .parse(applicationTimeStr)); + foreignProxyDisinfection.setArrivedTime(sdf.parse(arrivedTimeStr)); + foreignProxyDisinfection.setScheduleTime(sdf.parse(scheduleTimeStr)); } catch (ParseException e) { e.printStackTrace(); }