机房收费系统——上下机「建议收藏」

机房收费系统——上下机「建议收藏」机房收费系统——上下机

大家好,又见面了,我是你们的朋友全栈君。

最近大家都在进行机房收费系统,看大家的博客,基本上都是先理清思路再实现功能,回想自己当时做的时候就不够好,只是盲目的敲代码,却忽略了方向比努力更重要这个道理,导致最后出现了很多漏洞,于是又重新画了一遍上下机的流程图,希望能对以后机房的学习有帮助。

上机

机房收费系统——上下机「建议收藏」

只要思路清晰,具体的代码实现很简单。

下机

机房收费系统——上下机「建议收藏」

下机需要计算消费金额,具体是怎么计算的呢?

机房收费系统——上下机「建议收藏」

关于消费金额的计算,每个人都有不同的计算方法,我觉得只要合理就行。

在基本数据设定的表中,有准备时间,最小上机时间,那么这两个时间跟实际的上机时间有什么区别和联系呢?

如果实际上机时间 < 准备时间,消费金额为0。

如果实际上机时间 < 最小上机时间,有的说法是不能下机,但是这样显得也不太合理,万一真的有特殊情况必须下机怎么办呢,所以在这可以下机,但是会收取一部分费用。

如果实际上机时间 > 最小上机时间,则按照不同的身份进行计算。

(以上计算是在 设定的准备时间 < 最小上机时间的基础上计算的)

具体代码如下

</pre><pre name="code" class="vb"><span style="font-size:18px;">    Ontime = mrcO.Fields(9)  '获取上机时间
    Offtime = Now            '获取下机时间
    
    Consumetime = DateDiff("n", Ontime, Offtime)            '计算上机时间
    If Consumetime < prepareTime Then                       '实际上机时间 < 准备时间
        Consume = 0#
    ElseIf (prepareTime < Consumetime) And (Consumetime < leastTime) Then     ’实际上机时间 < 最小上机时间   
       A = msgbox "确定要下机吗?", vbYes + vbQuestion , "提示"
       If  A =vbYes Then
          Consume = Int(Rate / 2)
       End If
    ElseIf Trim(userType) = Trim(User) Then                                  '实际上机时间 > 最小上机时间
       Consume = Rate * Int(((Consumetime / unitTime) + 1))                  '固定用户消费               
    ElseIf Trim(userType) = Trim(tmpUser) Then                               
        Consume = tmpRate * Int(((Consumetime / unitTime) + 1))              '临时用户消费
    End If</span>


如果还有疏漏的地方,还请大家多多指教。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105789.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java经典设计模式之十一种行为型模式(附实例和详解)

    Java经典设计模式之十一种行为型模式(附实例和详解)

    2020年11月12日
    163
  • 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)「建议收藏」

    一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)「建议收藏」一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原来上来理解PID控制。PID(proportionintegrationdifferentiation)其实就是指比例,积分,微分控制。先把图片和公式摆出来,看不懂没关系。(一开始看这…

    2022年5月3日
    47
  • 基于SSH的实验室设备管理系统mysql[通俗易懂]

    基于SSH的实验室设备管理系统mysql[通俗易懂]### 环境:JSP+SHH框架+MySQL数据库+jdk+tomcat每个功能模块的具体功能如下所述:实验室教师端(管理员端)通知管理模块该模块是实验管理员发布通知公告的地方,具体包括新增通知公告、删除通知公告。预约和借用记录管理模块这是两个模块,而其设计思想大致相同,借用记录管理模块主要是对借用的设备仪器进行记录,其包括借用人、借用时间、归还时间和审核。借用设备需要管理员的审核…

    2022年10月13日
    0
  • 2. 无门槛学会数据类型与输入、输出函数,滚雪球学 Python python 入门教程非常详细

    2. 无门槛学会数据类型与输入、输出函数,滚雪球学 Python python 入门教程非常详细python入门教程,python入门教程,python入门教程,python入门教程,python入门教2.无门槛学会数据类型与输入、输出函数,滚雪球学Pythonpython入门

    2022年7月6日
    15
  • Kafka集群扩容「建议收藏」

    Kafka集群扩容「建议收藏」Kafka集群的服务发现是有zk实现的,因此想kafka集群添加新的broker就非常容易。我们只需要为新的broker设置一个唯一的broker.id,然后启动新增的kafka就行。Kafka集群会自动发现新增的broker并同步原数据,包括当前集群有哪些topics以及topics的分区信息等。但是我们需要的注意的一点,新增的broker不能分担之前已经创建的topic的负载,必须手动执行…

    2022年5月16日
    41
  • 【spring】Spring事件监听器ApplicationListener的使用与源码分析

    【spring】Spring事件监听器ApplicationListener的使用与源码分析ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。Spring提供的内置事件:ContextRefreshedEvent:容器刷新事件ContextStartedEvent:容器启动事件ContextStoppedEvent:容器停止事件ContextClo

    2025年6月30日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号