Java 实战项目之精美物流管理系统的实现流程
作者:OldWinePot
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SpringBoot+Vue+maven+Mysql实现一个精美的物流管理系统,大家可以在过程中查缺补漏,提升水平
一、项目简述
本系统功能包括:
数据统计、收件录入、发件录入、到件录入、派件录入、问题件录入、退件录入、留仓录入、装车录入、发车录入、到车录入、卸车录入、运单录入、运单编辑、运单查询、数据导入、签收录入、签收查询、快件跟踪、自定义跟踪、问题件跟踪、预付款管理、财务报表明细、现金账单、月结账单、代收货款、业务员提成、订单分配、订单查询、物品名维护、入库、出库、库存、物料、角色管理、用户管理、系统设置、员工维护、客户维护、网点维护、报价维护、其他维护、收发记录、到件预报。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术: Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等。
运输点管理控制层代码:
/** * 运输点管理控制层 */ @RequestMapping("/admin/transport") @Controller public class TransportController { @Autowired private UserService userService; @Autowired private RoleService roleService; @Autowired private OperaterLogService operaterLogService; /** * 运输点列表页面 * @param model * @param user * @param pageBean * @return */ @RequestMapping(value="/list") public String list(Model model, User user, PageBean<User> pageBean){ model.addAttribute("title", "运输点列表"); model.addAttribute("username", user.getUsername()); model.addAttribute("pageBean", userService.findList(pageBean,user.getUsername(), UserRoleTypeEnum.TRANSPORT)); return "admin/transport/list"; } /** * 新增运输点页面 * @param model * @return */ @RequestMapping(value="/add",method= RequestMethod.GET) public String add(Model model){ model.addAttribute("roles", roleService.findAllByRoleType(UserRoleTypeEnum.TRANSPORT)); return "admin/transport/add"; } /** * 运输点添加表单提交处理 * @param user * @return */ @RequestMapping(value="/add",method= RequestMethod.POST) @ResponseBody public Result<Boolean> add(User user){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(user); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(user.getAddress() == null){ return Result.error(CodeMsg.ADDRESS_ERROR); } if(user.getRole() == null || user.getRole().getId() == null){ return Result.error(CodeMsg.TRANSPORT_USER_ROLE_EMPTY); } //判断运输点名是否存在 if(userService.isExistUsername(user.getUsername(), 0L)){ return Result.error(CodeMsg.TRANSPORT_USERNAME_EXIST); } user.setUserType(UserRoleTypeEnum.TRANSPORT); //到这说明一切符合条件,进行数据库新增 if(userService.save(user) == null){ return Result.error(CodeMsg.TRANSPORT_USE_ADD_ERROR); } operaterLogService.add("添加运输点,运输点名:" + user.getUsername()); return Result.success(true); } /** * 运输点编辑页面 * @param model * @return */ @RequestMapping(value="/edit",method= RequestMethod.GET) public String edit(Model model, @RequestParam(name="id")Long id){ model.addAttribute("roles", roleService.findAllByRoleType(UserRoleTypeEnum.TRANSPORT)); model.addAttribute("user", userService.find(id)); return "admin/transport/edit"; } /** * 编辑运输点信息表单提交处理 * @param user * @return */ @RequestMapping(value="/edit",method= RequestMethod.POST) @ResponseBody public Result<Boolean> edit(User user){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(user); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(user.getAddress() == null){ return Result.error(CodeMsg.ADDRESS_ERROR); } if(user.getRole() == null || user.getRole().getId() == null){ return Result.error(CodeMsg.TRANSPORT_USER_ROLE_EMPTY); } if(user.getId() == null || user.getId().longValue() <= 0){ return Result.error(CodeMsg.TRANSPORT_USE_NO_EXIST); } if(userService.isExistUsername(user.getUsername(), user.getId())){ return Result.error(CodeMsg.TRANSPORT_USERNAME_EXIST); } //到这说明一切符合条件,进行数据库保存 User findById = userService.find(user.getId()); //讲提交的运输点信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容 BeanUtils.copyProperties(user, findById, "id","createTime","updateTime","userType"); if(userService.save(findById) == null){ return Result.error(CodeMsg.TRANSPORT_USE_EDIT_ERROR); } operaterLogService.add("编辑运输点,运输点名:" + user.getUsername()); return Result.success(true); } /** * 删除运输点 * @param id * @return */ @RequestMapping(value="/delete",method= RequestMethod.POST) @ResponseBody public Result<Boolean> delete(@RequestParam(name="id")Long id){ try { userService.delete(id); } catch (Exception e) { return Result.error(CodeMsg.TRANSPORT_USE_DELETE_ERROR); } operaterLogService.add("删除运输点,运输点ID:" + id); return Result.success(true); } }
到此这篇关于Java 实战项目之精美物流管理系统的实现流程的文章就介绍到这了,更多相关Java 物流管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!