国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng)

這篇具有很好參考價值的文章主要介紹了Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

項目介紹

  • 企業(yè)的銷售要進行培訓,由技術(shù)人員進行輔導并考評檢測培訓效果,所以有了這個小系統(tǒng)。
  • 實現(xiàn)了系統(tǒng)的登錄驗證、請求攔截驗證、基礎(chǔ)模塊(用戶管理、角色管理、銷售管理)、業(yè)務(wù)模塊(評分管理、評分結(jié)果)。
  • 除了基本的CRUD之外,其中評分結(jié)果模塊實現(xiàn)了數(shù)據(jù)可視化及圖表的聯(lián)動。

主要角色有管理員、銷售、評委

環(huán)境要求

1.運行環(huán)境:最好是java jdk1.8,我們在這個平臺上運行的。其他版本理論上也可以。

2.IDE環(huán)境:IDEA,Eclipse,Myeclipse都可以。推薦IDEA;

3.tomcat環(huán)境:Tomcat7.x,8.X,9.x版本均可

4.硬件環(huán)境:windows7/8/10 4G內(nèi)存以上;或者Mac OS;

5.是否Maven項目:是;查看源碼目錄中是否包含pom.xml;若包含,則為maven項目,否則為非maven.項目

6.數(shù)據(jù)庫:MySql5.7/8.0等版本均可;

技術(shù)棧

  • 技術(shù)框架:jQuery + MySQL5.7 + mybatis + shiro + Layui + HTML + CSS + JS + jpa
  • 運行環(huán)境:jdk8 + IntelliJ IDEA + maven3 + mariaDB

使用說明

1.使用Navicati或者其它工具,在mysql中創(chuàng)建對應(yīng)sq文件名稱的數(shù)據(jù)庫,并導入項目的sql文件;

2.使用IDEA/Eclipse/MyEclipse導入項目,修改配置,運行項目;

3.將項目中config-propertiesi配置文件中的數(shù)據(jù)庫配置改為自己的配置,然后運行;

運行指導

idea導入源碼空間站頂目教程說明(Vindows版)-ssm篇:

http://mtw.so/5MHvZq

源碼地址:http://codegym.top。

運行截圖

界面

Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng),java,java,spring boot,開發(fā)語言

Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng),java,java,spring boot,開發(fā)語言

Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng),java,java,spring boot,開發(fā)語言

Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng),java,java,spring boot,開發(fā)語言

Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng),java,java,spring boot,開發(fā)語言

代碼

UserController

package cn.temptation.web;

import cn.temptation.dao.RoleDao;
import cn.temptation.dao.UserDao;
import cn.temptation.domain.Role;
import cn.temptation.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.persistence.criteria.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
public class UserController {
    @Autowired
    private UserDao userDao;
    @Autowired
    private RoleDao roleDao;

    @RequestMapping("/user")
    public String index() {
        return "user";
    }

    @RequestMapping("/user_list")
    @ResponseBody
    public Map<String, Object> userList(@RequestParam Map<String, Object> queryParams) {
        Map<String, Object> result = new HashMap<>();

        try {
            Integer page = Integer.parseInt(queryParams.get("page").toString());
            Integer limit = Integer.parseInt(queryParams.get("limit").toString());
            String condition = (String) queryParams.get("condition");
            String keyword = (String) queryParams.get("keyword");

            // 創(chuàng)建查詢規(guī)格對象
            Specification<User> specification = (Root<User> root, CriteriaQuery<?> query, CriteriaBuilder cb) -> {
                Predicate predicate = null;
                Path path = null;

                if (condition != null && !"".equals(condition) && keyword != null && !"".equals(keyword)) {
                    switch (condition) {
                        case "username":    // 用戶名稱
                            path = root.get("username");
                            predicate = cb.like(path, "%" + keyword + "%");
                            break;
                        case "rolename":    // 角色名稱
                            path = root.join("role", JoinType.INNER);
                            predicate = cb.like(path.get("rolename"), "%" + keyword + "%");
                            break;
                    }
                }

                return predicate;
            };

            Pageable pageable = PageRequest.of(page - 1, limit, Sort.Direction.ASC, "userid");

            Page<User> users = userDao.findAll(specification, pageable);

            result.put("code", 0);
            result.put("msg", "查詢OK");
            result.put("count", users.getTotalElements());
            result.put("data", users.getContent());
        } catch (Exception e) {
            e.printStackTrace();
            result.put("code", 500);
            result.put("msg", "服務(wù)器內(nèi)部錯誤");
            result.put("count", 0);
            result.put("data", new ArrayList());
        }

        return result;
    }

    @RequestMapping("/user_delete")
    @ResponseBody
    public Integer userDelete(@RequestParam String userid) {
        try {
            userDao.deleteById(Integer.parseInt(userid));
            return 0;
        } catch (Exception e) {
            e.printStackTrace();
        }

        return -1;
    }

    @RequestMapping("/user_view")
    public String view(Integer userid, Model model) {
        User user = new User();
        if (userid != null) {
            user = userDao.getOne(userid);
        }
        model.addAttribute("user", user);
        return "user_view";
    }

    @RequestMapping("/role_load")
    @ResponseBody
    public List<Role> roleList() {
        return roleDao.findAll();
    }

    @RequestMapping("/user_update")
    @ResponseBody
    public Integer userUpdate(User user) {
        try {
            userDao.save(user);
            return 0;
        } catch (Exception e) {
            e.printStackTrace();
        }

        return -1;
    }
}

ScoreController文章來源地址http://www.zghlxwxcb.cn/news/detail-794290.html

package cn.temptation.web;

import cn.temptation.dao.SalesDao;
import cn.temptation.dao.ScoreDao;
import cn.temptation.domain.Sales;
import cn.temptation.domain.Score;
import cn.temptation.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.persistence.criteria.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
public class ScoreController {
    @Autowired
    private ScoreDao scoreDao;
    @Autowired
    private SalesDao salesDao;

    @RequestMapping("/score")
    public String index() {
        return "score";
    }

    @RequestMapping("/score_list")
    @ResponseBody
    public Map<String, Object> scoreList(@RequestParam Map<String, Object> queryParams, HttpServletRequest request) {
        Map<String, Object> result = new HashMap<>();

        try {
            HttpSession session = request.getSession();
            User user = (User) session.getAttribute("user");

            Integer page = Integer.parseInt(queryParams.get("page").toString());
            Integer limit = Integer.parseInt(queryParams.get("limit").toString());
            String condition = (String) queryParams.get("condition");
            String keyword = (String) queryParams.get("keyword");

            // 創(chuàng)建查詢規(guī)格對象
            Specification<Score> specification = (Root<Score> root, CriteriaQuery<?> query, CriteriaBuilder cb) -> {
                Predicate predicate = null;
                Path path = null;

                // 從session中取出當前用戶信息,獲取該用戶創(chuàng)建的數(shù)據(jù)
                if (null != user) {
                    path = root.join("user", JoinType.INNER);
                    predicate = cb.equal(path.get("userid"), user.getUserid());
                }

                if (condition != null && !"".equals(condition) && keyword != null && !"".equals(keyword)) {
                    switch (condition) {
                        case "salesname":    // 銷售名稱
                            path = root.join("sales", JoinType.INNER);
                            predicate = cb.like(path.get("salesname"), "%" + keyword + "%");
                            break;
                    }
                }

                return predicate;
            };

            Pageable pageable = PageRequest.of(page - 1, limit, Sort.Direction.ASC, "scoreid");

            Page<Score> scores = scoreDao.findAll(specification, pageable);

            result.put("code", 0);
            result.put("msg", "查詢OK");
            result.put("count", scores.getTotalElements());
            result.put("data", scores.getContent());
        } catch (Exception e) {
            e.printStackTrace();
            result.put("code", 500);
            result.put("msg", "服務(wù)器內(nèi)部錯誤");
            result.put("count", 0);
            result.put("data", new ArrayList());
        }

        return result;
    }

    @RequestMapping("/score_delete")
    @ResponseBody
    public Integer scoreDelete(@RequestParam String scoreid) {
        try {
            scoreDao.deleteById(Integer.parseInt(scoreid));
            return 0;
        } catch (Exception e) {
            e.printStackTrace();
        }

        return -1;
    }

    @RequestMapping("/score_view")
    public String view(Integer scoreid, Model model) {
        Score score = new Score();
        if (scoreid != null) {
            score = scoreDao.findByScoreid(scoreid);
        }
        model.addAttribute("score", score);
        return "score_view";
    }

    @RequestMapping("/sales_load")
    @ResponseBody
    public List<Sales> salesList() {
        return salesDao.findAll();
    }

    @RequestMapping("/score_update")
    @ResponseBody
    public Integer scoreUpdate(Score score, HttpServletRequest request) {
        try {
            HttpSession session = request.getSession();
            User user = (User) session.getAttribute("user");

            if (null != user) {
                score.setUser(user);
            }

            scoreDao.save(score);
            return 0;
        } catch (Exception e) {
            e.printStackTrace();
        }

        return -1;
    }
}

到了這里,關(guān)于Java項目:03 基于Springboot的銷售培訓考評管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于JAVA+Springboot+Thymeleaf前后端分離項目:助農(nóng)農(nóng)產(chǎn)品銷售商城系統(tǒng)設(shè)計與實現(xiàn)

    基于JAVA+Springboot+Thymeleaf前后端分離項目:助農(nóng)農(nóng)產(chǎn)品銷售商城系統(tǒng)設(shè)計與實現(xiàn)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設(shè)計教育和輔導。 所有項目都配有從入門到精通的基礎(chǔ)知識視頻課程,學習后應(yīng)對畢業(yè)設(shè)計答辯。 項目配有對應(yīng)開發(fā)文檔、

    2024年02月20日
    瀏覽(104)
  • 基于springboot+html的汽車銷售管理系統(tǒng)設(shè)計與實現(xiàn)

    基于springboot+html的汽車銷售管理系統(tǒng)設(shè)計與實現(xiàn)

    ?? 作者主頁 央順技術(shù)團隊 ?? 歡迎點贊 ?? 收藏 ?留言 ?? ?? 文末獲取源碼聯(lián)系方式 ?? 前言 隨著汽車市場的快速發(fā)展,汽車銷售企業(yè)面臨著越來越大的管理壓力。為了提高銷售效率和客戶滿意度,開發(fā)一個基于Java的汽車銷售管理系統(tǒng)變得尤為重要。本系統(tǒng)旨在提供一

    2024年01月21日
    瀏覽(90)
  • 基于SpringBoot的蘇果超市商品銷售管理系統(tǒng)+93704(免費領(lǐng)源碼)可做計算機畢業(yè)設(shè)計JAVA、PHP、爬蟲、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案

    基于SpringBoot的蘇果超市商品銷售管理系統(tǒng)+93704(免費領(lǐng)源碼)可做計算機畢業(yè)設(shè)計JAVA、PHP、爬蟲、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案

    在網(wǎng)絡(luò)信息的時代,眾多的軟件被開發(fā)出來,給用戶帶來了很大的選擇余地,而且人們越來越追求更個性的需求。在這種時代背景下,超市只能以用戶為導向,按品種小批量組織生產(chǎn),以產(chǎn)品的持續(xù)創(chuàng)新作為超市最重要的競爭手段。 系統(tǒng)采用了B/S結(jié)構(gòu),將所有業(yè)務(wù)模塊采用以

    2024年02月19日
    瀏覽(20)
  • Java項目:18 基于SpringBoot的學生成績管理系統(tǒng)

    Java項目:18 基于SpringBoot的學生成績管理系統(tǒng)

    作者主頁:舒克日記 簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、Java項目、學習資料、技術(shù)互助 文中獲取源碼 基于springboot的學生成績管理系統(tǒng)主要功能 分為兩個端,教師和學生 教師的主要功能:學生信息、成績信息的增刪改查 學生的主要功能:我的成績、我的總成績的查看 1.運行環(huán)境:

    2024年02月21日
    瀏覽(32)
  • vue-springboot-java電力員工安全施工培訓課程考試管理系統(tǒng)

    vue-springboot-java電力員工安全施工培訓課程考試管理系統(tǒng)

    本電力員工安全施工培訓管理系統(tǒng)是為了提高員工查閱信息的效率和管理人員管理信息的工作效率,可以快速存儲大量數(shù)據(jù),還有信息檢索功能,這大大的滿足了員工和管理員這二者的需求。操作簡單易懂,合理分析各個模塊的功能,盡可能優(yōu)化界面,讓員工和管理員能使用

    2024年02月04日
    瀏覽(19)
  • 基于SpringBoot+Vue海產(chǎn)品加工銷售一體化管理系統(tǒng)小程序的設(shè)計與實現(xiàn)

    基于SpringBoot+Vue海產(chǎn)品加工銷售一體化管理系統(tǒng)小程序的設(shè)計與實現(xiàn)

    博主主頁: 一季春秋 博主簡介: 專注Java技術(shù)領(lǐng)域和畢業(yè)設(shè)計項目實戰(zhàn)、Java、微信小程序、安卓等技術(shù)開發(fā),遠程調(diào)試部署、代碼講解、文檔指導、ppt制作等技術(shù)指導。 主要內(nèi)容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、小程序、安卓app、大數(shù)據(jù)等設(shè)計與開發(fā)。 感興

    2024年02月21日
    瀏覽(93)
  • 基于Java的公務(wù)員培訓機構(gòu)管理系統(tǒng)論文

    基于Java的公務(wù)員培訓機構(gòu)管理系統(tǒng)論文

    現(xiàn)代經(jīng)濟快節(jié)奏發(fā)展以及不斷完善升級的信息化技術(shù),讓傳統(tǒng)數(shù)據(jù)信息的管理升級為軟件存儲,歸納,集中處理數(shù)據(jù)信息的管理方式。本公務(wù)員培訓機構(gòu)管理系統(tǒng)就是在這樣的大環(huán)境下誕生,其可以幫助管理者在短時間內(nèi)處理完畢龐大的數(shù)據(jù)信息,使用這種軟件工具可以幫助

    2024年02月05日
    瀏覽(30)
  • springboot+java汽車配件銷售業(yè)績管理系統(tǒng) J2EE平臺技術(shù)

    springboot+java汽車配件銷售業(yè)績管理系統(tǒng) J2EE平臺技術(shù)

    汽車配件銷售類企業(yè)近年來得到長足發(fā)展,在市場份額不斷擴大同時,如何更好地管理企業(yè)現(xiàn)有銷售項目資源成為擺在該類企業(yè)面前的重要課題之一。本次打算開發(fā)的springboot汽車配件銷售業(yè)績管理系統(tǒng)的開發(fā)過程引用 J2EE平臺技術(shù),該平臺中所包含的JDBC、JNDI等組件,規(guī)定訪問數(shù)據(jù)

    2024年02月06日
    瀏覽(92)
  • 44基于java的汽車銷售管理系統(tǒng)設(shè)計與實現(xiàn)

    本章節(jié)給大家?guī)硪粋€基于java的汽車銷售管理系統(tǒng)設(shè)計與實現(xiàn),車輛4S店管理系統(tǒng),基于java汽車銷售交易網(wǎng)站,針對汽車銷售提供客戶信息、車輛信息、訂單信息、銷售人員管理、財務(wù)報表等功能,提供經(jīng)理和銷售兩種角色進行管理。 實現(xiàn)一個汽車銷售管理系統(tǒng),汽車銷售

    2024年02月08日
    瀏覽(88)
  • 基于java的農(nóng)產(chǎn)品銷售管理系統(tǒng)設(shè)計與實現(xiàn)

    基于java的農(nóng)產(chǎn)品銷售管理系統(tǒng)設(shè)計與實現(xiàn) 研究背景: 隨著信息技術(shù)的迅速發(fā)展和應(yīng)用,傳統(tǒng)的農(nóng)產(chǎn)品銷售方式已經(jīng)無法滿足市場需求。在這樣一個信息化和網(wǎng)絡(luò)化的大背景下,設(shè)計和實現(xiàn)一個基于Java的農(nóng)產(chǎn)品銷售管理系統(tǒng)具有重要的研究背景和實際應(yīng)用價值。 傳統(tǒng)的農(nóng)產(chǎn)

    2024年02月03日
    瀏覽(92)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包