免费99精品国产自在现线观看_人妻少妇精品视频区性色_丝袜 屁股 在线 国产_无码视频在线免费观看

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)(源碼 數(shù)據(jù)庫 文檔 PPT)

  • 開發(fā)語言:Java
  • 數(shù)據(jù)庫:MySQL
  • 技術:SpringBoot
  • 工具:IDEA/Ecilpse、Navicat、Maven

系統(tǒng)展示

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

系統(tǒng)總體功能模塊圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

管理員登錄界面圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

管理員功能界面圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

學生管理界面圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

部門管理界面圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

員工考勤管理界面圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

請假申請管理界面圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

員工工資管理界面圖

基于SpringBoot的“人事管理系統(tǒng)”的設計與實現(xiàn)

招聘計劃管理界面圖

摘要

首先,論文一開始便是清楚的論述了系統(tǒng)的研究內(nèi)容。其次,剖析系統(tǒng)需求分析,弄明白“做什么”,分析包括業(yè)務分析和業(yè)務流程的分析以及用例分析,更進一步明確系統(tǒng)的需求。然后在明白了系統(tǒng)的需求基礎上需要進一步地設計系統(tǒng),主要包羅軟件架構模式、整體功能模塊、數(shù)據(jù)庫設計。本項目軟件架構選擇B/S模式和java技術,總體功能模塊運用自頂向下的分層思想。再然后就是實現(xiàn)系統(tǒng)并進行代碼編寫實現(xiàn)功能。論文的最后章節(jié)總結一下自己完成本論文和開發(fā)本項目的心得和總結。通過人事管理系統(tǒng)將會使人事管理各個方面的工作效率帶來實質性的提升。

研究的背景

困擾管理層的許多問題當中,人事管理是一定不敢忽視的一塊。但是管理好人事又面臨很多麻煩需要解決,例如有幾個方面:第一,公司往往員工人數(shù)都比較多,如何保證能夠管理到每一員工;第二,如何在工作瑣碎,記錄繁多的情況下將人事變動的情況反應給公司領導相關部門決策,等等。在此情況下開發(fā)一款人事管理系統(tǒng),于是乎變得非常合乎時宜。

經(jīng)過網(wǎng)上調查和搜集數(shù)據(jù),我們可以發(fā)現(xiàn)人事管理方面的系統(tǒng)在公司中并不是相當普及,公司在人事管理方面的可以有許多改進。實際上如今信息化成為一個未來的趨勢或者可以說在當前現(xiàn)代化的城市典范中,信息化已經(jīng)成為主流,開發(fā)一個人事管理系統(tǒng)一方面可能會更合乎時宜,另一方面來說也可以提高公司在人事管理方面的效率給相關部門人的工作帶來一定的便利。

開發(fā)意義

人類的進步帶動信息化的發(fā)展,使人們生活節(jié)奏越來越快,所以人們越來越重視信息的時效性。以往的管理方式已經(jīng)滿足不了人們對獲得信息的方式、方便快捷的需求。即人事管理系統(tǒng)慢慢的被人們關注。首先,網(wǎng)上獲取信息十分的實時、便捷,只要系統(tǒng)在線狀態(tài),無論在哪里都能第一時間查找到理想的信息。

研究內(nèi)容與結構

本項目在開發(fā)和設計過程中涉及到原理和技術有: B/S、java技術和MySQL數(shù)據(jù)庫等等;將按以下章節(jié)進行開發(fā)設計;

第一章緒論;剖析項目背景,說明研究的內(nèi)容。

第二章開發(fā)技術;系統(tǒng)主要使用了java技術,b/s模式和myspl數(shù)據(jù)庫,并對此做了介紹。

第三章系統(tǒng)分析;包羅了系統(tǒng)總體結構、對系統(tǒng)的性能、功能、流程圖進行了分析。

第四章系統(tǒng)設計;對軟件功能模塊和數(shù)據(jù)庫進行詳細設計。

第五章系統(tǒng)總體設計;對系統(tǒng)管理員,教師和學生的功能進行描述。

第六章對系統(tǒng)進行測試。

第七章總結心得;在論文最后結束章節(jié)總結了開發(fā)這個系統(tǒng)和撰寫論文時候自己的總結、感想,包括致謝。

部分源碼

/** * 員工 * 后端接口 * @author * @email * @date 2022-03-22 17:13:54 */@RestController@RequestMapping("/yuangong")public class YuangongController { @Autowired private YuangongService yuangongService; @Autowired private TokenService tokenService; /** * 登錄 */ @IgnoreAuth @RequestMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { YuangongEntity user = yuangongService.selectOne(new EntityWrapper<YuangongEntity>().eq("yuangonggonghao", username)); if(user==null || !user.getMima().equals(password)) { return R.error("賬號或密碼不正確"); } String token = tokenService.generateToken(user.getId(), username,"yuangong", "員工" ); return R.ok().put("token", token); } /** * 注冊 */ @IgnoreAuth @RequestMapping("/register") public R register(@RequestBody YuangongEntity yuangong){ //ValidatorUtils.validateEntity(yuangong); YuangongEntity user = yuangongService.selectOne(new EntityWrapper<YuangongEntity>().eq("yuangonggonghao", yuangong.getYuangonggonghao())); if(user!=null) { return R.error("注冊用戶已存在"); } Long uId = new Date().getTime(); yuangong.setId(uId); yuangongService.insert(yuangong); return R.ok(); } /** * 退出 */ @RequestMapping("/logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 獲取用戶的session用戶信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); YuangongEntity user = yuangongService.selectById(id); return R.ok().put("data", user); } /** * 密碼重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ YuangongEntity user = yuangongService.selectOne(new EntityWrapper<YuangongEntity>().eq("yuangonggonghao", username)); if(user==null) { return R.error("賬號不存在"); } user.setMima("123456"); yuangongService.updateById(user); return R.ok("密碼已重置為:123456"); } /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,YuangongEntity yuangong, HttpServletRequest request){ EntityWrapper<YuangongEntity> ew = new EntityWrapper<YuangongEntity>(); PageUtils page = yuangongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yuangong), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,YuangongEntity yuangong, HttpServletRequest request){ EntityWrapper<YuangongEntity> ew = new EntityWrapper<YuangongEntity>(); PageUtils page = yuangongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yuangong), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( YuangongEntity yuangong){ EntityWrapper<YuangongEntity> ew = new EntityWrapper<YuangongEntity>(); ew.allEq(MPUtil.allEQMapPre( yuangong, "yuangong")); return R.ok().put("data", yuangongService.selectListView(ew)); } /** * 查詢 */ @RequestMapping("/query") public R query(YuangongEntity yuangong){ EntityWrapper< YuangongEntity> ew = new EntityWrapper< YuangongEntity>(); ew.allEq(MPUtil.allEQMapPre( yuangong, "yuangong")); YuangongView yuangongView = yuangongService.selectView(ew); return R.ok("查詢員工成功").put("data", yuangongView); } /** * 后端詳情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ YuangongEntity yuangong = yuangongService.selectById(id); return R.ok().put("data", yuangong); } /** * 前端詳情 */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ YuangongEntity yuangong = yuangongService.selectById(id); return R.ok().put("data", yuangong); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody YuangongEntity yuangong, HttpServletRequest request){ yuangong.setId(new Date().getTime() new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(yuangong); YuangongEntity user = yuangongService.selectOne(new EntityWrapper<YuangongEntity>().eq("yuangonggonghao", yuangong.getYuangonggonghao())); if(user!=null) { return R.error("用戶已存在"); } yuangong.setId(new Date().getTime()); yuangongService.insert(yuangong); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody YuangongEntity yuangong, HttpServletRequest request){ yuangong.setId(new Date().getTime() new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(yuangong); YuangongEntity user = yuangongService.selectOne(new EntityWrapper<YuangongEntity>().eq("yuangonggonghao", yuangong.getYuangonggonghao())); if(user!=null) { return R.error("用戶已存在"); } yuangong.setId(new Date().getTime()); yuangongService.insert(yuangong); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody YuangongEntity yuangong, HttpServletRequest request){ //ValidatorUtils.validateEntity(yuangong); yuangongService.updateById(yuangong);//全部更新 return R.ok(); } /** * 刪除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ yuangongService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<YuangongEntity> wrapper = new EntityWrapper<YuangongEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } int count = yuangongService.selectCount(wrapper); return R.ok().put("count", count); } }

結論

通過完成該人事管理和本論文的撰寫讓我更加明白了軟件開發(fā)過程中軟件工程思想的重要性。在項目的前期由于對需求分析做的不夠謹慎和明確,導致了后面在設計甚至編碼時候造成了許多不必要的麻煩。由此在今后的學習和工作開發(fā)之中必須要牢牢把握住軟件工程的設計思想和方法,這樣可以進一步保證項目開發(fā)的健壯性和準確性。

相關新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁
返回頂部