java+sql+servlet+茶业进销存管理系统

系统功能模块图
茶叶销售企业进销存信息管理系统完成企业各种信息的管理及维护操作,根据系统的功能和模块划分的原则,主要包括供应商信息的管理,客户信息的管理,茶叶信息的管理,采购入库的管理,销售出库的管理,出入库统计管理,茶叶检查模块等。企业管理系统的的功能结图如图3-1所示:

 代码已经上传github,下载地址:https://github.com/21503882/tea-jxc

图 3-4 企业管理系统功能模块图
4.3.1  登录页面(login.jsp)
    本页是企业管理系统的入口,为了确保网站与数据库的安全,对进入的人进行身份验证是十分必要的,尤其是网站的后台管理系统。本页的主要功能就是对用户进行身份验证。只有用户名和密码都正确才可以进入后台系统。用户输入用户名及密码,点击“登录”按钮完成登录的功能,本页面的设计如图4-2所示:
 图4-3登录页面
4.3.2  企业系统主页面
输入正确的用户及密码后,系统进入后台主界面,系统后台的设计采用框架的结构,操作员可以选择左面的功能项实现某些功能的管理。后台管理主页面的设计如图4-3所示:
 
图4-3系统主页面


 4.3.3 供应商管理模块
本模块完成供应商信息的管理功能,包括供应商信息的添加、删除及查询的功能,可以按供应商姓名进行查询,本页对应的磁盘文件为lxxmanager.jsp。供应商管理页面的设计如图4-4所示:
 
图4-4 供应商管理模块
4.3.4 新办客户管理模块
新办客户管理模块完成添加客户信息的功能,操作员输入客户的基本信息后进行保存,本页对应的磁盘文件为addpxx.jsp,其中“注册”按钮的代码放在文件件pxxop.jsp中,在此文件中包括操作的主要代码,新办客户管理模块的页面设计如图4-5所示:
 
图4-5 新办客户管理页面
4.3.5 客户信息管理模块
客户信息管理模块,完成客户信息管理的功能,可以完成客户查询及删除操作,客户积分部分为客户在本企业购茶叶的积分,客户信息管理模块对应的磁盘文件为pxxmanager.jsp,功能代码部分对应的磁盘文件为pxxop.jsp,客户管理模块的页面设计如图4-6所示:
 
图4-6 客户信息管理模块
4.3.6 新增茶叶信息模块
新增茶叶信息模块完成茶叶基本信息的添加功能,在本模块中,操作人员输入茶叶的基本信息,点击“保存”按钮进行保存操作,本模块对应的磁盘文件为addypxx.jsp,新增茶叶信息模块的页面设计如图4-7所示:
 
图4-7 新增茶叶信息模块
4.3.7 茶叶信息管理模块
茶叶信息管理模块完成茶叶信息的删除、修改及查询功能,此模块对应的磁盘文件为ypmanager.jsp,茶叶信息管理模块的页面设计如图4-8所示:
 
图4-8 茶叶信息管理模块页面
4.3.8 茶叶采购入库管理模块
茶叶采购入库管理模块完成茶叶的采购入库功能,茶叶采购入库的信息包括茶叶的供应商,茶叶名称,采购数量,采购单价,系统会根据茶叶名称自动更新此茶叶的库存信息,此页面对应的磁盘文件为addrk.jsp,此页的页面设计如图4-9所示:

 
图4-9茶叶采购入库模块
4.3.9 销售出库管理模块
茶叶销售出库管理模块,完成茶叶信息的销售出库功能,本模块包含两个页面,在第一个页面,选择出为的客户,出库的茶叶名及数量,本页对应的磁盘文件为addck.jsp;在第二个页面中,输入收取的金额,系统会根据茶叶的销售价格及销售数量,自动计算出应收取的费用,保存成功能,累加客户的积分,并更新库存,本页对应的磁盘为addck2.jsp,对应的页面分别如图4-10及4-11所示:

图4-10茶叶销售出库模块(一)
 
图4-11茶叶销售出库模块(二)
4.3.10茶叶库存管理模块
  茶叶库存管理模块完成茶叶库存信息的查询功能,操作员可以随时查看茶叶的库存信息,保证茶叶库存充足,操作员可以按茶叶编号进行搜索,此模块对应的磁盘文件为kc.jsp,本页面的设计如图4-12所示:
 
图4-12 茶叶库存管理模块
4.3.11茶叶入库统计模块
  茶叶入库统计模块完成茶叶信息的入库明细统计功能,在此模块中,所有的入库明细都将显示出来,供用户查看。此模块对应的磁盘文件为rkmanager.jsp,本页面的设计如图4-13所示:
 
图4-13 茶叶入库统计页面
4.3.12 茶叶出库统计模块
  茶叶出库统计模块完成茶叶销售出库明细的显示功能,用户可以查看茶叶的销售出库明细,此模块对应的磁盘文件为ckmanager.jsp,本页面的设计如图4-14所示:

 
图4-14 茶叶出库统计模块

package com.strangeman.classmates.controller;

import com.strangeman.classmates.bean.Member;
import com.strangeman.classmates.service.AttentionService;
import com.strangeman.classmates.service.MemberService;
import com.strangeman.classmates.utils.AES;
import com.strangeman.classmates.utils.MyStringUtil;
import com.strangeman.classmates.utils.ResultInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;

@Controller
public class MemberController {
    @Autowired
    private MemberService memberService;
    @Autowired
    private AttentionService attentionService;

    @ResponseBody
    @RequestMapping(value = "/register",method = RequestMethod.POST)
    public ResultInfo register(String username,String password,Integer dynamicCode,String graphicCode,
                               String nickname,HttpSession session){
        ResultInfo result;

        if(username==null||!username.equals(session.getAttribute("username"))){
            result=ResultInfo.fail("请输入获取验证码时所用帐号");
        }
        else if(dynamicCode==null||!dynamicCode.equals(session.getAttribute("dynamicCode"))
                ||session.getAttribute("dynamicCodeTime")==null
                ||System.currentTimeMillis()-(Long)session.getAttribute("dynamicCodeTime")>5*60*1000){
            result=ResultInfo.fail("动态验证码错误或已过时");
        }
        else if(graphicCode==null||!graphicCode.equalsIgnoreCase((String) session.getAttribute("graphicCode"))){
            result=ResultInfo.fail("图形验证码错误");
        }
        else if(StringUtils.isEmpty(nickname)){
            result=ResultInfo.fail("昵称不能为空");
        }
        else{
            if(memberService.hasExist(username)){
                result=ResultInfo.fail("用户名已存在");
                return result;
            }
            else{
                Member member=new Member();
                if(MyStringUtil.isPhone(username)){
                    member.setPhone(username);
                }
                else if(MyStringUtil.isEmail(username)){
                    member.setEmail(username);
                }
                else{
                    result=ResultInfo.fail("用户名格式不正确");
                    return result;
                }

                member.setPwd(password);
                member.setNickname(nickname);
                if(memberService.register(member)){
                    result=ResultInfo.success("注册成功");
                }
                else{
                    result=ResultInfo.fail("注册失败,请稍后重试");
                }
            }
        }

        return result;
    }

    @RequestMapping(value = "/register",method = RequestMethod.GET)
    public String register(){
        return "register";
    }

    @ResponseBody
    @RequestMapping(value = "/login",method = RequestMethod.POST)
    public ResultInfo login(String username,String password,String graphicCode,HttpSession session){
        ResultInfo result;

        session.removeAttribute("member");

        if(graphicCode!=null&&graphicCode.equalsIgnoreCase((String) session.getAttribute("graphicCode"))){
            Member member=memberService.login(username,password);
            if(member==null){
                result=ResultInfo.fail("用户名或密码不正确");
            }
            else{
                result=ResultInfo.success("登录成功");
                session.setAttribute("member",member);
                session.setMaxInactiveInterval(30*60);
            }
        }
        else {
            result=ResultInfo.fail("验证码错误");
        }

        return result;
    }

    @RequestMapping(value = "/login",method = RequestMethod.GET)
    public String login(){
        return "login";
    }

    @RequestMapping(value = "/logout",method = RequestMethod.POST)
    @ResponseBody
    public ResultInfo logout(HttpSession session){
        session.removeAttribute("member");

        return ResultInfo.success("退出登录成功");
    }

    @RequestMapping(value = "/logout",method = RequestMethod.GET)
    public String logoutWithPage(HttpSession session){
        session.removeAttribute("member");

        return "redirect:/login";
    }

    @ResponseBody
    @RequestMapping(value = "/member/welcome",method = RequestMethod.POST)
    public ResultInfo welcome(HttpSession session){
        Member member= (Member) session.getAttribute("member");
        if(member==null)
            return ResultInfo.fail("请重新登录");

        int fans=attentionService.countFans(member.getId());
        int attentions=attentionService.countAttentions(member.getId());

        Member member1=member.cloneWithoutPwd();
        if(member1==null)
            return ResultInfo.fail("网络错误,请稍后重试");
        return ResultInfo.success("").add("member",member1).add("fans",fans).add("attentions",attentions);
    }

    @RequestMapping(value = "/member/welcome",method = RequestMethod.GET)
    public String welcome(){
        return "member/welcome";
    }

    @RequestMapping(value = "/member/baseInfo",method = RequestMethod.POST)
    @ResponseBody
    public ResultInfo baseInfo(HttpSession session){
        Member member= (Member) session.getAttribute("member");
        if(member==null)
            return ResultInfo.fail("未查询到登录信息,请重新登录");

        Member member1=member.cloneWithoutPwd();
        if(member1==null)
            return ResultInfo.fail("网络错误,请稍后重试");
        return ResultInfo.success("查询成功").add("member",member1);
    }

    @RequestMapping(value = "/member/modifyInfo",method = RequestMethod.POST)
    @ResponseBody
    public ResultInfo modifyMemberInfo(HttpSession session,Member member){
        Member loginMember= (Member) session.getAttribute("member");
        if(loginMember==null)
            return ResultInfo.fail("未查询到登录信息,请重新登录");
        if(member==null)
            return ResultInfo.fail("修改内容不能为空");

        member.setPwd(null);
        member.setId(loginMember.getId());

        if(memberService.modifyMember(member)){
            member.setPwd(loginMember.getPwd());
            session.setAttribute("member",member);
            return ResultInfo.success("修改成功");
        }
        return ResultInfo.fail("修改信息失败,请稍后重试");
    }

    @RequestMapping(value = "/member/modifyAvatar",method = RequestMethod.POST)
    @ResponseBody
    public ResultInfo modifyAvatar(HttpSession session,String avatar){
        Member member= (Member) session.getAttribute("member");
        if(member==null)
            return ResultInfo.fail("未查询到登录信息,请重新登录");
        if(StringUtils.isEmpty(avatar))
            return ResultInfo.fail("上传的照片不能为空");

        Member member1=new Member();
        member1.setId(member.getId());
        member1.setAvatar(avatar);

        if(memberService.modifyMember(member1)){
            member.setAvatar(avatar);
            return ResultInfo.success("头像上传成功");
        }
        return ResultInfo.fail("上传头像失败,请稍后重试");
    }

    @RequestMapping(value = "/member/modifyPwd",method = RequestMethod.POST)
    @ResponseBody
    public ResultInfo modifyPwd(HttpSession session,String oldPassword,String newPassword,String graphicCode){
        if(graphicCode==null||!graphicCode.equalsIgnoreCase((String) session.getAttribute("graphicCode")))
            return ResultInfo.fail("验证码错误");
        if(StringUtils.isEmpty(oldPassword)||StringUtils.isEmpty(newPassword))
            return ResultInfo.fail("新旧密码均不能为空");

        Member member= (Member) session.getAttribute("member");
        if(member==null)
            return ResultInfo.fail("未查询到登录信息,请重新登录");

        String originPwd;
        try {
            originPwd = AES.decrypt(member.getPwd());
        } catch (Exception e) {
            e.printStackTrace();
            return ResultInfo.fail("系统发生错误,请稍后重试");
        }

        if(originPwd.equals(oldPassword)){
            Member memberTemp=new Member();
            memberTemp.setId(member.getId());
            try {
                memberTemp.setPwd(AES.encrypt(newPassword));
            } catch (Exception e) {
                e.printStackTrace();
                return ResultInfo.fail("系统发生错误,请稍后重试");
            }

            if(memberService.modifyMember(memberTemp)){
                member.setPwd(memberTemp.getPwd());
                return ResultInfo.success("");
            }
            return ResultInfo.fail("修改密码失败,请稍后重试");
        }
        return ResultInfo.fail("旧密码错误");
    }

    @RequestMapping(value = "/member/personCenter",method = RequestMethod.GET)
    public String personCenter(HttpSession session, Model model){
        Member member= (Member) session.getAttribute("member");
        if(member==null)
            return "redirect:/login";

        model.addAttribute("nickname",member.getNickname());

        return "member/member";
    }

    @RequestMapping(value = "/member/modifyPwd",method = RequestMethod.GET)
    public String modifyPwd(){
        return "member/member_modifyPwd";
    }

    @RequestMapping(value = "/member/baseInfo",method = RequestMethod.GET)
    public String baseInfo(){
        return "member/member_myInfo";
    }

    @RequestMapping(value = "/member/avatar",method = RequestMethod.GET)
    public String avatar(){
        return "member/member_myAvatar";
    }
}
代码已经上传github,下载地址:https://github.com/21503882/tea-jxc

发布了38 篇原创文章 · 获赞 10 · 访问量 4160

猜你喜欢

转载自blog.csdn.net/QQ21503882/article/details/101643638
今日推荐