一、项目简述
本系统功能包括:
数据统计、收件录入、发件录入、到件录入、派件录入、问题件录入、退件录入、留仓录入、装车录入、发车录入、到车录入、卸车录入、运单录入、运单编辑、运单查询、数据导入、签收录入、签收查询、快件跟踪、自定义跟踪、问题件跟踪、预付款管理、财务报表明细、现金账单、月结账单、代收货款、业务员提成、订单分配、订单查询、物品名维护、入库、出库、库存、物料、角色管理、用户管理、系统设置、员工维护、客户维护、网点维护、报价维护、其他维护、收发记录、到件预报。
二、项目运行
环境配置:
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); }