首页>代码>JBPM实例demo>/JbpmSource/src/com/ktvoa/process/action/BasicAction.java
package com.ktvoa.process.action;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;

import com.ktv.lyk.bean.BeanHelper;
import com.ktv.lyk.bean.SuperBean;
import com.ktv.lyk.dao.BeanDataDAO;
import com.ktv.lyk.dao.DaoFactory;
import com.ktv.page.PageBean;
import com.ktv.util.ExportExcelUtil;
import com.opensymphony.xwork2.ActionSupport;
/**
 * 
* @类名: BasicAction
* @描述: TODO(继承ActionSupport类,新添一些常用的方法)
* @作者 LYK
* @创建日期 2013-6-1 下午05:51:34
*
 */
public abstract class BasicAction extends ActionSupport implements  SessionAware, ServletRequestAware, ServletResponseAware{
	
	private static final long serialVersionUID = -2031717084857712509L;
	public final BeanDataDAO dao=DaoFactory.getBeanDao();
	
	private Map<String,Object>map=new HashMap<String, Object>();
	
	private HttpServletRequest request;
    private HttpServletResponse response;

    @Override
	public void setServletRequest(HttpServletRequest request) {
        this.request = request;
    }

    @Override
	public void setServletResponse(HttpServletResponse response) {
        this.response = response;
    }

	/**
	 * 根据编号删除
	 * 必要时请重载
	 * @return
	 */
	protected void deleteById(Class<?extends SuperBean> bean){
	    String id=getRequestValue("id");
	    
		dao.deleteById(bean, id);
		
	}
	/**
	 * 更新方法必要时请重载
	 * @param bean
	 */
	protected  void update(SuperBean bean){
		dao.excuteUpdate(bean);
	}
	
	protected void savaDataFromList(List<? extends SuperBean> beanList){
		dao.excuteAddData(beanList);
	}

	
	protected  List<String>  queryForItemList(String tableName,String propertie,String conditions){
		return dao.excuteQueryForList(tableName, propertie, conditions);
	}
	
	protected List<? extends SuperBean> queryList(Class<?extends SuperBean> clazz,String sqlWhere){
	return	dao.excuteQueryForList(clazz, sqlWhere);
		
	}
	/**
	 * 
	 * @param json 前台传递过来的json数据
	 * @param clazz
	 * @return
	*@author LYK
	*@date 2013-6-10 下午12:02:50
	*@descriptions:(更新对象)
	 */
	protected boolean updateDataById(String json,Class<?extends SuperBean> clazz){
		JSONArray array=JSONArray.fromObject(json);
		JSONObject object=array.getJSONObject(0);
		SuperBean s=(SuperBean) JSONObject.toBean(object,clazz);
		dao.excuteUpdate(s);
		return true;
	}
	/**
	 * 
	 * @param json 前台传递过来的json数据
	 * @param clazz
	 * @param attName
	 * @param attValue
	 * @return
	*@author LYK
	*@date 2013-6-20 下午12:37:43
	*@descriptions:(更新对象)
	 */
	
	protected boolean updateDataById(String json,Class<?extends SuperBean> clazz,String attName){
		JSONArray array=JSONArray.fromObject(json);
		JSONObject object=array.getJSONObject(0);
		SuperBean s=(SuperBean) JSONObject.toBean(object,clazz);
		String attValue=s.getAttributeValue(attName);
		dao.excuteUpdate(s,attName,attValue);
		return true;
	}
	
	/**
	 * 
	 * @param json json对象
	 * @param clazz 指定的类
	*@author LYK
	*@date 2013-6-22 下午05:51:54
	*@descriptions:(根据前台传来的json对象再将json转换为对象之后并添加到数据库里面)
	 */
	protected SuperBean addDataByJson(String json,Class<?extends SuperBean> clazz){
		JSONArray array=JSONArray.fromObject(json);
		JSONObject object=array.getJSONObject(0);
		SuperBean s=(SuperBean) JSONObject.toBean(object,clazz);
		dao.excuteSaveData(s);
		return s;
		
	}
   

	
	/**
	 * 分页方法
	 * 必要时请重载
	 * @return
	 */
	protected List<?extends SuperBean> selectPageList(Class<?extends SuperBean> bean,PageBean pageBean){
		   int count=dao.selectPageCount(bean);
		   int pageSize=count/pageBean.getPageSize();
		   int pageCount=(count%pageBean.getPageSize()==0)?pageSize:pageSize+1;
		   pageBean.setPageCount(pageCount);
		   pageBean.setHowMany(count); 
		  List<?extends SuperBean> valueList=dao.selectPageList(pageBean.getPageIndex(),pageBean.getPageSize(),bean,"");
	    	return valueList;
		}
	/**
	 * 删除选中的数据
	 * 这些数据是根据id数组删除的
	 */
	
	protected void deleteAllSelected(Class<?extends SuperBean> bean){
		 String idAry=getRequestValue("idAry");
		 String[] tableIdAry=idAry.split("-");
		 dao.excuteBatchDelete(bean, tableIdAry);
		 
	}
	/**
	 * 
	 * 查询功能
	 * @param bean
	 * @return
	 */
	protected List<?extends SuperBean> query(SuperBean bean){
		return dao.queryData(bean);
		
	}
	
	protected List<?extends SuperBean> queryToList(Class<? extends SuperBean> clazz){
		return dao.excuteQueryToList(clazz);
		
	}
	/**
	 * 
	 * @param json
	*@author LYK
	*@date 2013-6-11 上午10:38:20
	*@descriptions:(将json数据通过流传送的前端)
	 */
	
	protected void sendJsonToAJAX(String json){
	
		 try {
				response.setContentType("text/json;charset=UTF-8");
		
			response.getWriter().print(json);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		
		
	}
	/**
	 * 
	 * @param o
	*@author LYK
	*@date 2013-6-25 下午06:51:47
	*@descriptions:(将对象转换为Json数据之后传送到js)
	 */
	protected void sendJsonByObject(Object o){
		String json=JSONArray.fromObject(o).toString();
		sendJsonToAJAX(json);
	}
	
	protected void addData(SuperBean bean){
		dao.excuteSaveData(bean);
	}
	protected void deleteDataById(SuperBean bean){
		dao.excuteDelete(bean);
	}
	/**
	 * 
	 * @param json json数据格式
	 * @param superClass
	*@author LYK
	*@date 2013-6-29 上午11:33:32
	*@descriptions:(根据传递过来的json对象格式进行json对应的数据对象更新操作)
	 */
	protected void updateDataByJson(String json,Class<?extends SuperBean> superClass){
		JSONArray array=JSONArray.fromObject(json);
		JSONObject object=array.getJSONObject(0);
		SuperBean s=(SuperBean) JSONObject.toBean(object,superClass);
		update(s);
		
	
	}
	
	/**
	 * 
	 * @param tableName
	*@author LYK
	*@date 2013-6-7 下午03:14:06
	*@descriptions:(注释类的作用)
	*必要时请重载
	 */
	public void getAjaxJson(String tableName){/*
		 HttpServletResponse response=ServletActionContext.getResponse();
		String columnName=ServletActionContext.getRequest().getParameter("columnName");
		String conditions=ServletActionContext.getRequest().getParameter("conditions");
		List<String>values=dao.excuteQuery(tableName, columnName, conditions);
		List<SingleBean> l=new ArrayList<SingleBean>();
		for(String s:values){
			SingleBean b=new SingleBean();
			b.setName(s);
			l.add(b);
			
		}
		JSONArray jsonArray=JSONArray.fromObject(l);
		String json=jsonArray.toString();
		try{
		response.setContentType("text/json;charset=UTF-8");
		response.getWriter().write(json);
		}
		catch (Exception e) {
	   e.printStackTrace();
		}

		
	*/}
	/**
	 * 
	 * @param attrtbuteValues 属性值
	 * @param dataView
	 * @param s
	 * @return
	*@author LYK
	*@date 2013-6-7 下午03:10:39
	*@descriptions:(将前台传递过来的数组数据分拆成对象)
	 */
	 protected List<?extends SuperBean> getData(String []attrtbuteValues,String dataView,Class<?extends SuperBean> s){
		 List<SuperBean>  l=new ArrayList<SuperBean>();
	
		 String[]data1=dataView.split(",");
		 if(dataView.equals("")||data1.length==0){
			 return l;
		 }
		 for(String d:data1){
			 int index=0;
			 SuperBean sn=BeanHelper.newSuperBean(s) ;
			 String []d2=d.split("=");
			 for(String d3:d2){
				 sn.setAttributeValue(attrtbuteValues[index], d3.trim());
				 index++;
			 }
			 l.add(sn);
			 
		 }
		 return l;
		 
	 }
	 
	/**
	 * 
	 * @param dataView 传递来的数据集合
	 * @param fileName 文件命名
	 * @param head excel表头集合
	*@author LYK
	*@date 2013-6-11 上午10:43:17
	*@descriptions:(将前端传递过来的数据导入到excel里面)
	 */
	 protected void createExcelFile(String dataView,String fileName,String []head){
		 List<List<String>> valueList=new ArrayList<List<String>>();
	  
		 String[]data1=dataView.split(",");
		 if(dataView.equals("")||data1.length==0){
			 return ;
		 }
		 for(String d:data1){
			 List<String> l=new ArrayList<String>();
			 String []d2=d.split("=");
			 for(String d3:d2){
				l.add(d3);
			 }
			 valueList.add(l);
			 
		 }
	  ExportExcelUtil.createExcel(valueList, head, fileName);
		 
	 }
	

protected List<?extends SuperBean> queryBeanByList(Class<?extends SuperBean> bean,String id){
	return  dao.queryDataById(bean, id);
}
/**
 * 
 * @param key
 * @return
*@author LYK
*@date 2013-6-15 上午10:28:58
*@descriptions:(通过参数获取请求里的值)
 */
protected  String getRequestValue(String key){

	return request.getParameter(key);
	
}

/**
 * 
 * @param list
 * @return
*@author LYK
*@date 2013-6-17 下午12:03:14
*@descriptions:(将List转换为JSON)
 */
protected String getJson(List<?> list){
	String json=JSONArray.fromObject(list).toString();
	return json;
}
 protected Object getSessionValueOf(String key){
	 return map.get(key);
 }


@Override
public void setSession(Map<String, Object> map) {

	this.map=map;
}

/**
 * 
 * @param key sessionMap的键
 * @param value sessionMap的值
*@author LYK
*@date 2013-6-18 上午10:34:51
*@descriptions:(注释类的作用)
 */
protected void putSeesionValue(String key,Object value){
	map.put(key, value);
}


/**
 * 
 * @param keys
 * @param value
*@author LYK
*@date 2013-6-18 下午12:51:54
*@descriptions:(将日志信息存入到数据库里面)
 */
protected void  loadLogMsg(String []keys,String[]value){/*
 SuperBean sbn=BeanHelper.newSuperBean(LogMessageBean.class);
 int index=0;
 for(String k:keys){
	 if(value[index]!=null&&!value[index].equals(""))
	 sbn.setAttributeValue(k, value[index]);
	 index++;
 }
	 //获取操作时间
     SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM:ss ");
     java.util.Date d=new Date();
     String operatorTime=sdf.format(d);
    sbn.setAttributeValue("operatorTime", operatorTime);
    HttpSession session=ServletActionContext.getRequest().getSession();
   if(null!=session.getAttribute("user_name"));//这是用session获取用户名
   sbn.setAttributeValue("userName", session.getAttribute("user_name"));
   dao.excuteSaveData(sbn);

*/}
/**
 * 
 * @param tableName
 * @param columnName
 * @return
*@author LYK
*@date 2013-6-29 上午10:49:14
*@descriptions:(获取表里面某一列的集合)
 */

protected List<String> querySingleColumn(String tableName,String columnName){
	List<String> valueList=null;
	
	valueList=dao.excuteQueryForList(tableName, columnName, null);
	
	return valueList;
	
	
	
}

}
最近下载更多
胜过这首歌  LV2 2023年6月27日
17852250910  LV2 2021年12月27日
157554513749  LV11 2020年8月1日
xuyongff  LV24 2020年3月3日
chaoy_nx  LV8 2020年2月25日
三生石sh1  LV13 2019年10月21日
逛逛逛  LV2 2019年8月13日
alreadyhome  LV10 2019年6月6日
hanl  LV12 2019年2月22日
wj024835  LV8 2019年1月25日
最近浏览更多
胜过这首歌  LV2 2023年6月27日
liuzejuncn  LV6 2022年3月27日
17852250910  LV2 2021年12月27日
qwqqwq123 2021年7月14日
暂无贡献等级
hollwomanc  LV1 2021年4月9日
pxqtsht  LV16 2021年4月1日
zhaoyu_2016  LV2 2021年1月12日
chenliuyang 2020年10月13日
暂无贡献等级
随便取个名字_哈哈  LV27 2020年10月5日
157554513749  LV11 2020年8月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友