港口集装箱码头管理系统
总体介绍
港口集装箱码头管理系统是一个用于管理船舶进出港口,生成收费单据的系统,集公告管理,基本信息管理,船舶进出港口管理以及运单管理为一体。
功能介绍
1.登录
登录地址:http://localhost:8091/login
管理员输入账号密码进行登录操作 admin admin123
登录成功跳到首页
2.公告管理
公告分为通知和公告两类,可进行增删改操作
3.基本信息管理
基本信息管理包括用户信息,船舶信息,泊位管理,堆场管理,岸边装卸管理和集装箱收发管理。这些基本信息维护好之后,就可以进行船舶进出口管理,计算所需费用。
鉴于篇幅长度限制,其他几个功能此处就不放图片了。
4.船舶进出口管理
此处分为船舶进出港口管理和运单管理两部分
4-1.船舶进出港管理
列表中显示了基本信息中维护的所有船舶信息,点击进港,进入进港信息填写页面。
用户在此处填写此船舶载重,所装集装箱个数,以及选择泊位,堆场(基本信息中所维护的)等信息。
填写完毕点击确定按钮,船舶即进港完成。
4-2.运单管理
运单分为未离港和已离港的船舶信息。
已离港的订单则可以删除。
未离港订单可选择点击离岗按钮,进行费用结算,费用结算完毕即可离岗成功
费用计算公式
总费用 = 泊位费用 + 堆场费用 + 装卸费用 + 集装箱费用
= (泊位单价 * 停靠天数) + (堆场单价 * 船只载重 ) + (装卸单价 * 船只载重) + (集装箱单价 * 停靠天数)
// 计算费用
TblWaybill waybill = waybillService.selectTblWaybillByWaybillId(wayBillId) ;
TblShip ship = tblShipService.selectTblShipByShipId(waybill.getShipId()) ;
int day = TimeHelper.getDay(ship.getEnterTime(), TimeHelper.getCurrentTime()) ;
// 泊位
String berthId = ship.getBerthId() ;
TblBerth berth = berthService.selectTblBerthByBerthId(berthId) ;
Float birthCost = Float.parseFloat(berth.getCost()) * day ;
// 堆场
String yardId = ship.getYardId() ;
TblYard yard = yardService.selectTblYardByYardId(yardId) ;
Float yardCost = Float.parseFloat(yard.getCost()) * day * Float.parseFloat(ship.getWeight()) ;
// 集装箱
String caseId = ship.getCaseId() ;
TblCase tblcase = caseService.selectTblCaseByCaseId(caseId) ;
Float caseCose = Float.parseFloat(tblcase.getCost()) * day * Float.parseFloat(ship.getCaseNum()) ;
// 装卸
String pretendId = ship.getPretendId() ;
TblPretend pretend = pretendService.selectTblPretendByPretendId(pretendId) ;
Float pretendCost = Float.parseFloat(pretend.getCost()) * Float.parseFloat(ship.getWeight()) ;
Float all = birthCost + yardCost + caseCose + pretendCost ;
软件架构
基础环境:
-
JDK:1.8
-
MySQL:5.7
-
Maven3.0
使用框架:
-
核心框架:Spring Boot
-
视图框架:Spring MVC
-
ORM框架:MyBatis
-
数据库连接池:Druid 1.1
-
安全框架:Apache Shiro 1.4
-
日志:SLF4J 1.7、Log4j
-
前端框架:jQury,bootStrap,ztree
安装说明
- 导入mysql脚本
- 将项目导入idea开发工具,加载maven依赖
- 修改数据库配置
- 启动程序
- 访问系统
http://localhost:8091(账号admin/admin123)