Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingView.jsp (revision 14952) @@ -0,0 +1,29 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> + + + +用户IP地址段对应的默认科室配置 + + + + + + + + + + + + + + +
+
+
+ + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingForm.js (revision 14952) @@ -0,0 +1,232 @@ +var id; +var formObj; +var userIPAndOrgUnitMappingWindow; + +function addAndEditUserIPAndOrgUnitMapping(id) { + + this.id = id; + /** + * 用户的当前科室的store + */ + var currentOrgUnitJsonStore = new Ext.data.SimpleStore({ + fields : [ 'currentOrgUnitValue', 'currentOrgUnitDisplay' ], + url : WWWROOT + '/systemmanage/orgUnit/getOrgUnitCodingAndNameByUserName.do', + listeners : { + beforeload : function(thisCombo, options) { + currentOrgUnitJsonStore.baseParams.userName = top.Ext.getCmp('userName').getValue(); //加载之前先把用户名传给后台 + }, + load : function(store, records) { + if (records.length > 0 && !id) { //如果是修改的按钮不会走这里 + top.Ext.getCmp('currentOrgUnit').setValue(records[0].data.currentOrgUnitValue); + top.Ext.getCmp('currentOrgUnit').setRawValue(records[0].data.currentOrgUnitDisplay); + } + if (!(records.length > 0)) { + top.Ext.getCmp('currentOrgUnit').setValue(''); + top.Ext.getCmp('currentOrgUnit').setRawValue(''); + showResult('此用户没有所属科室,不能进行设置!'); + } + } + } + }); + + /** + * 用户名的store + */ + var userNameJsonStore = new Ext.data.SimpleStore({ + fields : [ 'userNameValue', 'userNameDisplay' ], + url : WWWROOT + '/systemmanage/user/getAllUserFillNameAndNameByUserName.do', + listeners : { + beforeload : function(thisCombo, options) { + userNameJsonStore.baseParams.userName = top.Ext.getCmp('userName').getRawValue(); + } + } + }); + + + formObj = new top.Ext.FormPanel({ + id : 'userIPAndOrgUnitMappingForm', + frame : true, + labelSeparator : ':', + bodyStyle : 'padding:5px 5px 0px 5px', + labelWidth : 100, + height : 400, + autoScroll : true, + labelAlign : 'right', + items : [{ + xtype : 'combo', + fieldLabel : '用户名', + valueField : 'userNameValue', + displayField : 'userNameDisplay', + store : userNameJsonStore, + allowBlank : false, + blankText : '此文本框不能为空', + forceSelection : true, + triggerAction : 'all', + hideTrigger : true, + minChars : 0, + name : "userName", + id : "userName", + maxHeight : 200, + anchor : '95%', + listeners : { + select : function(thisCombo, record, index) { + currentOrgUnitJsonStore.load(); + } + } + }, { + xtype : 'combo', + fieldLabel : '默认科室', + valueField : 'currentOrgUnitValue', + displayField : 'currentOrgUnitDisplay', + store : currentOrgUnitJsonStore, + allowBlank : false, + blankText : '此文本框不能为空', + forceSelection : true, + triggerAction : 'all', + name : "currentOrgUnit", + id : "currentOrgUnit", + maxHeight : 200, + anchor : '95%' + }, { + xtype : 'textarea', + fieldLabel : 'IP或者IP段', + height : 150, + name : 'ipAddress', + id : 'ipAddress', + anchor : '95%', + emptyText : '格式如:(192.168.1.1,192.168.1.1-192.168.1.10),IP地址之间用半角逗号分隔,IP地址段用"-"分隔', + allowBlank : false, + blankText : '此文本框不能为空' + }], + buttons : [{ + id : 'saveBtn', + text : '保存', + handler : save + }, { + text : '取消', + id : 'saveAndNewBtn', + handler : cancel + }] + }); + + userIPAndOrgUnitMappingWindow = new top.Ext.Window( { + id : 'userIPAndOrgUnitMappingWindow', + layout : 'fit', + title : '用户IP地址段对应的默认科室配置', + width : 650, + border : false, + modal : true, + autoHeight : true, + plain : true, + items : formObj + }); + userIPAndOrgUnitMappingWindow.show(); + + + if (id){ //如果是修改就加载需要的数据 + formObj.form.load({ + url : WWWROOT + '/disinfectSystem/baseData/userIPAndOrgUnitMappingAction!loadUserIPAndOrgUnitMapping.do', + method : 'POST', + waitMsg : '正在加载数据,请稍候', + params : {id : id}, + success : function(form, action) { + var data = action.result.data; + top.Ext.getCmp('currentOrgUnit').setValue(data.defaultOrgUnitCode); + top.Ext.getCmp('currentOrgUnit').setRawValue(data.defaultOrgUnitName); + }, + failure : function(form, action) { + } + }); + } + +} + + +/** + * 验证ip是否合格的方法 + * + */ +function checkIpAddress(ipAddressString) { + var ipAddressStringArray = ipAddressString.split(','); + var temp = ''; + var ipReg = /^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$/; + for (var i = 0; i < ipAddressStringArray.length; i ++) { + temp = ipAddressStringArray[i]; + if (temp.indexOf('-') > 0) { + var tempArray = temp.split('-'); + var ip1 = tempArray[0], ip2 = tempArray[1]; + if (ipReg.test(ip1) && ipReg.test(ip2) && (ip1.substring(0, ip1.lastIndexOf('.')) == ip2.substring(0, ip2.lastIndexOf('.')))) { //先判断这两个是不是IP的格式,并且IP的前三段要相同 + var number1 = parseInt(ip1.substring(ip1.lastIndexOf('.') + 1)); + var number2 = parseInt(ip2.substring(ip2.lastIndexOf('.') + 1)); + if (!(!isNaN(number1) && !isNaN(number2) && (number1 < number2))) { + return false; + } + } else { + return false; + } + } else { + if (!ipReg.test(temp)) { + return false; + } + + } + } + return true; +} + +/** + * 点击编辑窗口的取消按钮执行的方法 + */ +function cancel(thisButton) { + userIPAndOrgUnitMappingWindow.close(); +} + + +/** + * 点击编辑窗口的保存按钮执行的方法 + */ +function save(thisButton) { + thisButton.disable(); + if (!formObj.form.isValid()) { + showResult('请正确填写表单各值'); + thisButton.enable(); + return false; + } + + var userName = top.Ext.getCmp('userName').getValue(); + var defaultOrgUnitCode = top.Ext.getCmp('currentOrgUnit').getValue(); + var defaultOrgUnitName = top.Ext.getCmp('currentOrgUnit').getRawValue(); + var ipAddress = top.Ext.getCmp('ipAddress').getValue().replace(/\s/ig, ''); //把回车换行、空格等等不可见字符去掉 + + //验证输入的ip是否符合规范 + if (!checkIpAddress(ipAddress)) { + showResult('请正确填写IP地址'); + thisButton.enable(); + return false; + } + + + top.Ext.getCmp('userName').setRawValue(userName); //这里改变表单中的用户名的值,再提交 + top.Ext.getCmp('ipAddress').setRawValue(ipAddress); //把回车换行、空格等等不可见字符去掉,再提交 + formObj.form.submit({ + url : WWWROOT + '/disinfectSystem/baseData/userIPAndOrgUnitMappingAction!saveUserIPAndOrgUnitMapping.do', + method : 'POST', + params : { + defaultOrgUnitCode : defaultOrgUnitCode, + defaultOrgUnitName : defaultOrgUnitName, + id : id + }, + + success : function(thisForm, action) { + userIPAndOrgUnitMappingWindow.close(); + showResult('保存成功'); + grid.dwrReload(); + }, + failure : function(thisForm, action) { + alert('保存失败了'); + } + }); + +} + + Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/service/UserIPAndOrgUnitMappingManagerImpl.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/service/UserIPAndOrgUnitMappingManagerImpl.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/service/UserIPAndOrgUnitMappingManagerImpl.java (revision 14952) @@ -0,0 +1,90 @@ +package com.forgon.disinfectsystem.basedatamanager.useripandorgunitmapping.service; + +import java.util.List; + + + + + +import com.forgon.directory.vo.LoginUserData; +import com.forgon.disinfectsystem.entity.basedatamanager.useripandorgunitmapping.UserIPAndOrgUnitMapping; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.hibernate.ObjectDao; + +/** + * + * @author Chenjiaru 2016-09-10 + * + */ +public class UserIPAndOrgUnitMappingManagerImpl implements UserIPAndOrgUnitMappingManager{ + + private ObjectDao objectDao; + + public void setObjectDao(ObjectDao objectDao) { + this.objectDao = objectDao; + } + + + @Override + public void saveOrUpdate(UserIPAndOrgUnitMapping userIPAndOrgUnitMapping) { + objectDao.saveOrUpdate(userIPAndOrgUnitMapping); + } + + @Override + public UserIPAndOrgUnitMapping getUserIPAndOrgUnitMappingById(String id) { + return (UserIPAndOrgUnitMapping) objectDao.getByProperty(UserIPAndOrgUnitMapping.class.getSimpleName(), "id", Long.valueOf(id)); + + } + + @Override + public void deleteUserIPAndOrgUnitMapping(Object[] idArray) { + for (Object object : idArray) { + objectDao.deleteById(UserIPAndOrgUnitMapping.class.getSimpleName(), object.toString()); + } + } + + + @Override + public LoginUserData setUserIPAndOrgUnitMapping(LoginUserData loginUserData) { + + String userName = loginUserData.getUserName(); + String userIP = loginUserData.getUserIP(); + if(userIP.lastIndexOf(".") < 0){ + return loginUserData; + } + String userIPTheFirstThree = userIP.substring(0, userIP.lastIndexOf(".")); + int userIPLast = Integer.parseInt(userIP.substring(userIP.lastIndexOf(".") + 1)); + + + List userIPAndOrgUnitMappingList = objectDao.findByProperty(UserIPAndOrgUnitMapping.class.getSimpleName(), "userName", userName); + + boolean flag = false; + for (UserIPAndOrgUnitMapping userIPAndOrgUnitMapping : userIPAndOrgUnitMappingList) { + String[] ipArray = userIPAndOrgUnitMapping.getIpAddress().split(","); + for (String ip : ipArray) { + if (ip.indexOf("-") > 0) { + String[] tempArray = ip.split("-"); + String ip1 = tempArray[0]; + String ip2 = tempArray[1]; + String ip1TheFirstThree = ip1.substring(0, ip1.lastIndexOf(".")); + int ip1Last = Integer.parseInt(ip1.substring(ip1.lastIndexOf(".") + 1)); + int ip2Last = Integer.parseInt(ip2.substring(ip2.lastIndexOf(".") + 1)); + + flag = (userIPTheFirstThree.equals(ip1TheFirstThree) && ip1Last <= userIPLast && userIPLast <= ip2Last); + } else { + flag = userIP.equals(ip); + } + if (flag) { + loginUserData.setCurrentOrgUnitCode(userIPAndOrgUnitMapping.getDefaultOrgUnitCode()); + loginUserData.setCurrentOrgUnitName(userIPAndOrgUnitMapping.getDefaultOrgUnitName()); + return loginUserData; + } + } + } + + return loginUserData; + + + } + +} Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/userIPAndOrgUnitMapping/userIPAndOrgUnitMappingView.js (revision 14952) @@ -0,0 +1,141 @@ +var entityName = '用户IP地址段对应的默认科室配置'; +var grid; + +/** + * 点击修改时执行的方法 + * + */ +function loadFormDataAndUpdate(grid) { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择要修改的记录!"); + return false; + } + if (records.length > 1) { + showResult("一次只能修改一条记录!"); + return false; + } + id = records[0].data['id']; + addAndEditUserIPAndOrgUnitMapping(id); +} + +/** + * 修改记录 + * modifyRecord函数 触发modify函数调用,并传入当前列的值以及record.data对象 + * 页面中需要定义 modify(v,data) 函数 + */ +function modify(v,data){ + loadFormDataAndUpdate(grid); +} + +/** + * 点击删除时执行的方法 + * + */ +function deleteUserIPAndOrgUnitMapping(grid) { + var records = grid.getSelectionModel().getSelections(); + + if (records.length == 0) { + showResult("请选择要删除的记录!"); + return false; + } + var ids = null; + for (var i = 0, len = records.length; i < len; i ++) { + if (ids == null) { + ids = records[i].data['id']; + } else { + ids = ids + ';' + records[i].data['id']; + } + } + top.Ext.MessageBox.confirm("请确认","是否确定要删除选中的记录?", + function(button, text) { + if ("yes" == button){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/baseData/userIPAndOrgUnitMappingAction!deleteUserIPAndOrgUnitMapping.do', + params : {ids : ids}, + success : function(response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + showResult('删除成功!'); + grid.dwrReload(); + } else { + showResult('删除失败!'); + } + }, + failure : function(response, options) { + showResult('对不起!服务器正忙,删除失败'); + } + }); + } + }); + +} + + +Ext.onReady(function() { + Ext.QuickTips.init(); + // 记录cookie(3步) + + var columns = [ + {header : "用户名", width : 120,dataIndex : 'userName', renderer : modifyRecord}, + {header : "默认科室", width : 120,dataIndex : 'defaultOrgUnitName'}, + {header : "IP地址范围", width : 120,dataIndex : 'ipAddress', id : 'cleaningMethod'} + ]; + + var readerDetail = [ + {name : 'id'}, + {name : 'userName'}, + {name : 'defaultOrgUnitName'}, + {name : 'ipAddress'} + ]; + + var tbar = [{ + text : '添加', + iconCls : 'btn_ext_application_add', + handler : function() { + addAndEditUserIPAndOrgUnitMapping(); + } + }, '-', { + text : '修改', + iconCls : 'btn_ext_application_edit', + id : 'editTbar', + handler : function() { + loadFormDataAndUpdate(grid); + } + }, '-', { + text : '删除', + iconCls : 'btn_ext_application_del', + handler : function() { + deleteUserIPAndOrgUnitMapping(grid); + } + }]; + + Ext.ux.ForgonPageGrid.prototype.getGridParameterMap = function() {}; //这句是干嘛的 + + grid = new Ext.ux.ForgonPageGrid( { + rememberSelected : false, //取消清除已选 + autoExpandColumn : 'cleaningMethod', //自动扩展的列 +// renderTo : 'gridDiv', //这句是干嘛的 + isCheckboxSelectionModel : true, //复选框模式 + defaultSortField : 'id', + defaultSortDirection : 'DESC', + tbar : tbar, + pageSize : 20, + title : entityName, + columns : columns, + frame : false + }, readerDetail, + UserIPAndOrgUnitMappingTableManager.findUserIPAndOrgUnitMappingTableList, + null // 这个参数只是占位作用 + ); + + var viewport = new Ext.Viewport({ + layout : 'border', + items : [{ + region : 'center', + margins : '0 0 0 0', + layout : 'fit', + items : grid + }] + }); +}); \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/dwr/UserIPAndOrgUnitMappingTableManager.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/dwr/UserIPAndOrgUnitMappingTableManager.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/dwr/UserIPAndOrgUnitMappingTableManager.java (revision 14952) @@ -0,0 +1,33 @@ +package com.forgon.disinfectsystem.basedatamanager.useripandorgunitmapping.dwr; + +import java.util.List; +import java.util.Map; + +import com.forgon.component.grid.GridManager; +import com.forgon.disinfectsystem.entity.basedatamanager.useripandorgunitmapping.UserIPAndOrgUnitMapping; + +/** + * + * @author Chenjiaru 2016-09-05 + * + * + */ +public class UserIPAndOrgUnitMappingTableManager { + + + private GridManager gridManager; + + public void setGridManager(GridManager gridManager) { + this.gridManager = gridManager; + } + + public String findUserIPAndOrgUnitMappingTableList(Map> parameterMap) { + + String jsonDataString = gridManager.renderGrid(parameterMap, UserIPAndOrgUnitMapping.class.getSimpleName(), "where 1=1 ", new String[] {}); + + return jsonDataString; + + } + + +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/useripandorgunitmapping/UserIPAndOrgUnitMapping.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/useripandorgunitmapping/UserIPAndOrgUnitMapping.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/useripandorgunitmapping/UserIPAndOrgUnitMapping.java (revision 14952) @@ -0,0 +1,83 @@ +package com.forgon.disinfectsystem.entity.basedatamanager.useripandorgunitmapping; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +import org.hibernate.annotations.Cache; +import org.hibernate.annotations.CacheConcurrencyStrategy; + +/** + * 用户ip地址段对应的默认科室配置 + * @author Chenjiaru 2106-09-05 + * + * + */ + +@Entity +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +public class UserIPAndOrgUnitMapping { + + private Long id; + + private String userName; //用户登录名 + + private String defaultOrgUnitCode; //用户当前科室编码 + + private String defaultOrgUnitName; //用户当前科室名称 + + private String ipAddress; //当前科室绑定的IP(可以是单个IP地址,也可以是IP地址段,也可以两者并存) + + + + + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getDefaultOrgUnitCode() { + return defaultOrgUnitCode; + } + + public void setDefaultOrgUnitCode(String defaultOrgUnitCode) { + this.defaultOrgUnitCode = defaultOrgUnitCode; + } + + public String getDefaultOrgUnitName() { + return defaultOrgUnitName; + } + + public void setDefaultOrgUnitName(String defaultOrgUnitName) { + this.defaultOrgUnitName = defaultOrgUnitName; + } + + @Column(length = 2000) + public String getIpAddress() { + return ipAddress; + } + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + + + +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/service/UserIPAndOrgUnitMappingManager.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/service/UserIPAndOrgUnitMappingManager.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/service/UserIPAndOrgUnitMappingManager.java (revision 14952) @@ -0,0 +1,40 @@ +package com.forgon.disinfectsystem.basedatamanager.useripandorgunitmapping.service; + +import com.forgon.directory.vo.LoginUserData; +import com.forgon.disinfectsystem.entity.basedatamanager.useripandorgunitmapping.UserIPAndOrgUnitMapping; + +/** + * + * @author Chenjiaru 2016-09-10 + * + */ +public interface UserIPAndOrgUnitMappingManager { + + /** + * 保存或者更新的方法 + * @param userIPAndOrgUnitMapping + */ + public void saveOrUpdate(UserIPAndOrgUnitMapping userIPAndOrgUnitMapping); + + /** + * 根据id得到UserCurrentOrgUnit的一条记录 + * @param id + * @return + */ + public UserIPAndOrgUnitMapping getUserIPAndOrgUnitMappingById(String id); + + /** + * 删除给定id的记录的方法(支持批量删除) + * @param idArray + */ + public void deleteUserIPAndOrgUnitMapping(Object[] idArray); + + /** + * 如果当前登陆的用户和科室绑定过ip,则把当前科室设置成这个绑定的科室 + * @param loginUserData:登录用户的VO + * @param userIP:用户的IP地址 + * @return + */ + public LoginUserData setUserIPAndOrgUnitMapping(LoginUserData loginUserData); + +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/action/UserIPAndOrgUnitMappingAction.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/action/UserIPAndOrgUnitMappingAction.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/useripandorgunitmapping/action/UserIPAndOrgUnitMappingAction.java (revision 14952) @@ -0,0 +1,132 @@ +package com.forgon.disinfectsystem.basedatamanager.useripandorgunitmapping.action; + + +import java.io.IOException; + +import javax.servlet.http.HttpServletResponse; + +import net.sf.json.JSONObject; + +import org.apache.commons.lang.StringUtils; +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.basedatamanager.useripandorgunitmapping.service.UserIPAndOrgUnitMappingManager; +import com.forgon.disinfectsystem.entity.basedatamanager.useripandorgunitmapping.UserIPAndOrgUnitMapping; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.json.JSONUtil; +import com.opensymphony.xwork2.ModelDriven; +import com.opensymphony.xwork2.Preparable; + +/** + * + * @author Chenjiaru 2016-09-10 + * + */ +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem/baseData") +@Action(value = "userIPAndOrgUnitMappingAction") +public class UserIPAndOrgUnitMappingAction implements ModelDriven, Preparable{ + + private UserIPAndOrgUnitMapping userIPAndOrgUnitMapping; + + private UserIPAndOrgUnitMappingManager userIPAndOrgUnitMappingManager; + + public void setUserIPAndOrgUnitMappingManager(UserIPAndOrgUnitMappingManager userIPAndOrgUnitMappingManager) { + this.userIPAndOrgUnitMappingManager = userIPAndOrgUnitMappingManager; + } + + public void iniInfo() { + + try { + String id = StrutsParamUtils.getPraramValue("id", ""); + if (StringUtils.isNotBlank(id)) { + userIPAndOrgUnitMapping = userIPAndOrgUnitMappingManager.getUserIPAndOrgUnitMappingById(id); + } else { + userIPAndOrgUnitMapping = new UserIPAndOrgUnitMapping(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + @Override + public UserIPAndOrgUnitMapping getModel() { + return userIPAndOrgUnitMapping; + } + @Override + public void prepare() throws Exception { + iniInfo(); + } + + /** + * 保存的方法 + */ + public String saveUserIPAndOrgUnitMapping() { + JSONObject outputJson = JSONUtil.buildJsonObject(false, "保存失败"); + try { + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + + userIPAndOrgUnitMappingManager.saveOrUpdate(userIPAndOrgUnitMapping); + + outputJson = JSONUtil.buildJsonObject(true, "保存成功"); + StrutsResponseUtils.output(outputJson); + } catch (Exception e) { + e.printStackTrace(); + StrutsResponseUtils.output(outputJson); + } + + + return null; + } + + /** + * 删除的方法 + */ + public String deleteUserIPAndOrgUnitMapping() { + + String ids = StrutsParamUtils.getPraramValue("ids", ""); + String message = ""; + try { + String[] idArray = ids.split(";"); + userIPAndOrgUnitMappingManager.deleteUserIPAndOrgUnitMapping(idArray); + message = "{\"success\":true}"; + } catch (Exception e) { + message = "{\"success\":false}"; + e.printStackTrace(); + } + + try { + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + StrutsParamUtils.getResponse().getWriter().print(message); + } catch (Exception e) { + + } + + return null; + } + + /** + * 加载要修改的那一条记录的方法 + */ + public String loadUserIPAndOrgUnitMapping() { + try { + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + + org.json.JSONObject jsonObject = new org.json.JSONObject(); + jsonObject.put("success", true); + jsonObject.put("data", new org.json.JSONObject(userIPAndOrgUnitMapping)); + + String jsonString = jsonObject.toString(); + StrutsParamUtils.getResponse().getWriter().println(jsonString); + } catch (Exception e) { + e.printStackTrace(); + } + + + return null; + } + + +}