基于javaweb+mysql的springboot学生会管理系统(java+springboot+thymeleaf+html+layui+bootstrap+maven+mysql)

基于javaweb+mysql的springboot学生会管理系统(java+springboot+thymeleaf+html+layui+bootstrap+maven+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SpringBoot学生会管理系统(java+springboot+thymeleaf+html+layui+bootstrap+maven+mysql)

项目介绍

学生会管理系统.主要功能包括:

后台首页:最新活动展示、最新公告、学生会部门职能介绍; 财务管理:资金报销登记、赞助商管理; 物资管理:物资借还管理、全部物资;添加、编辑、删除; 日常事务管理:工作计划管理、活动管理、文件管理; 申请请假:添加、修改、删除、查看;

我的待办;

环境需要

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. 后端:SpringBoot

  2. 前端:Thymeleaf+html+layui+jQuery+bootstrap

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 将项目中application.yml及activiti.cfg.xml配置文件中的数据库配置改为自己的配置; 3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行; 4. 运行项目,输入localhost:8085 登录
    
    @Autowired
    private IquanxianService permissionService;

    /**
     * 查询所有权限数据
     * @param quanxianv
     * @return
     */
    @RequestMapping("loadAllPermission")
    public Dataobj loadAllPermission(quanxianv quanxianv){
        IPage<permisson> page = new Page<>(quanxianv.getPage(), quanxianv.getLimit());
        //进行模糊查询
        QueryWrapper<permisson> q = new QueryWrapper<>();
        //只能查询权限
        q.eq("type", Changliang.TYPE_PERMISSION);
        q.like(StringUtils.isNotBlank(quanxianv.getTitle()),"title", quanxianv.getTitle());
        q.like(StringUtils.isNotBlank(quanxianv.getPercode()),"percode", quanxianv.getPercode());
        q.eq(quanxianv.getId()!=null,"pid", quanxianv.getId());
        q.orderByAsc("id");
        //进行查询
        permissionService.page(page,q);
        //返回DataGridView
        List list =permissionService.list(q);
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }else {
            //返回DataGridView
            return new Dataobj(page.getRecords(), page.getTotal());
        }
    }

    /**
     * 添加权限
     * @param quanxianv
     * @return
     */
    @RequestMapping("addPermission")
    public resultreturn addPermission(quanxianv quanxianv){
        try {
            //设置添加类型为 permission
            quanxianv.setType(Changliang.TYPE_PERMISSION);
            permissionService.save(quanxianv);
            return resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.ADD_ERROR;
        }
     * @return
     */
    @RequestMapping("batchDeletesponsors")
    public Resultreturn batchDeletefiles(SponsorVo sponsorVo){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : sponsorVo.getIds()) {
                idList.add(id);
            }
            sponsorService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

}

@RestController
@RequestMapping("/activitys")
public class HuodonController {

    @Autowired
    private ActivitysService activitysService;

    /**
     * 查询活动
     * @param
     * @return
     */
    @RequestMapping("loadAllactivitys")
    public Dataobj loadAllGoods1(huodonv huodonv){
                login.setLoginip(request.getRemoteAddr());
                login.setLogintime(new Date());
                loginService.save(login);
//                   User user = userRenZheng.getUser();
//                   Client client= new  Client();
//                   client.connectton(user);
//                   Thread thread=new Thread(client);
//                   thread.start();
//                  map.put(user.getName(),client);

                    //将user存储到session中
                    session.setAttribute("user", userRenZheng.getUser());
                    return resultreturn.LOGIN_SUCCESS;
                }

            } catch (UnknownAccountException e) {

                return resultreturn.LOGIN_ERROR_PASS;

            }catch (IncorrectCredentialsException e){

                return resultreturn.LOGIN_ERROR_PASS;
            }
        }else {
            return resultreturn.LOGIN_ERROR_CODE;
        }
    }

    //查询当前用户信息
    @RequestMapping("getNowUser")
    public User getNowUser(HttpSession session) {
        //1.获取当前session中的user
        User user1 = (User) session.getAttribute("user");
        return user1;
    }
//
//    @RequestMapping("readMessage")
//    public  String  readMessage(HttpSession session){
//        User user= (User) session.getAttribute("user");
//        Client client = null;
//        String message="";
//        for (String s:map.keySet()){
//
//            if (s==user.getName()){
//                client=map.get(s);
//                message=client.returnMessage();
//            }
//        }
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.UPDATE_ERROR;
        }
    }

    //删除赞助商
    @RequestMapping("deletesponsors")
    public Resultreturn deletesponsors(Integer id){
        try {

            sponsorService.removeById(id);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 批量删除
     * @param sponsorVo 选中的
     * @return
     */
    @RequestMapping("batchDeletesponsors")
    public Resultreturn batchDeletefiles(SponsorVo sponsorVo){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : sponsorVo.getIds()) {
                idList.add(id);
            }
            sponsorService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

}

        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 批量删除
     * @param plansVo 选中的
     * @return
     */
    @RequestMapping("batchDeleteplans")
    public Resultreturn batchDeletefiles(PlansVo plansVo){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : plansVo.getIds()) {
                idList.add(id);
            }
            plansService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

}

            e.printStackTrace();
            return Resultreturn.ADD_ERROR;
        }
    }
    /** 修改赞助商*/
    @RequestMapping("updatesponsors")
    public Resultreturn updatesponsors(SponsorVo sponsorVo){
        try {
            sponsorService.updateById(sponsorVo);
            return Resultreturn.UPDATE_SUCCESS;

        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.UPDATE_ERROR;
        }
    }

    //删除赞助商
    @RequestMapping("deletesponsors")
    public Resultreturn deletesponsors(Integer id){
        try {

            sponsorService.removeById(id);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 批量删除
     * @param sponsorVo 选中的
     * @return
     */
    @RequestMapping("batchDeletesponsors")
    public Resultreturn batchDeletefiles(SponsorVo sponsorVo){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : sponsorVo.getIds()) {
                idList.add(id);
            }
            sponsorService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

            try {
                    records records = new records();//实例化审核记录实体类
                     com.ywj.system.model.leaver useleaver=new leaver();//实例化请假实体类
                     Map<String, Object> variables = new HashMap<String, Object>();//实例化map集合
                    User user = (User) session.getAttribute("user");//通过session获取当前用户信息
                if(user.getRemark().equals("干事")) {//判断当前用户身份
                    QueryWrapper<leaver> queryWrapper = new QueryWrapper<>();
                    //查询请假人和请假状态为审核中的请假单
                    queryWrapper.eq("leaver", task.getLeaver()).eq("status", 2);
                    List<leaver> leaver= leaverService.list(queryWrapper);

                    QueryWrapper<leaver> qu = new QueryWrapper<>();
                    //查询请假人和请假状态为被驳回的请假单
                    qu.eq("leaver", task.getLeaver()).eq("status", 3);
                    List<leaver> lea= leaverService.list(qu);
                 if(lea.isEmpty()){//如果为空表示当前任务为初次办理
                            //循环遍历查询出来的请假状态为审核中的请假单
                        for (com.ywj.system.model.leaver item:leaver) {

                            //设置流程变量以便传入流程中
                            variables.put("请假人", item.getLeaver());
                            variables.put("请假id", item.getId());
                            variables.put("请假类型", item.getStyle());
                            variables.put("请假原因", item.getLeavereson());
                            variables.put("备注", item.getRemark());
                            variables.put("请假时间", new Date());
                            variables.put("请假流程", 0);
                            records.setLeaverid(item.getId());
                        }
                    }else {//否则表示当前任务为二次办理
                        //遍历请假状态为被驳回的请假单
                        for (com.ywj.system.model.leaver leaver1:lea) {
                            //设置流程变量以便传入流程中
                            variables.put("请假人", leaver1.getLeaver());
                            variables.put("请假id", leaver1.getId());
                            variables.put("请假类型", leaver1.getStyle());
                            variables.put("请假原因", leaver1.getLeavereson());
                            variables.put("备注", leaver1.getRemark());
                            records.setLeaverid(leaver1.getId());
                        }
                    }
                    //设置流程变量
                    variables.put("请假时间", new Date());
                    variables.put("干事批注", task.getGanpi());
                    //审核记录
                    records.setId(task.getId());
                    records.setName(task.getName());
                    records.setPizhu(task.getGanpi());
                    records.setRecordtime(new Date());
                    records.setStatu(1);
                    variables.put("dapartment", user.getLogintype().toString());
            return resultreturn.DELETE_ERROR;
        }
    }
    
    
}

@RestController
@RequestMapping("/files")
public class FilesControler {

    @Autowired
    private FilesService filesService;

    /**
     * 查询文件
     * @param
     * @return
     */
    @RequestMapping("loadAllfiles")
    public Dataobj loadAllfiles(FileVo fileVo){

        IPage<file> page = new Page<>(fileVo.getPage(),fileVo.getLimit());
        QueryWrapper<file> q = new QueryWrapper<>();
        q.like(StringUtils.isNotBlank(fileVo.getFilename()),"filename",fileVo.getFilename());
        q.like(StringUtils.isNotBlank(fileVo.getDept()),"dept",fileVo.getDept());
        q.like(StringUtils.isNotBlank(fileVo.getPersoncharge()),"personcharge",fileVo.getPersoncharge());
        q.orderByAsc("fileid");
        filesService.page(page,q);
        List list =filesService.list(q);
                    this.processEngine.getTaskService().complete(task.getId().toString(), variables);

                } else if(user.getRemark().equals("部长")) {

                    if(task.getLeaver().equals(user.getName())){//如果成立表示部长请假
                        QueryWrapper<leaver> queryWrapper = new QueryWrapper<>();
                        //查询请假状态为初始化的请假单
                        queryWrapper.eq("leaver", task.getLeaver()).eq("status", 2);
                        List<leaver> leaver= leaverService.list(queryWrapper);
                        QueryWrapper<leaver> qu = new QueryWrapper<>();
                        //查询请假状态为被驳回的请假单
                        qu.eq("leaver", task.getLeaver()).eq("status", 3);
                        List<leaver> lea= leaverService.list(qu);
                        if(lea.isEmpty()){//如果为空表示初次办理任务
                                //循环遍历请假状态为初始化的请假单
                                for (com.ywj.system.model.leaver item:leaver) {
                                    //将信息加入map,以便传入流程中
                                    variables.put("请假人", item.getLeaver());
                                    variables.put("请假id", item.getId());
                                    variables.put("请假类型", item.getStyle());
                                    variables.put("请假原因", item.getLeavereson());
                                    variables.put("备注", item.getRemark());
                                    variables.put("请假时间", new Date());
                                    records.setLeaverid(item.getId());
                                }
                            }else {//循环遍历请假状态为被驳回的请假单
                                for (com.ywj.system.model.leaver leaver1:lea) {
                                    //将信息加入map,以便传入流程中
                                    variables.put("请假人", leaver1.getLeaver());
                                    variables.put("请假id", leaver1.getId());
                                    variables.put("请假类型", leaver1.getStyle());
                                    variables.put("请假原因", leaver1.getLeavereson());
                                    variables.put("备注", leaver1.getRemark());
                                    records.setLeaverid(leaver1.getId());
                                }
                            }
                        //设置流程变量,确保流程正常运行
                             variables.put("部长批注", task.getPi());
                            variables.put("请假时间", new Date());
                            //设置审核记录
                            records.setId(task.getId());
                            records.setName(task.getName());
                            records.setPizhu(task.getPi());
                            records.setRecordtime(new Date());
                            records.setStatu(1);
                            //添加审核记录
                            recordsService.save(records);
                    }else {//表示干事请假
                        //将信息加入map,以便传入流程
                        variables.put("result", task.getResult());
     * @param userv
     * @return
     */
    @RequestMapping("updateUser")
    public resultreturn updateUser(userv userv){
        try {
            userService.updateById(userv);
            return resultreturn.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.UPDATE_ERROR;
        }
    }

    /**
     * 删除用户
     * @param id
     * @return
     */
    @RequestMapping("deleteUser/{id}")
    public resultreturn deleteUser(@PathVariable("id") Integer id){
        try {
            userService.removeById(id);
            return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 根据用户id查询角色并选中已拥有的角色
     * @param id 用户id
     * @return
     */
    @RequestMapping("initRoleByUserId")
    public Dataobj initRoleByUserId(Integer id){
        //1.查询所有可用的角色
        QueryWrapper<role> q = new QueryWrapper<>();
        queryWrapper.orderByAsc("id");
        roleService.page(page,queryWrapper);
        List list =roleService.list(queryWrapper);
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }else {
            //返回DataGridView
            return new Dataobj(page.getRecords(), page.getTotal());
        }
    }

    /**
     * 添加角色
     * @param jiaosev
     * @return
     */
    @RequestMapping("addRole")
    public resultreturn addRole(jiaosev jiaosev){
        try {
            roleService.save(jiaosev);
            return resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.ADD_ERROR;
        }
    }

    /**
     * 修改角色
     * @param jiaosev
     * @return
     */
    @RequestMapping("updateRole")
    public resultreturn updateRole(jiaosev jiaosev){
        try {
            roleService.updateById(jiaosev);
            return resultreturn.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.UPDATE_ERROR;
        }
    }

    /**
     * 删除角色
            }
            else {
                return Resultreturn.DELETE_ERRORss;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }
}

public class ServerSocket implements Runnable {
    String message="";

    public String getMessage() {
        return this.message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    java.net.ServerSocket server = null;
    Socket socket = null;
  public   List<Socket> sockets=new ArrayList<Socket>();
  public   static int socketNum=0;
    HttpSession session;

    public ServerSocket(int port) throws IOException {
        server=new java.net.ServerSocket(port);
    }

    public void sendmsg(String tf,Socket socket) {
        //写操作
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }else {
            //返回DataGridView
            return new Dataobj(page.getRecords(), page.getTotal());
        }
    }

    /**
     * 删除登陆容器
     *  @return
     */
    @RequestMapping("deleteLogin")
    public resultreturn deleteLogin(Integer id){
        try {
            loginService.removeById(id);
            return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 批量删除
     * @param
     * @return
     */
    @RequestMapping("batchDeletelogin")
    public resultreturn batchDeletelogin(loginV loginV){
        try {
            Collection<Serializable> idList = new ArrayList<>();
            for (Integer id : loginV.getIds()) {
                idList.add(id);
            }
            loginService.removeByIds(idList);
            return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DELETE_ERROR;
        }
    }

}


        List<org.activiti.engine.task.Task> list =this.processEngine.getTaskService()
                .createTaskQuery()
                .taskAssignee(username)//个人任务的查询
                .list();
        List<task> list1=new ArrayList<task>();

        if(list!=null && list.size()>0){
            for (org.activiti.engine.task.Task task1:list) {
                task tak=new task();
                Integer procressId = (Integer) taskService.getVariable(task1.getId(), "请假流程");
                tak.setProcressId(procressId);
                tak.setId(Integer.parseInt(task1.getId()));
                tak.setName(task1.getName());
                tak.setAssignee(task1.getAssignee());
                tak.setProcessInstanceId(task1.getProcessInstanceId());
                tak.setCreateTime(task1.getCreateTime());
                tak.setLeaver(leaver.getLeaver());
                tak.setReason(leaver.getLeavereson());
                tak.setLeaverId(leaver.getId());
                tak.setRemart(leaver.getRemark());
                tak.setTime(new Date());
                tak.setStyle(leaver.getStyle());
                list1.add(tak);
            }
        }
        return list1;
    }

    @RequestMapping("loadAllTask")
    public Dataobj loadAllTask(HttpSession session) {
        User userName = (User) session.getAttribute("user");
        QueryWrapper<leaver> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("leaver",userName.getName()).eq("status",3);
        List<leaver> leave=leaverService.list(queryWrapper);

        QueryWrapper<leaver> query=new QueryWrapper<>();
        query.eq("leaver",userName.getName()).eq("status",2);
       leaver leave1=leaverService.getOne(query);
        List<task> list1 = null;
        if (userName.getRemark().equals("干事")&&leave.isEmpty()) {
            list1 = findPersonalTask(userName.getName());
        }else {
            list1 = findPersonalTaskList(userName.getName());
        }
            long num = list1.size();
            if (list1.size() == 0) {
        }

    }

    /**
     * 批量删除
     * @param goodsVo 选中
     * @return
     */
    @RequestMapping("batchDeleteGoods")
    public Resultreturn batchDeletefiles(GoodsVo goodsVo){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : goodsVo.getIds()) {
                idList.add(id);
            }
            goodsService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    //删除物资
    @RequestMapping("deleteGoods")
    public Resultreturn deleteGoods(Integer id, Integer status){
        try {
            if (status==1)
            {
                goodsService.removeById(id);
                return Resultreturn.DELETE_SUCCESS;
            }
            else {
                return Resultreturn.DELETE_ERRORs;
            }

    @RequestMapping("updateLeave")
    public resultreturn updateLeave(LeaveV leaveV){
        try {
            leaverService.updateById(leaveV);
            return resultreturn.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.UPDATE_ERROR;
        }
    }

    /**
     * 批量删除
     */
    @RequestMapping("batchDeleterleaves")
    public Resultreturn batchDeleterleaves(LeaveV leaveV){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id1 : leaveV.getIds()) {
                idList.add(id1);
            }
            leaverService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 删除请假单
     * @param id
     * @return
     */
    @RequestMapping("deleteLeave")
    public resultreturn deleteLeave(Integer id){
        try {
                leaverService.removeById(id);
                return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.UPDATE_ERROR;
        }
    }

    /**
     * 删除角色
     * @param id
     * @return
     */
    @RequestMapping("deleteRole")
    public resultreturn deleteRole(Integer id){
        try {
            this.roleService.removeById(id);
            return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 根据用户id查询角色并选中已拥有的角色
     * @param id 用户id
     * @return
     */
    @RequestMapping("initPermissionByRoleId")
    public Dataobj initPermissionByRoleId(Integer id){
        //1.查询所有可用的权限
        QueryWrapper<permisson> q = new QueryWrapper<>();
        q.eq("available", changliang.AVAILABLE_TRUE);
        List<Map<String, Object>> listMaps = permissionService.listMaps(q);
        //2.查询当前角色拥有的PID集合
        List<Integer> currentUserRoleIds = roleService.queryRolePermissionIdsByRid(id);
        for (Map<String, Object> map : listMaps) {
            Boolean LAY_CHECKED=false;
            Integer perssionId = (Integer) map.get("pid");
            for (Integer pid : currentUserRoleIds) {
                //如果当前角色已有该权限,则让LAY_CHECKED为true。LAY_CHECKED为true时,复选框选中
                if (pid.equals(perssionId)){
                    LAY_CHECKED=true;
                    break;
                }
            }
            map.put("LAY_CHECKED",LAY_CHECKED);
        }

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值