大家可以帮忙点赞、收藏、关注、评论啦
精彩专栏推荐订阅:在 下方专栏
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);
}
六、项目总结
本文对企业项目销售管理系统进行了详细的设计和功能划分。该系统基于角色划分功能权限,实现了对管理员、用户和企业三个角色的全方位管理。通过本系统,企业可以更加高效地进行项目管理,加强销售过程管控,提高业务效率和客户满意度。本系统的实施将为企业的发展提供有力的支持。