【计算机毕业设计选题】基于Java的企业项目销售管理系统

大家可以帮忙点赞、收藏、关注、评论啦

精彩专栏推荐订阅:在 下方专栏

JAVA实战项目

一、项目介绍

随着经济的发展和全球化进程的加速,企业业务规模不断扩大,项目管理逐渐成为企业运营中的重要环节。为了提高项目管理效率,加强销售过程管控,本文旨在设计并实现一个企业项目销售管理系统。该系统将基于角色划分功能权限,实现对管理员、用户及企业三个角色的全方位管理。

二、功能介绍

管理员角色功能介绍:

基础数据管理:管理员可以对企业项目销售管理系统的基础数据进行管理和维护,例如添加、修改和删除产品信息、客户信息等,确保系统的正常运行和数据的准确性。
项目立项管理:管理员可以接收和审核用户和企业发起的项目立项申请,对符合条件的申请进行批准,并分配项目负责人,确保项目能够顺利启动。
合同签署管理:管理员可以对企业项目销售管理系统中的合同信息进行审核和监督,确保合同的合法性和有效性。同时,管理员还可以对合同的签署过程进行组织和协调,确保合同的及时签署和归档。
项目跟进管理:管理员可以对项目的进展情况进行跟进和监督,组织协调项目的各项任务,确保项目按时按质完成。
项目评审管理:管理员可以组织和监督项目的评审过程,制定评审标准和流程,确保项目质量得到有效控制。
项目验收管理:管理员可以组织和监督项目的验收过程,制定验收标准和流程,确保项目成果符合预期,并协助解决验收过程中出现的问题。
商机管理:管理员可以对企业项目销售管理系统中的商机信息进行管理和分析,帮助企业发现市场需求和业务机会,为企业的战略决策提供支持。
线索管理:管理员可以对系统中的线索信息进行分析和评估,协助企业发现新的销售机会和潜在客户,提高销售业绩。
用户管理:管理员可以对系统的用户进行管理和维护,例如添加、修改和删除用户账号、权限等,确保系统的安全性和稳定性。

用户角色功能介绍:

项目立项管理:用户可以对自己的项目进行立项申请,包括填写项目的基本信息、目标和计划等内容,并上传相关材料。用户还可以对已立项的项目进行信息维护和进展汇报。
合同签署管理:用户可以在系统中创建和管理合同信息,包括合同金额、合同期限等,并对合同的签署过程进行跟踪和管理。
项目跟进管理:用户可以对自己的项目进行跟进和监督,记录项目的进度和变化,并对项目的进展情况进行评估和反馈。
项目评审管理:用户可以参与项目的评审过程,对项目进行评估和打分,为项目的质量提供保障。
项目验收管理:用户可以参与项目的验收过程,对项目成果进行评估和反馈,确保项目成果符合预期。
商机管理:用户可以记录和跟踪商机信息,包括客户需求、市场趋势等,并将商机转化为具体的销售机会。
线索管理:用户可以记录和跟踪线索信息,包括潜在客户、销售机会等,并将线索转化为具体的销售机会。
招标管理:用户可以参与企业的招标过程,对招标信息进行查看和评估,并提交投标文件。用户还可以对招标的进展情况进行跟踪和管理。

企业角色功能介绍:

项目立项管理:企业可以对多个项目进行立项申请和管理,包括审核和批准项目、分配项目负责人等任务。
合同签署管理:企业可以对多个合同进行签署和管理,包括合同模板的制作、合同的审核和签署等任务。
项目评审管理:企业可以组织和监督项目的评审过程,制定评审标准和流程,确保项目质量得到有效控制。
项目验收管理:企业可以组织和监督项目的验收过程,制定验收标准和流程等任务,确保项目成果符合预期。
项目跟进管理:企业可以对多个项目进行跟进和管理,包括监督项目的进展情况、协调项目的任务等任务。
商机管理:企业可以对多个商机进行跟踪和管理,包括将商机转化为销售机会、记录客户需求和市场趋势等任务。
线索管理:企业可以对多个线索进行跟踪和管理,包括将线索转化为销售机会、记录潜在客户和销售机会等任务。
用户管理:企业可以对系统的用户进行管理和维护,包括添加、修改和删除用户账号、权限等任务。

三、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:Springboot
  • 前端:vue
  • 工具:IDEA或者Eclipse、JDK1.8、Maven

四、项目展示

登录页面:
在这里插入图片描述管理员模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述用户模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述企业模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、代码展示

public class PeixunbanbaomingController {
    @Autowired
    private PeixunbanbaomingService peixunbanbaomingService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,PeixunbanbaomingEntity peixunbanbaoming, HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			peixunbanbaoming.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<PeixunbanbaomingEntity> ew = new EntityWrapper<PeixunbanbaomingEntity>();
		PageUtils page = peixunbanbaomingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peixunbanbaoming), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,PeixunbanbaomingEntity peixunbanbaoming, HttpServletRequest request){
        EntityWrapper<PeixunbanbaomingEntity> ew = new EntityWrapper<PeixunbanbaomingEntity>();
		PageUtils page = peixunbanbaomingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peixunbanbaoming), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( PeixunbanbaomingEntity peixunbanbaoming){
       	EntityWrapper<PeixunbanbaomingEntity> ew = new EntityWrapper<PeixunbanbaomingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( peixunbanbaoming, "peixunbanbaoming")); 
        return R.ok().put("data", peixunbanbaomingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(PeixunbanbaomingEntity peixunbanbaoming){
        EntityWrapper< PeixunbanbaomingEntity> ew = new EntityWrapper< PeixunbanbaomingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( peixunbanbaoming, "peixunbanbaoming")); 
		PeixunbanbaomingView peixunbanbaomingView =  peixunbanbaomingService.selectView(ew);
		return R.ok("查询培训班报名成功").put("data", peixunbanbaomingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        PeixunbanbaomingEntity peixunbanbaoming = peixunbanbaomingService.selectById(id);
        return R.ok().put("data", peixunbanbaoming);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        PeixunbanbaomingEntity peixunbanbaoming = peixunbanbaomingService.selectById(id);
        return R.ok().put("data", peixunbanbaoming);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody PeixunbanbaomingEntity peixunbanbaoming, HttpServletRequest request){
    	peixunbanbaoming.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(peixunbanbaoming);

        peixunbanbaomingService.insert(peixunbanbaoming);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody PeixunbanbaomingEntity peixunbanbaoming, HttpServletRequest request){
    	peixunbanbaoming.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(peixunbanbaoming);

        peixunbanbaomingService.insert(peixunbanbaoming);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody PeixunbanbaomingEntity peixunbanbaoming, HttpServletRequest request){
        //ValidatorUtils.validateEntity(peixunbanbaoming);
        peixunbanbaomingService.updateById(peixunbanbaoming);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        peixunbanbaomingService.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<PeixunbanbaomingEntity> wrapper = new EntityWrapper<PeixunbanbaomingEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}

		int count = peixunbanbaomingService.selectCount(wrapper);
		return R.ok().put("count", count);
	}

六、项目总结

本文对企业项目销售管理系统进行了详细的设计和功能划分。该系统基于角色划分功能权限,实现了对管理员、用户和企业三个角色的全方位管理。通过本系统,企业可以更加高效地进行项目管理,加强销售过程管控,提高业务效率和客户满意度。本系统的实施将为企业的发展提供有力的支持。

大家点赞、收藏、关注、有问题都可留言交流👇🏻👇🏻👇🏻

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值