excel upload

package com.bashao.flex4server.servlet;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import org.hibernate.criterion.DetachedCriteria;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.bashao.flex4server.poi.ReadExcelUtil;
import com.ibeifeng.po.Employee;
import com.ibeifeng.po.Organise;
import com.ibeifeng.po.Question;
import com.ibeifeng.po.Role;
import com.ibeifeng.po.Store;
import com.ibeifeng.service.IEmployeeService;
import com.ibeifeng.service.IOrganiseService;
import com.ibeifeng.service.IRoleService;

/**
 * \ 使用中
 *
 * @author Administrator
 *
 */
public class FileUploadForUser extends HttpServlet {
    private IOrganiseService organiseService;
    private IEmployeeService employeeService;

    private IRoleService roleService;
    // private IExamService examService;
    // private IPointService pointService;
    // private ITypeService typeService;
    // private IStoreService storeService;
    private int maxPostSize = 10 * 1024 * 1024 * 100; // 最大1000M

    public FileUploadForUser() {
        super();
    }

    public void destroy() {
        super.destroy(); //
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        processRequest(request, response);

    }

    protected void processRequest(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        String uploadPath = "";
        System.out.println("开始上传==============");
        response.setContentType("text/html;charset=UTF-8");
        // uploadPath=request.getContextPath();
        uploadPath = request.getRealPath("/") + "/uploadfile";
        System.out.println("uploadPath====" + uploadPath);

        File file = new File(uploadPath);
        if (!file.exists()) {
            try {
                file.mkdir();
            } catch (Exception e) {
                e.printStackTrace();
                uploadPath = "c:\\flex_upload\\";
                file = new File(uploadPath);
                if (!file.exists()) {
                    file.mkdir();
                }
            }
        }

        File folder = new File(uploadPath);

        if (!folder.exists()) {
            folder.mkdir();
        }
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(4096);
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding("utf-8");
        upload.setSizeMax(maxPostSize);
        try {// 请求过来的 元素; 可能不止是一个;有其他元素;
            List<FileItem> fileItems = upload.parseRequest(request);
            Iterator<FileItem> iter = fileItems.iterator();

            String aaaaa = request.getParameter("storeid");

            System.out.println(aaaaa);
            String path = request.getRequestURI();

            System.out.println("requesturl=" + path);

            Store store = null;

            while (iter.hasNext()) {
                FileItem item = iter.next();
                if (item.isFormField()) {// 按照顺序排序的; form 表单里面 先写的input hidden ;
                    // 后写的excel;
                    // String name = item.getFieldName();
                    // String storeID = item.getString();
                    // storeID = storeID.replaceAll("node_", "");
                    // System.out.println("---------------" + storeID);
                    // store = (Store) this.storeService.findById(Integer
                    // .parseInt(storeID));
                }

                if (!item.isFormField()) {// isFormField判断是不是普通字段; 普通返回true
                    String name = item.getName();// 也就是excel文件名字上传字段的文件名;EXCEL12.xls
                    System.out.println(name);
                    String newFileName = "people"
                            + name.substring(name.indexOf('.'));
                    try {
                        File excel = new File(uploadPath + newFileName);
                        List<String> msgList = new ArrayList<String>();
                        item.write(excel);// 将FeileiTem 保存的主体内容保存到指定文件中; 拷贝;
                        Integer successNumber = 0;
                        successNumber = readDataFromExcel(msgList, excel,
                                store, successNumber, request, response);

                        response.setContentType("text/html;charset=UTF-8");
                        // response.getWriter().print(
                        // "<script>window.parent.uploadSuccess('上传成功');</script>");
                        response.setCharacterEncoding("UTF-8");
                        PrintWriter out = response.getWriter();

                        String alertInfo = "";

                        alertInfo = "本次人员上传数量为:" + successNumber;

                        if (msgList.size() > 0) {
                            alertInfo += "  系统提示:";
                        }

                        if (msgList.size() > 0) {

                            for (String info : msgList) {
                                alertInfo += info + ",";
                            }
                            alertInfo = alertInfo.substring(0,
                                    alertInfo.length() - 1);
                        }

                        // request.setAttribute("alertInfo", alertInfo);
                        //
                        // request.getRequestDispatcher("/exam2/admin/user/addUser.jsp").forward(request,
                        // response);

                        // out
                        // .println("<script>alert(\""
                        // + alertInfo
                        // + "\");"
                        // +
                        // "window.location='../admin/user/addUser.jsp';</script>");

                        // out.println("<script>alert(\""
                        // + alertInfo
                        // + "\");" +
                        // "window.location='../admin/question/addUser.jsp';</script>");
                        out.println("<script>alert(\""
                                + alertInfo
                                + "\");"
                                + "window.location='../admin/question/addUser.jsp';</script>");
                    } catch (Exception e) {
                        e.printStackTrace();
                        System.out.println("上传失败==============");

                        response.setContentType("text/html;charset=UTF-8");
                        response.setCharacterEncoding("UTF-8");
                        PrintWriter out = response.getWriter();
                        out.println("<script>alert(\"上传失败。"
                                + e.getMessage()
                                + "\");window.location='../admin/user/addUser.jsp'</script>");
                    }
                }
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
            response.setContentType("text/html;charset=UTF-8");
            response.setCharacterEncoding("UTF-8");
            PrintWriter out = response.getWriter();
            out.println("<script>alert(\"上传失败。" + e.getMessage()
                    + "\")</script>");
        } catch (NumberFormatException e) {
            e.printStackTrace();
        } catch (Exception e) {
        }

        // Date date = new Date();
        // response.sendRedirect("/admin/user/addUser.jsp?date=" +
        // date.getTime());
    }

    private Organise hasSameOrgName(String name, List<Organise> orglist) {

        if (orglist != null && orglist.size() > 0) {

            for (Organise org : orglist) {

                if (org.getName().equals(name)) {

                    return org;
                }
            }
        }

        return null;
    }

    private Integer readDataFromExcel(List<String> msgList, File excel,
            Store store, Integer successNumer, HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        List<Question> questionlist = new ArrayList<Question>();// 用于盛放question;

        List<String> workTypeList = (List<String>) request.getSession()
                .getAttribute("workTypeList");
        if (workTypeList == null || workTypeList.size() == 0) {
            return 0;
        }

        DetachedCriteria dc = DetachedCriteria.forClass(Organise.class);

        List<Organise> organiseList = (List<Organise>) this.organiseService
                .findByCriteria(0, Integer.MAX_VALUE, dc);

        try {
            // 最后update;setStore();

            List<Object> list = new ArrayList<Object>();
            File f = excel;
            HSSFWorkbook workbook = null;
            HSSFSheet sheet = null;// 工作表;
            FileInputStream fis = null;
            List<String> titleList = new ArrayList<String>();

            try {
                fis = new FileInputStream(f);
                workbook = new HSSFWorkbook(fis);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();

                msgList.add("请检查excel版本是否符合要求");
                if (fis != null) {
                    try {
                        fis.close();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
                return 0;

            }

            int sheetCount = workbook.getNumberOfSheets();// 页数 sheet 数 12页

            for (int sheetindex = 0; sheetindex < 1; sheetindex++) {

                sheet = workbook.getSheetAt(sheetindex);

                int rows = sheet.getPhysicalNumberOfRows();// rows==6
                rows = sheet.getLastRowNum() + 1;// 否则会少一条数据;

                HSSFRow firstRow = sheet.getRow(0);

                if (firstRow == null) {

                    msgList.add("第一行必须是标题且不能为空");
                    // throw new RuntimeException("第一行必须是标题且不能为空");

                    return 0;
                }
                Integer cellCount = 0;
                if (firstRow != null) {
                    Integer cellLength = sheet.getRow(0)
                            .getPhysicalNumberOfCells();

                    for (int i = 0; i < cellLength; i++) {

                        // firstRow.getCell(i);

                        String cellStr = ReadExcelUtil.getStringByCell(
                                firstRow.getCell(i)).trim();

                        if ("".equals(cellStr)) {
                            continue;
                        }
                        cellCount++;
                        System.out.println(i + cellStr + "\t");
                    }

                    if (cellCount == null || (cellCount != 10)) {

                        msgList.add("列数不正确,根据模板要求,列数必须是10列");
                        return 0;
                    } else {

                        for (int i = 0; i < cellCount; i++) {

                            String cellStr = ReadExcelUtil.getStringByCell(
                                    firstRow.getCell(i)).trim();
                            switch (i) {
                            case 0:
                                // first row;

                                if (cellStr.indexOf("工号") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();

                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是工号");

                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                                    return 0;
                                }

                                break;
                            case 1:
                                if (cellStr.indexOf("车间") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是车间");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                                    return 0;
                                }
                                break;
                            case 2:
                                if (cellStr.indexOf("班组") >= 0) {
                                    titleList.add(cellStr);

                                } else {
                                    titleList = new ArrayList<String>();
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是班组");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                                    return 0;
                                }
                                break;
                            case 3:
                                if (cellStr.indexOf("姓名") >= 0) {
                                    titleList.add(cellStr);

                                } else {
                                    titleList = new ArrayList<String>();
                                    // msgList.add("表头不正确,请检查第1行第" + (i + 1) +
                                    // "列");
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是姓名");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                                    return 0;
                                }
                                break;
                            case 4:

                                if (cellStr.indexOf("性别") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是性别");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                                    return 0;
                                    // throw new
                                    // RuntimeException("表头不正确,请检查第1行第"
                                    // + (i + 1) + "列");

                                }
                                break;
                            case 5:
                                if (cellStr.indexOf("出生日期") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();

                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是出生日期");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                                    return 0;
                                }
                                break;

                            case 6:
                                if (cellStr.indexOf("职务") >= 0
                                        || cellStr.indexOf("工种") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是职务/工种");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }

                                    return 0;
                                    // throw new
                                    // RuntimeException("表头不正确,请检查第1行第"
                                    // + (i + 1) + "列");
                                }
                                break;
                            case 7:
                                if (cellStr.indexOf("身份证号") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是身份证号");
                                    // throw new
                                    // RuntimeException("表头不正确,请检查第1行第"
                                    // + (i + 1) + "列");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }

                                    return 0;
                                }
                                break;
                            case 8:
                                if (cellStr.indexOf("工作证号") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();
                                    // msgList.add("表头不正确,请检查第1行第" + (i + 1) +
                                    // "列");
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是工作证号");

                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }
                                    return 0;
                                }
                                break;
                            case 9:
                                if (cellStr.indexOf("工作证编号") >= 0) {
                                    titleList.add(cellStr);
                                } else {
                                    titleList = new ArrayList<String>();
                                    // msgList.add("表头不正确,请检查第1行第" + (i + 1) +
                                    // "列");
                                    msgList.add("表头不正确,请检查第1行第" + (i + 1)
                                            + "列必须是工作证编号");
                                    if (fis != null) {
                                        try {
                                            fis.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                    }

                                    return 0;
                                }
                                break;

                            default:
                                break;
                            }

                        }

                    }

                    boolean flagerror = false;

                    outer: for (int i = 1; i < rows; i++) {

                        Integer optionSize = 0;
                        HSSFRow row = sheet.getRow(i);

                        if (i == 7) {

                            System.out.println();
                        }
                        // System.out.println("----------" + (i + 1) +
                        // "行begin");
                        // // 如果中间有列为空; 也不计算在内;
                        if (row == null) {
                            // continue;
                            break;
                        }
                        System.out.println("---------");
                        for (int temp = 0; temp < cellCount; temp++) {

                            System.out.print((i + 1)
                                    + "测试行"
                                    + temp
                                    + "测试列 "
                                    + ReadExcelUtil.getStringByCell(
                                            row.getCell(temp)).trim() + "\t");
                            ;
                        }
                        System.out.println("---------");
                        // System.out.println("row======" + i + "sheet"
                        // + sheetindex);
                        if (row != null) {
                            Employee employee = null;
                            List<String> questionOptionlist = null;
                            for (int temp = 0; temp < cellCount; temp++) {

                                try {
                                    if (true) {
                                        System.out.print(ReadExcelUtil
                                                .getStringByCell(
                                                        row.getCell(temp))
                                                .trim()
                                                + "\t");
                                        // String questionOption="";//
                                        // 选项对单选多选有效,其他题型无效。
                                        // 格式为:xx1|xx2|xx3|xx4

                                        System.out.print(i + "haang " + temp
                                                + "lie ");

                                        switch (temp) {
                                        case 0:

                                            String str0 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();

                                            if (str0 == null || str0.equals("")) {

                                                flagerror = true;

                                                msgList.add("工号不能为空,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");
                                                break outer;

                                            } else {
                                                employee = new Employee();
                                                // employeeNumber 工号
                                                str0 = str0.replaceAll("\\.0",
                                                        "");
                                                employee.setEmployeeNumber(str0);
                                            }

                                            break;
                                        case 1:

                                            String str1 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();

                                            if (str1 == null || str1.equals("")) {

                                                flagerror = true;

                                                msgList.add("车间不能为空,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");
                                                break outer;

                                            } else if (hasSameOrgName(str1,
                                                    organiseList) == null) {

                                                flagerror = true;

                                                msgList.add("车间名称在数据库中不存在,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");
                                                break outer;
                                            } else {

                                                Organise tempOrg = hasSameOrgName(
                                                        str1, organiseList);
                                                if (employee != null) {
                                                    employee.setOrganise(tempOrg);
                                                }

                                            }
                                            break;
                                        case 2:
                                            // 班组
                                            String str2 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();

                                            if (str2 == null || str2.equals("")) {

                                                flagerror = true;

                                                msgList.add("班组不能为空,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");
                                                break outer;

                                            } else {
                                                if (employee != null) {
                                                    employee.setBanZu(str2);
                                                }
                                            }
                                            break;
                                        case 3:
                                            // 姓名

                                            String str3 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();

                                            if (str3 == null || str3.equals("")) {

                                                flagerror = true;

                                                msgList.add("姓名不能为空,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");
                                                break outer;

                                            } else {
                                                if (employee != null) {
                                                    employee.setName(str3);
                                                }
                                            }
                                            break;

                                        case 4:// sex
                                            String str4 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();
                                            String questionType = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(5))
                                                    .trim();
                                            if (str4 == null
                                                    || str4.equals("")
                                                    || (!str4.equals("男") && !str4
                                                            .equals("女"))) {

                                                flagerror = true;

                                                msgList.add("性别不能为空且只能为男或者女,请检查第"
                                                        + (i + 1)
                                                        + "行第"
                                                        + (temp + 1) + "列");
                                                break outer;

                                            } else {

                                                if (employee != null) {

                                                    if ("男".equals(str4)) {
                                                        employee.setSex(1);
                                                    } else if ("女".equals(str4)) {

                                                        employee.setSex(0);
                                                    }
                                                }
                                            }

                                            break;
                                        case 5:

                                            String str5 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();

                                            if (str5 == null || str5.equals("")) {
//                                                flagerror = true;
//
//                                                msgList.add("出生日期不能为空,请检查第"
//                                                        + (i + i) + "行第"
//                                                        + (temp + 1) + "列");
//                                                break outer;
                                            }


                                            else {

                                                try {

                                                    String data = new SimpleDateFormat(
                                                            "yyyy-MM-dd HH:mm:ss")
                                                            .format(new SimpleDateFormat(
                                                                    "yyyy-MM-dd")
                                                                    .parse(str5));

                                                    employee.setBirthday(Timestamp
                                                            .valueOf(data));
                                                    // employee.setBirthday(new
                                                    // Timestamp(new
                                                    // SimpleDateFormat("yyyyMMdd").parse(str5).getTime()));
                                                } catch (Exception e) {
                                                    // TODO Auto-generated catch
                                                    // block

                                                    try {

                                                        String data = new SimpleDateFormat(
                                                                "yyyy-MM-dd HH:mm:ss")
                                                                .format(new SimpleDateFormat(
                                                                        "yyyyMMdd")
                                                                        .parse(str5));
                                                        employee.setBirthday(Timestamp
                                                                .valueOf(data));
                                                    } catch (Exception e1) {
                                                        // TODO Auto-generated
                                                        // cat

                                                        e1.printStackTrace();
                                                        flagerror = true;
                                                        msgList.add("出生日期格式有误,请检查第"
                                                                + (i + i)
                                                                + "行第"
                                                                + (temp + 1)
                                                                + "列");

                                                        if (fis != null) {
                                                            fis.close();
                                                        }
                                                        break outer;
                                                    }
                                                }

                                            }

                                            break;
                                        case 6:
                                            // worktype
                                            String str6 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();
                                            if (str6 == null || "".equals(str6)) {
                                                flagerror = true;
                                                msgList.add("职务不能为空,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");
                                                break outer;
                                            } else if (!workTypeList
                                                    .contains(str6.trim())) {
                                                // workTypeList.add(str6.trim());
                                                // employee.setWorkType(str6);

                                                flagerror = true;
                                                msgList.add("该工种/职务 未找到,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1)
                                                        + "列,工种名称:" + str6);

                                                if (fis != null) {
                                                    fis.close();
                                                }
                                                break outer;

                                            } else {
                                                employee.setWorkType(str6);
                                            }

                                            break;
                                        case 7:
                                            String str7 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();

                                            if (str7 == null || "".equals(str7)) {

                                                flagerror = true;
                                                msgList.add("身份证号不能为空,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");

                                                if (fis != null) {
                                                    fis.close();
                                                }
                                                break outer;
                                            } else {
                                                if (employee != null) {
                                                    str7 = str7.replaceAll(
                                                            "\\.0", "");
                                                    employee.setIdenty(str7);
                                                }

                                            }

                                            break;
                                        case 8:
                                            // option 3
                                            String str8 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();

                                            if (str8 == null || "".equals(str8)) {

                                                flagerror = true;
                                                msgList.add("工作证号不能为空,请检查第"
                                                        + (i + 1) + "行第"
                                                        + (temp + 1) + "列");
                                                if (fis != null) {
                                                    fis.close();
                                                }
                                                break outer;
                                            } else {
                                                if (employee != null) {
                                                    str8 = str8.replaceAll(
                                                            "\\.0", "");
                                                    employee.setWorkNumber(str8);
                                                }
                                            }
                                            break;
                                        case 9:
                                            // option4
                                            String str9 = ReadExcelUtil
                                                    .getStringByCell(
                                                            row.getCell(temp))
                                                    .trim();
                                            if (str9 == null || "".equals(str9)) {

                                                flagerror = true;
                                                msgList.add("工作证编号" + (i + 1)
                                                        + "行第" + (temp + 1)
                                                        + "列");
                                                if (fis != null) {
                                                    fis.close();
                                                }
                                                break outer;
                                            } else {
                                                if (employee != null) {
                                                    str9 = str9.replaceAll(
                                                            "\\.0", "");

                                                    employee.setGongZuoZhengBianHao(str9);
                                                    employee.setState(1);

                                                    // 设置为普通用户
                                                    Role commonRole = (Role) this.roleService
                                                            .findById(1);
                                                    employee.setRole(commonRole);
                                                }

                                                this.employeeService
                                                        .save(employee);

                                                successNumer++;

                                            }

                                            break;

                                        default:
                                            break;
                                        }

                                    }

                                    // try end;

                                } catch (Exception e) {
                                    e.printStackTrace();
                                }

                            }
                            System.out.println("----------");
                        }

                    }

                    try {
                        if (fis != null) {
                            fis.close();
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {

            // 更新 worktype 的xml 以及session 的 work type
            // List<String> workTypeList = (List<String>) request.getSession()
            // .getAttribute("workTypeList");
            // String xmlPath = request.getRealPath("/") + "\\worktype.xml";
            // File file = new File(xmlPath);
            // if (!file.exists()) {
            // file.mkdirs();
            // File file = new File("c:/catalog");
            //
            // if (!file.exists()) {
            // file.mkdirs();
            // }
            // Document document = DocumentHelper.createDocument();
            // Element catalogElement = document.addElement("worktypes");
            // document.setXMLEncoding("GBK");
            // if (workTypeList != null && workTypeList.size() > 0) {
            // for (String str : workTypeList) {
            // Element worktypeElement = catalogElement
            // .addElement("worktype");
            // worktypeElement.setText(str);
            // }
            // }else{
            // Element worktypeElement = catalogElement
            // .addElement("worktype");
            // worktypeElement.setText("系统初始化工种一");
            // }
            //
            // try {
            // XMLWriter output = new XMLWriter(new FileWriter(new File(
            // xmlPath)));
            // output.write(document);
            // output.close();
            // } catch (IOException e) {
            // System.out.println(e.getMessage());
            // }
            // try {
            // XMLWriter output = new XMLWriter(new FileWriter(new File(
            // xmlPath)));
            // output.write(document);
            // output.close();
            // request.getSession().setAttribute("workTypeList", workTypeList);
            //
            // } catch (IOException e) {
            // System.out.println(e.getMessage());
            // }
        }

        return successNumer;
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doGet(request, response);
    }

    public void init() throws ServletException {

        // private IOrganiseService organiseServiceService;
        organiseService = (IOrganiseService) WebApplicationContextUtils
                .getRequiredWebApplicationContext(getServletContext()).getBean(
                        "organiseService");
        employeeService = (IEmployeeService) WebApplicationContextUtils
                .getRequiredWebApplicationContext(getServletContext()).getBean(
                        "employeeService");
        roleService = (IRoleService) WebApplicationContextUtils
                .getRequiredWebApplicationContext(getServletContext()).getBean(
                        "roleService");
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值