💖💖作者:计算机编程小咖
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
网站实战项目
安卓/小程序实战项目
大数据实战项目
深度学习实战项目
渔船出海及海货统计系统介绍
本系统名为《基于Spring Boot的渔船出海及海货统计系统》,主要围绕渔船出海作业、海货信息记录和后台统计管理来设计,采用B/S架构,并且提供Java和Python两个版本。Java版后端使用Spring Boot整合Spring、SpringMVC和MyBatis,Python版后端使用Django,前端使用Vue、ElementUI和HTML,数据库使用MySQL,开发工具可以选择IDEA或者PyCharm。系统功能包括系统首页、用户管理、渔船信息管理、渔船航班管理、海货分类管理、海货价格管理、渔船海货管理、非法举报管理、渔船黑名单管理、系统管理、轮播图管理、账户设置、个人中心、修改密码等模块。管理员可以通过渔船信息管理和渔船航班管理维护出海船只的基本资料和航次安排,通过海货分类管理、海货价格管理和渔船海货管理对海货种类、价格、重量和金额进行记录与统计,非法举报管理和渔船黑名单管理则用来处理异常信息和风险船只。系统管理、轮播图管理、账户设置、个人中心和修改密码等模块负责基础数据维护和用户操作。整体来说,这个系统把渔船出海、海货记录和后台管理放在一个平台里,能够完成比较完整的增删改查、分类统计和管理流程,适合作为计算机专业本科毕业设计进行开发和展示。
渔船出海及海货统计系统演示视频
渔船出海及海货统计系统演示图片










渔船出海及海货统计系统代码展示
SparkSession spark = SparkSession.builder().appName("渔船海货统计").master("local[*]").getOrCreate();
public Map<String,Object> addFishBoat(FishBoat boat){
if(boat==null){throw new RuntimeException("渔船信息不能为空");}
if(StringUtils.isBlank(boat.getBoatNo())){throw new RuntimeException("渔船编号不能为空");}
if(StringUtils.isBlank(boat.getBoatName())){throw new RuntimeException("渔船名称不能为空");}
if(StringUtils.isBlank(boat.getOwnerName())){throw new RuntimeException("船主姓名不能为空");}
FishBoat old=fishBoatMapper.selectByBoatNo(boat.getBoatNo());
if(old!=null){throw new RuntimeException("渔船编号已经存在");}
boat.setStatus("正常");
boat.setCreateTime(new Date());
int rows=fishBoatMapper.insertFishBoat(boat);
if(rows<=0){throw new RuntimeException("渔船信息保存失败");}
Map<String,Object> result=new HashMap<>();
result.put("code",200);
result.put("msg","渔船信息新增成功");
result.put("boatId",boat.getId());
return result;
}
public Map<String,Object> updateSeafoodPrice(SeafoodPrice price){
if(price==null||price.getId()==null){throw new RuntimeException("海货价格参数不完整");}
if(price.getCategoryId()==null){throw new RuntimeException("海货分类不能为空");}
if(price.getPrice()==null||price.getPrice().compareTo(BigDecimal.ZERO)<=0){throw new RuntimeException("海货价格必须大于0");}
if(price.getEffectiveDate()==null){throw new RuntimeException("生效日期不能为空");}
SeafoodPrice old=seafoodPriceMapper.selectById(price.getId());
if(old==null){throw new RuntimeException("海货价格记录不存在");}
SeafoodCategory category=seafoodCategoryMapper.selectById(price.getCategoryId());
if(category==null){throw new RuntimeException("海货分类不存在");}
price.setUpdateTime(new Date());
int rows=seafoodPriceMapper.updatePrice(price);
if(rows<=0){throw new RuntimeException("海货价格更新失败");}
Map<String,Object> result=new HashMap<>();
result.put("code",200);
result.put("msg","海货价格更新成功");
result.put("priceId",price.getId());
return result;
}
public Map<String,Object> addCatchRecord(CatchRecord record){
if(record==null){throw new RuntimeException("海货记录不能为空");}
if(record.getBoatId()==null){throw new RuntimeException("渔船不能为空");}
if(record.getFlightId()==null){throw new RuntimeException("渔船航班不能为空");}
if(record.getCategoryId()==null){throw new RuntimeException("海货分类不能为空");}
if(record.getWeight()==null||record.getWeight().compareTo(BigDecimal.ZERO)<=0){throw new RuntimeException("海货重量必须大于0");}
if(record.getUnitPrice()==null||record.getUnitPrice().compareTo(BigDecimal.ZERO)<=0){throw new RuntimeException("海货单价必须大于0");}
FishBoat boat=fishBoatMapper.selectById(record.getBoatId());
if(boat==null){throw new RuntimeException("渔船信息不存在");}
Flight flight=flightMapper.selectById(record.getFlightId());
if(flight==null){throw new RuntimeException("渔船航班不存在");}
SeafoodCategory category=seafoodCategoryMapper.selectById(record.getCategoryId());
if(category==null){throw new RuntimeException("海货分类不存在");}
record.setTotalAmount(record.getWeight().multiply(record.getUnitPrice()));
record.setCreateTime(new Date());
int rows=catchRecordMapper.insertCatchRecord(record);
if(rows<=0){throw new RuntimeException("渔船海货记录保存失败");}
List<CatchRecord> list=catchRecordMapper.selectByBoatAndFlight(record.getBoatId(),record.getFlightId());
Dataset<Row> df=spark.createDataFrame(list,CatchRecord.class);
long totalCount=df.count();
Map<String,Object> result=new HashMap<>();
result.put("code",200);
result.put("msg","渔船海货记录新增成功");
result.put("recordId",record.getId());
result.put("sparkCount",totalCount);
return result;
}
渔船出海及海货统计系统文档展示

💖💖作者:计算机编程小咖
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
网站实战项目
安卓/小程序实战项目
大数据实战项目
深度学习实战项目
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2501_92994675/article/details/166994225




