最近在做一个项目时对有个地方一直有点迷惑,背景是这样:
model类:Doctor,PriceStandard
Doctor字段:
List<PriceStandard> feeList;
//扣费方式,1表示代扣,2表示不代扣
String recoupWay;
.....
PriceStandard字段:
//Y表示系统收费,N非系统收费
String isSystem;
//费用
double priceAmount;
.....
目的:判断当前doctor所收费用是否为0?(不代扣表示收费为0).
代扣费用条件:recoupWay=="1"&&isSystem=="N"
不代扣条件:recoupWay=="2"&&isSystem=="N"
系统费用: recoupWay=="1"||"2"+isSystem=="Y"即isSystem=="Y"
(其中代扣与不代扣只会出现其一)
总费用:代扣费或不代扣费+系统费用
代码:
//计算挂号实际收取费用
List<PriceStandard> feeList = doctor.getFeeList();
// 费用总数
double hs_price = 0;
double ad_price = 0;
//不代扣费用
double site_price = 0;
for (PriceStandard ps:feeList) {
double priceTemp = ps.getPriceAmount();
//代扣费用
if(doctor.getRecoupWay().equals("1")&&ps.getIsSystem().equals("N")){
hs_price += priceTemp;
}
//不代扣费用
if(doctor.getRecoupWay().equals("2")&&ps.getIsSystem().equals("N")){
site_price += priceTemp;
}
if(ps.getIsSystem().equals("Y")){
ad_price += priceTemp;
}
}
这段代码看起来非常的别扭,那个doctor.getRecoupWay()明明是外部的变量却不得不放在for循环内部来比较,因此很多人一看见这段代码就有想改一改的冲动,我也不例外:
//计算挂号实际收取费用
List<PriceStandard> feeList = doctor.getFeeList();
// 费用总数
double hs_price = 0;
double ad_price = 0;
//不代扣费用
double site_price = 0;
for (PriceStandard ps:feeList) {
if(ps.getIsSystem().equals("Y")){//系统费用
ad_price += ps.getPriceAmount();
}else if(ps.getIsSystem().equals("N")){//非系统收费
if(doctor.getRecoupWay().equals("1")){//代扣费用
hs_price += ps.getPriceAmount();
}else if(doctor.getRecoupWay().equals("2")){//不代扣费用
site_price += ps.getPriceAmount();
}
}
}
个人觉得这个recoupWay放在PriceStandard类可能更清晰一些。
分享到:
相关推荐
将你的java代码美化到有道云笔记中。喜欢使用云笔记的同学记住关键性代码的可以下载哟
人机对战,自定义用户名,选择电脑角色,电脑随机出拳。结束后,公布结果。提示:这是一个Java包,解压后,直接粘贴到新建的工程里,然后运行GOthegame.java即可.如果出现错误,改下包名
魔方java源代码 直接粘贴到myeclipse里 挺有意思的 大家可以练习一下
可自定义的超级马里奥源代码,导入到eclipse中可以运行
Java script脚本常用代码,比较全,供JS初学者参考。
利用freemarker生成MVC代码,避免做大量重复的复制黏贴替换工作,更专注在业务代码实现和难度更大的技术问题上,提高工作效率
所用工具:Jcreator 一.新建(ctrl+n)→判断:1.保存了,直接新建,框架名为:“新建 文本文档.txt--★海龙记事本★” 2.未保存:提示未保存,要求选则是否保存 选是,保存后新建;选否,不保存直接新建。...
包含js sm4 加密代码、java sm4加解密代码直接可用,代码已上线运行,亲测可用,粘贴即用 包含js sm4 加密代码、java sm4加解密代码直接可用
记事本的java程序代码,包括的功能有文件,编辑,帮助,文件:新建,打开,保存,退出。编辑:复制、粘贴、查找、替换。
java源代码写的黑白棋游戏程序.直接贴到eclipse里就能看到结果
在Java应用程序的窗口中贴图的技术.所有程序在j2sdk1.4.2_03环境下调试完成。所以需要首先安装J2sdk,而且要配置J2SDK的环境变量,如果没配置,就需要将所有代码都复制到J2SDK的bin目录下才可保证正常运行。
使用java代码获取本地网络中的打印机,封装标签格式数据,调用计算机默认打印机打印热贴标签
您是不是因为java的开发和维护繁琐而烦恼,目前政府机关、企业大都要求用java来开发项目,本软件将彻底解决您的后顾之忧,通过本软件的自动生成功能,生成的java代码规范、全部开源,不存在用隐含的内容,全部代码...
查看文章教程 https://blog.csdn.net/qq_37604915/article/details/80116801
创建数据库,根目录下有hotel2.sql文件,我的数据库版本是mysql 5.5,有点老,版本不同的可以一段一段粘贴执行,反正不多 根据自己数据库版本信息在pom.xml中修改数据库连接jar包版本 修改src/main/resources/db....
支持从Java 1.5到Java 14的代码 Maven pom.xml项目支持 基本Gradle Java项目支持(不支持Android) 独立Java文件支持 键入时报告解析和编译错误 ...代码段 注释处理支持(对于Maven项目自动) 语义选择 诊断标签
该程序是用myeclipse 自己编的 可以实现修改 字体大小颜色 保存,复制 粘贴,剪切 添加系统时间 可以打开 txt文件,功能还算可以 一部分代码是抄袭的 不是原创,
本文给大家分享了一段java编写的简单实现复制粘贴剪切功能的代码,需要的小伙伴可以直接拿走使用。如有更好的方案,也可以告之本人。
java写的代码统计工具,可以统计代码量,注释,空行等。其他的语言 统计不了!贴出我的源码:http://blog.csdn.net/sxhs1986/archive/2011/04/29/6372766.aspx
Java开发文本编辑器详细注释版。功能包括实现创建、浏览、编辑文件(剪贴、复制、粘贴),保存以及另存为等基本功能,以及字符(字母、汉字、数字)统计,帮助,关于等功能的实现。用到的主要知识:GUI图形界面基础...