融资管理系统项目

系列文章目录

第一章 基础知识、数据类型学习
第二章 万年历项目
第三章 代码逻辑训练习题
第四章 方法、数组学习
第五章 图书管理系统项目
第六章 面向对象编程:封装、继承、多态学习
第七章 封装继承多态习题
第八章 常用类、包装类、异常处理机制学习
第九章 集合学习
第十章 IO流、多线程学习
第十一章 仓库管理系统项目
第十二章 员工管理系统、多表查询、反射实现DBHelper学习
第十三章 DML、DDL、数据库对象学习
第十四章 网络编程、各种标签、CSS学习
第十五章 ECMAScript、BOM学习
第十六章 DOM、jQuery学习
第十七章 Servlet、jsp、Cookie、Ajax学习
第十八章 融资管理系统项目


文章目录

  • 系列文章目录
  • 前言
  • 一、项目需求
    • 1. 项目背景
    • 2. 功能描述
      • 1. 登录
      • 2. 凭证管理
        • 2.1 融资列表
        • 2.2 融资详情
      • 3. 我的凭证
        • 3.1 凭证列表
        • 3.2 凭证详情
        • 3.3 融资
          • 3.3.1 凭证基本信息
          • 3.3.2 融资业务信息
          • 3.3.3 金融机构信息
          • 3.3.4 提交
    • 3. 数据库表
  • 二、项目分析
  • 三、项目分析
    • 1. 查询难点分析
    • 2. 融资难点分析
    • 3. 分页难点分析
  • 总结


前言

本文我们将介绍这两天做的融资管理系统项目,是管理凭证(类似支票
)和融资(从凭证里取钱),主要用到的技术包括
1、Java的三层架构
2、ajax异步发送
3、JavaScript页面编码技术
4、css技术
5、jdbc技术
融资管理系统
通过百度网盘分享的文件:小组项目2.zip
链接:https://pan.baidu.com/s/1y0yujuEquC7CfdoqfpBcgw?pwd=0803
提取码:0803
消失了好多天,我去‱∮∑⋙星吃鸭货来着,我吃了很多麻辣的鸭肠、鸭肚、鸭翅、鸭头、鸭锁骨,好好吃!


一、项目需求

1. 项目背景

电子债权凭证作为一种金融工具,可看做企业中的一种流动资产,其本质与应收账款相似。电子债权凭证是卖方企业与买方企业兑现现金的重要凭证。由于现阶段信息技术的快速发展,基于区块链的电子债权凭证越来越得到各个金融机构的认可,卖方企业可依托手中的电子债权凭证向金融机构申请融资,以解决自身现金流的问题。

2. 功能描述

1. 登录

输入账号和密码登录

2. 凭证管理

2.1 融资列表

展示当前登录企业发起融资的记录。

注意: 凭证金额一般比较大,所以按照融资金额查询时单位是万元。

2.2 融资详情

回显融资申请的详细信息。
注意:
1.预计到账日期后面的剩余10天代表当前日期和预计到账日期之间的差值,与申请日期没有关系。
例如:预计到账日期是2022年4月28日,今天是2022年4月18日,那么显示剩余10天。
2.凭证编号是融资时选择的凭证的编号。

3. 我的凭证

3.1 凭证列表

展示当前登录企业所拥有的凭证。
注意:
1.凭证编号是模糊查询。
2.凭证金额一般比较大,所以查询时单位是万元。
3.凭证状态是未融资时操作中才有融资。

3.2 凭证详情

凭证详情查询我的凭证表数据。
注意: 到期日期后面的剩余10天代表当前日期和到期日期之间的差值,与开单日期没有关系。

3.3 融资

凭证融资页面包含三部分内容,凭证基本信息.融资业务信息和金融机构信息。

3.3.1 凭证基本信息

从我的凭证表中查询基本信息,回显到页面中,到期日期后的剩余时间的计算规则同上。

3.3.2 融资业务信息

融资金额可以自由填写,也可以点击全部融资,全部融资就是把当前凭证的所有金额进行融资,即凭证基本信息的凭证金额填入融资金额中。
注意:
1.剩余凭证金额 : 凭证金额 . 融资金额
2.融资金额只能输入数字,且不能大于凭证金额,做好校验。

3.3.3 金融机构信息

查询金融机构表数据,将金融机构展示到金融机构信息的列表中。
注意:
1.预计到账 : 融资金额 . 融资成本
2.融资成本 : 融资金额 * 融资利率(利息)
3.融资金额在融资业务信息中获取,要根据填入的数据动态变化,这也意味着预计到账和融资成本的数据也会随着融资金额的修改而同步变化。

3.3.4 提交

点击提交后,要在融资表添加一条记录,并修改我的凭证表数据状态为已融资。
注意:
1、如果融资金额和凭证金额相同,那么只需要修改凭证数据的凭证状态即可。
2、如果融资金额小于凭证金额,那么除了要修改原凭证的凭证状态外,还要在我的凭证表中添加一条新的记录,用于保存剩余金额的数据,其他字段规则如下:
(1)凭证编号需要重新生成;
(2)凭证来源为融资留存;
(3)开单企业、所属企业、金融机构、开单日期、到期日期和付息方式为原凭证数据;
(4)来源凭证id为原凭证id。
3、新凭证编号生成规则:R+yyyyMMdd+序列号,序列化长度6位,编号总长度15位。
例如:今天是2022年10月1日,今天开具的第一个凭证编号为:R20221001000001
4、上链地址随机生成一个16位的字符串即可。

3. 数据库表

  1. 用户表(user)
    在这里插入图片描述
  2. 企业表(enterprise)
    在这里插入图片描述
  3. 金融机构表(instituty)
    在这里插入图片描述
  4. 我的凭证表(voucher)
    在这里插入图片描述
  5. 融资表(financing)
    在这里插入图片描述

二、项目分析

项目可以分为六个功能:
1、登录:跳转到融资列表页,显示登录用户所属企业的全部融资信息
2、融资列表:显示所有符合条件的融资信息(转到融资详情)
3、融资详情:显示他的全部信息
4、凭证列表:显示所有符合条件的凭证信息(转到凭证详情、融资)
5、凭证详情:显示他的全部信息(与)
6、融资:从凭证中取钱,添加一条融资信息

三、项目分析

1. 查询难点分析

查询时,需要获取所有输入的查询条件,然后实时更新。如何实现实时更新这一效果呢?
首先我们定义变量获取所有在上方查询条件获取到值
在这里插入图片描述

var enterprise_id = null;
var buttonName = null;
var no = null;
var instituty_id = null;
var amount_low = null;
var amount_high = null;
var create_time = null;
var status = null;

其次我们定义一个方法,每次点击包裹查询条件的div控件都会进行一次向servlet层传值进行查询

$(document).on("click", "#clickPlace", function () {financeCondition();$.get("financing/queryByFinancingCondition", {"enterprise_id":enterprise_id,"no": no,"instituty_id": instituty_id,"amount_low": amount_low,"amount_high": amount_high,"create_time": create_time,"status": status}, function (pageHelper) {JSON.stringify(pageHelper);forFinancing(pageHelper.list);showButton(pageHelper);});
});

我们在servlet层添加此方法进行查询并返回结果

public void  queryByFinancingCondition(HttpServletRequest request, HttpServletResponse response){String enterprise_id = request.getParameter("enterprise_id");String no = request.getParameter("no");String instituty_id =request.getParameter("instituty_id");String amount_low = request.getParameter("amount_low");String amount_high =request.getParameter("amount_high");String create_time = request.getParameter("create_time");String status = request.getParameter("status");String whichPage = request.getParameter("whichPage");FinancingCondition financingCondition = new FinancingCondition();if (enterprise_id != null && enterprise_id != "")financingCondition.setInstituty_id(Integer.parseInt(enterprise_id));if (no != null && no != "")financingCondition.setNo(no);if(instituty_id != null && instituty_id != "")financingCondition.setInstituty_id(Integer.parseInt(instituty_id));if (amount_low != null && amount_low != ""){financingCondition.setAmount_low(Double.parseDouble(amount_low));financingCondition.setAmount_low(financingCondition.getAmount_low() * 10000);}if (amount_high != null && amount_high != ""){financingCondition.setAmount_high(Double.parseDouble(amount_high));financingCondition.setAmount_high(financingCondition.getAmount_high() * 10000);}if (create_time != null && create_time != "")financingCondition.setCreate_time(create_time);if (status != null && status != ""){if (status.equals("0"));if (status.equals("1"))financingCondition.setStatus("成功");if (status.equals("2"))financingCondition.setStatus("融资中");if (status.equals("3"))financingCondition.setStatus("失败");}
//        System.out.println("servlet层内"+no + ":" + instituty_id + ":" + amount_low + ":" + amount_high + ":" + create_time + ":" + status);PageHelper pageHelper = new PageHelper();if (whichPage != null)pageHelper.setWhichPage(Integer.parseInt(whichPage));pageHelper.setAllNum(financingService.selectFinancingCount(financingCondition));ArrayList<FinancingAndInstituty> financingAndInstituties = financingService.selectFinancingList(financingCondition, pageHelper);pageHelper.setList(financingAndInstituties);Gson gson = new Gson();try {response.getWriter().println(gson.toJson(pageHelper));} catch (IOException e) {e.printStackTrace();}
}

2. 融资难点分析

在这里插入图片描述
每次点击金融机构,此凭证信息应随之更改,但本页面无法更改,所以加一个reload函数重新加载本页面

$("#doc-modal-list").on("click", "tr", function () {location.reload(true);var thisId = $(this).attr("id");$.get("financing/updateVoucher", {"Vid":$("[name='hiddentxt']").val(),"Iid":thisId});
});

3. 分页难点分析

在这里插入图片描述


总结

没啥好说的了,放段网盘链接吧
融资管理系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/406515.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

指针的学习和理解

初级 1、指针的概念 在64位操作系统中&#xff0c;不管什么类型的指针都占8个字节 int a1; int* p&a;//p就是一个整型的指针&#xff0c;保存了a的地址2、指针和变量 int* p&a;* p100; // 等价于a100p //p&a*有两种定义&#xff1a; 定义的时候&#xff08;前…

IP报文详解

IP的作用 上一篇文章提到TCP的可靠传输机制&#xff0c;那么TCP有把数据从主机A到主机B的能力吗&#xff1f;答案是没有。而IP有这个能力&#xff0c;IP能够将数据从主机A跨网络传输到主机B的能力。那么一定能传输成功吗&#xff1f;答案肯定是否定的&#xff0c;会因为各种原…

使用 Python构建 Windows 进程管理器应用程序

在这篇博客中&#xff0c;我们将探讨如何使用 wxPython 构建一个简单的 Windows 进程管理器应用程序。这个应用程序允许用户列出当前系统上的所有进程&#xff0c;选择和终止进程&#xff0c;并将特定进程保存到文件中以供将来加载。 C:\pythoncode\new\manageprocess.py 全部…

普元EOS-数据实体运行时动态增加property

1 前言 在Java开发读取数据的时候&#xff0c;一般都采用ORM方式将数据表的字段映射到实体对象中。 数据表中有一个字段&#xff0c;实体对象就有一个字段。 但很多时候&#xff0c;我们在读取的数据和显示的数据不同&#xff0c;比如&#xff0c;读取的是部门id&#xff0c…

探索数据结构:图(一)之邻接矩阵与邻接表

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 图的定义 **图&#xff08;Graph&#xff09;**是数学和计算机科学中…

这周末,除非外面下钞票,否则谁也拦不住我玩《黑神话悟空》(附:两款可以玩转悟空的显卡推荐)

主播说联播 | 从“十分之三”到“悟空”,国潮有何出圈密码? 《黑神话:悟空》里的中国古建取景地,在这里! 这周末,除非外面下钞票,否则谁也拦不住我玩《黑神话悟空》(附:两款可以玩转悟空的显卡推荐) 原创 IPBrain平台君 集成电路大数据平台 2024年08月22日 17:28 …

gif图片怎么压缩大小?深度测评7款动图压缩工具(内含教程)

gif图片在社交媒体和网络上非常流行&#xff0c;深受大家喜爱&#xff0c;因为它可以呈现生动的动画效果。gif动图之所以受到欢迎&#xff0c;主要因为其出色的压缩算法&#xff0c;能有效存储多个帧&#xff0c;从而实现流畅的动画。 然而&#xff0c;大多数社交媒体平台对gi…

[数据集][目标检测]集装箱缺陷检测数据集VOC+YOLO格式4127张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4127 标注数量(xml文件个数)&#xff1a;4127 标注数量(txt文件个数)&#xff1a;4127 标注…

全新分支版本!微软推出Windows 11 Canary Build 27686版

已经很久没有看到 Windows 11 全新的分支版本了&#xff0c;今天微软发布 Windows 11 Canary 新版本&#xff0c;此次版本号已经转移到 Build 27xxx&#xff0c;首发版本为 Build 27686 版。 此次更新带来了多项改进&#xff0c;包括 Windows Sandbox 沙盒功能切换到 Microsof…

关于智能编码助手【通义灵码】,开发者们这么说...

自通义灵码发布以来&#xff0c;不停地有开发者朋友为我们送上通义灵码的测评反馈。 关于通义灵码&#xff0c;开发者这样说 墨问西东 CEO 池建强&墨问研发团队 “通义灵码有一个强大的功能就是企业知识库检索增强&#xff0c;我们只需要上传团队的代码规范&#xff0c;…

[数据集][目标检测]快递包裹检测数据集VOC+YOLO格式5382张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;5382 标注数量(xml文件个数)&#xff1a;5382 标注数量(txt文件个数)&#xff1a;5382 标注…

【C语言小项目】五子棋游戏

目录 前言 一、游戏规则 1.功能分析 2.玩法分析 3.胜负判定条件 二、游戏实现思路 三、代码实现与函数封装 1.项目文件创建 2.头文件说明 3.函数封装 1&#xff09;菜单实现 2&#xff09;进度条实现 3&#xff09;main函数实现 4&#xff09;Game函数 5&#xff0…

TIM输出比较之PWM驱动LED呼吸灯应用案例

文章目录 前言一、应用案例演示二、电路接线图三、应用案例代码四、应用案例分析4.1 基本思路4.2 相关库函数介绍4.3 初始化PWM模块4.3.1 RCC开启时钟4.3.2 配置时基单元4.3.3 配置输出比较单元4.3.4 配置GPIO4.3.5 运行控制 4.4 PWM输出模块4.5 主程序 前言 提示&#xff1a;…

[数据集][目标检测]竹子甘蔗发芽缺陷检测数据集VOC+YOLO格式2953张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2953 标注数量(xml文件个数)&#xff1a;2953 标注数量(txt文件个数)&#xff1a;2953 标注…

电脑录屏高清视频制作:如何选择适合的分辨率和参数

在当今数字化时代&#xff0c;无论是教学、演示还是游戏直播&#xff0c;电脑录屏已经成为了一个不可或缺的工具。然而画质往往是录屏质量的关键因素&#xff0c;许多用户在追求高清录屏体验时&#xff0c;常常面临选择1080p还是4K分辨率的困惑。本文将深入探讨如何优化电脑录屏…

SpringBoot自动配置

一、Condition条件判断功能 Condition 是在Spring 4.0 增加的条件判断功能&#xff0c;其主要作用是判断条件是否满足&#xff0c;从而决定是否初始化并向容器注入Bean对象。通过Conditional注解及其一系列的其他相关注解实现。 在Spring Boot中&#xff0c;条件匹配&#xf…

性能优化理论篇 | swap area是个什么东西

我们知道每台计算机的内存&#xff08;RAM&#xff09;都是有限的&#xff0c;而我们的应用程序需要加载到内存才能被运行&#xff0c;如果一台机器运行多个应用程序时&#xff0c;内存可能会耗尽。Linux 系统中的“交换空间&#xff08;也称为交换分区&#xff09;”可以帮助缓…

使用AWS Lambda轻松开启Amazon Rekognition之旅

这是本系列文章的第一篇&#xff0c;旨在通过动手实践&#xff0c;帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章&#xff0c;大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。 那么让我们开始今天的内容吧&#xff01; 介绍 什么是Amazon Rekognition&…

微软的免费“后悔药“-Windows File Recovery (WinFR)

微软的免费"后悔药"-Windows File Recovery (WinFR) 当你不小心误删除了文件或因各种意外情况导致数据丢失&#xff0c;可以使用 EasyRecovery、Disk Drill、DiskGenius、Recuva 等“上古”软件&#xff0c;也可以交由专业机构进行恢复。微软&#xff08;Microsoft&…

揭秘!移动安全管理系统是什么?有什么功能?(从小白到精通一文揭晓!)

在2024年&#xff0c;移动终端管控软件在企业和组织中的应用日益广泛。 移动安全管理系统不仅提高了管理效率&#xff0c;还增强了数据安全性和移动办公的便捷性。 以下是六款值得推荐的移动终端管控软件&#xff1a; 1. 安企神 特点&#xff1a;作为行业领头羊&#xff0c;…