杨校老师项目之基于SSM大学生创新创业项目管理系统

简介: 杨校老师项目之基于SSM大学生创新创业项目管理系统
1. 获取代码:

自助下载获取https://download.csdn.net/download/kese7952/85357941

2. 项目描述

基于SSM框架开发的大学生创新创业项目管理平台。

3.功能简介

4. 技术栈:

html + JavaScript + Ajax + SSM + MySQL + LayUI + Bootstrap

5. 运行环境

IntelliJ IDEA/Eclipse + MySQL5.7+ JDK1.8 + Maven3.5.4 + Tomcat9.0 + Redis6.1

6.后台界面

后台首页

角色管理


用户管理

权限管理

通知管理

文件管理


所有项目

中期检查

立项阶段

结题阶段

管理员个人资料


7. 前台界面


8. 代码展示
  • 8.1 评审的实体类
package com.ieps.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Mryang
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class Review implements Serializable {
    
    private Integer id;
    
    // 评委职工号
    private String userNum;
    
    // 项目编号
    private String itemNum;
    
    // 分数
    private BigDecimal reviewScore;
    
    // 评审意见
    private String reviewOption;
    
    // 评审类型(0:立项申请;1:中期检查;2:结题申请)
    private Integer reviewType;
    
    // 评审级别(0:指导老师评审;1:学院评审;2:学校评审)
    private Integer reviewLevel;
    
    // 评审时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date reviewTime;
    
    private Date createTime;
    
    private Date updateTime;
    
}

  • 8.2 评审的controller控制器
package com.ieps.controller;

import com.ieps.common.ServerResponse;
import com.ieps.dto.ReviewAdminDto;
import com.ieps.pojo.User;
import com.ieps.service.ReviewAdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;

/**
 * @author Mryang
 */
@Controller
public class ReviewAdminController {

    @Autowired
    private ReviewAdminService reviewAdminService;
    
    /**
     * 根据项目编号(itemNum)评审结果,分页显示
     * @param page
     * @param itemNum
     * @param limit
     * @param session
     * @param userNum
     * @return
     */
    @RequestMapping("/getAllReviewWithItemNum.do")
    @ResponseBody
    public ServerResponse getAllReviewWithItemNum(@RequestParam(value = "page", defaultValue = "1") int page, String itemNum,
                                                  @RequestParam(value = "limit", defaultValue = "10") int limit, HttpSession session,
                                                  @RequestParam("userNum") String userNum) {
    
    
        User user = (User) session.getAttribute("activeUser");
    
        
        return reviewAdminService.getAllReviewListWithItemNum(page, limit, itemNum);
    
    }
    
    
    @RequestMapping("/checkReview.do")
    @ResponseBody
    public ServerResponse checkReview(ReviewAdminDto reviewAdminDto, HttpSession session) {
       
        User user = (User) session.getAttribute("activeUser");
        
        return reviewAdminService.checkReview(reviewAdminDto);
        
    }
    

}

  • 8.3 评审的业务逻辑接口
package com.ieps.service;

import com.ieps.common.ServerResponse;
import com.ieps.dto.ReviewAdminDto;

/**
 * @author Mryang
 */
public interface ReviewAdminService {
    
    ServerResponse getAllReviewListWithItemNum(int pageNum, int pageSize, String itemNum);
    
    ServerResponse checkReview(ReviewAdminDto reviewAdminDto);
    
}


  • 8.4 货物的业务逻辑接口的实现类
package com.ieps.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ieps.common.ServerResponse;
import com.ieps.dto.ReviewAdminDto;
import com.ieps.mapper.ReviewMapper;
import com.ieps.service.ReviewAdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author Mryang
 */
@Service
public class ReviewAdminServiceImpl implements ReviewAdminService {
    
    @Autowired
    private ReviewMapper reviewMapper;
    
    
    @Override
    public ServerResponse getAllReviewListWithItemNum(int pageNum, int pageSize, String itemNum) {
    
        PageHelper.startPage(pageNum, pageSize);
    
        List<ReviewAdminDto> reviewAdminDtoList = reviewMapper.selectAllReviewListWithItemNum(itemNum);
        
        
        // 评审类型:1:立项评审;2:中期检查;3:结题评审
        for (int i = 0; i < reviewAdminDtoList.size(); i++) {
            if (reviewAdminDtoList.get(i).getReviewType() == 1) {
                reviewAdminDtoList.get(i).setReviewAdminType("立项评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewType() == 2) {
                reviewAdminDtoList.get(i).setReviewAdminType("中期检查");
            }
            else if (reviewAdminDtoList.get(i).getReviewType() == 3) {
                reviewAdminDtoList.get(i).setReviewAdminType("结题评审");
            }
        }
        
        // 评审级别: 1:院级评审;2:校级评审;3:省区级评审;4:国家级评审
        for (int i = 0; i < reviewAdminDtoList.size(); i++) {
            if (reviewAdminDtoList.get(i).getReviewLevel() == 1) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("院级评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewLevel() == 2) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("校级评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewLevel() == 3) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("省区级评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewLevel() == 4) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("国家级评审");
            }
        }
    
        PageInfo pageInfo = new PageInfo(reviewAdminDtoList);
        
        return ServerResponse.createBySuccess(pageInfo);
    }
    
    @Override
    public ServerResponse checkReview(ReviewAdminDto reviewAdminDto) {
        List<ReviewAdminDto> reviewAdminDtoList = reviewMapper.selectReviewWithMultCondition(reviewAdminDto);
        if (reviewAdminDtoList.size() > 0 ) {
            return ServerResponse.createByErrorMessage("对不起,你已经上传了一次同类型的文件,请重新操作!");
        }
    
        return ServerResponse.createBySuccess("恭喜你,上传文件成功!");
    }
}


package com.ieps.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ieps.common.ServerResponse;
import com.ieps.dto.ReviewAdminDto;
import com.ieps.mapper.ReviewMapper;
import com.ieps.service.ReviewAdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author Mryang
 */
@Service
public class ReviewAdminServiceImpl implements ReviewAdminService {
    
    @Autowired
    private ReviewMapper reviewMapper;
    
    
    @Override
    public ServerResponse getAllReviewListWithItemNum(int pageNum, int pageSize, String itemNum) {
    
        PageHelper.startPage(pageNum, pageSize);
    
        List<ReviewAdminDto> reviewAdminDtoList = reviewMapper.selectAllReviewListWithItemNum(itemNum);
        
        
        // 评审类型:1:立项评审;2:中期检查;3:结题评审
        for (int i = 0; i < reviewAdminDtoList.size(); i++) {
            if (reviewAdminDtoList.get(i).getReviewType() == 1) {
                reviewAdminDtoList.get(i).setReviewAdminType("立项评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewType() == 2) {
                reviewAdminDtoList.get(i).setReviewAdminType("中期检查");
            }
            else if (reviewAdminDtoList.get(i).getReviewType() == 3) {
                reviewAdminDtoList.get(i).setReviewAdminType("结题评审");
            }
        }
        
        // 评审级别: 1:院级评审;2:校级评审;3:省区级评审;4:国家级评审
        for (int i = 0; i < reviewAdminDtoList.size(); i++) {
            if (reviewAdminDtoList.get(i).getReviewLevel() == 1) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("院级评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewLevel() == 2) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("校级评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewLevel() == 3) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("省区级评审");
            }
            else if (reviewAdminDtoList.get(i).getReviewLevel() == 4) {
                reviewAdminDtoList.get(i).setReviewAdminLevel("国家级评审");
            }
        }
    
        PageInfo pageInfo = new PageInfo(reviewAdminDtoList);
        
        return ServerResponse.createBySuccess(pageInfo);
    }
    
    @Override
    public ServerResponse checkReview(ReviewAdminDto reviewAdminDto) {
        List<ReviewAdminDto> reviewAdminDtoList = reviewMapper.selectReviewWithMultCondition(reviewAdminDto);
        if (reviewAdminDtoList.size() > 0 ) {
            return ServerResponse.createByErrorMessage("对不起,你已经上传了一次同类型的文件,请重新操作!");
        }
    
        return ServerResponse.createBySuccess("恭喜你,上传文件成功!");
    }
}


  • 8.5 评审的数据持久层的接口
package com.ieps.mapper;

import com.ieps.dto.ReviewAdminDto;
import com.ieps.pojo.Review;

import java.util.List;

public interface ReviewMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Review record);

    int insertSelective(Review record);

    Review selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Review record);

    int updateByPrimaryKey(Review record);
    
    List<ReviewAdminDto> selectAllReviewListWithItemNum(String itemNum);
    
    List<ReviewAdminDto> selectReviewWithMultCondition(ReviewAdminDto reviewAdminDto);
    
    
}
  • 8.5 评审的数据持久层的接口
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ieps.mapper.ReviewMapper">
    <resultMap id="BaseResultMap" type="com.ieps.pojo.Review">
        <constructor>
            <idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer"/>
            <arg column="user_num" jdbcType="VARCHAR" javaType="java.lang.String"/>
            <arg column="item_num" jdbcType="VARCHAR" javaType="java.lang.String"/>
            <arg column="review_score" jdbcType="DECIMAL" javaType="java.lang.Long"/>
            <arg column="review_option" jdbcType="VARCHAR" javaType="java.lang.String"/>
            <arg column="review_type" jdbcType="INTEGER" javaType="java.lang.Integer"/>
            <arg column="review_level" jdbcType="INTEGER" javaType="java.lang.Integer"/>
            <arg column="review_time" jdbcType="TIMESTAMP" javaType="java.util.Date"/>
            <arg column="create_time" jdbcType="TIMESTAMP" javaType="java.util.Date"/>
            <arg column="update_time" jdbcType="TIMESTAMP" javaType="java.util.Date"/>
        </constructor>
    </resultMap>
    <sql id="Base_Column_List">
    id, user_num, item_num, review_score, review_option, review_type, review_level, review_time, create_time, update_time
  </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
        select
        <include refid="Base_Column_List"/>
        from ieps_review
        where id = #{id,jdbcType=INTEGER}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
    delete from ieps_review
    where id = #{id,jdbcType=INTEGER}
  </delete>
    <insert id="insert" parameterType="com.ieps.pojo.Review">
    insert into ieps_review (user_num, item_num, review_score,
      review_option, review_type, review_level,
      review_time, create_time, update_time
      )
    values
    (
      #{userNum,jdbcType=VARCHAR}, #{itemNum,jdbcType=VARCHAR}, #{reviewScore,jdbcType=DECIMAL}, #{reviewOption,jdbcType=VARCHAR},
      #{reviewType,jdbcType=INTEGER}, #{reviewLevel,jdbcType=INTEGER}, now(), now(), now()
      )
  </insert>
    <insert id="insertSelective" parameterType="com.ieps.pojo.Review">
        insert into ieps_review
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="userNum != null">
                user_num,
            </if>
            <if test="itemNum != null">
                item_num,
            </if>
            <if test="reviewScore != null">
                review_score,
            </if>
            <if test="reviewOption != null">
                review_option,
            </if>
            <if test="reviewType != null">
                review_type,
            </if>
            <if test="reviewLevel != null">
                review_level,
            </if>
            <if test="reviewTime != null">
                review_time,
            </if>
            <if test="createTime != null">
                create_time,
            </if>
            <if test="updateTime != null">
                update_time,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="userNum != null">
                #{userNum,jdbcType=VARCHAR},
            </if>
            <if test="itemNum != null">
                #{itemNum,jdbcType=VARCHAR},
            </if>
            <if test="reviewScore != null">
                #{reviewScore,jdbcType=DECIMAL},
            </if>
            <if test="reviewOption != null">
                #{reviewOption,jdbcType=VARCHAR},
            </if>
            <if test="reviewType != null">
                #{reviewType,jdbcType=INTEGER},
            </if>
            <if test="reviewLevel != null">
                #{reviewLevel,jdbcType=INTEGER},
            </if>
            <if test="reviewTime != null">
                now(),
            </if>
            <if test="createTime != null">
                now(),
            </if>
            <if test="updateTime != null">
                now(),
            </if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.ieps.pojo.Review">
        update ieps_review
        <set>
            <if test="userNum != null">
                user_num = #{userNum,jdbcType=VARCHAR},
            </if>
            <if test="itemNum != null">
                item_num = #{itemNum,jdbcType=VARCHAR},
            </if>
            <if test="reviewScore != null">
                review_score = #{reviewScore,jdbcType=DECIMAL},
            </if>
            <if test="reviewOption != null">
                review_option = #{reviewOption,jdbcType=VARCHAR},
            </if>
            <if test="reviewType != null">
                review_type = #{reviewType,jdbcType=INTEGER},
            </if>
            <if test="reviewLevel != null">
                review_level = #{reviewLevel,jdbcType=INTEGER},
            </if>
            <if test="reviewTime != null">
                review_time = #{reviewTime,jdbcType=TIMESTAMP},
            </if>
            <if test="createTime != null">
                create_time = #{createTime,jdbcType=TIMESTAMP},
            </if>
            <if test="updateTime != null">
                update_time = now(),
            </if>
        </set>
        where id = #{id,jdbcType=INTEGER}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.ieps.pojo.Review">
    update ieps_review
    set user_num = #{userNum,jdbcType=VARCHAR},
      item_num = #{itemNum,jdbcType=VARCHAR},
      review_score = #{reviewScore,jdbcType=DECIMAL},
      review_option = #{reviewOption,jdbcType=VARCHAR},
      review_type = #{reviewType,jdbcType=INTEGER},
      review_level = #{reviewLevel,jdbcType=INTEGER},
      review_time = now(),
      create_time = #{createTime,jdbcType=TIMESTAMP},
      update_time = now()
    where id = #{id,jdbcType=INTEGER}
  </update>

     <!-- -1:普通文件;0:重要通知文件;1:常用下载文件;2:申请项目文件;3:立项评审结果附件;4:中期检查评审结果附件;5:结题评审结果附件。-->
    <select id="selectAllReviewListWithItemNum" parameterType="string" resultType="ReviewAdminDto">
        SELECT ir.id, ir.user_num AS userNum, iui.user_name AS userName, ir.item_num AS itemNum, ir.review_score AS reviewScore, ir.review_option AS reviewOption,
        ir.review_type AS reviewType, ir.review_level AS reviewLevel, ir.review_time AS reviewTime, ir.create_time AS createTime, ir.update_time AS updateTime,
        ifh.file_name AS fileName, ifh.file_kind AS fileKind
    FROM ieps_review ir
    LEFT JOIN
        (
        SELECT * FROM ieps_file_hub
        WHERE file_kind NOT IN (-1, 0, 1, 2)
        ) ifh
        ON ifh.type_num = ir.item_num
    AND ifh.user_num = ir.user_num
        INNER JOIN ieps_user_info iui
        ON iui.user_num = ir.user_num
        WHERE ir.item_num = #{itemNum}
    </select>
    
    
    <select id="selectReviewWithMultCondition" resultType="ReviewAdminDto">
        SELECT ir.id, ir.user_num AS userNum, iui.user_name AS userName, ir.item_num AS itemNum, ir.review_score AS reviewScore, ir.review_option AS reviewOption,
        ir.review_type AS reviewType, ir.review_level AS reviewLevel, ir.review_time AS reviewTime, ir.create_time AS createTime, ir.update_time AS updateTime,
        ifh.file_name AS fileName, ifh.file_kind AS fileKind
    FROM ieps_review ir
    INNER JOIN
        (
        SELECT * FROM ieps_file_hub
        WHERE file_kind = #{fileKind}
        ) ifh
        ON ifh.type_num = ir.item_num
    AND ifh.user_num = ir.user_num
        INNER JOIN ieps_user_info iui
        ON iui.user_num = ir.user_num
        WHERE ir.item_num = #{itemNum}
        AND ir.user_num = #{userNum}
    </select>


</mapper>

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

目录
相关文章
|
13天前
|
前端开发 JavaScript Java
智慧物流管理|基于SSM的第三方物流信息管理系统
智慧物流管理|基于SSM的第三方物流信息管理系统
|
13天前
|
前端开发 JavaScript Java
计算机Java项目|SSM智能仓储系统
计算机Java项目|SSM智能仓储系统
|
13天前
|
小程序 前端开发 测试技术
微信小程序|ssm基于微信小程序的高校课堂教学管理系统
微信小程序|ssm基于微信小程序的高校课堂教学管理系统
|
13天前
|
前端开发 JavaScript Java
计算机Java项目|SSM酒店客房预定管理系统
计算机Java项目|SSM酒店客房预定管理系统
|
7天前
|
前端开发 Java
基于SSM框架的手机商城项目
基于SSM框架的手机商城项目
11 0
|
7天前
|
前端开发 Java 关系型数据库
杨校老师项目之基于SSM企业物流快递配送管理系统
杨校老师项目之基于SSM企业物流快递配送管理系统
19 0
|
7天前
|
前端开发 Java 关系型数据库
杨校老师项目之基于SSM社区疫情防控人员访客登记报备平台
杨校老师项目之基于SSM社区疫情防控人员访客登记报备平台
11 0
|
13天前
|
前端开发 JavaScript Java
计算机Java项目|SSM实验室课程管理系统
计算机Java项目|SSM实验室课程管理系统
|
20天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的大学生校园兼职附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的大学生校园兼职附带文章和源代码部署视频讲解等
42 8
|
20天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的停车场微信小程序附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的停车场微信小程序附带文章和源代码部署视频讲解等
28 6