Index: ssts-web/src/main/webapp/systemmanage/timeoutSetting.js =================================================================== diff -u --- ssts-web/src/main/webapp/systemmanage/timeoutSetting.js (revision 0) +++ ssts-web/src/main/webapp/systemmanage/timeoutSetting.js (revision 14183) @@ -0,0 +1,132 @@ + +Ext4.onReady(function(){ + Ext4.QuickTips.init(); + + var yesNoStore = new Ext4.data.Store( { + fields : [{name:'value'},{name:'text'}], + data : [{value:'0',text:'是'}, {value:'1',text:'否'}] + }); + + var formObj = new Ext4.form.Panel({ + frame:true, + labelSeparator:':', + title: '各环节超时时间设置', + //bodyStyle:'padding:5px 5px 0px 25px', + width: 600, + items: [{ + xtype : "panel", + title : '回收到清洗', + layout:'column', + autoHeight :true , + items : [{ + xtype : "fieldset", + title : '超时时间', + layout:'column', + autoHeight :true , + columnWidth:1, + items : [{ + layout:'form', + columnWidth:0.5, + border:0, + items:[{ + xtype:'textfield', + id:'recycleToWashHour', + name:'recycleToWashHour', + labelWidth:'100', + labelAlign: 'right', + fieldLabel: '小时', + allowBlank:false, + regex:/^[0-9]\d*$/, + regexText:'请输入数字' + }] + },{ + layout:'form', + columnWidth:0.5, + border:0, + items:[{ + xtype:'textfield', + id:'recycleToWashMinute', + name:'recycleToWashMinute', + labelWidth:'100', + labelAlign: 'right', + fieldLabel: '分钟', + allowBlank:false, + regex:/^[0-9]$|^[0-5][0-9]$/, + regexText:'请输入0到59的数字' + }] + }] + },{ + layout : 'form', + columnWidth : 1, + border:0, + items : [{ + xtype:'combobox', + id:'recycleToWashShowMessageBox', + name: 'recycleToWashShowMessageBox', + store:yesNoStore, + labelWidth:'110', + labelAlign: 'right', + fieldLabel: '是否显示提示框', + valueField : 'value', + displayField : 'text', + forceSelection : true, + editable:false, + allowBlank:false, + triggerAction : 'all' + }] + }] + }], + + buttons: [{ + id:'saveBtn', + text: '确认', + handler: save + },{ + text: '取消', + handler:function(){history.go(-1);} + }] + }); + + formObj.render("formDiv"); + //加载数据 + Ext4.Ajax.request({ + url : WWWROOT + '/system/timeoutAction!load.do', + success : function(response, options) { + var result = Ext4.decode(response.responseText); + if(result.success){ + Ext4.getCmp('recycleToWashHour').setValue(result.recycleToWashHour); + Ext4.getCmp('recycleToWashMinute').setValue(result.recycleToWashMinute); + Ext4.getCmp('recycleToWashShowMessageBox').setValue(result.recycleToWashShowMessageBox); + } + }, + failure : function(response, options) { + } + }); + + function checkModuleTextIsExist(moduleStr,poModuleName,moduleCmpId){} + + function save(){ + if(!formObj.isValid()){ + showResult('请正确输入表单各值'); + return; + } + formObj.submit({ + clientValidation: true, + url: WWWROOT + '/system/timeoutAction!save.do', +// params: { +// newStatus: 'delivered' +// }, + success: function(form, action) { + showResult(action.result.message); + }, + failure: function(form, action) { + if(action.result.message){ + showResult(action.result.message); + }else{ + showResult('保存失败'); + } + } + }); + } + +}); Index: ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/model/TimeoutParameter.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/model/TimeoutParameter.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/model/TimeoutParameter.java (revision 14183) @@ -0,0 +1,130 @@ +package com.forgon.disinfectsystem.timeout.model; + +public class TimeoutParameter { + /** + * 回收到清洗的小时数 + */ + private String recycleToWashHour; + /** + * 回收到清洗的分钟数 + */ + private String recycleToWashMinute; + /** + * 回收到清洗是否显示提示框 + */ + private String recycleToWashShowMessageBox; + + /** + * 清洗到装配的小时数 + */ + private String washToPackingHour; + /** + * 清洗到装配的分钟数 + */ + private String washToPackingMinute; + /** + * 清洗到装配是否显示提示框 + */ + private String washToPackingShowMessageBox; + + /** + * 装配到审核的小时数 + */ + private String packingToReviewHour; + /** + * 装配到审核的分钟数 + */ + private String packingToReviewMinute; + /** + * 装配到审核是否显示提示框 + */ + private String packingToReviewShowMessageBox; + + /** + * 审核到灭菌的小时数 + */ + private String reviewToSterileHour; + /** + * 审核到灭菌的分钟数 + */ + private String reviewToSterileMinute; + /** + * 审核到灭菌是否显示提示框 + */ + private String reviewToSterileShowMessageBox; + + public String getRecycleToWashHour() { + return recycleToWashHour; + } + public void setRecycleToWashHour(String recycleToWashHour) { + this.recycleToWashHour = recycleToWashHour; + } + public String getRecycleToWashMinute() { + return recycleToWashMinute; + } + public void setRecycleToWashMinute(String recycleToWashMinute) { + this.recycleToWashMinute = recycleToWashMinute; + } + public String getRecycleToWashShowMessageBox() { + return recycleToWashShowMessageBox; + } + public void setRecycleToWashShowMessageBox(String recycleToWashShowMessageBox) { + this.recycleToWashShowMessageBox = recycleToWashShowMessageBox; + } + public String getWashToPackingHour() { + return washToPackingHour; + } + public void setWashToPackingHour(String washToPackingHour) { + this.washToPackingHour = washToPackingHour; + } + public String getWashToPackingMinute() { + return washToPackingMinute; + } + public void setWashToPackingMinute(String washToPackingMinute) { + this.washToPackingMinute = washToPackingMinute; + } + public String getWashToPackingShowMessageBox() { + return washToPackingShowMessageBox; + } + public void setWashToPackingShowMessageBox(String washToPackingShowMessageBox) { + this.washToPackingShowMessageBox = washToPackingShowMessageBox; + } + public String getPackingToReviewHour() { + return packingToReviewHour; + } + public void setPackingToReviewHour(String packingToReviewHour) { + this.packingToReviewHour = packingToReviewHour; + } + public String getPackingToReviewMinute() { + return packingToReviewMinute; + } + public void setPackingToReviewMinute(String packingToReviewMinute) { + this.packingToReviewMinute = packingToReviewMinute; + } + public String getPackingToReviewShowMessageBox() { + return packingToReviewShowMessageBox; + } + public void setPackingToReviewShowMessageBox( + String packingToReviewShowMessageBox) { + this.packingToReviewShowMessageBox = packingToReviewShowMessageBox; + } + public String getReviewToSterileHour() { + return reviewToSterileHour; + } + public void setReviewToSterileHour(String reviewToSterileHour) { + this.reviewToSterileHour = reviewToSterileHour; + } + public String getReviewToSterileMinute() { + return reviewToSterileMinute; + } + public void setReviewToSterileMinute(String reviewToSterileMinute) { + this.reviewToSterileMinute = reviewToSterileMinute; + } + public String getReviewToSterileShowMessageBox() { + return reviewToSterileShowMessageBox; + } + public void setReviewToSterileShowMessageBox( + String reviewToSterileShowMessageBox) { + this.reviewToSterileShowMessageBox = reviewToSterileShowMessageBox; + } +} Index: ssts-web/src/main/resources/spring/applicationContext-service.xml =================================================================== diff -u -r12335 -r14183 --- ssts-web/src/main/resources/spring/applicationContext-service.xml (.../applicationContext-service.xml) (revision 12335) +++ ssts-web/src/main/resources/spring/applicationContext-service.xml (.../applicationContext-service.xml) (revision 14183) @@ -765,6 +765,16 @@ + + + + + + + + + Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r14058 -r14183 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 14058) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 14183) @@ -493,6 +493,7 @@ {hidden :SSTS_SupplyRoomType,text:"仓库管理",href:WWWROOT+'/disinfectsystem/basedatamanager/warehouse/wareHouseView.jsp?editMode=true',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_SupplyRoomType,text:"供应室处理器械包配置",href:WWWROOT+'/disinfectsystem/basedatamanager/supplyroomtype/cssdHandleToussesView.jsp?editMode=true',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_SupplyRoomType,text:"供应室服务临床科室配置",href:WWWROOT+'/disinfectsystem/basedatamanager/supplyroomtype/cssdServiceDeptsView.jsp?editMode=true',hrefTarget:linkTarget,leaf:true}, + {hidden :true,text:"各环节超时设置",href:WWWROOT+'/systemmanage/timeoutSetting.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_SerialNumber,text:"流水号设置",href:WWWROOT+'/disinfectsystem/basedatamanager/serialnumconfig/serialNumConfigView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_QualityItem,text:"质量监测项设置",href:WWWROOT+'/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualitymonitoringConfigView.jsp?type=质量监测',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_Qualitymonitoring,text:"定期监测项设置",href:WWWROOT+'/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualitymonitoringConfigView.jsp?type=定期监测',hrefTarget:linkTarget,leaf:true}, Index: ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/action/TimeoutAction.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/action/TimeoutAction.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/action/TimeoutAction.java (revision 14183) @@ -0,0 +1,51 @@ +package com.forgon.disinfectsystem.timeout.action; + +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; + +import com.forgon.disinfectsystem.timeout.model.TimeoutParameter; +import com.forgon.disinfectsystem.timeout.service.TimeoutManager; +import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.json.JSONUtil; +import com.opensymphony.xwork2.ModelDriven; + +/** + * @author wangyi + * 2013-03-26 下午 13:56 + * + */ +@ParentPackage(value = "default") +@Namespace(value = "/system") +@Action(value = "timeoutAction") +public class TimeoutAction implements ModelDriven { + + private TimeoutManager timeoutManager; + private TimeoutParameter timeoutParameter = new TimeoutParameter(); + + public void setTimeoutManager(TimeoutManager timeoutManager) { + this.timeoutManager = timeoutManager; + } + + public void save(){ + try { + StrutsResponseUtils.output(timeoutManager.save(timeoutParameter)); + } catch (Exception e) { + StrutsResponseUtils.output(JSONUtil.buildJsonObject(false)); + } + } + + public void load(){ + try { + StrutsResponseUtils.output(timeoutManager.load()); + } catch (Exception e) { + StrutsResponseUtils.output(JSONUtil.buildJsonObject(false)); + } + } + + @Override + public TimeoutParameter getModel() { + return timeoutParameter; + } + +} Index: ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/service/TimeoutManagerImpl.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/service/TimeoutManagerImpl.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/service/TimeoutManagerImpl.java (revision 14183) @@ -0,0 +1,174 @@ +package com.forgon.disinfectsystem.timeout.service; + +import net.sf.json.JSONObject; + +import com.forgon.disinfectsystem.timeout.model.TimeoutParameter; +import com.forgon.disinfectsystem.timeout.model.TimeoutSetting; +import com.forgon.keyvalue.model.KeyValue.KeyValueScope; +import com.forgon.keyvalue.service.KeyValueManager; +import com.forgon.tools.json.JSONUtil; +import com.forgon.tools.string.StringTools; + +public class TimeoutManagerImpl implements TimeoutManager { + + private KeyValueManager keyValueManager; + + public void setKeyValueManager(KeyValueManager keyValueManager) { + this.keyValueManager = keyValueManager; + } + private boolean isMinuteValid(String minute){ + return isNumberRangeValid(minute,0,59); + } + private boolean isNumberRangeValid(String number,int min,int max){ + try{ + int ret = Integer.parseInt(number); + if(ret >= min && ret <= max){ + return true; + } + }catch(Exception e){ + return false; + } + return false; + } + @Override + public JSONObject save(TimeoutParameter parameter) { + if(parameter == null){ + return JSONUtil.buildJsonObject(false, "保存失败"); + } + try{ + saveRecycleToWashSetting(parameter); + saveWashToPackingSetting(parameter); + savePackingToReviewSetting(parameter); + saveReviewToSterileSetting(parameter); + }catch(Exception ex){ + return JSONUtil.buildJsonObject(false, ex.getMessage()); + } + return JSONUtil.buildJsonObject(true, "保存成功"); + } + /** + * 保存回收到清洗环节的超时设置 + * @param parameter + */ + private void saveRecycleToWashSetting(TimeoutParameter parameter){ + if(!StringTools.isNumeric(parameter.getRecycleToWashHour())){ + throw new RuntimeException("回收到清洗的小时数只能是整数"); + } + if(!isMinuteValid(parameter.getRecycleToWashMinute())){ + throw new RuntimeException("回收到清洗的分钟数只能是0到59"); + } + if(!isNumberRangeValid(parameter.getRecycleToWashShowMessageBox(),0,1)){ + throw new RuntimeException("回收到清洗的是否显示提示框只能选择是或者否"); + } + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_RECYCLE_TO_WASH + "Hour", parameter.getRecycleToWashHour()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_RECYCLE_TO_WASH + "Minute", parameter.getRecycleToWashMinute()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_RECYCLE_TO_WASH + "ShowMessageBox", parameter.getRecycleToWashShowMessageBox()); + } + + /** + * 保存清洗到装配环节的超时设置 + * @param parameter + */ + private void saveWashToPackingSetting(TimeoutParameter parameter){ + if(!StringTools.isNumeric(parameter.getWashToPackingHour())){ + throw new RuntimeException("清洗到装配的小时数只能是整数"); + } + if(!isMinuteValid(parameter.getWashToPackingMinute())){ + throw new RuntimeException("清洗到装配的分钟数只能是0到59"); + } + if(!isNumberRangeValid(parameter.getWashToPackingShowMessageBox(),0,1)){ + throw new RuntimeException("清洗到装配的是否显示提示框只能选择是或者否"); + } + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_WASH_TO_PACKING + "Hour", parameter.getWashToPackingHour()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_WASH_TO_PACKING + "Minute", parameter.getWashToPackingMinute()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_WASH_TO_PACKING + "ShowMessageBox", parameter.getWashToPackingShowMessageBox()); + } + + /** + * 保存装配到审核环节的超时设置 + * @param parameter + */ + private void savePackingToReviewSetting(TimeoutParameter parameter){ + if(!StringTools.isNumeric(parameter.getPackingToReviewHour())){ + throw new RuntimeException("装配到审核的小时数只能是整数"); + } + if(!isMinuteValid(parameter.getPackingToReviewMinute())){ + throw new RuntimeException("装配到审核的分钟数只能是0到59"); + } + if(!isNumberRangeValid(parameter.getPackingToReviewShowMessageBox(),0,1)){ + throw new RuntimeException("装配到审核的是否显示提示框只能选择是或者否"); + } + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_PACKING_TO_REVIEW + "Hour", parameter.getPackingToReviewHour()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_PACKING_TO_REVIEW + "Minute", parameter.getPackingToReviewMinute()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_PACKING_TO_REVIEW + "ShowMessageBox", parameter.getPackingToReviewShowMessageBox()); + } + + /** + * 保存审核到灭菌环节的超时设置 + * @param parameter + */ + private void saveReviewToSterileSetting(TimeoutParameter parameter){ + if(!StringTools.isNumeric(parameter.getReviewToSterileHour())){ + throw new RuntimeException("审核到灭菌的小时数只能是整数"); + } + if(!isMinuteValid(parameter.getReviewToSterileMinute())){ + throw new RuntimeException("审核到灭菌的分钟数只能是0到59"); + } + if(!isNumberRangeValid(parameter.getReviewToSterileShowMessageBox(),0,1)){ + throw new RuntimeException("审核到灭菌的是否显示提示框只能选择是或者否"); + } + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_REVIEW_TO_STERILE + "Hour", parameter.getReviewToSterileHour()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_REVIEW_TO_STERILE + "Minute", parameter.getReviewToSterileMinute()); + keyValueManager.saveStringValue_TRANS_REQUIRED(KeyValueScope.KeyValueScope_Project, + PROCEDURE_REVIEW_TO_STERILE + "ShowMessageBox", parameter.getReviewToSterileShowMessageBox()); + } + + @Override + public JSONObject load() { + // TODO Auto-generated method stub + JSONObject json = JSONUtil.buildJsonObject(true); + loadSetting(json,PROCEDURE_RECYCLE_TO_WASH); + loadSetting(json, PROCEDURE_WASH_TO_PACKING); + loadSetting(json, PROCEDURE_PACKING_TO_REVIEW); + loadSetting(json, PROCEDURE_REVIEW_TO_STERILE); + return json; + } + /** + * 加载特定环节的配置,并添加到json对象属性中 + * @param json + * @param procedure 指定的环节 + */ + private void loadSetting(JSONObject json,String procedure){ + if(json != null && StringTools.isNotBlank(procedure)){ + json.put(procedure + "Hour", keyValueManager.getStringValue(procedure + "Hour", "")); + json.put(procedure + "Minute", keyValueManager.getStringValue(procedure + "Minute", "")); + json.put(procedure + "ShowMessageBox", keyValueManager.getStringValue(procedure + "ShowMessageBox", "")); + } + } + @Override + public TimeoutSetting getTimeoutSetting(String procedure) { + TimeoutSetting setting = new TimeoutSetting(); + setting.setProcedure(procedure); + if(StringTools.isNotBlank(procedure)){ + int hour = keyValueManager.getIntValue(procedure + "Hour", 0); + int minute = keyValueManager.getIntValue(procedure + "Minute", 0); + boolean showMessageBox = StringTools.equals("1",keyValueManager.getStringValue(procedure + "ShowMessageBox", null)); + + setting.setHour(hour); + setting.setMinute(minute); + setting.setShowMessageBox(showMessageBox); + } + return setting; + } + +} Index: ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/model/TimeoutSetting.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/model/TimeoutSetting.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/model/TimeoutSetting.java (revision 14183) @@ -0,0 +1,48 @@ +package com.forgon.disinfectsystem.timeout.model; +/** + * 超时设置 + * @author kzh + * + */ +public class TimeoutSetting { + /** + * 环节过程 + */ + private String procedure; + /** + * 小时数 + */ + private int hour; + /** + * 分钟数 + */ + private int minute; + /** + * 是否显示提示框 + */ + private boolean showMessageBox; + public String getProcedure() { + return procedure; + } + public void setProcedure(String procedure) { + this.procedure = procedure; + } + public int getHour() { + return hour; + } + public void setHour(int hour) { + this.hour = hour; + } + public int getMinute() { + return minute; + } + public void setMinute(int minute) { + this.minute = minute; + } + public boolean isShowMessageBox() { + return showMessageBox; + } + public void setShowMessageBox(boolean showMessageBox) { + this.showMessageBox = showMessageBox; + } +} Index: ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/service/TimeoutManager.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/service/TimeoutManager.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/timeout/service/TimeoutManager.java (revision 14183) @@ -0,0 +1,47 @@ +package com.forgon.disinfectsystem.timeout.service; + +import com.forgon.disinfectsystem.timeout.model.TimeoutParameter; +import com.forgon.disinfectsystem.timeout.model.TimeoutSetting; + +import net.sf.json.JSONObject; + +/** + * 各环节超时管理操作 + * @author kzh + * + */ +public interface TimeoutManager { + /** + * 回收到清洗环节 + */ + public static final String PROCEDURE_RECYCLE_TO_WASH = "recycleToWash"; + /** + * 清洗到装配环节 + */ + public static final String PROCEDURE_WASH_TO_PACKING = "washToPacking"; + /** + * 装配到审核环节 + */ + public static final String PROCEDURE_PACKING_TO_REVIEW = "packingToReview"; + /** + * 审核到灭菌环节 + */ + public static final String PROCEDURE_REVIEW_TO_STERILE = "reviewToSterile"; + /** + * 保存各环节超时提醒的参数设置 + * @param parameter + * @return + */ + public JSONObject save(TimeoutParameter parameter); + /** + * 加载各环节超时提醒的参数设置 + * @return + */ + public JSONObject load(); + /** + * 获取对应环节的超时设置 + * @param procedure 环节过程 + * @return + */ + public TimeoutSetting getTimeoutSetting(String procedure); +} Index: ssts-web/src/main/webapp/systemmanage/timeoutSetting.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/systemmanage/timeoutSetting.jsp (revision 0) +++ ssts-web/src/main/webapp/systemmanage/timeoutSetting.jsp (revision 14183) @@ -0,0 +1,30 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ page import="com.forgon.tools.SpringBeanManger" %> +<%@ page import="com.forgon.directory.acegi.tools.AcegiHelper" %> +<% + request.setAttribute("userName",AcegiHelper.getLoginUser().getUserName()); +%> + + + + +<%@ include file="/common/includeExtJs4_2.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> + + + + + +
+
+
+
+
+ + + \ No newline at end of file