机房重构-结账

2024-03-27 01:38
文章标签 重构 机房 结账

本文主要是介绍机房重构-结账,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:


机房重构结账部分涉及到购卡,退卡,充值表的查询,以及汇总和结账。下面就说一下购卡,退卡以及充值和汇总是怎么样用DataGridView来实现的。这次的结账页面只走了两次七层结构,其余均是绑定数据源来实现的。


内容:


一、获取操作员用户名


获取操作员用户名用的是comboBox控件,本次直接采用窗体加载显示。

直接查询级别为操作员的用户,然后循环加载到comboBox控件中,然后走七层查询User表。

    Private Sub frmAdadcount_Load(sender As Object, e As EventArgs) Handles MyBase.LoadDim facade As New Facade.SelectOpFacadeDim table As New DataTableDim user As New Entity.EntityDim i As Integeruser.Level = "操作员"table = facade.selectOpfacade(user)For i = 1 To table.Rows.CountcmdUserID.Items.Add(Convert.ToString(table.Rows(i - 1).Item(0)))NextFillByToolStrip1.Hide() '隐藏工具栏'清空DataGridView表中数据()While (DataGridView1.RowCount > 0)DataGridView1.Rows.Remove(DataGridView1.Rows(0))End WhileEnd Sub

二、根据选择的操作员显示该操作员进行的购卡,充值以及退卡,同时计算出汇总中需要的购卡数,退卡数,总售卡数以及充值金额,退卡金额,应收金额。

DataGridView绑定数据源:http://blog.csdn.net/tgbyn/article/details/74858291

 Private Sub cmdUserID_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmdUserID.SelectedIndexChangedDim facade As New Facade.SelectOpFacadeDim table As New DataTableDim user As New Entity.EntityDim RechargeMoney As IntegerDim CancelMoney As IntegerDim TotalMoney As IntegerUserIDToolStripTextBox.Text = cmdUserID.Text '传入的操作员Try'绑定数据源,查询各个表数据Me.Y_Card_InfoTableAdapter.Fill(Me.Register.Y_Card_Info, UserIDToolStripTextBox.Text) '注册表Me.Y_ReCharge_InfoTableAdapter.Fill(Me.Recharge.Y_ReCharge_Info, UserIDToolStripTextBox.Text) '充值表Me.Y_CancelCard_InfoTableAdapter.Fill(Me.CancelCard.Y_CancelCard_Info, UserIDToolStripTextBox.Text) '退卡表txtRegister.Text = DataGridView1.RowCount   '获取注册卡张数txtCancelCard.Text = DataGridView3.RowCount   '获取退卡张数txtTotal.Text = txtRegister.Text - txtCancelCard.Text  '总售卡张数'通过查询DataGridView每一条充值金额,获取总充值金额For i = 0 To DataGridView2.RowCount - 1RechargeMoney = RechargeMoney + DataGridView2.Rows(i).Cells(1).Value  '计算充值金额Next'通过查询DataGridView每一条退卡金额,获取总退卡金额For i = 0 To DataGridView3.RowCount - 1CancelMoney = CancelMoney + DataGridView3.Rows(i).Cells(1).Value   '计算退卡金额NextTotalMoney = RechargeMoney - CancelMoney    '应收金额txtRechargeCash.Text = RechargeMoney    '充值金额txtCancelCash.Text = CancelMoney        '退卡金额txtActualCash.Text = TotalMoney        '应收金额Catch ex As System.ExceptionSystem.Windows.Forms.MessageBox.Show(ex.Message)End TryEnd Sub

三、结账


将汇总页面获得的充值金额,退卡金额,应收金额等,更新进结账表;同时将注册表,退卡表,充值表状态更改为已结账。

 '结账Private Sub btnAcount_Click(sender As Object, e As EventArgs) Handles btnAcount.ClickDim adcount As New Entity.EntityAdCountDim flag As IntegerDim facade As New Facade.AdcountFacadeadcount.RechCash = txtRechargeCash.Textadcount.CancelCash = txtCancelCash.Textadcount.CheckCash = txtActualCash.Textadcount.Checkdate = Format(Now, "yyyy-MM-dd HH:mm:ss")adcount.UserID = cmdUserID.Textflag = facade.adcountbFacade(adcount)If flag > 0 ThenMsgBox("结账成功!")End IfEnd Sub
存储过程

ALTER PROCEDURE [dbo].[proc_Account]@UserID  varchar(11),@CheckCash  numeric(10, 2),@RechCash  numeric(10, 2),@CancelCash  numeric(10, 2),@Checkdate  datetimeasdeclare @Is   varchar(20)
BEGINset @Is = '未结账'update Y_ReCharge_Info set IsCheck='已结账' where UserID=@UserID and IsCheck=@Isupdate Y_CancelCard_Info set IsCheck='已结账' where UserID=@UserID and IsCheck=@Isupdate Y_Card_Info set IsCheck='已结账' where UserID=@UserID and IsCheck=@Isinsert into Y_Check_Info(UserID,CheckCash,RechCash,CancelCash,Checkdate)values(@UserID,@CheckCash,@RechCash,@CancelCash,@Checkdate)---exec('select * from Bill_Info')END


总结


看了不少人的博客,他们查询 充值金额,退卡金额,应收金额等都是走的七层查询出来的,其实直接获取表中的字段进行相加也是可以得到想要的东西。多一点思考,总会发现新东西,继续加油。


这篇关于机房重构-结账的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Mybatis Plus快速重构真批量sql入库操作

Mybatis快速重构真批量sql入库操作 基本思路 重构mybatis默认方法saveBatch和saveOrUpdateBatch的实现 基本步骤 真批量保存实现类InsertBatchMethod真批量更新实现类MysqlInsertOrUpdateBath注册InsertBatchMethod和MysqlInsertOrUpdateBath到EasySqlInjector注册Eas

搭建服务器机房的标准是什么?

企业在进行选择服务器时,可能会将服务器放置公司,但是大多数企业还是会选择服务器租用或托管服务,因为专业的IDC服务商通常能够提供良好的机房环境来进行放置服务器,接下来小编就主要来介绍一下搭建服务器机房的标准都有哪些吧! 首先对于机房的位置选择要保证原理水源、油库和化工厂等危险的场所,并且不应该建设在容易受到水灾和地震等自然灾害影响的地区当中,防止出现不可遏制的情况发生,造成重大的经济损失。

[机缘参悟-222] - 系统的重构源于被动的痛苦、源于主动的精进、源于进化与演进(软件系统、思维方式、亲密关系、企业系统、商业价值链、中国社会、全球)

目录 前言:系统的重构源于被动的痛苦、源于主动的精进、源于进化与演进 一、软件系统的重构 1、重构的定义与目的 2、重构的时机与方法 3、重构的注意事项 4、重构的案例分析 二、大脑思维的重构 1、大脑思维重构的定义 2、大脑思维重构的方法 3、大脑思维重构的挑战与前景 三、认知的重构 1、定义 2、目的 3、方法 四、实例 五、总结 四、婚姻家庭的重构 1、婚

总结如何成为“好”代码——读《重构:改善既有代码的设计》有感

读后感 说是“读后感”,其实并不是看得很仔细,尤其是各种代码例子,我基本上是跳过的。个人觉得,重构这件事上,关键是要能嗅出坏代码,知道什么是好代码,这样目标明确后,重构的手段其实是水到渠成的,唯一要注意的就是书中强调的:要以小步为单位稳打稳扎进行。 我所理解的“好”代码 核心目标 那么如何才是“好”代码?书中的答案是:“人们是否能轻而易举地修改”,而我觉得抽象层级更高的描述是:易于未来的工

数据结构 - 二叉树(重构 + 遍历)

写在前面 昨天有同学问到我一题关于重构二叉树的问题(link),做了一下,也做个记录吧! 所谓二叉树的重构,就是给你前序和中序,或者中序和后序,让你还原这棵二叉树. 注意:给出前序和后序是不能唯一确定一棵二叉树的,证明请看这儿.   一.给出前序和中序,重构二叉树 一个递归的过程: 当前结点的value:每一轮根据前序的第一个元素确定当前结点值. 左子树的中序遍历

大学生如何不带电脑去机房与屏幕被控解决方案

大学生如何不带电脑去机房与屏幕被控解决方案 引言 计算机专业的同学, 应该都有感触, 上计算机实验课, 机房有电脑, 但是有时候没网, 或者需要传输数据, 或者是需要把实验软件带回去自己操作, 所以必须带着自己的笔记本电脑, 但是电脑太重, 并且确实没必要带电脑. 痛点: 机房电脑: 1.性能差 2.被老师控制, 没法儿自己操作 3.电脑一旦重启, 则会清除数据 4.存在没有网络

来自Uber的12条架构重构经验

来自Uber的12条架构重构经验 2016-02-04  来源:聊聊架构 分类:架构  阅读(56) 评论(0)  对于开发者来说,架构设计是软件研发过程中最重要的一环,所谓没有图纸,就建不了房子。在遍地App的互联网时代,架构设计有了一些比较成熟的模式,开发者和架构师也可以经常借鉴。 但是,随着应用的不断发展,最初的架构往往面临着各种问题,比如无法满足客户的需求、无法实现应用的扩

重构手法之重新组织函数

重构手法之重新组织函数 在重构的手法中,很大的一部分是对函数进行整理,使函数能够恰当地包装代码(让代码自己说话而不是写更多的注释)。重新组织函数的驱动力,往往都是由于函数过长。因为函数过长就以为着包含了更多属性和逻辑,这样复杂的逻辑和诸多属性(如函数内部的局部变量或者静态变量等)会让代码变得难以维护,需要对其进行重新组织。 提炼函数 在冗长的函数中提炼出精小的函数,让每个短小函数负责的

LeetCode 重构二叉搜索数,即找出两个被交换的节点

原题:Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure. Note: A solution using O(n) space is pretty straight forward. Could you de