Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/vo/SterilizationTransitionPrintData.java =================================================================== diff -u --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/vo/SterilizationTransitionPrintData.java (revision 0) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/vo/SterilizationTransitionPrintData.java (revision 22204) @@ -0,0 +1,65 @@ +package com.forgon.disinfectsystem.sterilizationmanager.sterilizationTransition.vo; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 灭菌交接记录打印 + * @author kzh + * + */ +public class SterilizationTransitionPrintData { + /** + * 交接时间 + */ + private String transitionTime; + /** + * 交接人名称 + */ + private String handover; + /** + * 接收人名称 + */ + private String takeover; + /** + * 交接的总包数 + */ + private Integer totalAmount = 0; + + private List goods; + public String getTransitionTime() { + return transitionTime; + } + public String getHandover() { + return handover; + } + public String getTakeover() { + return takeover; + } + public void setTransitionTime(String transitionTime) { + this.transitionTime = transitionTime; + } + public void setHandover(String handover) { + this.handover = handover; + } + public void setTakeover(String takeover) { + this.takeover = takeover; + } + public List getGoods() { + if(goods == null){ + goods = new ArrayList<>(); + } + return goods; + } + public void setGoods(List goods) { + this.goods = goods; + } + public Integer getTotalAmount() { + return totalAmount; + } + public void setTotalAmount(Integer totalAmount) { + this.totalAmount = totalAmount; + } + +} Index: ssts-web/src/main/webapp/ext/js/common.js =================================================================== diff -u -r13718 -r22204 --- ssts-web/src/main/webapp/ext/js/common.js (.../common.js) (revision 13718) +++ ssts-web/src/main/webapp/ext/js/common.js (.../common.js) (revision 22204) @@ -1,5 +1,6 @@ -Ext.BLANK_IMAGE_URL = WWWROOT+'/ext/resources/images/default/s.gif'; - +if (typeof(Ext) != 'undefined'){ + Ext.BLANK_IMAGE_URL = WWWROOT+'/ext/resources/images/default/s.gif'; +} function focusExtJSField(field){ if (field.isVisible(true) == true){ field.focus(); @@ -66,19 +67,20 @@ Ext.getCmp('mainlayout').load(WWWROOT+url); } -Ext.apply(Ext.form.VTypes, { - serialNumber :function(val, field){ - var certificateNameNumberExp = /^\d+[a-zA-Z]\d+$/; - if(certificateNameNumberExp.test(val)){ - return true; - } - return false; - }, - serialNumberText :'编号不规范!正确格式[数字+一个字母+数字]' +if (typeof(Ext) != 'undefined'){ + Ext.apply(Ext.form.VTypes, { + serialNumber :function(val, field){ + var certificateNameNumberExp = /^\d+[a-zA-Z]\d+$/; + if(certificateNameNumberExp.test(val)){ + return true; + } + return false; + }, + serialNumberText :'编号不规范!正确格式[数字+一个字母+数字]' -}); + }); +} - var FormUtils = { setReadOnly : function(form, isReadOnly) { if(typeof form == 'string') { @@ -191,151 +193,154 @@ } }; -Ext.namespace('Ext.ux.util.Format'); -Ext.ux.util.Format = function(){ - var trimRe = /^\s+|\s+$/g; - return { - usMoney : function(v, prefix){ - if(prefix==null){ - prefix = '¥'; - } - v = (Math.round((v-0)*100))/100; - v = (v == Math.floor(v)) ? v + ".00" : ((v*10 == Math.floor(v*10)) ? v + "0" : v); - v = String(v); - var ps = v.split('.'); - var whole = ps[0]; - var sub = ps[1] ? '.'+ ps[1] : '.00'; - var r = /(\d+)(\d{3})/; - while (r.test(whole)) { - whole = whole.replace(r, '$1' + ',' + '$2'); - } - v = whole + sub; - if(v.charAt(0) == '-'){ - return '-' + prefix + v.substr(1); - } +if (typeof(Ext) != 'undefined'){ + Ext.namespace('Ext.ux.util.Format'); + Ext.ux.util.Format = function(){ + var trimRe = /^\s+|\s+$/g; + return { + usMoney : function(v, prefix){ + if(prefix==null){ + prefix = '¥'; + } + v = (Math.round((v-0)*100))/100; + v = (v == Math.floor(v)) ? v + ".00" : ((v*10 == Math.floor(v*10)) ? v + "0" : v); + v = String(v); + var ps = v.split('.'); + var whole = ps[0]; + var sub = ps[1] ? '.'+ ps[1] : '.00'; + var r = /(\d+)(\d{3})/; + while (r.test(whole)) { + whole = whole.replace(r, '$1' + ',' + '$2'); + } + v = whole + sub; + if(v.charAt(0) == '-'){ + return '-' + prefix + v.substr(1); + } - return prefix + v; - } - }; -}(); + return prefix + v; + } + }; + }(); +} - function formatMoneyUtil(v, prefix){ return Ext.ux.util.Format(); } -Ext.override(Ext.grid.EditorGridPanel, { - isCellValid:function(col, row) { - if(!this.colModel.isCellEditable(col, row)) { - return true; - } - - var ed = this.colModel.getCellEditor(col, row); - if(!ed) { - return true; - } - - var record = this.store.getAt(row); - - if(!record) { - return true; - } - - var field = this.colModel.getDataIndex(col); - ed.field.setValue(record.data[field]); - return ed.field.isValid(true); - }, - - isValid:function(editInvalid) { - var cols = this.colModel.getColumnCount(); - var rows = this.store.getCount(); - var r, c; - var valid = true; - for(r = 0; r < rows; r++) { - for(c = 0; c < cols; c++) { - valid = this.isCellValid(c, r); - if(!valid) { - break; - } - } - - if(!valid) { - break; - } - } - - if(editInvalid && !valid) { - this.startEditing(r, c); - } - - return valid; - }, - - setEditable : function(editable){ - var cols = this.colModel.getColumnCount(); - for(c = 0; c < cols; c++) { - if(this.colModel.getCellEditor(c, 0) != null){ - this.colModel.setEditable(c, editable); - } - } - - var topToolbar = this.getTopToolbar(); - if(topToolbar){ - topToolbar.setVisible(editable); - } - - - if(editable){ - this.getView().refresh(false); - } - } -}); - -Ext.override(Ext.form.BasicForm, { - setValues : function(values){ - if(Ext.isArray(values)){ // array of objects - for(var i = 0, len = values.length; i < len; i++){ - var v = values[i]; - var f = this.findField(v.id); - if(f){ - f.setValue(v.value); - if(this.trackResetOnLoad){ - f.originalValue = f.getValue(); - } - } - } - }else{ // object hash - var field, id; - - for(id in values){ - //alert(id + "=" +values[id].length); - - if((typeof values[id] != 'function') && (field = this.findField(id))){ - field.setValue(values[id]); +if (typeof(Ext) != 'undefined'){ + Ext.override(Ext.grid.EditorGridPanel, { + isCellValid:function(col, row) { + if(!this.colModel.isCellEditable(col, row)) { + return true; + } + + var ed = this.colModel.getCellEditor(col, row); + if(!ed) { + return true; + } + + var record = this.store.getAt(row); + + if(!record) { + return true; + } + + var field = this.colModel.getDataIndex(col); + ed.field.setValue(record.data[field]); + return ed.field.isValid(true); + }, + + isValid:function(editInvalid) { + var cols = this.colModel.getColumnCount(); + var rows = this.store.getCount(); + var r, c; + var valid = true; + for(r = 0; r < rows; r++) { + for(c = 0; c < cols; c++) { + valid = this.isCellValid(c, r); + if(!valid) { + break; + } + } + + if(!valid) { + break; + } + } + + if(editInvalid && !valid) { + this.startEditing(r, c); + } + + return valid; + }, + + setEditable : function(editable){ + var cols = this.colModel.getColumnCount(); + for(c = 0; c < cols; c++) { + if(this.colModel.getCellEditor(c, 0) != null){ + this.colModel.setEditable(c, editable); + } + } + + var topToolbar = this.getTopToolbar(); + if(topToolbar){ + topToolbar.setVisible(editable); + } + + + if(editable){ + this.getView().refresh(false); + } + } + }); + + Ext.override(Ext.form.BasicForm, { + setValues : function(values){ + if(Ext.isArray(values)){ // array of objects + for(var i = 0, len = values.length; i < len; i++){ + var v = values[i]; + var f = this.findField(v.id); + if(f){ + f.setValue(v.value); if(this.trackResetOnLoad){ - field.originalValue = field.getValue(); + f.originalValue = f.getValue(); } - }else if((typeof values[id] != 'function') &&(typeof values[id] == 'object') && !(field = this.findField(id))){ - //如果是对象,则遍历该对象的属性设置(只遍历一层) - var currentObject = values[id]; - var parentPname = id; - for(cid in currentObject){ - if((typeof currentObject[cid] != 'function') &&(typeof currentObject[cid] != 'object')){ - var cf = parentPname+'.'+cid; - if( field = this.findField(cf)){ - field.setValue(currentObject[cid]); - if(this.trackResetOnLoad){ - field.originalValue = field.getValue(); - } + } + } + }else{ // object hash + var field, id; + + for(id in values){ + //alert(id + "=" +values[id].length); + + if((typeof values[id] != 'function') && (field = this.findField(id))){ + field.setValue(values[id]); + if(this.trackResetOnLoad){ + field.originalValue = field.getValue(); + } + }else if((typeof values[id] != 'function') &&(typeof values[id] == 'object') && !(field = this.findField(id))){ + //如果是对象,则遍历该对象的属性设置(只遍历一层) + var currentObject = values[id]; + var parentPname = id; + for(cid in currentObject){ + if((typeof currentObject[cid] != 'function') &&(typeof currentObject[cid] != 'object')){ + var cf = parentPname+'.'+cid; + if( field = this.findField(cf)){ + field.setValue(currentObject[cid]); + if(this.trackResetOnLoad){ + field.originalValue = field.getValue(); + } + } + } } - } - } - } - } - } - return this; - } -}); + } + } + } + return this; + } + }); +} function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i tousseInstances = tousseInstanceManager.getByHql(con,0,0,"tousseName"); + if(CollectionUtils.isEmpty(tousseInstances)){ + StrutsResponseUtils.output(false,"未获取到交接记录的器械包"); + }else{ + for(TousseInstance ti : tousseInstances){ + SterilizationTransitionPrintItem item = new SterilizationTransitionPrintItem(); + item.setPacker(ti.getOperator()); + item.setSterileEndTime(ti.getSterileEndTime()); + item.setSterileFrequency(ti.getSterileFrequency()); + item.setSterilizerName(ti.getSterilizerName()); + item.setTousseInstanceBarcode(ti.getBarcode()); + item.setTousseName(ti.getTousseName()); + + printData.getGoods().add(item); + } + StrutsResponseUtils.output(true,JSONObject.fromObject(printData)); + } + } + }catch(Exception e){ + exceptionHandler.handleException(StrutsParamUtils.getResponse(), e); + } + } + + public void updatePrintStatus(){ + try{ + Long id = StrutsParamUtils.getPraramLongValue("id", null); + sterilizationTransitionManager.updatePrintStatus(id); + StrutsResponseUtils.output(true); + }catch(Exception e){ + exceptionHandler.handleException(StrutsParamUtils.getResponse(), e); + } + } } Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionView.js =================================================================== diff -u -r22199 -r22204 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionView.js (.../sterilizationTransitionView.js) (revision 22199) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionView.js (.../sterilizationTransitionView.js) (revision 22204) @@ -31,11 +31,78 @@ if (tousseName) { tousseDefinitionId = Ext4.getCmp('tousseDefinition').getValue(); } + grid.cancelAllSelected(); grid.extraParams.tousseDefinitionId = tousseDefinitionId; Ext4.getCmp('forgonPagingToolBar').moveFirst(); //从第一页开始 } Ext4.onReady(function() { + + function doPrintRecord(id){ + Ext4.MessageBox.show({ + title:'请等待', + msg:'正在打印,请稍候...', + width:350, + progress:false, + closable:false + }); + Ext4.Ajax.request({ + url : WWWROOT + '/disinfectSystem/sterilizationTransition/sterilizationTransitionAction!loadPrintData.do', + params: {id: id}, + success : function(response, options) { + var result = Ext4.decode(response.responseText); + if(result.success){ + formTypeOfPrinted = "sterilizationTransitionRecord"; + LODOP = getLodop(document.getElementById('LODOP'), document + .getElementById('LODOP_EM')); + setGoodsInfos(result.data); + print2(result.data); + LODOP.PRINT(); + Ext4.Ajax.request({ + url : WWWROOT + '/disinfectSystem/sterilizationTransition/sterilizationTransitionAction!updatePrintStatus.do', + params: {id: id}, + success : function(response, options){ + Ext4.MessageBox.close(); + var result = Ext4.decode(response.responseText); + if(result.success){ + showResult('打印成功'); + reloadGrid(); + }else{ + showResult(result.message); + } + }, + failure : function(response, options){ + try{ + var result = Ext4.decode(response.responseText); + if(result && result.message){ + showResult(result.message); + } + }catch(e){ + showResult('更新打印状态失败'); + } + Ext4.MessageBox.close(); + } + }); + + }else{ + showResult(result.message); + Ext4.MessageBox.close(); + } + }, + failure : function(response, options) { + try{ + var result = Ext4.decode(response.responseText); + if(result && result.message){ + showResult(result.message); + } + }catch(e){ + showResult('获取打印数据失败'); + } + Ext4.MessageBox.close(); + } + }); + } + var fields = [{ name : 'id', mapping : 'id' },{ @@ -47,6 +114,8 @@ },{ name : 'takeover', mapping : 'takeover' },{ + name : 'printStatus', mapping : 'printStatus' + },{ name : 'totalAmount', mapping : 'totalAmount' }]; @@ -70,6 +139,8 @@ },{ header: '接收人', dataIndex: 'takeover', width: 70, minWidth:70, maxWidth:70, filterable: true, filter: {type: 'string'} },{ + header: '打印状态', dataIndex: 'printStatus', width: 70, minWidth:70, maxWidth:70, filterable: true, filter: {type: 'string'} + },{ header: '器械包总数量', dataIndex: 'totalAmount', width: 100, minWidth: 100, filterable: true, filter: {type: 'numeric'} }]; @@ -139,6 +210,38 @@ handler : function() { reloadGrid(); } + },'-',{ + text : '打印', + iconCls : 'icon-print', + handler : function() { + var records = grid.getSelectRecords(); + if (records.length == 0) { + showResult("请选择要打印的"+entityName+"!"); + return false; + } + if (records.length > 1) { + showResult("一次只能打印一条"+entityName+"信息!"); + return false; + } + var id = records[0]['id']; + if(records[0]['printStatus'] == '已打印'){ + var msgBox = new Ext4.window.MessageBox(); + msgBox.confirm({ + title: '温馨提示', + padding: '0 10 10 10', + msg: '灭菌交接记录已经打印,确定重新打印?', + fn: function(btn){ + if (btn == 'yes'){ + doPrintRecord(id); + } + }, + buttons: Ext4.Msg.YESNO, + icon: Ext4.Msg.QUESTION + }); + }else{ + doPrintRecord(id); + } + } }] }); Index: ssts-web/src/main/webapp/disinfectsystem/config/zsyy/print/printConfig.js =================================================================== diff -u -r22202 -r22204 --- ssts-web/src/main/webapp/disinfectsystem/config/zsyy/print/printConfig.js (.../printConfig.js) (revision 22202) +++ ssts-web/src/main/webapp/disinfectsystem/config/zsyy/print/printConfig.js (.../printConfig.js) (revision 22204) @@ -52,6 +52,41 @@ ] } }; + +var sterilizationTransitionRecordConfig = { + fixed:true, + headerFooter : [ + // 页眉名称 + {label : "灭菌交接记录", dataIndex : '', fontSize : 15, position : ["0.3cm","37%","99%",5]}, + {label : "交接时间:", dataIndex : 'transitionTime', fontSize : 9, position : ["1cm","2%","99%",5]}, + {label : "包装交接人:", dataIndex : 'handover', fontSize : 9, position : ["1.4cm","2%","90%",5]}, + {label : "消毒接收人:", dataIndex : 'takeover', fontSize : 9, position : ["1.4cm","45%","90%",5]}, + {label : "器械包总数:", dataIndex : 'totalAmount', fontSize : 9, position : ["1.4cm","80%","90%",5]}, + {label : "仪器班签收人:", dataIndex : '', fontSize : 9, position : ["1.8cm","2%","90%",5]} + ], + currentPageNumber : {label : "第#页", fontSize : 9, position : ["1cm","80%","90%",5]}, + totalPageAmount : {label : "共&页", fontSize : 9, position : ["1cm","85%","90%",5]}, + goodsTable :{ + rowHeight : 20, + //position : ["50","1%","96%","6.0cm"], + fontSize:12, + position : ["2.2cm","0.2cm","99%","27cm"], + headRepeat : true, + donotPrintTotal:true,//不打印合计 + columns : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center'}, + {header : "物品名称", dataIndex : 'tousseName', width : 200, align : 'center'}, + //{header : "出库仓库", dataIndex : 'warehouseName', width : 60, align : 'center'}, + {header : "条码", dataIndex : 'tousseInstanceBarcode', width : 60, align : 'center'}, + {header : "配包人", dataIndex : 'packer', width : 60, align : 'center'}, + {header : "灭菌炉", dataIndex : 'sterilizerName', width : 100, align : 'center'}, + {header : "炉次", dataIndex : 'sterileFrequency', width : 40, align : 'center'}, + {header : "灭菌完成时间", dataIndex : 'sterileEndTime', width : 100, align : 'center'}, + {header : "备注", dataIndex : '', width : 100, align : 'center'} + ] + } +} + var appropriationListConfig = { headerFooter : [ // 页眉名称 @@ -1895,5 +1930,7 @@ //调拨入库单 appropriationInList : appropriationInListConfig, //调拨出库单 - appropriationOutList : appropriationOutListConfig + appropriationOutList : appropriationOutListConfig, + //灭菌交接记录单 + sterilizationTransitionRecord:sterilizationTransitionRecordConfig }; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationTransition/SterilizationTransition.java =================================================================== diff -u -r22164 -r22204 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationTransition/SterilizationTransition.java (.../SterilizationTransition.java) (revision 22164) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationTransition/SterilizationTransition.java (.../SterilizationTransition.java) (revision 22204) @@ -3,13 +3,17 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; + import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Transient; + import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; + +import com.forgon.Constants; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; @@ -61,6 +65,10 @@ * 交接的总包数 */ private Integer totalAmount = 0; + /** + * 打印状态,未打印,已打印 + */ + private String printStatus = Constants.PRINT_STATUS_NONE; @Id @GeneratedValue(strategy = GenerationType.AUTO) @@ -128,6 +136,14 @@ this.totalAmount = totalAmount; } + public String getPrintStatus() { + return printStatus; + } + + public void setPrintStatus(String printStatus) { + this.printStatus = printStatus; + } + /** * 获取此灭菌交接记录的所有交接项. * @param objectDao {@link ObjectDao} Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/vo/SterilizationTransitionPrintItem.java =================================================================== diff -u --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/vo/SterilizationTransitionPrintItem.java (revision 0) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/vo/SterilizationTransitionPrintItem.java (revision 22204) @@ -0,0 +1,64 @@ +package com.forgon.disinfectsystem.sterilizationmanager.sterilizationTransition.vo; + +public class SterilizationTransitionPrintItem { + /** + * 器械包名称 + */ + private String tousseName; + /** + * 器械包实例条码 + */ + private String tousseInstanceBarcode; + /** + * 配包人 + */ + private String packer; + /** + * 灭菌炉名称 + */ + private String sterilizerName; + /** + * 灭菌炉次 + */ + private String sterileFrequency = ""; + /** + * 灭菌结束时间 + */ + private String sterileEndTime = ""; + public String getTousseName() { + return tousseName; + } + public String getTousseInstanceBarcode() { + return tousseInstanceBarcode; + } + public String getPacker() { + return packer; + } + public String getSterilizerName() { + return sterilizerName; + } + public String getSterileFrequency() { + return sterileFrequency; + } + public String getSterileEndTime() { + return sterileEndTime; + } + public void setTousseName(String tousseName) { + this.tousseName = tousseName; + } + public void setTousseInstanceBarcode(String tousseInstanceBarcode) { + this.tousseInstanceBarcode = tousseInstanceBarcode; + } + public void setPacker(String packer) { + this.packer = packer; + } + public void setSterilizerName(String sterilizerName) { + this.sterilizerName = sterilizerName; + } + public void setSterileFrequency(String sterileFrequency) { + this.sterileFrequency = sterileFrequency; + } + public void setSterileEndTime(String sterileEndTime) { + this.sterileEndTime = sterileEndTime; + } +} Index: forgon-core/src/main/java/com/forgon/log/model/Log.java =================================================================== diff -u -r20779 -r22204 --- forgon-core/src/main/java/com/forgon/log/model/Log.java (.../Log.java) (revision 20779) +++ forgon-core/src/main/java/com/forgon/log/model/Log.java (.../Log.java) (revision 22204) @@ -1,5 +1,7 @@ package com.forgon.log.model; +import java.util.Date; + import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.FetchType; @@ -13,8 +15,6 @@ import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; -import java.util.Date; - @Entity @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Table(name = "Log",indexes = { @@ -38,6 +38,7 @@ public static final String MODEL_REVIEW = "审核模块"; public static final String MODEL_STERILELOADING = "灭菌装载模块"; public static final String MODEL_STERILIZATION = "灭菌模块"; + public static final String MODEL_STERILIZATION_TRANSITION = "灭菌交接"; public static final String MODEL_INVOICE = "发货模块"; public static final String MODEL_USERECORD = "使用记录模块"; public static final String MODEL_BASEDATA = "基础数据"; Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionView.jsp =================================================================== diff -u -r22199 -r22204 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionView.jsp (.../sterilizationTransitionView.jsp) (revision 22199) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionView.jsp (.../sterilizationTransitionView.jsp) (revision 22204) @@ -27,9 +27,17 @@ <%-- 引入本身的js --%> + + + + + + 灭菌交接记录 - + + + \ No newline at end of file Index: forgon-core/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r22031 -r22204 --- forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 22031) +++ forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 22204) @@ -67,6 +67,9 @@ public static final String HAS_TYPE_YES = "有"; public static final String HAS_TYPE_NO = "无"; + public static final String PRINT_STATUS_PRINTED = "已打印"; + public static final String PRINT_STATUS_NONE = "未打印"; + public static final String ANONYMOUS_USERNAME = "匿名用户"; public static final String ERROR_MATERIALNAME = "器械包标识牌"; Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManagerImpl.java =================================================================== diff -u -r22200 -r22204 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManagerImpl.java (.../SterilizationTransitionManagerImpl.java) (revision 22200) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManagerImpl.java (.../SterilizationTransitionManagerImpl.java) (revision 22204) @@ -16,13 +16,16 @@ import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.sterilizationTransition.SterilizationTransition; import com.forgon.disinfectsystem.entity.sterilizationTransition.SterilizationTransitionItem; import com.forgon.disinfectsystem.entity.sterilizationTransition.SterilizationTransitionItemVO; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.exception.SystemException; +import com.forgon.log.model.Log; +import com.forgon.log.service.LogManager; import com.forgon.security.model.User; import com.forgon.security.service.UserManager; import com.forgon.serialnumber.model.SerialNum; @@ -44,6 +47,7 @@ private DateQueryAdapter dateQueryAdapter; private UserManager userManager; private static JsonConfig jsonConfig; + private LogManager appLogManager; static{ jsonConfig = new JsonConfig(); @@ -76,6 +80,10 @@ this.userManager = userManager; } + public void setAppLogManager(LogManager appLogManager) { + this.appLogManager = appLogManager; + } + @Override public void saveOrUpdateSterilizationTransition( SterilizationTransition sterilizationTransition, Collection sterilizationTransitionItemVOs) { @@ -196,4 +204,17 @@ return ret; } } + + @Override + public void updatePrintStatus(Long id) { + SterilizationTransition st = getForUpdate(id); + if(st != null){ + JSONObject json = new JSONObject(); + JSONUtil.modifyPropertyLog(json, "printStatus", st.getPrintStatus(), Constants.PRINT_STATUS_PRINTED); + json.put("灭菌交接记录id", id); + st.setPrintStatus(Constants.PRINT_STATUS_PRINTED); + save(st); + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_STERILIZATION_TRANSITION, Log.TYPE_UPDATE, json); + } + } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManager.java =================================================================== diff -u -r22189 -r22204 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManager.java (.../SterilizationTransitionManager.java) (revision 22189) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManager.java (.../SterilizationTransitionManager.java) (revision 22204) @@ -47,4 +47,9 @@ */ public JSONObject scanBarcode( String barcode, Long sterilizationTransitionId); + /** + * 更新打印状态 + * @param id 灭菌交接记录id + */ + public void updatePrintStatus(Long id); } Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionForm.js =================================================================== diff -u -r22200 -r22204 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionForm.js (.../sterilizationTransitionForm.js) (revision 22200) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionForm.js (.../sterilizationTransitionForm.js) (revision 22204) @@ -441,6 +441,7 @@ waitTitle : '提交表单', success : function(form, action) { windowObj.close(); + grid.cancelAllSelected(); grid.reloadData(); showResult(action.result.message); },