当前位置 : 主页 > 编程语言 > c++ >

java io 上传下载

来源:互联网 收集:自由互联 发布时间:2021-06-30
ExcelUtil.java /** * @Project CASICMIS * @Package com.fh.util * @Title ExcelUtil.java * @Description TODO(描述) * @create 2016年9月22日-上午10:41:54 * @version V 1.0 */package com.fh.util;import java.io.FileInputStream;import java
ExcelUtil.java
/**
 * @Project CASICMIS
 * @Package com.fh.util
 * @Title ExcelUtil.java
 * @Description TODO(描述)
 * @create 2016年9月22日-上午10:41:54
 * @version V 1.0
 */
package com.fh.util;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;

/**
 * @Project CASICMIS
 * @Package com.fh.util
 * @ClassName ExcelUtil.java
 * @Description TODO(Excel表操作工具类)
 * @create 2016年9月22日-上午10:41:54
 */
public class ExcelUtil {
	/** 
     * 合并方法,读取excel文件 
     * 根据文件名自动识别读取方式 
     * 支持97-2013格式的excel文档 
     *  
     * @param fileName 
     *            上传文件名 
     * @param file 
     *            上传的文件 
     * @return 返回列表内容格式: 
     *  每一行数据都是以对应列的表头为key 内容为value 比如 excel表格为: 
     * =============== 
     *  A | B | C | D 
     * ===|===|===|=== 
     *  1 | 2 | 3 | 4 
     * ---|---|---|---  
     *  a | b | c | d 
     * --------------- 
     * 返回值 map: 
     *   map1:   A:1 B:2 C:3 D:4 
     *   map2:   A:a B:b C:d D:d 
     * @throws java.io.IOException 
     */  
    public static List readExcel(String filePath) throws Exception{  
        //准备返回值列表  
        List valueList=new ArrayList(); String ExtensionName=getExtensionName(filePath); //判断Excel是那个版本 if(ExtensionName.equalsIgnoreCase("xls")){ valueList=readExcel2003(filePath); }else if(ExtensionName.equalsIgnoreCase("xlsx")) { valueList=readExcel2007(filePath); } return valueList; } /** * 读取97-2003格式 * @param filePath 文件路径 * @throws java.io.IOException */ public static List readExcel2003(String filePath) throws IOException{ //返回结果集 List valueList=new ArrayList(); FileInputStream fis=null; try { fis=new FileInputStream(filePath); HSSFWorkbook wookbook = new HSSFWorkbook(fis); // 创建对Excel工作簿文件的引用 HSSFSheet sheet = wookbook.getSheetAt(0); // 在Excel文档中,第一张工作表的缺省索引是0 int rows = sheet.getPhysicalNumberOfRows(); // 获取到Excel文件中的所有行数­ Map
       
         keys=new HashMap
        
         (); int cells=0; // 遍历行­(第1行 表头) 准备Map里的key HSSFRow firstRow = sheet.getRow(0); if (firstRow != null) { // 获取到Excel文件中的所有的列 cells = firstRow.getPhysicalNumberOfCells(); // 遍历列 for (int j = 0; j < cells; j++) { // 获取到列的值­ try { HSSFCell cell = firstRow.getCell(j); String cellValue = getCellValueForHssf(cell); keys.put(j,cellValue); } catch (Exception e) { e.printStackTrace(); } } } // 遍历行­(从第二行开始) for (int i = 1; i < rows; i++) { // 读取左上端单元格(从第二行开始) HSSFRow row = sheet.getRow(i); // 行不为空 if (row != null) { //准备当前行 所储存值的map Map
         
           val=new HashMap
          
           (); boolean isValidRow = false; // 遍历列 for (int j = 0; j < cells; j++) { // 获取到列的值­ try { HSSFCell cell = row.getCell(j); String cellValue = getCellValueForHssf(cell); val.put(keys.get(j),cellValue); if(!isValidRow && cellValue!=null && cellValue.trim().length()>0){ isValidRow = true; } } catch (Exception e) { e.printStackTrace(); } } //第I行所有的列数据读取完毕,放入valuelist if(isValidRow){ valueList.add(val); } } } } catch (IOException e) { e.printStackTrace(); }finally { fis.close(); } return valueList; } /** * 读取2007-2013格式 * @param filePath 文件路径 * @return * @throws java.io.IOException */ public static List
            readExcel2007(String filePath) throws IOException{ List valueList=new ArrayList(); FileInputStream fis =null; try { fis =new FileInputStream(filePath); XSSFWorkbook xwb = new XSSFWorkbook(fis); // 构造 XSSFWorkbook 对象,strPath 传入文件路径 XSSFSheet sheet = xwb.getSheetAt(0); // 读取第一章表格内容 // 定义 row、cell XSSFRow row; // 循环输出表格中的第一行内容 表头 Map
              
                keys=new HashMap
               
                (); row = sheet.getRow(0); if(row !=null){ for (int j = row.getFirstCellNum(); j <=row.getPhysicalNumberOfCells(); j++) { if(row.getCell(j)!=null){ if(!row.getCell(j).toString().isEmpty()){ keys.put(j, row.getCell(j).toString()); } }else{ keys.put(j, "K-R1C"+j+"E"); } } } // 循环输出表格中的从第二行开始内容 for (int i = sheet.getFirstRowNum() + 1; i <= sheet.getPhysicalNumberOfRows(); i++) { row = sheet.getRow(i); if (row != null) { boolean isValidRow = false; Map
                
                  val = new HashMap
                 
                  (); for (int j = row.getFirstCellNum(); j <= row.getPhysicalNumberOfCells(); j++) { XSSFCell cell = row.getCell(j); String cellValue = getCellValueForXssf(cell); val.put(keys.get(j),cellValue); if(!isValidRow && cellValue!=null && cellValue.trim().length()>0){ isValidRow = true; } } // 第I行所有的列数据读取完毕,放入valuelist if (isValidRow) { valueList.add(val); } } } } catch (IOException e) { e.printStackTrace(); }finally { fis.close(); } return valueList; } /** * 文件操作 获取文件扩展名 * * @Author: sunny * @param filename * 文件名称包含扩展名 * @return */ public static String getExtensionName(String filename) { if ((filename != null) && (filename.length() > 0)) { int dot = filename.lastIndexOf('.'); if ((dot > -1) && (dot < (filename.length() - 1))) { return filename.substring(dot + 1); } } return filename; } /** * * @Title getCellValueForXssf * @Description (2007Excel数据类型转化) * @create 2016年9月22日-下午2:33:38 * @Param @param cell * @Param @return * @return String * @throws */ private static String getCellValueForXssf(XSSFCell cell) { DecimalFormat df = new DecimalFormat("#"); String cellValue=null; if (cell == null) return null; switch (cell.getCellType()) { case XSSFCell.CELL_TYPE_NUMERIC: if(HSSFDateUtil.isCellDateFormatted(cell)){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cellValue=sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); break; } cellValue=df.format(cell.getNumericCellValue()); break; case XSSFCell.CELL_TYPE_STRING: cellValue=String.valueOf(cell.getStringCellValue()); break; case XSSFCell.CELL_TYPE_FORMULA: cellValue=String.valueOf(cell.getCellFormula()); break; case XSSFCell.CELL_TYPE_BLANK: cellValue=null; break; case XSSFCell.CELL_TYPE_BOOLEAN: cellValue=String.valueOf(cell.getBooleanCellValue()); break; case XSSFCell.CELL_TYPE_ERROR: cellValue=String.valueOf(cell.getErrorCellValue()); break; } if(cellValue!=null&&cellValue.trim().length()<=0){ cellValue=null; } return cellValue; } /** * * @Title getCellValueForHssf * @Description ((2003Excel数据类型转化)) * @create 2016年9月22日-下午2:34:01 * @Param @param cell * @Param @return * @return String * @throws */ private static String getCellValueForHssf(HSSFCell cell) { DecimalFormat df = new DecimalFormat("#"); String cellValue=null; if (cell == null) return null; switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: if(HSSFDateUtil.isCellDateFormatted(cell)){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); cellValue=sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); break; } cellValue=df.format(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_STRING: cellValue=String.valueOf(cell.getStringCellValue()); break; case HSSFCell.CELL_TYPE_FORMULA: cellValue=String.valueOf(cell.getCellFormula()); break; case HSSFCell.CELL_TYPE_BLANK: cellValue=null; break; case HSSFCell.CELL_TYPE_BOOLEAN: cellValue=String.valueOf(cell.getBooleanCellValue()); break; case HSSFCell.CELL_TYPE_ERROR: cellValue=String.valueOf(cell.getErrorCellValue()); break; } if(cellValue!=null&&cellValue.trim().length()<=0){ cellValue=null; } return cellValue; } public static void main(String[] args) { try { ExcelUtil.readExcel("d://车辆数据.xlsx"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
                 
                
               
              
          
         
        
       
VehicleManagerController.java
package com.fh.controller.casic.vehiclemanager;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.servlet.ModelAndView;

import com.fh.controller.base.BaseController;
import com.fh.entity.Page;
import com.fh.entity.system.User;
import com.fh.util.AppUtil;
import com.fh.util.ConstantUtil;
import com.fh.util.ExcelUtil;
import com.fh.util.ObjectExcelView;
import com.fh.util.Const;
import com.fh.util.PageData;
import com.fh.util.Tools;
import com.fh.util.Jurisdiction;
import com.fh.service.casic.simmanager.SimManagerService;
import com.fh.service.casic.vehiclemanager.VehicleManagerService;

/** 
 * 类名称:VehicleManagerController
 * 创建人:FH 
 * 创建时间:2016-08-05
 */
@Controller
@RequestMapping(value="/vehiclemanager")
public class VehicleManagerController extends BaseController {
	
	String menuUrl = "vehiclemanager/list.do"; //菜单地址(权限用)
	@Resource(name="vehiclemanagerService")
	private VehicleManagerService vehiclemanagerService;
	
	@Resource(name="simmanagerService")
	private SimManagerService simmanagerService;
	
	/**
	 * 新增
	 */
	@RequestMapping(value="/save")
	public ModelAndView save() throws Exception{
		logBefore(logger, "新增VehicleManager");
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		pd.put("VEHICLEMANAGER_ID", this.get32UUID());	//主键
		pd.put("SIMREVERSELOG_ID", this.get32UUID());
		//设置平台在线
		pd.put("STATE", ConstantUtil.VEHICLE_ONLINE);
		//添加时间
		pd.put("CREATE_DATE", new Date());
		pd.put("CREATE_TIME", new Date());
		//添加人
		User user=(User) this.getRequest().getSession().getAttribute(Const.SESSION_USER);
		pd.put("CREATE_USER_ID", user.getUSER_ID());
		vehiclemanagerService.save(pd);
		mv.addObject("msg","success");
		mv.setViewName("save_result");
		return mv;
	}
	
	/**
	 * 删除
	 */
	@RequestMapping(value="/delete")
	public void delete(PrintWriter out){
		logBefore(logger, "删除VehicleManager");
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
		PageData pd = new PageData();
		try{
			pd = this.getPageData();
			vehiclemanagerService.delete(pd);
			out.write("success");
			out.close();
		} catch(Exception e){
			logger.error(e.toString(), e);
		}
		
	}
	
	/**
	 * 修改
	 */
	@RequestMapping(value="/edit")
	public ModelAndView edit() throws Exception{
		logBefore(logger, "修改VehicleManager");
		//if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		//修改时间
		pd.put("MODIFY_DATE", new Date());
		//修改人
		User user=(User) this.getRequest().getSession().getAttribute(Const.SESSION_USER);
		pd.put("MODIFY_USER_ID", user.getUSER_ID());
		pd.put("CREATE_TIME", new Date());
		//添加人
		pd.put("CREATE_USER_ID", user.getUSER_ID());
		vehiclemanagerService.edit(pd);
		mv.addObject("msg","success");
		mv.setViewName("save_result");
		return mv;
	}
	
	/**
	 * 列表
	 */
	@RequestMapping(value="/list")
	public ModelAndView list(Page page){
		logBefore(logger, "列表VehicleManager");
		//if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		try{
			pd = this.getPageData();
			page.setPd(pd);
			List
 
  	varList = vehiclemanagerService.list(page);	//列出VehicleManager列表
			mv.setViewName("casic/vehiclemanager/vehiclemanager_list");
			mv.addObject("varList", varList);
			mv.addObject("pd", pd);
			mv.addObject(Const.SESSION_QX,this.getHC());	//按钮权限
		} catch(Exception e){
			logger.error(e.toString(), e);
		}
		return mv;
	}
	
	/**
	 * 去新增页面
	 */
	@RequestMapping(value="/goAdd")
	public ModelAndView goAdd(){
		logBefore(logger, "去新增VehicleManager页面");
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData();
		pd = this.getPageData();
		try {
			mv.setViewName("casic/vehiclemanager/vehiclemanager_edit");
			//查询空闲的SIM卡
			pd.put("STATE", ConstantUtil.SIM_FREE);
			List
  
    misList=simmanagerService.listAll(pd); mv.addObject("msg", "save"); mv.addObject("pd", pd); //查询sim卡 mv.addObject("misList", misList); } catch (Exception e) { logger.error(e.toString(), e); } return mv; } /** * 去修改页面 */ @RequestMapping(value="/goEdit") public ModelAndView goEdit(){ logBefore(logger, "去修改VehicleManager页面"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); try { pd = vehiclemanagerService.findById(pd); //根据ID读取 mv.setViewName("casic/vehiclemanager/vehiclemanager_edit"); //查询空闲的SIM卡 pd.put("STATE", ConstantUtil.SIM_FREE); List
   
     misList=simmanagerService.listAll(pd); mv.addObject("msg", "edit"); mv.addObject("pd", pd); //查询sim卡 mv.addObject("misList", misList); } catch (Exception e) { logger.error(e.toString(), e); } return mv; } /** * 批量删除 */ @RequestMapping(value="/deleteAll") @ResponseBody public Object deleteAll() { logBefore(logger, "批量删除VehicleManager"); if(!Jurisdiction.buttonJurisdiction(menuUrl, "dell")){return null;} //校验权限 PageData pd = new PageData(); Map
    
      map = new HashMap
     
      (); try { pd = this.getPageData(); List
      
        pdList = new ArrayList
       
        (); String DATA_IDS = pd.getString("DATA_IDS"); if(null != DATA_IDS && !"".equals(DATA_IDS)){ String ArrayDATA_IDS[] = DATA_IDS.split(","); vehiclemanagerService.deleteAll(ArrayDATA_IDS); pd.put("msg", "ok"); }else{ pd.put("msg", "no"); } pdList.add(pd); map.put("list", pdList); } catch (Exception e) { logger.error(e.toString(), e); } finally { logAfter(logger); } return AppUtil.returnObject(pd, map); } /** * * @Title verificationVehicle * @Description (验证车牌号是否存在) * @create 2016年8月11日-下午1:06:14 * @Param @return * @return List * @throws */ @RequestMapping(value="/verificationVehicle") @ResponseBody public List verificationVehicle() { List list=new ArrayList(); try { PageData pd = new PageData(); pd = this.getPageData(); //解码 pd.put("VEHICLE_NUMBER", URLDecoder.decode(pd.getString("VEHICLE_NUMBER"),"UTF-8")); //按照车牌号查询 PageData data=vehiclemanagerService.findByVehicle(pd); if(data==null){ list.add("success"); } else if(data!=null){ list.add("repeat"); } } catch (Exception e) { e.printStackTrace(); list.add("error"); } return list; } /* * 导出到excel * @return */ @RequestMapping(value="/excel") public ModelAndView exportExcel(){ logBefore(logger, "导出VehicleManager到excel"); if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} ModelAndView mv = new ModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); try{ pd.put("VEHICLE_NUMBER", URLDecoder.decode(pd.getString("VEHICLE_NUMBER"),"UTF-8")); pd.put("AGENT", URLDecoder.decode(pd.getString("AGENT"),"UTF-8")); pd.put("CASIC_NAME", URLDecoder.decode(pd.getString("CASIC_NAME"),"UTF-8")); pd.put("COMPANY", URLDecoder.decode(pd.getString("COMPANY"),"UTF-8")); Map
        
          dataMap = new HashMap
         
          (); List
          
            titles = new ArrayList
           
            (); titles.add("车牌号"); //1 titles.add("SIM卡号"); //2 titles.add("所属市县"); //3 titles.add("司机"); //4 titles.add("联系人电话"); //5 titles.add("首次上线时间"); //6 titles.add("车辆来源"); //7 titles.add("诚鼎负责人"); //8 titles.add("设备及首年收费"); //9 titles.add("后续各年服务费收费标准"); //10 titles.add("车审日期"); //11 titles.add("车辆负责人/公司");//12 titles.add("大架号");//13 titles.add("合同到期日");//14 titles.add("周期月数");//15 dataMap.put("titles", titles); List
            
              varOList = vehiclemanagerService.listAll(pd); List
             
               varList = new ArrayList
              
               (); for(int i=0;i
               
                 getHC(){ Subject currentUser = SecurityUtils.getSubject(); //shiro管理的session Session session = currentUser.getSession(); return (Map
                
                 )session.getAttribute(Const.SESSION_QX); } /* ===============================权限================================== */ @InitBinder public void initBinder(WebDataBinder binder){ DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true)); } /** * * @Title turnOutList * @Description (转出车辆列表) * @create 2016年8月31日-上午10:35:02 * @Param @param page * @Param @return * @return ModelAndView * @throws */ @RequestMapping(value="/turnOutList") public ModelAndView turnOutList(Page page){ logBefore(logger, "转出车辆列表VehicleManager"); //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); try{ pd = this.getPageData(); page.setPd(pd); List
                 
                   varList = vehiclemanagerService.turnOutList(page);//列出VehicleManager列表 mv.setViewName("casic/vehiclemanager/vehiclemanager_turnoutlist"); mv.addObject("varList", varList); mv.addObject("pd", pd); mv.addObject(Const.SESSION_QX,this.getHC()); //按钮权限 } catch(Exception e){ logger.error(e.toString(), e); } return mv; } /** * * @Title goAway * @Description (车辆转出页面) * @create 2016年8月31日-下午3:18:03 * @Param @return * @return ModelAndView * @throws */ @RequestMapping(value="/goAway") public ModelAndView goAway(){ logBefore(logger, "去转出VehicleManager页面"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); try { pd = vehiclemanagerService.findById(pd);//根据ID读取 PageData outpd=vehiclemanagerService.findBySumOut(pd); pd.put("AWAY_RECEIVABLE", outpd.getString("PAYABLE_MONEY")); mv.setViewName("casic/vehiclemanager/vehiclemanager_away"); mv.addObject("msg", "away"); mv.addObject("pd", pd); } catch (Exception e) { logger.error(e.toString(), e); } return mv; } /** * * @Title away * @Description (转出车辆处理) * @create 2016年8月31日-下午4:31:46 * @Param @return * @Param @throws Exception * @return ModelAndView * @throws */ @RequestMapping(value="/away") public ModelAndView away() throws Exception{ logBefore(logger, "转出车辆VehicleManager"); if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); pd.put("SIMREVERSELOG_ID", this.get32UUID()); //修改时间 pd.put("MODIFY_DATE", new Date()); pd.put("CREATE_TIME", new Date()); //修改人 User user=(User) this.getRequest().getSession().getAttribute(Const.SESSION_USER); pd.put("MODIFY_USER_ID", user.getUSER_ID()); pd.put("VEHICLE_SOURCE", "3"); pd.put("CREATE_USER_ID", user.getUSER_ID()); vehiclemanagerService.away(pd); mv.addObject("msg","success"); mv.setViewName("save_result"); return mv; } /** * * @Title goBatchAdd * @Description (批量新增车辆) * @create 2016年9月22日-下午5:28:22 * @Param @return * @return ModelAndView * @throws */ @RequestMapping(value="/goBatchAdd") public ModelAndView goBatchAdd(){ logBefore(logger, "去批量新增VehicleManager页面"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); try { mv.setViewName("casic/vehiclemanager/vehiclemanager_batch_add"); mv.addObject("msg", "save"); mv.addObject("pd", pd); } catch (Exception e) { logger.error(e.toString(), e); } return mv; } /** * * @Title uploadFile * @Description (上传Excel文档) * @create 2016年9月23日-上午10:03:09 * @Param @param request * @Param @param response * @Param @param feedback_file * @Param @return * @return List * @throws */ @ResponseBody @RequestMapping("uploadExcel") public List uploadFile(HttpServletRequest request,HttpServletResponse response,@RequestParam("dataFile") CommonsMultipartFile[] feedback_file){ List list=new ArrayList(); List
                   vlist=null; try { response.setContentType("text/html;charset=GBK"); request.setCharacterEncoding("GBK"); //单个上传文件大小的上限 int maxSize=20*1024*1024; //循环文件 for(int i = 0;i
                   
                    maxSize){ list.add("error"); list.add("上传文件失败!!"); return list; } String fileName=feedback_file[i].getOriginalFilename(); String filetype=fileName.split("\\.")[1]; InputStream in = (InputStream) feedback_file[i].getInputStream(); String sysPath=(String)request.getServletContext().getAttribute("uploadFilePath")+"\\"+Calendar.getInstance().get(Calendar.YEAR)+"\\"+(new Date().getMonth()+1)+"\\"+new Date().getDate(); File fp=new File(sysPath); // 创建目录 if (!fp.exists()) { fp.mkdirs();// 目录不存在的情况下,创建目录。 } String filePath=sysPath+"\\"+UUID.randomUUID().toString()+"."+filetype; FileOutputStream out = new FileOutputStream(filePath); //创建一个缓冲区 byte buffer[] = new byte[1024]; //判断输入流中的数据是否已经读完的标识 int len = 0; //循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据 while((len=in.read(buffer))>0){ //使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中 out.write(buffer, 0, len); } //关闭输入流 in.close(); //关闭输出流 out.close(); vlist=ExcelUtil.readExcel(filePath); User user=(User) this.getRequest().getSession().getAttribute(Const.SESSION_USER); vehiclemanagerService.saveVehicleInto(vlist, user.getUSER_ID()); } list.add("success"); list.add("上传数据成功!!"); list.add(vlist.size()); list.add(vlist.size()); } catch (Exception e) { e.printStackTrace(); list.add("error"); list.add("上传数据失败!!"); list.add(vlist.size()); list.add("0"); list.add(VehicleManagerService.VEHICLE_NUMBER); } return list; } /** * * @Title goDeleteView * @Description (到删除页面) * @create 2017年1月9日-下午2:04:26 * @Param @return * @return ModelAndView * @throws */ @RequestMapping(value="/goDeleteView") public ModelAndView goDeleteView(){ logBefore(logger, "去车辆删除页面"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); try { pd = vehiclemanagerService.findById(pd);//根据ID读取 mv.setViewName("casic/vehiclemanager/vehiclemanager_delete"); mv.addObject("msg", "doDelete"); mv.addObject("pd", pd); } catch (Exception e) { logger.error(e.toString(), e); } return mv; } /** * * @Title doEdlete * @Description (执行删除操作) * @create 2017年1月9日-下午2:57:45 * @Param @return * @Param @throws Exception * @return ModelAndView * @throws */ @RequestMapping(value="/doDelete") public ModelAndView doEdlete() throws Exception{ logBefore(logger, "执行删除操作"); //if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); //修改时间 pd.put("MODIFY_DATE", new Date()); //修改人 User user=(User) this.getRequest().getSession().getAttribute(Const.SESSION_USER); pd.put("MODIFY_USER_ID", user.getUSER_ID()); pd.put("STATE","0"); pd.put("DEL_DATE",new Date()); vehiclemanagerService.delete(pd); mv.addObject("msg","success"); mv.setViewName("save_result"); return mv; } /** * * @Title deleteList * @Description (管理员查询删除车辆信息) * @create 2017年1月10日-上午9:59:03 * @Param @param page * @Param @return * @return ModelAndView * @throws */ @RequestMapping(value="/deleteList") public ModelAndView deleteList(Page page){ logBefore(logger, "删除车辆信息列表"); //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); try{ pd = this.getPageData(); page.setPd(pd); List
                    
                      varList = vehiclemanagerService.deleteList(page); //列出VehicleManager列表 mv.setViewName("casic/vehiclemanager/vehiclemanager_delete_list"); mv.addObject("varList", varList); mv.addObject("pd", pd); mv.addObject(Const.SESSION_QX,this.getHC()); //按钮权限 } catch(Exception e){ logger.error(e.toString(), e); } return mv; } }
                    
                   
                 
                
               
              
             
            
           
          
         
        
       
      
     
    
   
  
 
VehicleManagerService.java
package com.fh.service.casic.vehiclemanager;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.fh.dao.DaoSupport;
import com.fh.entity.Page;
import com.fh.entity.system.User;
import com.fh.util.Const;
import com.fh.util.ConstantUtil;
import com.fh.util.PageData;


@Service("vehiclemanagerService")
public class VehicleManagerService {

	@Resource(name = "daoSupport")
	private DaoSupport dao;
	
	public static String VEHICLE_NUMBER="";//车牌号
	
	/*
	* 新增
	*/
	public void save(PageData pd)throws Exception{
		String str="该SIM卡与"+pd.getString("VEHICLE_NUMBER")+"车辆绑定,SIM状态为:正常。";
		pd.put("OPERATION_CONTENT", str);
		dao.save("SimReverseLogMapper.save", pd);
		dao.save("VehicleManagerMapper.save", pd);
		pd.put("SIM_STATE",ConstantUtil.SIM_NORMAL );
		//修改SIM卡为正常状态
		dao.delete("SimManagerMapper.delete", pd);
		dao.save("VehiclePaymentRecordMapper.saveVehiclePaymentRecord", pd);
	}
	
	/*
	* 删除
	*/
	public void delete(PageData pd)throws Exception{
		pd.put("SIMREVERSELOG_ID", UUID.randomUUID().toString());
		String str="该SIM卡与"+pd.getString("VEHICLE_NUMBER")+"车辆解除绑定,SIM状态为:空闲。";
		pd.put("OPERATION_CONTENT", str);
		pd.put("SIM_NUMBER", pd.getString("SIM_NUMBER"));
		dao.save("SimReverseLogMapper.save", pd);
		pd.put("SIM_STATE", ConstantUtil.SIM_FREE);
		dao.delete("SimManagerMapper.delete", pd);
		dao.delete("VehicleManagerMapper.delete", pd);
	}
	
	/*
	* 修改
	*/
	public void edit(PageData pd)throws Exception{
		pd.put("STATE", "1");
		PageData oldPd=(PageData)dao.findForObject("VehicleManagerMapper.findById", pd);
		//判断是否修改SIM卡号
		if(!(pd.getString("SIM_NUMBER")+"").equals(oldPd.getString("SIM_NUMBER")+"")){
			String newSimNumber=pd.getString("SIM_NUMBER");
			pd.put("SIMREVERSELOG_ID", UUID.randomUUID().toString());
			String str="该SIM卡与"+oldPd.getString("VEHICLE_NUMBER")+"车辆解除绑定,SIM状态为:空闲。";
			pd.put("OPERATION_CONTENT", str);
			pd.put("SIM_NUMBER", oldPd.getString("SIM_NUMBER"));
			dao.save("SimReverseLogMapper.save", pd);
			pd.put("SIM_STATE", ConstantUtil.SIM_FREE);
			dao.delete("SimManagerMapper.delete", pd);
			str="该SIM卡与"+pd.getString("VEHICLE_NUMBER")+"车辆绑定,SIM状态为:正常。";
			pd.put("SIMREVERSELOG_ID", UUID.randomUUID().toString());
			pd.put("OPERATION_CONTENT", str);
			pd.put("SIM_NUMBER", newSimNumber);
			dao.save("SimReverseLogMapper.save", pd);
			pd.put("SIM_STATE", ConstantUtil.SIM_NORMAL);
			dao.delete("SimManagerMapper.delete", pd);
		}
		//判断供应商是否被更新
		if(!(pd.getString("SUPPLIER")+"").equals(oldPd.getString("SUPPLIER")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的供应商信息由"+oldPd.getString("SUPPLIER")+"变更为:"+pd.getString("SUPPLIER");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断型号是否被更新
		if(!(pd.getString("MODEL")+"").equals(oldPd.getString("MODEL")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的型号由"+oldPd.getString("MODEL")+"变更为:"+pd.getString("MODEL");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断所属市是否被更新
		if(!(pd.getString("CITY")+"").equals(oldPd.getString("CITY")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的所属市由"+oldPd.getString("CITY")+"变更为:"+pd.getString("CITY");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断所属县是否被更新
		if(!(pd.getString("COUNTY")+"").equals(oldPd.getString("COUNTY")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的所属县由"+oldPd.getString("COUNTY")+"变更为:"+pd.getString("COUNTY");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断车辆负责人/公司是否被更新
		if(!(pd.getString("COMPANY")+"").equals(oldPd.getString("COMPANY")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的车辆负责人/公司由"+oldPd.getString("COMPANY")+"变更为:"+pd.getString("COMPANY");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断联系人/司机是否被更新
		if(!(pd.getString("CONTACTS")+"").equals(oldPd.getString("CONTACTS")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的联系人/司机由"+oldPd.getString("CONTACTS")+"变更为:"+pd.getString("CONTACTS");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断联系人电话否被更新
		if(!(pd.getString("CONTACTS_PHONE")+"").equals(oldPd.getString("CONTACTS_PHONE")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的联系人电话由"+oldPd.getString("CONTACTS_PHONE")+"变更为:"+pd.getString("CONTACTS_PHONE");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断首次上线时间否被更新
		if(!(pd.getString("FIRST_TIME")+"").equals(oldPd.getString("FIRST_TIME")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的首次上线时间由"+oldPd.getString("FIRST_TIME")+"变更为:"+pd.getString("FIRST_TIME");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断车辆来源否被更新
		if(!(pd.getString("VEHICLE_SOURCE")+"").equals(oldPd.getString("VEHICLE_SOURCE")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的车辆来源由";
			if("1".equals(oldPd.getString("VEHICLE_SOURCE"))){
				str=str+"转入";
			}else if("2".equals(oldPd.getString("VEHICLE_SOURCE"))){
				str=str+"装车";
			}else if("4".equals(oldPd.getString("VEHICLE_SOURCE"))){
				str=str+"接入";
			}
			str=str+"变更为:";
			if("1".equals(pd.getString("VEHICLE_SOURCE"))){
				str=str+"转入";
			}else if("2".equals(pd.getString("VEHICLE_SOURCE"))){
				str=str+"装车";
			}else if("4".equals(pd.getString("VEHICLE_SOURCE"))){
				str=str+"接入";
			}
		
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断装车时间否被更新
		if(!(pd.getString("LOADING_TIME")+"").equals(oldPd.getString("LOADING_TIME")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的装车时间由"+oldPd.getString("LOADING_TIME")+"变更为:"+pd.getString("LOADING_TIME");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断装车时间否被更新
		if(!(pd.getString("FIRST_MONEY")+"").equals(oldPd.getString("FIRST_MONEY")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的设备及首年收费由"+oldPd.getString("FIRST_MONEY")+"变更为:"+pd.getString("FIRST_MONEY");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断后续各年服务费收费标准否被更新
		if(!(pd.getString("SERVICE_STANDARD")+"").equals(oldPd.getString("SERVICE_STANDARD")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的后续各年服务费收费标准由"+oldPd.getString("SERVICE_STANDARD")+"变更为:"+pd.getString("SERVICE_STANDARD");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断定价依据否被更新
		if(!(pd.getString("PRICING_BASIS")+"").equals(oldPd.getString("PRICING_BASIS")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的定价依据由";
			if("1".equals(oldPd.getString("PRICING_BASIS"))){
				str=str+"服务合同";
			}else if("2".equals(oldPd.getString("PRICING_BASIS"))){
				str=str+"市场行情";
			}else if("3".equals(oldPd.getString("PRICING_BASIS"))){
				str=str+"洽谈价格";
			}
			str=str+"变更为:";
			if("1".equals(oldPd.getString("PRICING_BASIS"))){
				str=str+"服务合同";
			}else if("2".equals(oldPd.getString("PRICING_BASIS"))){
				str=str+"市场行情";
			}else if("3".equals(oldPd.getString("PRICING_BASIS"))){
				str=str+"洽谈价格";
			}
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断航天负责人否被更新
		if(!(pd.getString("CASIC_NAME")+"").equals(oldPd.getString("CASIC_NAME")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的航天负责人由"+oldPd.getString("CASIC_NAME")+"变更为:"+pd.getString("CASIC_NAME");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断代理商否被更新
		if(!(pd.getString("AGENT")+"").equals(oldPd.getString("AGENT")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的代理商由"+oldPd.getString("AGENT")+"变更为:"+pd.getString("AGENT");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}	
		//判断平台来源否被更新
		if(!(pd.getString("PLATFORM_SOURCE")+"").equals(oldPd.getString("PLATFORM_SOURCE")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的平台来源由";
			if("1".equals(oldPd.getString("PLATFORM_SOURCE"))){
				str=str+"货运平台";
			}else if("2".equals(oldPd.getString("PLATFORM_SOURCE"))){
				str=str+"增值平台";
			}
			str=str+"变更为:";
			if("1".equals(oldPd.getString("PLATFORM_SOURCE"))){
				str=str+"货运平台";
			}else if("2".equals(oldPd.getString("PLATFORM_SOURCE"))){
				str=str+"增值平台";
			}
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断大架号是否修改
		if(!(pd.getString("FRAME_NUMBER")+"").equals(oldPd.getString("FRAME_NUMBER")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的大架号由"+oldPd.getString("FRAME_NUMBER")+"变更为:"+pd.getString("FRAME_NUMBER");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断合同到期日是否修改
		if(!(pd.getString("EXPIRATION_DATE")+"").equals(oldPd.getString("EXPIRATION_DATE")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的合同到期日由"+oldPd.getString("EXPIRATION_DATE")+"变更为:"+pd.getString("EXPIRATION_DATE");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断周期月数是否修改
		if(!(pd.getString("CYCLE_MONTH")+"").equals(oldPd.getString("CYCLE_MONTH")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的周期月数由"+oldPd.getString("CYCLE_MONTH")+"变更为:"+pd.getString("CYCLE_MONTH");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		//判断车审日期是否修改
		if(!(pd.getString("AUDIT_DATE")+"").equals(oldPd.getString("AUDIT_DATE")+"")){
			pd.put("VEHICLEUPDATELOG_ID", UUID.randomUUID().toString());
			String str="该车辆的车审日期由"+oldPd.getString("AUDIT_DATE")+"变更为:"+pd.getString("AUDIT_DATE");
			pd.put("UPDATE_CONTENT", str);
			dao.save("VehicleUpdateLogMapper.save", pd);
		}
		dao.update("VehicleManagerMapper.edit", pd);
	}
	
	/*
	*列表
	*/
	public List
 
   list(Page page)throws Exception{
		return (List
  
   )dao.findForList("VehicleManagerMapper.datalistPage", page); } /* *列表(全部) */ public List
   
     listAll(PageData pd)throws Exception{ return (List
    
     )dao.findForList("VehicleManagerMapper.listAll", pd); } /* * 通过id获取数据 */ public PageData findById(PageData pd)throws Exception{ return (PageData)dao.findForObject("VehicleManagerMapper.findById", pd); } /* * 批量删除 */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ dao.delete("VehicleManagerMapper.deleteAll", ArrayDATA_IDS); } /** * * @Title findByVehicle * @Description (按照车牌号查询) * @create 2016年8月11日-下午1:07:51 * @Param @param pd * @Param @return * @Param @throws Exception * @return PageData * @throws */ public PageData findByVehicle(PageData pd)throws Exception{ return (PageData)dao.findForObject("VehicleManagerMapper.findByVehicle", pd); } public PageData findByFrameNumber(PageData pd)throws Exception{ return (PageData)dao.findForObject("VehicleManagerMapper.findByFrameNumber", pd); } /** * * @Title turnOutList * @Description (转出车辆列表) * @create 2016年8月31日-上午11:14:53 * @Param @param page * @Param @return * @Param @throws Exception * @return List
     
       * @throws */ public List
      
        turnOutList(Page page)throws Exception{ return (List
       
        )dao.findForList("VehicleManagerMapper.turnOutlistPage", page); } /** * * @Title away * @Description (转出车辆) * @create 2016年8月31日-下午4:22:31 * @Param @param pd * @Param @throws Exception * @return void * @throws */ public void away(PageData pd)throws Exception{ String str="该SIM卡与"+pd.getString("VEHICLE_NUMBER")+"车辆解除绑定,SIM状态为:空闲。"; pd.put("OPERATION_CONTENT", str); dao.save("SimReverseLogMapper.save", pd); pd.put("SIM_STATE", ConstantUtil.SIM_FREE); dao.delete("SimManagerMapper.delete", pd); dao.update("VehicleManagerMapper.away", pd); } /** * * @Title findBySumOut * @Description (转出时计算所收费用) * @create 2016年9月14日-上午10:35:25 * @Param @param pd * @Param @return * @Param @throws Exception * @return PageData * @throws */ public PageData findBySumOut(PageData pd)throws Exception{ return (PageData)dao.findForObject("VehiclePaymentRecordMapper.findBySumOut", pd); } /** * @throws Exception * * @Title saveVehicleInto * @Description (保存Excel表导入的数据) * @create 2016年9月22日-下午2:57:30 * @Param @param pd * @Param @throws Exception * @return void * @throws */ public void saveVehicleInto(List
         vlist,String userId) throws Exception{ PageData pd=null; ArrayList
         
           list=new ArrayList
          
           (); //循环数据 for(int i=0;i
           
             * @throws */ public List
            
              deleteList(Page page)throws Exception{ return (List
             
              )dao.findForList("VehicleManagerMapper.deletelistPage", page); } }
             
            
           
          
         
       
      
     
    
   
  
 
网友评论