使用Jquery miniui插件写的一个管理员对员工的操作(二)

0 篇文章 0 订阅

Action类
package cn.jxc.ssm.action;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import cn.jxc.ssm.po.TDept;
import cn.jxc.ssm.po.TEmployee;
import cn.jxc.ssm.po.TEmployeeExtend;
import cn.jxc.ssm.service.TDeptService;
import cn.jxc.ssm.service.TEmployeeService;
@Controller
@Scope("prototype")
public class TEmployeeAction implements ServletRequestAware,ServletResponseAware{
	@Resource
	private TEmployeeService tEmployeeService;
	@Resource
	private TDeptService tDeptService;
	
	private TEmployee record;
	HttpServletRequest request;
	HttpServletResponse response;
	
	
	//查询全部员工
	public void all() throws IOException{
	    String key = request.getParameter("key");//获取查询条件
	    //分页
	    int pageIndex = 0;
	    if(request.getParameter("pageIndex")!=null){
	    	pageIndex = Integer.parseInt(request.getParameter("pageIndex"));
	    }
	    int pageSize = 10;
	    if(request.getParameter("pageSize")!=null){
	    	 pageSize = Integer.parseInt(request.getParameter("pageSize"));     
	    }
	    int start = pageIndex * pageSize, end = start + pageSize;
	    
		response.setCharacterEncoding("UTF-8");  
	    response.setContentType("text/html; charset=UTF-8"); 
	    List<TEmployeeExtend> listTEmployeeExtend = new ArrayList<TEmployeeExtend>();
	    listTEmployeeExtend = tEmployeeService.selectByTEmployeeName(key);
	    List<TEmployeeExtend> listT = new ArrayList<TEmployeeExtend>();
	    for(int i=0,l=listTEmployeeExtend.size();i<l;i++){
	    	if(i>=start&&i<end){
	    		listT.add(listTEmployeeExtend.get(i));
	    	}
	    }
	    JSONArray jsArray = JSONArray.fromObject(listT);
	    String json = jsArray.toString();
	    System.out.println(json+"<-------");
	    String sq = "{"+"total:"+listTEmployeeExtend.size()+","+"data:"+json+"}";
	    System.out.println(sq);
	    response.getWriter().write(sq);
	}
	//修改员工信息
	public void GetEmployee() throws IOException{
		response.setCharacterEncoding("UTF-8");  
	    response.setContentType("text/html; charset=UTF-8"); 
		String id = request.getParameter("id");
		TEmployee te = tEmployeeService.selectByPrimaryKey(Integer.parseInt(id));
		JSONObject json = JSONObject.fromObject(te);
		String str = json.toString();
		response.getWriter().write(str);
		
	}
	public String updateEmployee() {


		 String json = request.getParameter("data");
		 JSONArray array = JSONArray.fromObject(json);//先读取串数组
		 
		 Object[] o = array.toArray();//转成对像数组       
		 
		 JSONObject obj = JSONObject.fromObject(o[0]);
		 //将json串转换成数组后,再将数组转换成对象
		 record =  (TEmployee) obj.toBean(obj, TEmployee.class);
		 //将上传文件放在upload\\目录下
		 String oldPath = null;
		 oldPath =  record.getImage();
		if(oldPath.equals(null)||oldPath.equals("")){
			record.setImage(tEmployeeService.selectByPrimaryKey(record.getId()).getImage());
			tEmployeeService.updateByPrimaryKeySelective(record);
		}
		else{
		 String fileName = copyFile(oldPath);
		 record.setImage("upload\\"+fileName);
		 tEmployeeService.updateByPrimaryKeySelective(record);
		 }
		return "updateEmployeeOk";
		
	}
	//删除员工
	public String deleteEmployee(){
		String idStr = request.getParameter("id");
		String[] ids = idStr.split(",");
		 for (int i = 0, l = ids.length; i < l; i++)
		    {
			 int id = Integer.parseInt(ids[i]); 
			 tEmployeeService.deleteByPrimaryKey(id);
		    }
		
		return "deleteOk";
	}
	
	//插入员工(使用json进行处理)
	public String insert(){
		 String json = request.getParameter("data");
		 JSONArray array = JSONArray.fromObject(json);//先读取串数组
		 Object[] o = array.toArray();//转成对像数组       
		 JSONObject obj = JSONObject.fromObject(o[0]);
		 //将json串转换成数组后,再将数组转换成对象
		 record =  (TEmployee) obj.toBean(obj, TEmployee.class);
		 //将上传文件放在tomcat服务器下jxc\\upload\\目录下
		 String oldPath =  record.getImage();
		 String fileName = copyFile(oldPath);
		 record.setImage("upload\\"+fileName);
		 tEmployeeService.insert(record);
		 return "insertOk";
	}
	//查询部门使用JSON传数据
	public void selectDeptAll() throws IOException
	{
		response.setCharacterEncoding("UTF-8");  
	    response.setContentType("text/html; charset=UTF-8");  
		List<TDept> listDept = new ArrayList<TDept>();
		listDept = tDeptService.selectByExample(null);
		JSONArray jsArray = JSONArray.fromObject(listDept);
		String json = jsArray.toString();
		response.getWriter().write(json);
	}
	//拷贝文件
	public String copyFile(String oldPath) { 
		File oldfile = new File(oldPath); 
		 String path = ServletActionContext.getServletContext().getRealPath("/upload");  
       //根据路径名创建一个文件  
         File file = new File(path);  
         //判断file是否存在,如果不存在,则自动创建一个  
         if(!file.exists()){  
         file.mkdirs();  
        } 
         //将上传的文件进行从新命名
         String newFile = null;
         newFile= UUID.randomUUID() + oldfile.getName().substring(oldfile.getName().indexOf("."));
         //将上传文件放入到新的目录下
         try {
			FileUtils.copyFile(oldfile, new File(file, newFile));
		} catch (IOException e) {
			e.printStackTrace();	
		}  
         return newFile;
	} 
	
	public TEmployee getRecord() {
		return record;
	}
	public void setRecord(TEmployee record) {
		this.record = record;
	}
	
	//setsetServletRequest方法实现ServletRequestAware接口
	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
	}
	
	//setServletResponse方法实现ServletResponseAware方法
	public void setServletResponse(HttpServletResponse response) {
		this.response = response;
	}


}

需要java学习的资料,搜索微信公众号javamy012
 



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值