杨校老师项目之基于SSM大学生创新创业项目管理系统
1. 获取代码:
添加博主微信获取,备注来源:
mryang511688
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 */@Controllerpublic 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 */@Servicepublic 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 评审的数据持久层的接口
<!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> <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 fileKindFROM ieps_review irLEFT JOIN ( SELECT * FROM ieps_file_hub WHERE file_kind NOT IN (-1, 0, 1, 2) ) ifh ON ifh.type_num = ir.item_numAND 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 fileKindFROM ieps_review irINNER JOIN ( SELECT * FROM ieps_file_hub WHERE file_kind = #{fileKind} ) ifh ON ifh.type_num = ir.item_numAND 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>
作者: 杨校
出处: https://mryang.blog.csdn.net
有意源码研究Wx-Me:mryang511688
分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询