計算機程序設(shè)計之高校畢業(yè)生畢業(yè)設(shè)計選題小程序源碼 lw 調(diào)試
1、緒論
對學(xué)生畢業(yè)管理的流程進(jìn)行科學(xué)整理、歸納和功能的精簡,通過軟件工程的研究方法,結(jié)合當(dāng)下流行的互聯(lián)網(wǎng)技術(shù),最終設(shè)計并實現(xiàn)了一個簡單、易操作的學(xué)生畢業(yè)管理小程序。內(nèi)容包括系統(tǒng)的設(shè)計思路、系統(tǒng)模塊和實現(xiàn)方法。系統(tǒng)使用過程主要涉及到管理員,教師和學(xué)生三種角色,主要包含系統(tǒng)首頁,個人中心,學(xué)生管理,教師管理,師生雙選管理,院校管理,開題答辯管理,答辯評審管理,學(xué)生推優(yōu)管理,學(xué)生過程文檔管理,教師過程文檔管理,系統(tǒng)管理等功能。系統(tǒng)開發(fā)主要在Windows系統(tǒng)下進(jìn)行,采用支持跨平臺的java語言開發(fā)完成,因此可以運行在任意開發(fā)環(huán)境下。系統(tǒng)采用MySQL數(shù)據(jù)庫和B/S結(jié)構(gòu)的方式,按照SSM框架進(jìn)行開發(fā)。
2、核心功能模塊
根據(jù)日常實際需要,一方面需要在系統(tǒng)中實現(xiàn)基礎(chǔ)信息的管理,同時還需要結(jié)合實際情況的需要,提供學(xué)生畢業(yè)管理功能,方便學(xué)生畢業(yè)管理工作的展開,綜合考慮,本套系統(tǒng)應(yīng)該滿足如下要求:
?首先,在系統(tǒng)中需要實現(xiàn)對基礎(chǔ)信息,包括系統(tǒng)首頁,個人中心,學(xué)生管理,教師管理,師生雙選管理,院校管理,開題答辯管理,答辯評審管理,學(xué)生推優(yōu)管理,學(xué)生過程文檔管理,教師過程文檔管理,系統(tǒng)管理等功能的管理,這些是系統(tǒng)的基礎(chǔ)信息,和系統(tǒng)中其他內(nèi)容密切相關(guān)。然后,系統(tǒng)中需要實現(xiàn)對教師和學(xué)生信息的管理,允許管理員對教師和學(xué)生進(jìn)行必要的設(shè)置,同時要避免管理員對個人信息進(jìn)行操作,保障教師和學(xué)生的信息安全。
(1)管理員可以對系統(tǒng)首頁,個人中心,學(xué)生管理,教師管理,師生雙選管理,院校管理,開題答辯管理,答辯評審管理,學(xué)生推優(yōu)管理,學(xué)生過程文檔管理,教師過程文檔管理,系統(tǒng)管理等進(jìn)行基本的信息管理。其用例分析如圖1所示。

(2)學(xué)生可以對教師,師生雙選,開題答辯,答辯評審,學(xué)生推優(yōu),學(xué)生過程文檔等進(jìn)行操作,用例分析如圖2所示。

(3)教師可以對師生雙選,開題答辯,答辯評審,學(xué)生推優(yōu),教師過程文檔等進(jìn)行操作,用例分析如圖3所示。

?3、項目Ui展示










?4、 核心代碼
package com.controller;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.XueshengguochengwendangEntity;
import com.entity.view.XueshengguochengwendangView;
import com.service.XueshengguochengwendangService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
?* 學(xué)生過程文檔
?* 后端接口
?* @author?
?* @email?
?*/
@RestController
@RequestMapping("/xueshengguochengwendang")
public class XueshengguochengwendangController {
? ? @Autowired
? ? private XueshengguochengwendangService xueshengguochengwendangService;
? ? /**
? ? ?* 后端列表
? ? ?*/
? ? @RequestMapping("/page")
? ? public R page(@RequestParam Map<String, Object> params,XueshengguochengwendangEntity xueshengguochengwendang,?
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
xueshengguochengwendang.setXuehao((String)request.getSession().getAttribute("username"));
}
? ? ? ? EntityWrapper<XueshengguochengwendangEntity> ew = new EntityWrapper<XueshengguochengwendangEntity>();
PageUtils page = xueshengguochengwendangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xueshengguochengwendang), params), params));
? ? ? ? return R.ok().put("data", page);
? ? }
? ??
? ? /**
? ? ?* 前端列表
? ? ?*/
@IgnoreAuth
? ? @RequestMapping("/list")
? ? public R list(@RequestParam Map<String, Object> params,XueshengguochengwendangEntity xueshengguochengwendang,?
HttpServletRequest request){
? ? ? ? EntityWrapper<XueshengguochengwendangEntity> ew = new EntityWrapper<XueshengguochengwendangEntity>();
PageUtils page = xueshengguochengwendangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xueshengguochengwendang), params), params));
? ? ? ? return R.ok().put("data", page);
? ? }
/**
? ? ?* 列表
? ? ?*/
? ? @RequestMapping("/lists")
? ? public R list( XueshengguochengwendangEntity xueshengguochengwendang){
? ? ? ? EntityWrapper<XueshengguochengwendangEntity> ew = new EntityWrapper<XueshengguochengwendangEntity>();
? ? ? ew.allEq(MPUtil.allEQMapPre( xueshengguochengwendang, "xueshengguochengwendang"));?
? ? ? ? return R.ok().put("data", xueshengguochengwendangService.selectListView(ew));
? ? }
/**
? ? ?* 查詢
? ? ?*/
? ? @RequestMapping("/query")
? ? public R query(XueshengguochengwendangEntity xueshengguochengwendang){
? ? ? ? EntityWrapper< XueshengguochengwendangEntity> ew = new EntityWrapper< XueshengguochengwendangEntity>();
? ew.allEq(MPUtil.allEQMapPre( xueshengguochengwendang, "xueshengguochengwendang"));?
XueshengguochengwendangView xueshengguochengwendangView =? xueshengguochengwendangService.selectView(ew);
return R.ok("查詢學(xué)生過程文檔成功").put("data", xueshengguochengwendangView);
? ? }
? ? /**
? ? ?* 后端詳情
? ? ?*/
? ? @RequestMapping("/info/{id}")
? ? public R info(@PathVariable("id") Long id){
? ? ? ? XueshengguochengwendangEntity xueshengguochengwendang = xueshengguochengwendangService.selectById(id);
? ? ? ? return R.ok().put("data", xueshengguochengwendang);
? ? }
? ? /**
? ? ?* 前端詳情
? ? ?*/
@IgnoreAuth
? ? @RequestMapping("/detail/{id}")
? ? public R detail(@PathVariable("id") Long id){
? ? ? ? XueshengguochengwendangEntity xueshengguochengwendang = xueshengguochengwendangService.selectById(id);
? ? ? ? return R.ok().put("data", xueshengguochengwendang);
? ? }
? ? /**
? ? ?* 后端保存
? ? ?*/
? ? @RequestMapping("/save")
? ? public R save(@RequestBody XueshengguochengwendangEntity xueshengguochengwendang, HttpServletRequest request){
? ? xueshengguochengwendang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
? ? //ValidatorUtils.validateEntity(xueshengguochengwendang);
? ? ? ? xueshengguochengwendangService.insert(xueshengguochengwendang);
? ? ? ? return R.ok();
? ? }
? ??
? ? /**
? ? ?* 前端保存
? ? ?*/
? ? @RequestMapping("/add")
? ? public R add(@RequestBody XueshengguochengwendangEntity xueshengguochengwendang, HttpServletRequest request){
? ? xueshengguochengwendang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
? ? //ValidatorUtils.validateEntity(xueshengguochengwendang);
? ? ? ? xueshengguochengwendangService.insert(xueshengguochengwendang);
? ? ? ? return R.ok();
? ? }
? ? /**
? ? ?* 修改
? ? ?*/
? ? @RequestMapping("/update")
? ? @Transactional
? ? public R update(@RequestBody XueshengguochengwendangEntity xueshengguochengwendang, HttpServletRequest request){
? ? ? ? //ValidatorUtils.validateEntity(xueshengguochengwendang);
? ? ? ? xueshengguochengwendangService.updateById(xueshengguochengwendang);//全部更新
? ? ? ? return R.ok();
? ? }
? ? ??
? ? /**
? ? ?* 刪除
? ? ?*/
? ? @RequestMapping("/delete")
? ? public R delete(@RequestBody Long[] ids){
? ? ? ? xueshengguochengwendangService.deleteBatchIds(Arrays.asList(ids));
? ? ? ? return R.ok();
? ? }
}