Java 实战项目之精美物流管理系统的实现流程
作者:OldWinePot 时间:2023-10-30 19:53:46
一、项目简述
本系统功能包括:
数据统计、收件录入、发件录入、到件录入、派件录入、问题件录入、退件录入、留仓录入、装车录入、发车录入、到车录入、卸车录入、运单录入、运单编辑、运单查询、数据导入、签收录入、签收查询、快件跟踪、自定义跟踪、问题件跟踪、预付款管理、财务报表明细、现金账单、月结账单、代收货款、业务员提成、订单分配、订单查询、物品名维护、入库、出库、库存、物料、角色管理、用户管理、系统设置、员工维护、客户维护、网点维护、报价维护、其他维护、收发记录、到件预报。
二、项目运行
环境配置: 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);
}
}
来源:https://blog.csdn.net/pastclouds/article/details/121220318
标签:Java,物流管理系统,实战
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用maven开发springboot项目时pom.xml常用配置(推荐)
2022-09-19 23:33:48
详解StackExchange.Redis通用封装类分享
2022-07-06 00:41:32
![](https://img.aspxhome.com/file/2023/3/68643_0s.png)
Spring AOP原理及动态代理
2023-06-19 18:59:56
![](https://img.aspxhome.com/file/2023/3/61873_0s.png)
Java后台实现微信支付和微信退款
2023-09-06 13:44:00
![](https://img.aspxhome.com/file/2023/2/92692_0s.png)
深入理解C#窗体关闭事件
2023-06-01 14:38:56
![](https://img.aspxhome.com/file/2023/7/122637_0s.jpg)
Android使用ShareSDK实现应用分享的功能
2023-10-02 06:37:42
![](https://img.aspxhome.com/file/2023/9/137299_0s.gif)
android实现来电静音示例(监听来电)
2021-09-23 09:43:48
详解如何在SpringBoot项目中使用统一返回结果
2023-10-30 16:41:21
![](https://img.aspxhome.com/file/2023/4/58714_0s.png)
Android RadioButton 图片位置与大小实例详解
2022-04-12 18:00:20
![](https://img.aspxhome.com/file/2023/7/120127_0s.jpg)
使用MyBatis-Generator如何自动生成映射文件
2023-05-29 18:39:46
Kotlin协程Channel特点及使用细节详解
2021-06-03 08:12:34
![](https://img.aspxhome.com/file/2023/8/117108_0s.jpg)
C++类常量和类枚举
2022-05-05 17:07:47
![](https://img.aspxhome.com/file/2023/6/109786_0s.jpg)
C# winform 请求http的实现(get,post)
2023-03-20 13:52:01
Android实战教程第九篇之短信高效备份
2022-02-14 12:59:20
关于C#连接SQL Server时提示用户登录失败的解决方法
2021-10-03 21:21:58
![](https://img.aspxhome.com/file/2023/1/79071_0s.png)
Java框架设计灵魂之反射的示例详解
2023-06-13 21:34:34
带着新人看java虚拟机01(推荐)
2023-05-28 04:38:16
![](https://img.aspxhome.com/file/2023/7/78047_0s.png)
C# 基础入门--关键字
2023-01-22 15:44:23
maven私服搭建与使用教程
2022-05-09 06:23:56
![](https://img.aspxhome.com/file/2023/7/75667_0s.jpg)
C#获取路径的几种方式实例分析
2023-07-18 22:19:16