融资管理系统项目

news2024/11/25 0:37:37

系列文章目录

第一章 基础知识、数据类型学习
第二章 万年历项目
第三章 代码逻辑训练习题
第四章 方法、数组学习
第五章 图书管理系统项目
第六章 面向对象编程:封装、继承、多态学习
第七章 封装继承多态习题
第八章 常用类、包装类、异常处理机制学习
第九章 集合学习
第十章 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.coloradmin.cn/o/2063734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot框架如何实现上传与下载查看文件

基于SpringBoot框架&#xff0c;如何实现文件的上传与下载查看 提要 本项目借鉴于spring-guides/gs-uploading-files: Uploading Files :: Learn how to build a Spring application that accepts multi-part file uploads. (github.com)SpringBoot官网学习文档关于如何下载文…

Git基础学习(一)

文章目录 一. Git1. 定义2. SVN与Git的的区别 一. Git 1. 定义 Git 是一种分布式版本控制系统&#xff0c;用于管理软件项目的源代码。它是由 Linux 之父 Linus Torvalds 开发的&#xff0c;并已经成为了现代软件开发领域中最流行的版本控制系统之一。 使用 Git 可以追踪代码…

旅游管理系统

TOC springboot0748旅游管理系统 第1章 绪论 1.1课题背景 计算机的普及和互联网时代的到来使信息的发布和传播更加方便快捷。用户可以通过计算机上的浏览器访问多个应用系统&#xff0c;从中获取一些可以满足用户需求的管理系统。网站系统有时更像是一个大型“展示平台”&a…

基于SpringBoot的家电销售展示平台--论文pf

TOC springboot514基于SpringBoot的家电销售展示平台--论文pf 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着…

HTML+JS谁是卧底游戏

先说一句&#xff1a;一段时间没发文章&#xff0c;好多僵尸粉关注我&#xff0c;这CSDN&#x1f620; 主要功能 玩家设置&#xff1a;在游戏开始前&#xff0c;输入总人数、卧底人数和白板人数。系统会自动计算出剩下的平民人数&#xff0c;并随机分配身份。 身份查看&#…

html+css+js实现登录界面设计

在现代网页设计中&#xff0c;创建一个功能齐全且用户友好的登录页面是至关重要的。本文将介绍如何使用 HTML 和 CSS 创建一个简单而有效的登录页面&#xff0c;包括验证码、记住密码选项及忘记密码链接。 1. HTML 结构 我们将从 HTML 代码开始&#xff0c;构建一个包含登录表…

【Google SEO】搜索引擎索引综合SEO指南

有没有想过网站是如何在搜索引擎上列出的&#xff0c;以及 Google、Bing 和其他公司如何在几秒钟内为我们提供大量信息&#xff1f; 这种闪电般快速性能的秘诀在于搜索索引。它可以与所有页面的庞大且完美有序的目录档案进行比较。进入索引意味着搜索引擎已经看到了你的页面&a…

机器学习——lightGBM(学习整理)

目录 一、认识lightGBM 1. 简单介绍 2. 主要特点 LightGBM 的缺点 3. 模型训练方式 &#xff08;1&#xff09;Training API &#xff08;2&#xff09;Scikit-learn API 二、相关函数参数 1. Training API 2. Scikit-learn API&#xff08;重复只做补充&#xff09;…

python requests 被屏蔽(已设置header和代理IP,解决浏览器指纹问题)

情况说明&#xff1a; 已设置 User-Agent已使用代理IP之前请求没问题&#xff0c;突然无法请求了。我用浏览器打开网站可以正常访问。 我遇到的原因&#xff1a; 目标网站/接口&#xff0c;能够通过JA3或者其他浏览器指纹信息&#xff0c;识别到你不是通过浏览器进行访问的。…

【解决】JS Uncaught RangeError: Invalid array length

【解决】JS Uncaught RangeError: Invalid array length 在JavaScript编程中&#xff0c;Uncaught RangeError: Invalid array length 是一个相对常见的错误&#xff0c;通常发生在处理数组时提供了无效的长度值。这个错误可能由多种原因引起&#xff0c;本文将深入探讨此错误的…

LCP167 两数之和II--输入有序数组[leetcode-5]

LCP167 两数之和II–输入有序数组 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 <…

Redis(day 2)

一、常用指令 哈希Hash kv模式不变&#xff0c;但v是一个键值对 &#xff08;1&#xff09;hset、hget命令用于为哈希表中的字段赋值 。 &#xff08;2&#xff09;hmset、hmget 同时将多个field-value对设置到哈希表中。会覆盖哈希表中已存在的字段。 &#xff08;3&…

AI在医学领域:通过声纹特征来预测血糖水平

糖尿病代谢紊乱&#xff08;DM&#xff09;是一种以血糖水平异常为特征的代谢性疾病&#xff0c;其表现为高血糖&#xff08;≥230 mg/dL&#xff09;或低血糖&#xff08;<65 mg/dL&#xff09;。该病导致胰岛素产生或作用受损&#xff0c;胰岛素作为调节葡萄糖稳态的关键激…

20 动态内存管理

目录 一、为什么要有动态内存管理 二、malloc 和 free &#xff08;一&#xff09;malloc &#xff08;二&#xff09;free 三、calloc 和 realloc &#xff08;一&#xff09;calloc &#xff08;二&#xff09;realloc 四、常见的动态内存错误 &#xff08;一&#…

【初阶数据结构】顺序表与链表的比较(附题)

目录 一、顺序表和链表的区别&#xff08;其他链表存在缺陷&#xff0c;比较意义不大&#xff0c;这里用带头双向循环链表与顺序表进行比较&#xff09; 1.1插入、扩容与随机访问 二、缓存利用率的比较 2.1前置知识 详解及补充知识&#xff08;本文仅为比较顺序表及链表&am…

照片怎么转jpg格式?这些照片格式转换方法简单又高效

图片已成为我们日常生活与工作中不可或缺的一部分。然而&#xff0c;面对多种多样的图片格式&#xff0c;如何高效地将它们转换为最常用的JPG格式&#xff0c;成为了许多人面临的难题。下面给大家分享常用的几种照片格式转换方法&#xff0c;一起来了解下吧。 方法一&#xff1…

数据结构之树体系:二叉树、平衡二叉树、红黑树、AVL树、B树、B+树、最小生成树、哈夫曼树、决策树、LSM树、后缀树、R树

概述 数据结构与算法 二叉树 其中每个结点都不能有多于两个子结点&#xff1a; 满二叉树&#xff1a;若设二叉树的高度为 h h h&#xff0c;除第 h h h层外&#xff0c;其它各层(1&#xff5e;h-1) 的结点数都达到最大个数&#xff0c;最后一层都是叶子结点&#xff0c;且叶…

CICD持续集成持续交付部署

一、CICD概念 1、什么是CI/CD&#xff1f; 通俗来说就是启动一个服务&#xff0c;能够监听代码变化&#xff0c;然后自动执行构建、测试、打包、发布等流程&#xff1b; 2、CI 持续集成 指在开发人员频繁地提交新代码&#xff0c;都会自动执行构建、测试。根据测试结果&…

WPS回应“崩了”:提供15天会员补偿,另有新羊毛,你还不来薅?

近期&#xff0c;“WPS崩了”这一话题在时隔两个月后&#xff0c;再次因多名用户反馈软件使用问题而登上微博热搜。 WPS官方微博随后发布消息称&#xff0c;经过工程师的紧急修复&#xff0c;WPS服务已经恢复正常。 为了补偿用户&#xff0c;在8月22日0点至24点期间&#xff…

视频插帧—— RIFE 和 IFNet 的机制和应用

介绍 最近&#xff0c;数字和模拟技术开始加速融合。我们生活在一个人工智能技术能够显著提高质量的时代&#xff0c;只要模拟材料能够数字化。 例如&#xff0c;讨论中涉及到的纸艺软件&#xff0c;纸龙的移动模型被时间锁定&#xff0c;以大约 3 fps&#xff08;每秒帧数&a…