一、js就一个文件:plans.js
Ext.namespace("com.ibeans.ui"); /** * 数据列表 * @class com.ibeans.PlansGridPanel * @extends Ext.grid.GridPanel */ PlansGridPanel = Ext.extend(Ext.grid.GridPanel,{ //1、定义基本属性 id : 'id_plans_gridpanel', region : 'center', frame : true, border : true, trackMouseOver : true, loadMask : true, viewConfig : {forceFit : true}, //2、重写父类函数initComonent(),完成对象的构造和初始化 initComponent : function() { //必须, this.store = new Ext.data.JsonStore({ url : rootPath+'/plans/plans_findPageList.action', totalProperty : 'totalSize', id : 'id', root : 'list', remoteSort : true, fields :[ {name:"plans.id",mapping:"id"}, {name:"plans.plansName",mapping:"plansName"}, {name:"plans.plansType",mapping:"plansType"}, {name:"plans.recorder",mapping:"recorder"}, {name:"plans.orgId",mapping:"orgId"}, {name:"plans.orgName",mapping:"orgName"}, {name:"plans.compileOrgName",mapping:"compileOrgName"}, {name:"plans.issueOrgName",mapping:"issueOrgName"}, {name:"plans.issueDate",mapping:"issueDate"}, {name:"plans.recordDate",mapping:"recordDate"}, {name:"plans.updateDate",mapping:"updateDate"}, {name:"plans.status",mapping:"status"}, {name:"plans.remark",mapping:"remark"} ] }); this.store.load({ params : { start : 0, limit : 15 } }); this.sm = new Ext.grid.CheckboxSelectionModel(); this.cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), this.sm, { header : "预案名称", width : 120, sortable : true, dataIndex : 'plans.plansName' }, { header : "预案类型", width : 90, sortable : true, dataIndex : 'plans.plansType' }, { header : "编制单位", width : 90, sortable : true, dataIndex : 'plans.compileOrgName' }, { header : "发布单位", width : 90, sortable : true, dataIndex : 'plans.issueOrgName' },{ header : "发布时间", width : 90, sortable : true, dataIndex : 'plans.issueDate', renderer : function(value){ var v = value.substring(0,10); return v; } },{ header : "报备时间", width : 90, sortable : true, dataIndex : 'plans.recordDate' },{ header : "预案状态", width : 90, sortable : true, dataIndex : 'plans.status', renderer : function(value) { if(value=="0") value="已保存"; if(value=="1") value="已备案"; if(value=="2") value="修订中"; return value; } } ]); this.cm.defaultSortable = true; this.tbar = new Ext.Toolbar([{ text : '添加', tooltip : '添加', iconCls : 'icon-add', handler : function(){ new EditWindow().show(); }, scope : this }, '-', { text : '删除', tooltip : '删除', iconCls : 'icon-del', handler : this.remove, scope : this },'-', { text : '导出', tooltip : '导出到Excel', iconCls : 'icon-excel', handler : this.doExport, scope : this }]); this.bbar = new Ext.PagingToolbar({ pageSize : 15, store : this.store, displayInfo : true, displayMsg : '显示第 {0} 到第 {1},共 {2} 条', emptyMsg : "没有可显示的记录" }); PlansGridPanel.superclass.initComponent.call(this,{}); //必须 //.... }, //3、实现对gridpanel事件的监听 listeners : { "rowdblclick" : function(grid, rowNum, e) { var record = grid.store.getAt(rowNum); var win = new EditWindow(grid,"edit"); win.show(); } }, //4、以下为根据具体业务需要自定义的扩展方法 refresh : function() { this.store.removeAll(); this.store.reload(); }, remove : function() { var selectedKeys = this.selModel.selections.keys; if(selectedKeys.length<1){ Ext.MessageBox.alert('提示', '请选择要删除的记录'); return; } //处理删除动作 Ext.MessageBox.confirm('提示', '确定要删除选中的记录吗?', function(btn) { if (btn == "yes") { Ext.MessageBox.show({ msg : '正在请求数据, 请稍侯', progressText : '正在请求数据', width : 300, wait : true, waitConfig : { interval : 200 } }); Ext.Ajax.request({ url : rootPath+'/plans/plans_delete.action', params : { ids : selectedKeys }, method : 'POST', success : function(response) { var r = Ext.decode(response.responseText); if (!r.success) Ext.Msg.alert("提示信息", "数据删除失败,由以下原因所致:<br/>" + (r.message)); else { Ext.Msg.alert("提示信息", "成功删除数据!", function() { Ext.MessageBox.hide(); this.refresh(); }, this); } }, scope : this }); } }, this); }, edit : function(){ //var record = gridPanel.grid.getSelectionModel().getSelected(); var selectedKeys = this.grid.selModel.selections.keys; if (!selectedKeys) { Ext.Msg.alert("提示", "请先选择要编辑的行!"); return; } }, doExport : function(){ var panel = this; // 当前的panelGrid var selectid_str = "id"; var data_grid = this.store; var form = queryForm.getForm(); var win = new util.winexport.ExportWindow({ searchform : form,//Ext.getCmp("mainPanel").queryForm.getForm(), selectid_str : selectid_str, export_url : rootPath + "/agriculture/agriculture_exportExcel.action?SToken="+themis.commonjs.loginUser.token, data_grid : panel }); win.show(); } }); /** * 与实体类关联的业务表单 * @param {} _grid * @param {} _type */ PlansForm = function(_grid,_type) { this.grid = _grid; this.type = _type; PlansForm.superclass.constructor.call(this,{ id:'id_plans_editform', //region : 'center', bodyStyle : 'padding:5px', items : [{ layout : 'column', border : false, labelSeparator : ':', items : [{ columnWidth : 1, layout : 'form', border : false, items : [{ xtype : 'textfield', fieldLabel : '<font color="red">*</font>预案名称', labelStyle : "text-align: right;", allowBlank : false, maxLength : 100, name : 'plans.plansName', anchor : '95%' }, { xtype : 'hidden', name : 'plans.id' },{ xtype : 'hidden', name : 'plans.orgId' },{ xtype : 'hidden', name : 'plans.status' },{ xtype : 'hidden', name : 'relationId' }] },{ columnWidth : .5, layout : 'form', border : false, items : [{ name : 'plans.orgName', fieldLabel : '<font color="red">*</font>所属单位', labelStyle : "text-align: right;", xtype : 'textfield', allowBlank : false, maxLength : 60, anchor : '90%', value : themis.commonjs.org.orgName }] },{ columnWidth : .5, layout : 'form', border : false, items : [{ xtype : 'combo', name : "plans.plansType", fieldLabel : "<font color='red'>*</font>预案类型", labelStyle : "text-align: right;", allowBlank : false, blankText:'请输入类型信息!', maxLength : 50, displayField : 'plansType', mode : 'remote', anchor : '90%', store : new Ext.data.JsonStore({ totalProperty : 'totalCount', root : "root", successProperty : "success", fields : ["plansType"], url : rootPath+ "/plans/plans_findByField.action?fieldName=plansType" }), selectOnFocus : true, editable : true, typeAhead : false, minChars : 1, // pageSize : 10, queryParam : 'plansType', triggerAction : 'all', loadingText : '加载中...' }] }, { columnWidth : .5, layout : 'form', border : false, items : [{ name : 'plans.compileOrgName', fieldLabel : '编制单位', labelStyle : "text-align: right;", xtype : 'textfield', //allowBlank : false, maxLength : 60, anchor : '90%' //value : themis.commonjs.org.orgName }] },{ columnWidth : .5, layout : 'form', border : false, items : [{ name : 'plans.issueOrgName', fieldLabel : '发布单位', labelStyle : "text-align: right;", xtype : 'textfield', //allowBlank : false, maxLength : 60, anchor : '90%' }] },{ columnWidth : .5, layout : 'form', border : false, items : [{ xtype : 'datefield', name : 'plans.issueDate', //value: new Date(), format : 'Y-m-d', anchor : '90%', fieldLabel : '发布时间', labelStyle : "text-align: right;" //labelSeparator:'', //validator:function(value) {} }] },{ columnWidth : .5, layout : 'form', border : false, disabled : false, items : [{ xtype : 'datefield', //id:'releaseDate2', name : 'plans.recordDate', //value: new Date(), format : 'Y-m-d h:m', anchor : '90%', fieldLabel : '备案时间', labelStyle : "text-align: right;", //labelSeparator:'', disabled : true }] },{ columnWidth : .5, layout : 'form', border : false, items : [{ name : 'plans.recorder', xtype : 'textfield', fieldLabel : '<font color="red">*</font>报备人', labelStyle : "text-align: right;", allowBlank : false, maxLength : 50, anchor : '90%' }] },{ columnWidth : .5, layout : 'form', border : false, items : [{ xtype:"textfield", name : "status", fieldLabel : "预案状态", labelStyle : "text-align: right;", //allowBlank : false, blankText:'请输入信息类型!', maxLength : 50, anchor : '90%', disabled : true // pageSize : 10, }] },{ columnWidth:1, layout:'form', border:false, items:[{ //cls:'key', name:'plans.remark', xtype:'textarea', fieldLabel:'备注', labelStyle : "text-align: right;", anchor:'95%', height:120, maxLength : 2000 }] }] }], listeners : { afterlayout : function(form) { //afterlayout if (this.grid != null && this.type!="add"){ form.loadData(); } } } }); }; Ext.extend(PlansForm, Ext.form.FormPanel, { //装载表单数据 loadData : function() { //从grid加载数据 var record = this.grid.getSelectionModel().getSelected(); this.getForm().loadRecord(record); //对部分特殊字段进行处理 var issueDate = record.get('plans.issueDate'); var status = record.get('plans.status'); //Date.parseDate(issueDate,"Y-m-d"); issueDate = issueDate.substring(0,10); this.getForm().findField('plans.issueDate').setValue(issueDate); if(status=="0") this.getForm().findField('status').setValue("已保存"); if(status=="1") this.getForm().findField('status').setValue("已备案"); } }); /** * 查询表单 * @param {} _grid */ QueryForm = function(_grid) { this.grid = _grid; QueryForm.superclass.constructor.call(this, { id:'id_plans_queryform', // frame : true, border:false, bodyStyle : 'padding:2px', region : 'north', height : 52, title : '查询', collapsible : true, // collapsed: true, layout : 'column', items : [{ columnWidth : .3, layout : 'form', border : false, labelWidth : 70, items : [{ id : 'agriculture-queryform-title', cls : 'key', xtype : 'textfield', fieldLabel : ' 预案名称 ', name : 'plans.plansName', //allowBlank : false, //regex : /^[\u4e00-\u9fa5]{1,4}$/, //regexText : '联系人只能输入1-4个汉字', maxLength : 20, anchor : '90%' }] },{ columnWidth : .3, layout : 'form', border : false, labelWidth : 55, items : [{ xtype : 'datefield', id:'releaseDate1', name : 'plans.recordBeginTime', format : 'Y-m-d', anchor : '85%', fieldLabel : '报备时间', validator:function(value) { var compareDate = Ext.getCmp("releaseDate2").getRawValue(); if(compareDate && value > compareDate) { return "开始时间不能够大于结束时间!"; } Ext.getCmp("releaseDate2").clearInvalid(); return true; } }] },{ columnWidth : .3, layout : 'form', border : false, labelWidth : 45, items : [{ xtype : 'datefield', id:'releaseDate2', name : 'plans.recordEndTime', //value: new Date(), format : 'Y-m-d', anchor : '85%', fieldLabel : '----', labelSeparator:'', validator:function(value) { var compareDate = Ext.getCmp("releaseDate1").getRawValue(); if(compareDate && value < compareDate) { return "结束时间不能够小于开始时间!"; } Ext.getCmp("releaseDate1").clearInvalid(); return true; } }] }, { //columnWidth : .1, layout : 'form', border:false, items : [{ xtype : 'button', text : '查询', handler:this.query.createDelegate(this, []) }] }] }); }; Ext.extend(QueryForm, Ext.form.FormPanel, { query : function(){ var a = this.getForm().getValues(); this.grid.store.baseParams = a; //this.grid.refresh(); this.grid.store.load({ params:{ start: 0, limit: 15 } }); } }); /** * 业务表单编辑窗口 * @class EditWindow * @extends Ext.Window */ EditWindow = function(_grid,_type){ //this.grid = _grid; //this.type = _type; this.form = new PlansForm(_grid,_type); this.tempid = themis.commonjs.loginUser.getTempRelaId();// EditWindow.superclass.constructor.call(this, { title : '窗口', layout : 'fit', plain : true, items : this.form, closeAction : 'hide', width : 600, height : 400, modal : true, resizable : false, buttons : [{ text : '附件', handler : this.addFile, scope : this },{ text : '保存', handler : this.save,//this.showTargetWindow, scope : this },{ text : '报备', handler : this.send,//this.showTargetWindow, scope : this },{ text : '取消', handler : this.hide.createDelegate(this, []) }], listeners:{ beforerender:function(win){ if(_grid){ var record = _grid.getSelectionModel().getSelected(); var status=record.get('plans.status'); if(status== '1'){ win.buttons[1].hide(); win.buttons[2].hide(); } } } } }); } Ext.extend(EditWindow,Ext.Window, { addFile : function() { //alert(this.tempid); var id = this.form.getForm().findField("plans.id").getValue(); var tmpid = this.tempid; if (id) { this.form.getForm().findField("relationId").setValue(id); tmpid = id; } HM.themis.FileUploadMgr.relationId = tmpid; HM.themis.FileUploadMgr.sort = "plans"; HM.themis.FileUploadMgr.title = "上传附件"; HM.themis.FileUploadMgr.show(); }, save : function(){ var form = this.form.getForm(); if (form.isValid()) { var url = rootPath+'/plans/plans_save.action'; form.submit({ waitMsg : '正在保存数据...', url : url, scope : this, method : 'POST', success : function(form1, action) { var responseArray = Ext.util.JSON.decode(action.response.responseText); if (responseArray && responseArray.success == true) { Ext.Msg.alert("保存成功!", "保存成功"); var grid = Ext.getCmp("id_plans_gridpanel"); grid.refresh(); this.close(); } else { Ext.MessageBox.alert("警告", responseArray ? responseArray.message : '保存失败'); } } }); } }, send : function(){ var form = this.form.getForm(); if (form.isValid()) { var url = rootPath+'/plans/plans_send.action'; form.submit({ waitMsg : '正在保存数据...', url : url, scope : this, method : 'POST', success : function(form1, action) { var responseArray = Ext.util.JSON.decode(action.response.responseText); if (responseArray && responseArray.success == true) { Ext.Msg.alert("信息提示", "预案报送成功!"); var grid = Ext.getCmp("id_plans_gridpanel"); grid.refresh(); this.close(); } else { Ext.MessageBox.alert("警告", responseArray ? responseArray.message : '报送失败'); } } }); } }, myRequest : function() {// 增加 or 修改方法 var win = this; var myForm = win.getMyForm(); if (!myForm.isValid()) { return; } win.getEl().mask('正在提交数据,请稍候...'); myForm.submit({ clientValidation : true, url : win.formUrl, method : "POST", success : function(form, action) { win.getEl().unmask(); myAlert("操作成功"); Ext.getCmp("disasterGridPanel").store.reload(); win.hide(); myForm = null; }, failure : function(form, action) { win.getEl().unmask(); if (action.failureType == Ext.form.Action.SERVER_INVALID) { myAlert("您的输入中有错误,请重新输入!", Ext.Msg.ERROR); } else { myAlert("访问服务器发生错误!", Ext.Msg.ERROR); } myForm = null; } }); }, getMyForm : function() {// 获取此window的form表单 return this.items.get(0).getForm(); }, getMyButton : function() {// 获取此window的提交按钮 return this.buttons[1]; }, setReadOnly : function(bool) { if (bool) { HM.themis.FileUploadMgr.viewFlag = true; this.buttons[1].hide(); this.buttons[2].hide(); } else { HM.themis.FileUploadMgr.viewFlag = false; this.buttons[1].show(); this.buttons[2].show(); } } }); /** * 主界面 * @class MainPanel * @extends Ext.Panel */ MainPanel = Ext.extend(Ext.Panel, { id : 'mainPanel', region:'center', autoScroll : true, layout : "border", message :"", //重写父类方法 initComponent : function() { MainPanel.superclass.initComponent.call(this); this.grid = new PlansGridPanel(); this.queryForm = new QueryForm(this.grid); this.add(this.queryForm); this.add(this.grid); } });
二、struts对应的action:PlansAction.java
package com.ibeans.plans.web.action; import java.io.PrintWriter; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONObject; import org.apache.log4j.Logger; import com.ibeans.apportal.sdk.role.IRole; import com.ibeans.export.IExport; import com.ibeans.plans.domain.Plans; import com.ibeans.plans.service.IPlansService; import com.ibeans.themis.commons.Constants; import com.ibeans.themis.commons.MessageConstants; import com.ibeans.themis.commons.bean.LoginUserInfo; import com.ibeans.themis.commons.exception.BaseDaoException; import com.ibeans.themis.commons.exception.BaseServiceException; import com.ibeans.themis.commons.util.ListRange; import com.ibeans.themis.commons.web.action.BaseAction; /** * 业务流程控制类 * @author * */ public class PlansAction extends BaseAction { private static final long serialVersionUID = 3849953321202091076L; private static final Logger logger = Logger.getLogger(PlansAction.class); private String id; private String[] ids; private Plans plans; private String exports; //要导出的字段数组 private IPlansService plansService; private IExport fwexportService; //数据导出工具 //////////////////////////////////////////////////////////////// public String getId() { return id; } public void setId(String id) { this.id = id; } public Plans getPlans() { return plans; } public void setPlans(Plans plans) { this.plans = plans; } public IPlansService getPlansService() { return plansService; } public void setPlansService(IPlansService plansService) { this.plansService = plansService; } public String[] getIds() { return ids; } public void setIds(String[] ids) { this.ids = ids; } public String getExports() { return exports; } public void setExports(String exports) { this.exports = exports; } public IExport getFwexportService() { return fwexportService; } public void setFwexportService(IExport fwexportService) { this.fwexportService = fwexportService; } //////////////////////////////////////////////////////////////////////// /** * 根据某个 字段查找 * */ @SuppressWarnings("unchecked") public void findByField(){ try{ String fieldName=this.getRequest().getParameter("fieldName");//要查找的字段名字 String fieldValue=this.getRequest().getParameter(fieldName);//模糊查时用 List list = plansService.findByField(fieldName,fieldValue); // List list = extPage.getResultList(); StringBuffer arrBuffer = new StringBuffer("["); for (int i = 0; i < list.size(); i++) { String value = (String) list.get(i); arrBuffer.append("{"+fieldName+":'" + value + "'},"); } String arr = ""; if (arrBuffer.length() > 1) { arr = arrBuffer.substring(0, arrBuffer.length() - 1) + "]"; } else { arr = arrBuffer + "]"; } JSONObject json = new JSONObject(); json.put("root", arr); // json.put("totalCount", extPage.getTotalCount()); this.getResponse().setContentType("text/json"); this.getResponse().setCharacterEncoding("utf-8"); PrintWriter out = this.getResponse().getWriter(); out.print(json); out.close(); }catch(Exception e){ this.outJsonByErrorMsg("系统异常,请稍后再试!"); } } /** * 保存预案信息 */ public void save() throws IllegalAccessException, InvocationTargetException{ ListRange<Plans> formList = new ListRange<Plans>(); String message = ""; boolean result = false; Plans plans = this.getPlans(); LoginUserInfo user = this.getLoginUserInfo(); try{ plansService.saveOrUpdate(plans, user); result = true; }catch(Exception e){ e.printStackTrace(); message = MessageConstants.ACTION_SAVE_SERVICE_FAILURE; if (e.getCause() instanceof BaseDaoException){ message = MessageConstants.ACTION_SAVE_DB_FAILURE; } } formList.setMessage(message); formList.setSuccess(result); this.outJson(formList); } /** * 发送/报备预案信息 */ public void send() throws IllegalAccessException, InvocationTargetException{ ListRange<Plans> formList = new ListRange<Plans>(); String message = ""; boolean result = false; LoginUserInfo user = this.getLoginUserInfo(); try{ plansService.doSend(plans, user); result = true; }catch(Exception e){ e.printStackTrace(); message = MessageConstants.ACTION_SAVE_SERVICE_FAILURE; if (e.getCause() instanceof BaseDaoException){ message = MessageConstants.ACTION_SAVE_DB_FAILURE; } } formList.setMessage(message); formList.setSuccess(result); this.outJson(formList); } public void edit(){ } /** * 删除预案信息 */ public void delete(){ ListRange<Plans> listRange = new ListRange<Plans>(); //String[] ids = this.getRequest().getParameterValues("ids"); boolean success = false; try{ plansService.delete(ids); success = true; } catch (Exception e){ e.printStackTrace(); listRange.setMessage(e.getMessage()); } listRange.setSuccess(success); this.outJson(listRange); } /** * 根据id进行信息查询 */ public void findById(){ //取得用户信息 //LoginUserInfo user = (LoginUserInfo)this.getRequest().getSession().getAttribute(Constants.SESSION_USER_INFO); String message =""; boolean result = false; Plans plans = null; try { plans = plansService.findById(this.getId()); result = true; } catch (BaseServiceException e1){ e1.printStackTrace(); }finally{ JSONObject object = JSONObject.fromObject(plans, this.getJsonConfig()); object.accumulate("message", message); object.accumulate("success", result); this.outJsonString(object.toString()); } } /** * 分页查询 */ public void findPageList(){ //1、初始化对象 List<Plans> infos = new ArrayList<Plans>(); Plans plans = this.getPlans(); if(null == plans) plans = new Plans(); //2、根据用户信息判断查询类型 //LoginUserInfo user = (LoginUserInfo)this.getRequest().getSession().getAttribute(Constants.SESSION_USER_INFO); LoginUserInfo user = this.getLoginUserInfo(); List<IRole> userRoles = user.getPersonRol(); A:for(IRole rol : userRoles){ if("js_fbzby".equals(rol.getRoleCode()) || "js_fbgly".equals(rol.getRoleCode())){ plans.setQueryType("1");//0,预案单位查询;1,预案中心查询 break A; } } if(null == plans.getQueryType() || "".equals(plans.getQueryType())) plans.setQueryType("0"); if(null == plans.getOrgId() || "".equals(plans.getOrgId())) plans.setOrgId(user.getUserOrgId()); //3、执行查询 long totalSize = 0; try{ infos = plansService.findPageByCriteria(plans, this.getStart(), this.getLimit(), this.getSort(), this.getDir()); totalSize = plansService.findCountByCriteria(plans); } catch (BaseServiceException e1){ e1.printStackTrace(); } //4、返回查询结果 this.outJsonByMsg(infos,totalSize,null,Constants.DATETIME_FORMAT_NO_SECEND); } /** * 分页查询发布功能信息列表 */ /*public void findPageList4Release(){ //取得用户信息 //LoginUserInfo user = (LoginUserInfo)this.getRequest().getSession().getAttribute(Constants.SESSION_USER_INFO); List<Plans> infos = new ArrayList<Plans>(); AgricultureInfo info = this.getModelByForm(); long totalSize = 0; try{ String hql = "from Plans info where info.status in ('"+DictContants.WEATHER_INFO_STATUS_IS_AUDIT+"','"+DictContants.WEATHER_INFO_STATUS_IS_RELEASE+"')"; infos = plansService.findPageListByHql(hql,this.getStart(), this.getLimit(), this.getSort(), this.getDir()); totalSize = plansService.getListCountByHql(hql, null); } catch (BaseServiceException e1){ e1.printStackTrace(); } this.outJsonByMsg(infos,totalSize,null,Constants.DATETIME_FORMAT_NO_SECEND); JSONArray objs = JSONArray.fromObject(infos, this.getJsonConfig()); this.outJson(objs); }*/ /** * 导出到excel * @throws Exception */ @SuppressWarnings("unchecked") public void exportExcel() throws Exception{ LoginUserInfo userInfo = this.getLoginUserInfo(); //1.取得查询条件参数 Plans plans = this.getPlans(); //2.取得要导出的记录列表 List list = new ArrayList<Plans>(); if(ids!=null && !"".equals(ids)){ list = plansService.findByIds(ids); }else{ list = plansService.findPageByCriteria(plans, 0, 10000, this.getSort(), this.getDir());//设置一次性大最导出数量为10000 } //3.对要导出的列表进行数据字典转换 list = plansService.getFormatedList(list); //4.导出列表到excel Map map = this.getExportMap(this.getExports()); this.fwexportService.setSortMap(map); this.fwexportService.export(list); //5. this.fwexportService.output(this.getResponse(), "预案备案信息"); } @SuppressWarnings("unchecked") private Map getExportMap(String exports) { Map map = new LinkedHashMap(); String[] export = exports.split(","); for (int i = 0; i < export.length; i++) { String[] tempexport = export[i].split("-"); map.put(tempexport[0], tempexport[1]); } return map; } }
三、实体类:Plans.java
package com.ibeans.plans.domain; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.GenericGenerator; import com.ibeans.themis.persistence.domain.MySysFile; @Entity @Table(name="hm_plans") public class Plans { private String id; private String plansName; //预案名称 private String orgId; //所属单位ID private String orgName; //所属单位名称 private String plansType; //预案类型 private String compileOrgName; //编制单位 private String issueOrgName; //发布单位 private String recorder; //报备人 private Date issueDate; //发布时间 private Date recordDate; //备案时间 private Date updateDate; //更新时间 private String status; //预案状态 private String remark; //备注 private String isDelete; //是否删除 // private String queryType; //查询类型(0,预案单位查询;1,预警中心查询) private String relationId; //关联的附件id private List<MySysFile> files = new ArrayList<MySysFile>();//关联的附件 private String recordBeginTime; private String recordEndTime; //getters and setters============================================= @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid",strategy="uuid") public String getId() { return "".equals(id) ? null : id; } public void setId(String id) { this.id = id; } @Column(name="plans_name") public String getPlansName() { return plansName; } public void setPlansName(String plansName) { this.plansName = plansName; } @Column(name="org_id") public String getOrgId() { return orgId; } public void setOrgId(String orgId) { this.orgId = orgId; } @Column(name="org_name") public String getOrgName() { return orgName; } public void setOrgName(String orgName) { this.orgName = orgName; } @Column(name="plans_type") public String getPlansType() { return plansType; } public void setPlansType(String plansType) { this.plansType = plansType; } @Column(name="compile_org_name") public String getCompileOrgName() { return compileOrgName; } public void setCompileOrgName(String compileOrgName) { this.compileOrgName = compileOrgName; } @Column(name="issue_org_name") public String getIssueOrgName() { return issueOrgName; } public void setIssueOrgName(String issueOrgName) { this.issueOrgName = issueOrgName; } @Column(name="issue_date") public Date getIssueDate() { return issueDate; } public void setIssueDate(Date issueDate) { this.issueDate = issueDate; } @Column(name="record_date") public Date getRecordDate() { return recordDate; } public void setRecordDate(Date recordDate) { this.recordDate = recordDate; } @Column(name="update_date") public Date getUpdateDate() { return updateDate; } public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } @Column(name="status") public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } @Column(name="remark") public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } @Column(name="is_delete") public String getIsDelete() { return isDelete; } public void setIsDelete(String isDelete) { this.isDelete = isDelete; } @Column(name="recorder") public String getRecorder() { return recorder; } public void setRecorder(String recorder) { this.recorder = recorder; } @Transient public String getRelationId() { return relationId; } public void setRelationId(String relationId) { this.relationId = relationId; } @Transient public List<MySysFile> getFiles() { return files; } public void setFiles(List<MySysFile> files) { this.files = files; } @Transient public String getQueryType() { return queryType; } public void setQueryType(String queryType) { this.queryType = queryType; } @Transient public String getRecordBeginTime() { return recordBeginTime; } public void setRecordBeginTime(String recordBeginTime) { this.recordBeginTime = recordBeginTime; } @Transient public String getRecordEndTime() { return recordEndTime; } public void setRecordEndTime(String recordEndTime) { this.recordEndTime = recordEndTime; } }