例如:有表A(id_1,id_2,excess_amount,loss_amount);A_1(id_1,id_2,id_3,excess_amount,loss_amout),其中A_1是A表的子表,id_n是各自主键.
现在要求是:由用户输入loss_amount,loss_amout不得大小excess_amount,需要注意的是,A表可能有子记录A_1表,也可能没有.
当A有子表A_1时,A表loss_amount = 子表A_1所有loss_amount 之和(不得大于它所属的excess_amount).此时系统自动计算.
当A没有子表A_1时,A表loss_amout由用户自己输入,同样有大小限制.
A和A_1可能都有多条记录.
现在的解决方案为:
根据主键动态对loss_amount命名(loss_amout不叫lossAmount),例如A表中的记录excess_amount,loss_amount的对应命名为:id1_id2_excess,id1_id2_loss,
而对于其子表则为:id1_id2_id3_excess,id1_id2_id3_loss.
这样做的好处是容易理解,维护,可能精确到最小的每一条记录(子表记录).
如:判断loss_amount 不得大于excess_amount,则可以根据它们自己的名子来区分比较.
对于有子表的情况,怎样计算总和:
首先能够确定的是子项的名子,如id1_id2_id_3_loss,然后查询所有Tag("input"),找到其中以id1_id2为前缀并且以"_"分隔长度为4的段,相加求和即可.
还有一个问题就是数据保存:
由于前台数据命名的不确定性.所以在后台也只能靠字段组合来读取前台(request)里的参数.
因此要求在前台隐藏变量:对于A表里的每一条 记录,要隐藏值为id1,id2,id3(其中id3为空,但不能少)三个段,名子要固定.对于A_1表则要id1,id2,id3三个字段.规则就是取消A表
和A_1表的主从关系,它们每一条都有一组对应的隐藏变量如A表有记录Aa,Ab,其中Aa有A_1a,A_1b,A_1c三条子记录,Ab没有,则对应要有2+3=5组隐藏变量,而区分它们的主从关系
就是靠字段id3是否为空来实现.
分享到:
相关推荐
总之,这款宾馆饭店前台计算机管理系统以其人性化的设计和全面的功能,旨在提升宾馆的运营效率和服务质量,适应不断变化的市场需求。其设计理念是以用户需求为中心,让系统适应用户,而非让用户适应系统,这无疑为...
4. **账务处理**:7天前台系统自动计算房费、押金、服务费等,支持多种支付方式,如现金、信用卡、电子支付等,同时提供详尽的财务报表,便于酒店进行成本控制和财务管理。 5. **会员管理**:系统集成7天酒店的会员...
文档强调,其中的信息可能会发生变化,且不保证无误。用户在发现任何问题时应书面报告给Oracle公司。此外,文档还指出,除非许可证协议另有规定,否则不得以任何形式或方式复制或传输程序的任何部分。 ### 四、美国...
### 软件工程:酒店前台预定管理系统设计 #### 概述 随着现代信息技术的发展,酒店业也逐渐引入计算机管理系统来提升...未来可以进一步完善系统功能,增加移动终端访问能力等,以适应不断变化的市场需求和技术进步。
1. 商品进销存:销售日报表跟踪商品数量变化,包括进货、销售、赠送、打样等,但不涉及金额。数据需每日累计,保持与实际库存一致。 2. 款项交接:每日定时与中心店长交接营业款和订金款,确保资金安全。交接表详细...
此外,还可能使用`getComputedStyle`来获取元素的最终计算样式。 4. **动画效果**:JavaScript可以实现各种动态效果,如平滑滚动、淡入淡出、旋转、缩放等。这通常通过改变元素的CSS属性并设置定时器来实现,如`...
数据库课程设计:超市前台销售系统 本课程设计旨在构建一个超市前台销售系统,该系统能够高效、准确地处理超市日常的销售事务,包括商品的录入、更新、删除以及查询等功能,满足用户的需求并确保数据的安全性。以下...
退房结账过程中,前台计算机管理系统可以快速计算出宾客的总费用,处理退款或押金退还,并自动生成详细的账单报表。此外,系统还支持宾客评价和反馈的收集,以便酒店进行服务质量改进。 除了上述功能,宾馆饭店前台...
这意味着当数据变化时,视图会自动更新;反之亦然。在“五险一金计算”中,用户的输入和计算结果都会通过数据绑定实时显示在界面上。 4. **事件处理**: 用户操作,如点击按钮,会被转化为JavaScript事件处理函数...
又或者在游戏挂机软件中,通过模拟按键来控制角色移动、攻击等操作,同时根据窗口标题的变化来判断游戏进程。 需要注意的是,驱动级编程涉及到系统的底层操作,因此对开发者的技术要求较高,同时也存在安全风险。不...
- **大学生心态变化**:即将从校园步入社会的大学生普遍感到迷茫和焦虑,对于未来的职业方向缺乏清晰的认识。 #### 二、寻找实习机会的过程 - **通过同学介绍**:文中提到的同学介绍是获得实习机会的一种常见方式,...
JavaScript可以实现点击星星改变选中状态、实时计算平均分等功能,比如RateYo或Bootstrap Star Rating插件。 7. **文字效果**:文字效果可以增强页面的视觉吸引力,如淡入淡出、滚动、旋转等。使用CSS和JS结合,...
在IT行业中,动态结构设计是一种常见的软件开发方法,它强调程序结构应随着数据或业务需求的变化而变化。本文将详细探讨动态结构设计在前台系统中的应用,主要关注以下几个关键知识点: 1. **DAO(Data Access ...
在实际应用中,编写一个基于MUSCL格式的Fortran程序计算超声速前台接,需要深入理解流体力学原理、数值方法以及编程技巧,才能有效地模拟复杂的流动现象。通过不断优化算法和调整参数,可以提高计算的精度和效率,...
开发者可以通过读取这些文件,特别是 `energy_now` 和 `charge_now` 文件,来计算出电池容量的变化,从而推算出电量的消耗。此外,还需要考虑时间间隔,以得到单位时间内的电量变化,进而得知各个应用的电量使用情况...
在本项目中,可能使用了优先队列或者排序算法来实时维护销售排行的Top N,确保在数据流变化时,排行榜能够迅速更新。 **7. HBase存储** HBase是一个分布式的、面向列的NoSQL数据库,适合存储海量半结构化数据。在...
销售管理模块帮助商家记录每一次交易详情,支持快速结账、找零计算、优惠折扣处理等。系统能生成销售报表,分析销售数据,帮助商家了解畅销商品和销售趋势,以便调整经营策略。 三、库存控制 库存控制功能实时更新...
4. **计算属性和侦听器**:计算属性用于根据其他数据计算出新的值,而侦听器可以监听数据变化并执行相应操作。 5. **生命周期钩子函数**:Vue.js 组件有多个生命周期钩子函数,如`beforeCreate`、`created`、`...
前台管理子系统:该子系统采用Android开发技术,实现了用户界面和交互逻辑,包括顾客自助点餐、查看菜品制作进度、提出问题和给出评价等功能。\n2. 服务器设计:服务器端采用JPA和Servlet技术,结合MySQL数据库,...
因此,源码中可能会看到Vue的计算属性和watcher,它们帮助我们高效地处理数据变化并避免重复计算。 总的来说,基于Vue的仓库管理系统前台源码展示了Vue.js如何构建一个功能完善的业务应用,涉及到了组件化开发、...