《智百盛汽修汽配管理系统——“配件采购”模块》总结

2023-10-29 06:10

本文主要是介绍《智百盛汽修汽配管理系统——“配件采购”模块》总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发工具与关键技术:Microsoft Visual Studio 2015、SQL Server、…NET MVC

一、 事务流程:采购订货 → 采购入库→ 采购退货 →货商结算

二、功能实现
(1) 采购订货
通过库存及实际采购计划生成采购订单,便于采购员根据采购单向供应商确认采购明细,单击[配件采购]->[采购订货]菜单,如下图:
在这里插入图片描述
 表单功能实现:
 进货订单号:系统将自动生成新的进货单号(单号根据当前模块的首字母+两位数年份+月份+日期+系统操作账号+流水号),每添加一张的单据时系统自动+1;
 供应商:表示采购配件的来源,可点击 在这里插入图片描述按钮在弹出来的模态框中进行查询、新增、修改供应商信息,且双击表格将供应商信息回填到[采购订货]页面中,如图:
在这里插入图片描述
 采购仓库:表示采购配件所放入的仓库,点击下拉框可进行选择仓库;
 交货日期:表示预计交货期限,点击文本框可选择日期和时间;
 总金额:表示进货的总金额,点击【保存】按钮后通过订单配件明细表的合计金额会回填到总金额文本框内;
 下方的配件明细表:表格具有可编辑性,在表格中点击鼠标右键出现:在这里插入图片描述 ,再点击添加会弹出模态框可进行查询、新增配件信息,选中配件可回填到订单页面下方的明细表中,明细表可修改需订购的配件数量和相关备注信息;若点击删除则可以删除明细表最后一行,如图:
在这里插入图片描述

 业务流程功能实现:
 点击【新增单】按钮,可进行新增一个订单,进货订单号更新,订单页面所有文本框和明细表内容重置;
 点击【删除单】按钮,可对当前订单删除;
 点击【保存】按钮,获取页面数据,判断必要信息是否为空,若有为空,将进行提示,若必要信息都不为空就可将订单数据保存进数据库中,形成未审核单据,未审核单据需进行审核后才能在后面的业务流程中使用;
 点击【选择单据】按钮,弹出模态框,可选择单据进行回填后将其删除或者进行审核或反审核;
 点击【审核】按钮,可对订单数据进行审核再存档,审核后订单页面的一切文本和表格无法编辑,须对其反审核后才可更改数据,审核如图:
在这里插入图片描述
 点击【反审核】按钮,可对已审核的订单进行反审核;

(2) 采购入库
在该窗口中录入所采购货物的所在仓库,信息等,以便于以后可以更快捷的找到货物,为以后清理库存做准备。
采购入库单支持从采购订单中导入订单明细,便于方便快捷录入入库明细。
采购订单审核后,单击[配件采购]->[采购入库]菜单,在[采购入库]页面中点击“采购订单号”的文本框按钮在这里插入图片描述 ,弹出模态框可进行查找之前审核的订单,如图:
在这里插入图片描述
同样进行双击回填订单号,订单数据一并回填于入库单。
若需要更改仓库或配件数量或其他信息,皆可在入库单未审核之前进行更改;
若无需更改,选择采购人后就可进行入库单的保存或审核了。
入库单一但审核通过则表示这批货物已进完货,所以上图的订单信息就无法在[采购入库]页面中查询出来。
其余表单功能和业务流程的功能实现与[采购订货]中的基本一致:
在这里插入图片描述

(3) 采购退货

在货物出现问题或者仓库出现库存太多等情况需要退货时,我们可以使用采购退货功能对退换的货物进行统计。
单击[配件采购]->[采购入库]菜单,在[采购入库]页面中点击“入库单号”的文本框按钮在这里插入图片描述 ,弹出模态框可进行查找之前已审核的入库单,如图:
在这里插入图片描述
找到需要退货的单据双击将数据回填到退货单中;
回填后的数据与入库时不一样的是下方配件表中的配件数量会变成负数;
配件数量可更改,但输入的必须要是负数,而且退货数量不能大于该配件的库存数,否则无法进行退货,保存时会进行提示,如图:
在这里插入图片描述
待判断输入的数据没问题之后就可审核通货单进行退货,自然退货单的总金额也为负数。

(4) 货商结算
货商结算主要是对采购配件供应商货款统计结算。
 功能实现:
思路:(1)基于前面的单据中都保存有供应商的ID以及相关字段;
(2)供应商货款统计结算,主要关联入库单和退货单两个单据的总金额,
一正一负,所以需要区分单据类型:入库单类型为“进货单”,退货单类型为“退货单”;
(3)综合(1)、(2), 用 供应商ID关联入库单ID和退货单ID以及两者的表中的单据类型ID,查询相关字段:单据类型、单据号、单据日期、总金额。
代码分享如下:接受从页面传来的供应商ID “SuppliersID”,分别查询入库表“PW_Incoming” 和退货表“PW_ReturnForm”,将查询出来的数据放入重新创建的集合 “list” 中,传回页面,如下:
在这里插入图片描述
传回页面效果:(在页面中选择供应商,后台就执行上面的代码)
在这里插入图片描述
 点击【全选】按钮,表格复选框全部选中,相应的 本次付款金额 = 未付金额 - 本次优惠金额,自动结算,但优惠金额不能大于未付金额;
 点击【保存】按钮进行结算单据的保存,如图:
在这里插入图片描述

三.相关业务表和关系
在这里插入图片描述
四、总结
前面的采购订单作得比较顺利,从采购入库到采购退货,对数据的处理就变得复杂起来了,尤其是在判断配件的库存数量时很容易导致单据无法审核,因为我在foreach 循环里用的Single()经常会与后面的判断冲突,后来我才改成了SingleOrDefault()——查询出来的数据是一条或为空都不会报错,所以对于入库和出库的表格数据的处理,要仔细判断仓库表里是否存在这条数据,是让它新增还是修改。

这篇关于《智百盛汽修汽配管理系统——“配件采购”模块》总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/298751

相关文章

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

Python AST 模块实战演示

《PythonAST模块实战演示》Python的ast模块提供了一种处理Python代码的强大工具,通过解析代码生成抽象语法树(AST),可以进行代码分析、修改和生成,接下来通过本文给大家介绍Py... 目录 什么是抽象语法树(AST)️ ast 模块的核心用法1. 解析代码生成 AST2. 查看 AST

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

Python pickle模块的使用指南

《Pythonpickle模块的使用指南》Pythonpickle模块用于对象序列化与反序列化,支持dump/load方法及自定义类,需注意安全风险,建议在受控环境中使用,适用于模型持久化、缓存及跨... 目录python pickle 模块详解基本序列化与反序列化直接序列化为字节流自定义对象的序列化安全注