基于javaweb+mysql的ssm+maven报销erp系统(java+ssm+jsp+layui+jquery+mysql)

基于javaweb+mysql的ssm+maven报销erp系统(java+ssm+jsp+layui+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM+Maven报销erp系统(java+ssm+jsp+layui+jquery+mysql)

项目介绍

ssm ERP报销系统。主要分4个角色,总经理、部门经理、财务、普通员工,普通员工填写报销单后需要提交给部门经理审核,再由财务支付,如果金额大于5000,还需要总经理审核。 总经理拥有 部门管理 和 员工管理 功能 部门经理拥有 员工管理 功能 其他职务没有

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring SpringMVC MyBatis 2. 前端:JSP+LayUI+jQuery

主要技术

  • Spring Ioc - Mybatis+Spring整合 - 声明式事务 - Spring标签库 - Spring拦截器

软件架构

三层架构

  • 持久层–Mybatis - 表现层–Spring MVC - 控制器–Spring Controller

基于MVC模式

  • 视图–Jsp - 模型–JavaBean - 业务层–JavaBean

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行; 3. 将项目中spring-dao.xml配置文件中的数据库配置改为自己的配置 4. 运行项目,在浏览器中输入http://localhost:8080/ 登录

账户说明

系统默认用户里有四个,分别对应10001(总经理),10002(部门经理),10003(财务),10004(普通员工) 密码为000000 员工填写报销单后需要提交给部门经理审核,再由财务支付, 如果金额大于5000,还需要总经理审核。 总经理拥有 部门管理 和 员工管理 功能 部门经理拥有 员工管理 功能 其他职务没有

        Employee employee = (Employee) session.getAttribute("employee");
        if (employee.getPassword().equals(old)) {
            if(new1.equals(new2)){
                employee.setPassword(new1);
                globalBiz.changePassword(employee);
                return "redirect:self";
            }
        }
        return "redirect:to_change_password";
    }

}

public class LoginInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {

        String url = httpServletRequest.getRequestURI();
        if(url.toLowerCase().indexOf("login")>=0){
            return true;
        }

        HttpSession session = httpServletRequest.getSession();
        if(session.getAttribute("employee")!=null){
            return true;
        }
        httpServletResponse.sendRedirect("/to_login");
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
        return "claim_voucher_detail";
    }

    @RequestMapping("/self")
    public String self(HttpSession session,Map<String,Object> map){
        Employee employee = (Employee)session.getAttribute("employee");
        map.put("list",claimVoucherBiz.getForSelf(employee.getSn()));
        return "claim_voucher_self";
    }

    @RequestMapping("/deal")
    public String deal(HttpSession session,Map<String,Object> map){
        Employee employee = (Employee)session.getAttribute("employee");
        map.put("list",claimVoucherBiz.getForDeal(employee.getSn()));
        return "claim_voucher_deal";
    }

    @RequestMapping("/to_update")
    public String toUpdate(int id,Map<String,Object> map){
        map.put("items",Contant.getItems());
        ClaimVoucherInfo info = new ClaimVoucherInfo();
        info.setClaimVoucher(claimVoucherBiz.get(id));
        info.setItems(claimVoucherBiz.getItems(id));
        map.put("info",info);
        return "claim_voucher_update";
    }

    @RequestMapping("/update")
    public String update(HttpSession session,ClaimVoucherInfo info){
        Employee employee = (Employee)session.getAttribute("employee");
        info.getClaimVoucher().setCreateSn(employee.getSn());
        claimVoucherBiz.update(info.getClaimVoucher(),info.getItems());
        return "redirect:deal";
    }

    @RequestMapping("/submit")
    public String submit(int id){
        claimVoucherBiz.submit(id);
        return "redirect:deal";
    }

    @RequestMapping("/to_check")
    public String toCheck(int id,Map<String,Object> map){
        map.put("claimVoucher",claimVoucherBiz.get(id));
        map.put("items",claimVoucherBiz.getItems(id));
        map.put("records",claimVoucherBiz.getRecords(id));
public class GlobalController {

    @Autowired
    private GlobalBiz globalBiz;

    @RequestMapping("/to_login")
    public String toLogin(){
        return "login";
    }

    @RequestMapping("/login")
    @ResponseBody
    public String login(HttpSession session, HttpServletRequest request) throws Exception{
        String sn = request.getParameter("username");
        String password = request.getParameter("password");
        Employee employee = globalBiz.login(sn,password);
        if (employee == null) {
            return "false";
        }
        session.setAttribute("employee",employee);
        return "true";
    }

    @RequestMapping("/self")
    public String self(){
        return "self";
    }

    @RequestMapping("/quit")
    public String quit(HttpSession session){
        session.setAttribute("employee",null);
        return "redirect:to_login";
    }

    @RequestMapping("/to_change_password")
    public String toChangePassword(){
        return "change_password";
    }

    @RequestMapping("/change_password")
    public String changePassword(HttpSession session, @RequestParam String old, @RequestParam String new1,@RequestParam String new2){
        Employee employee = (Employee) session.getAttribute("employee");
        if (employee.getPassword().equals(old)) {
            if(new1.equals(new2)){
                employee.setPassword(new1);
                globalBiz.changePassword(employee);
                return "redirect:self";
            return result;
        }else {
            String webPath=request.getServletContext().getRealPath("");
            String filePath= "/static/upload_file/excel/";
            //把文件名换成(时间戳.png)
            String fileName=DateUtil.formatDate(new Date(), "yyyyMMdd-HHmmssSSS")+"_"+file.getOriginalFilename();

            FileUtil.makeDirs(webPath+filePath);
            //保存服务器
            file.transferTo(new File(webPath+filePath+fileName));

            //解析
            List<ClaimVoucherInfo> list =  excel_to_claimVoucherInfo(new File(webPath+filePath+fileName));

            //开始 上传 数据库
            for(ClaimVoucherInfo info:list) {
                claimVoucherBiz.save(info.getClaimVoucher(),info.getItems());
            }

            //删除用过的文件
            FileUtil.deleteFile(webPath+filePath+fileName);
        }
        result.put("success", true);
        result.put("msg", "导入成功");
        return result;
    }

    private List<ClaimVoucherInfo> excel_to_claimVoucherInfo(File userUploadFile) throws ParseException {
        List<ClaimVoucherInfo> list = new ArrayList<>();
        ClaimVoucherInfo claimVoucherInfo = null;
        ClaimVoucherItem claimVoucherItem = null;
        try {
            POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(userUploadFile));
            HSSFWorkbook wb = new HSSFWorkbook(fs);
            //获取第一个sheet页
            HSSFSheet sheet = wb.getSheetAt(0);
            if(sheet!=null){
                //从第二行开始导入数据
                for(int rowNum =1;rowNum<=sheet.getLastRowNum();rowNum++){
                    HSSFRow row = sheet.getRow(rowNum);
                    if(row==null){
                        continue;
                    }
                    if (row.getCell(0)!=null && !row.getCell(0).toString().isEmpty()){
                        claimVoucherInfo  = new ClaimVoucherInfo();
                        claimVoucherInfo.setClaimVoucher(new ClaimVoucher());
                        claimVoucherInfo.setItems(new ArrayList<ClaimVoucherItem>());
    }

    @PostMapping("/add")
    public String add(Employee employee){
        employeeBiz.add(employee);
        return "redirect:list";
    }

    @RequestMapping(value = "/to_update",params = "sn")
    public String toUpdate(String sn, Map<String,Object> map){
        map.put("employee",employeeBiz.get(sn));
        map.put("dlist",departmentBiz.getdlist());
        map.put("plist",Contant.getPost());
        return "employee_update";
    }

    @RequestMapping("/update")
    public String update(Employee employee){
        employeeBiz.edit(employee);
        return "redirect:list";
    }

    @RequestMapping(value = "/remove",params = "sn")
    public String remove(String sn){
        //根据员工工号找到对应报销单 再根据对应的报销单id删除报销单 最后删除员工信息
        List<ClaimVoucher> claimVoucherList = claimVoucherBiz.getForSelf(sn);
        if (!claimVoucherList.isEmpty() && claimVoucherList != null){
            List<Integer> ids = new ArrayList<>();
            for (ClaimVoucher claimVoucher : claimVoucherList){
                ids.add(claimVoucher.getId());
            }
            for (int id : ids){
                claimVoucherBiz.deleteById(id);
            }
        }
        employeeBiz.remove(sn);
        return "redirect:list";
    }

}


@Controller("claimVoucherController")
@RequestMapping("/claim_voucher")
public class ClaimVoucherController {

    @Autowired
    private ClaimVoucherBiz claimVoucherBiz;

    @Autowired
    private EmployeeBiz employeeBiz;

    @RequestMapping("/to_add")
    public String toAdd(Map<String,Object> map){
        map.put("items", Contant.getItems());
        map.put("info",new ClaimVoucherInfo());
        return "claim_voucher_add";
    }

    @RequestMapping("/add")
    public String add(HttpSession session, ClaimVoucherInfo info){
        Employee employee = (Employee)session.getAttribute("employee");
        info.getClaimVoucher().setCreateSn(employee.getSn());
        claimVoucherBiz.save(info.getClaimVoucher(),info.getItems());
        return "redirect:detail?id="+info.getClaimVoucher().getId();
    }

    @RequestMapping("/detail")
    public String detail(int id,Map<String,Object> map){
        map.put("claimVoucher",claimVoucherBiz.get(id));
        map.put("items",claimVoucherBiz.getItems(id));
        map.put("records",claimVoucherBiz.getRecords(id));
        return "claim_voucher_detail";
    }

    @RequestMapping("/self")
    public String self(HttpSession session,Map<String,Object> map){
        Employee employee = (Employee)session.getAttribute("employee");
        map.put("list",claimVoucherBiz.getForSelf(employee.getSn()));
        return "claim_voucher_self";
    }

    @RequestMapping("/deal")
    public String deal(HttpSession session,Map<String,Object> map){
        Employee employee = (Employee)session.getAttribute("employee");
        map.put("list",claimVoucherBiz.getForDeal(employee.getSn()));
public class EmployeeController {
    @Autowired
    private DepartmentBiz departmentBiz;
    @Autowired
    private EmployeeBiz employeeBiz;
    @Autowired
    private ClaimVoucherBiz claimVoucherBiz;
    @GetMapping("/list")
    public String list(Map<String,Object> map){
        map.put("list",employeeBiz.getAll());
        return "employee_list";
    }

    @RequestMapping("/to_add")
    public String toAdd(Employee employee,Map<String,Object> map){
        map.put("employee",employee);
        map.put("dlist",departmentBiz.getdlist());
        map.put("plist",Contant.getPost());
        return "employee_add";
    }

    @PostMapping("/add")
    public String add(Employee employee){
        employeeBiz.add(employee);
        return "redirect:list";
    }

    @RequestMapping(value = "/to_update",params = "sn")
    public String toUpdate(String sn, Map<String,Object> map){
        map.put("employee",employeeBiz.get(sn));
        map.put("dlist",departmentBiz.getdlist());
        map.put("plist",Contant.getPost());
        return "employee_update";
    }

    @RequestMapping("/update")
    public String update(Employee employee){
        employeeBiz.edit(employee);
        return "redirect:list";
    }

                }
                employeeBiz.remove(employee.getSn());
            }
        }
        departmentBiz.remove(sn);
        return "redirect:list";
    }

}

@Controller("employeeController")
@RequestMapping("/employee")
public class EmployeeController {
    @Autowired
    private DepartmentBiz departmentBiz;
    @Autowired
    private EmployeeBiz employeeBiz;
    @Autowired
    private ClaimVoucherBiz claimVoucherBiz;
    @GetMapping("/list")
    public String list(Map<String,Object> map){
        map.put("list",employeeBiz.getAll());
        return "employee_list";
    }

    @RequestMapping("/to_add")
    public String toAdd(Employee employee,Map<String,Object> map){
        map.put("employee",employee);
        map.put("dlist",departmentBiz.getdlist());
        map.put("plist",Contant.getPost());
        return "employee_add";
    }

    @PostMapping("/add")
    public String add(Employee employee){

    @RequestMapping("/check")
    public String check(HttpSession session, DealRecord dealRecord){
        Employee employee = (Employee)session.getAttribute("employee");
        dealRecord.setDealSn(employee.getSn());
        claimVoucherBiz.deal(dealRecord);
        return "redirect:deal";
    }

    @RequestMapping("/fuzzyQuery")
    public String fuzzyQuery(HttpSession session,Map<String,Object> map,@RequestParam String status,@RequestParam String total_amount,@RequestParam String create_time) throws ParseException, IOException {
        Employee employee = (Employee)session.getAttribute("employee");
        String createSn = employee.getSn();
        Double totalAmount = null;
        if (!total_amount.isEmpty() && total_amount != null){
            totalAmount = Double.valueOf(total_amount);
        }
        map.put("list",claimVoucherBiz.fuzzyQuery(createSn,status,totalAmount,create_time));
        return "claim_voucher_self";
    }

    @RequestMapping("/fuzzyQueryForDeal")
    public String fuzzyQueryForDeal(HttpSession session,Map<String,Object> map,@RequestParam String createSn,@RequestParam String status,@RequestParam String total_amount,@RequestParam String create_time){
        Employee employee = (Employee)session.getAttribute("employee");
        String nextDealSn = employee.getSn();
        Double totalAmount = null;
        if (!total_amount.isEmpty() && total_amount != null){
            totalAmount = Double.valueOf(total_amount);
        }
        map.put("list",claimVoucherBiz.fuzzyQueryForDeal(createSn,nextDealSn,status,totalAmount,create_time));
        return "claim_voucher_deal";
    }

    @RequestMapping("/delete")
    @ResponseBody
    public String deleteClaimVoucher(@RequestParam("ids") String ids){
        if (ids.length()==0 || ids.isEmpty()){
            return null;
        }
        String[] str = ids.split(",");
        List<Integer> id = new ArrayList<>();
        for (int i = 0 ; i < str.length ; i++){
            id.add(Integer.parseInt(str[i]));
        }
        for (Integer i : id){
            claimVoucherBiz.deleteById(i);
        }
        return null;
    }

@Controller("employeeController")
@RequestMapping("/employee")
public class EmployeeController {
    @Autowired
    private DepartmentBiz departmentBiz;
    @Autowired
    private EmployeeBiz employeeBiz;
    @Autowired
    private ClaimVoucherBiz claimVoucherBiz;
    @GetMapping("/list")
    public String list(Map<String,Object> map){
        map.put("list",employeeBiz.getAll());
        return "employee_list";
    }

    @RequestMapping("/to_add")
    public String toAdd(Employee employee,Map<String,Object> map){
        map.put("employee",employee);
        map.put("dlist",departmentBiz.getdlist());
        map.put("plist",Contant.getPost());
        return "employee_add";
    }

    @PostMapping("/add")
    public String add(Employee employee){
        employeeBiz.add(employee);
        return "redirect:list";
    }

    @RequestMapping(value = "/to_update",params = "sn")
    public String toUpdate(String sn, Map<String,Object> map){
        map.put("employee",employeeBiz.get(sn));
        map.put("dlist",departmentBiz.getdlist());
        map.put("plist",Contant.getPost());
    @RequestMapping(value = "/to_update",params = "sn")
    public String toUpdate(String sn, Map<String,Object> map){
        map.put("department",departmentBiz.get(sn));
        return "department_update";
    }

    @RequestMapping("/update")
    public String update(Department department){
        departmentBiz.edit(department);
        return "redirect:list";
    }

    @RequestMapping(value = "/remove",params = "sn")
    public String remove(String sn){
        //根据部门号找到对应的员工
        List<Employee> employeeList = employeeDao.selectByDepartmentAndPost(sn,null);
        List<ClaimVoucher> claimVoucherList = null;
        List<Integer> ids = null;
        if (!employeeList.isEmpty() && employeeList != null){
            //删除员工及其报销单
            for (Employee employee : employeeList){
                //根据报销单id删除报销单
                claimVoucherList = claimVoucherBiz.getForSelf(employee.getSn());
                if (!claimVoucherList.isEmpty() && claimVoucherList != null){
                    ids = new ArrayList<>();
                    for (ClaimVoucher claimVoucher : claimVoucherList){
                        ids.add(claimVoucher.getId());
                    }
                    for (int id : ids){
                        claimVoucherBiz.deleteById(id);
                    }
                }
                employeeBiz.remove(employee.getSn());
            }
        }
        departmentBiz.remove(sn);
        return "redirect:list";
    }


@WebFilter("/EocdingFilter")
public class EncodingFilter implements Filter {

    private String encoding = "utf-8";

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest)servletRequest;
        HttpServletResponse response = (HttpServletResponse)servletResponse;
        request.setCharacterEncoding(encoding);
        response.setCharacterEncoding(encoding);
        filterChain.doFilter(request,response);
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        if(filterConfig.getInitParameter("encoding")!=null){
            encoding = filterConfig.getInitParameter("encoding");
        }
    }

    @Override
    public void destroy() {

    }
}

public class ResponseUtil {
    public static void write(HttpServletResponse response, Object o)throws Exception{
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        out.println(o.toString());
        out.flush();
        out.close();
    }

    public static void export(HttpServletResponse response, Workbook wb, String fileName)throws Exception{
        response.setHeader("Content-Disposition", "attachment;filename="+new String(fileName.getBytes("utf-8"),"iso8859-1"));
        response.setContentType("application/ynd.ms-excel;charset=UTF-8");
        claimVoucherBiz.deal(dealRecord);
        return "redirect:deal";
    }

    @RequestMapping("/fuzzyQuery")
    public String fuzzyQuery(HttpSession session,Map<String,Object> map,@RequestParam String status,@RequestParam String total_amount,@RequestParam String create_time) throws ParseException, IOException {
        Employee employee = (Employee)session.getAttribute("employee");
        String createSn = employee.getSn();
        Double totalAmount = null;
        if (!total_amount.isEmpty() && total_amount != null){
            totalAmount = Double.valueOf(total_amount);
        }
        map.put("list",claimVoucherBiz.fuzzyQuery(createSn,status,totalAmount,create_time));
        return "claim_voucher_self";
    }

    @RequestMapping("/fuzzyQueryForDeal")
    public String fuzzyQueryForDeal(HttpSession session,Map<String,Object> map,@RequestParam String createSn,@RequestParam String status,@RequestParam String total_amount,@RequestParam String create_time){
        Employee employee = (Employee)session.getAttribute("employee");
        String nextDealSn = employee.getSn();
        Double totalAmount = null;
        if (!total_amount.isEmpty() && total_amount != null){
            totalAmount = Double.valueOf(total_amount);
        }
        map.put("list",claimVoucherBiz.fuzzyQueryForDeal(createSn,nextDealSn,status,totalAmount,create_time));
        return "claim_voucher_deal";
    }

    @RequestMapping("/delete")
    @ResponseBody
    public String deleteClaimVoucher(@RequestParam("ids") String ids){
        if (ids.length()==0 || ids.isEmpty()){
            return null;
        }
        String[] str = ids.split(",");
        List<Integer> id = new ArrayList<>();
        for (int i = 0 ; i < str.length ; i++){
            id.add(Integer.parseInt(str[i]));
        }
        for (Integer i : id){
            claimVoucherBiz.deleteById(i);
        }
        return null;
    }

    @RequestMapping(value = "/export")
    public String exportExcel(HttpServletResponse response, HttpServletRequest  request,String ids) throws Exception {
        if (ids.length()==0 || ids.isEmpty()){
            return null;
        }
        String[] str = ids.split(",");
        List<Integer> id = new ArrayList<>();
    @RequestMapping("/deal")
    public String deal(HttpSession session,Map<String,Object> map){
        Employee employee = (Employee)session.getAttribute("employee");
        map.put("list",claimVoucherBiz.getForDeal(employee.getSn()));
        return "claim_voucher_deal";
    }

    @RequestMapping("/to_update")
    public String toUpdate(int id,Map<String,Object> map){
        map.put("items",Contant.getItems());
        ClaimVoucherInfo info = new ClaimVoucherInfo();
        info.setClaimVoucher(claimVoucherBiz.get(id));
        info.setItems(claimVoucherBiz.getItems(id));
        map.put("info",info);
        return "claim_voucher_update";
    }

    @RequestMapping("/update")
    public String update(HttpSession session,ClaimVoucherInfo info){
        Employee employee = (Employee)session.getAttribute("employee");
        info.getClaimVoucher().setCreateSn(employee.getSn());
        claimVoucherBiz.update(info.getClaimVoucher(),info.getItems());
        return "redirect:deal";
    }

    @RequestMapping("/submit")
    public String submit(int id){
        claimVoucherBiz.submit(id);
        return "redirect:deal";
    }

    @RequestMapping("/to_check")
    public String toCheck(int id,Map<String,Object> map){
        map.put("claimVoucher",claimVoucherBiz.get(id));
        map.put("items",claimVoucherBiz.getItems(id));
        map.put("records",claimVoucherBiz.getRecords(id));
        DealRecord dealRecord =new DealRecord();
        dealRecord.setClaimVoucherId(id);
        map.put("record",dealRecord);
        return "claim_voucher_check";
    }

    }

    @RequestMapping("/add")
    public String add(Department department){
        departmentBiz.add(department);
        return "redirect:list";
    }

    @RequestMapping(value = "/to_update",params = "sn")
    public String toUpdate(String sn, Map<String,Object> map){
        map.put("department",departmentBiz.get(sn));
        return "department_update";
    }

    @RequestMapping("/update")
    public String update(Department department){
        departmentBiz.edit(department);
        return "redirect:list";
    }

    @RequestMapping(value = "/remove",params = "sn")
    public String remove(String sn){
        //根据部门号找到对应的员工
        List<Employee> employeeList = employeeDao.selectByDepartmentAndPost(sn,null);
        List<ClaimVoucher> claimVoucherList = null;
        List<Integer> ids = null;
        if (!employeeList.isEmpty() && employeeList != null){
            //删除员工及其报销单
            for (Employee employee : employeeList){
                //根据报销单id删除报销单
                claimVoucherList = claimVoucherBiz.getForSelf(employee.getSn());
                if (!claimVoucherList.isEmpty() && claimVoucherList != null){
                    ids = new ArrayList<>();
                    for (ClaimVoucher claimVoucher : claimVoucherList){
                        ids.add(claimVoucher.getId());
                    }
                    for (int id : ids){
                        claimVoucherBiz.deleteById(id);
                    }
                }
                employeeBiz.remove(employee.getSn());
            }
        }
        departmentBiz.remove(sn);
        return "redirect:list";
    }

}

    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {

        String url = httpServletRequest.getRequestURI();
        if(url.toLowerCase().indexOf("login")>=0){
            return true;
        }

        HttpSession session = httpServletRequest.getSession();
        if(session.getAttribute("employee")!=null){
            return true;
        }
        httpServletResponse.sendRedirect("/to_login");
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}

@WebFilter("/EocdingFilter")
public class EncodingFilter implements Filter {

    private String encoding = "utf-8";

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest)servletRequest;
        HttpServletResponse response = (HttpServletResponse)servletResponse;
        request.setCharacterEncoding(encoding);
        response.setCharacterEncoding(encoding);
        filterChain.doFilter(request,response);
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    @RequestMapping("/update")
    public String update(Department department){
        departmentBiz.edit(department);
        return "redirect:list";
    }

    @RequestMapping(value = "/remove",params = "sn")
    public String remove(String sn){
        //根据部门号找到对应的员工
        List<Employee> employeeList = employeeDao.selectByDepartmentAndPost(sn,null);
        List<ClaimVoucher> claimVoucherList = null;
        List<Integer> ids = null;
        if (!employeeList.isEmpty() && employeeList != null){
            //删除员工及其报销单
            for (Employee employee : employeeList){
                //根据报销单id删除报销单
                claimVoucherList = claimVoucherBiz.getForSelf(employee.getSn());
                if (!claimVoucherList.isEmpty() && claimVoucherList != null){
                    ids = new ArrayList<>();
                    for (ClaimVoucher claimVoucher : claimVoucherList){
                        ids.add(claimVoucher.getId());
                    }
                    for (int id : ids){
                        claimVoucherBiz.deleteById(id);
                    }
                }
                employeeBiz.remove(employee.getSn());
            }
        }
        departmentBiz.remove(sn);
        return "redirect:list";
    }

}

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值