public long getByUser(final TimesheetDO timesheetDo, final Integer userId) {
long sum = 0;
boolean isExist = false; //用于分别是否为新添加的还是更新
boolean flag = false;
@SuppressWarnings("unchecked")
final List<TimesheetDO> list = getHibernateTemplate().find(
"from TimesheetDO t");
//如果id已经存在,则减去原来的,加上现在的,
//如果不存在,则直接加上现在的
if (list != null && list.size() > 0) {
for (final TimesheetDO sheet: list) {
isExist = false;
sum += sheet.getDuration();
isExist = sheet.getId().equals(timesheetDo.getId());
if ( isExist == true ){
flag = true;
final long temp = sheet.getDuration();
//System.out.println("\n\n\n" + temp + "\n\n\n");
sum = sum - temp;
//System.out.println("\n\n\n" + sum + "\n\n\n");
sum += timesheetDo.getDuration();
//System.out.println("\n\n\n" + sum + "\n\n\n");
}
}
}
//如果id不存在,则最后一个需要加上去,再进行判断
if ( flag == false ){
sum += timesheetDo.getDuration();
}
//System.out.println("\n\n\n" + sum + "\n\n\n");
return sum;
}
纪念一下自己。。。。。要多多加油。。。。
继续修改,修改成功,并且感觉写的还是蛮优美的:
public long getByUser(final TimesheetDO timesheetDo, final Integer userId) {
long sum = 0;
boolean isExist = false; //用于分别是否为新添加的还是更新
boolean flag = false;
//System.out.println("\n\n\n" + timesheetDo.getStartTime().toString().substring(0, 10) + "\n\n\n");
@SuppressWarnings("unchecked")
//final List<TimesheetDO> list = getHibernateTemplate().find(
//"from TimesheetDO t");
final List<TimesheetDO> list = getHibernateTemplate().find(
"from TimesheetDO t where t.user.id= ? and substr(t.startTime, 1, 10) = ?",
new Object[]{userId, timesheetDo.getStartTime().toString().substring(0, 10)});
//如果id已经存在,则减去原来的,加上现在的,
//如果不存在,则直接加上现在的
if (list != null && list.size() > 0) {
for (final TimesheetDO sheet: list) {
isExist = false;
sum += sheet.getDuration();
isExist = sheet.getId().equals(timesheetDo.getId());
if ( isExist == true ){
flag = true;
final long temp = sheet.getDuration();
//System.out.println("\n\n\n" + temp + "\n\n\n");
sum = sum - temp;
//System.out.println("\n\n\n" + sum + "\n\n\n");
sum += timesheetDo.getDuration();
//System.out.println("\n\n\n" + sum + "\n\n\n");
}
}
}
//如果id不存在,则最后一个需要加上去,再进行判断
if ( flag == false ){
sum += timesheetDo.getDuration();
}
//System.out.println("\n\n\n" + sum + "\n\n\n");
return sum;
}
加油!!
分享到:
相关推荐
本设计利用VHDL语言,实现了包括24小时制计时、整点报时、时间设置、闹钟功能在内的多种功能,其设计精度达到了每秒一次的更新,展现了高级的数字逻辑设计技巧。 首先,该数字钟的计时功能遵循24小时制,每日自动...
在本资源中,"使用Java理解程序逻辑第一章作业答案"主要涵盖了初学者在学习Java编程时,对于程序逻辑基础的理解和应用。这部分内容是编程学习的基石,它涉及到控制流程、变量、运算符、条件语句和循环结构等基础知识...
8位算术逻辑运算实验不仅是对学生动手操作能力的锻炼,更是对他们理论知识的一次实战检验。通过实验,学生能够将抽象的理论知识与实际操作相结合,加深对计算机硬件工作原理的理解,培养解决问题的能力。在这个过程...
福建省龙岩市长汀县第一中学2015届高三英语下学期第一次综合测试试题,作为面向高三学子的一项重要评估,其设计涵盖了英语学科的核心知识点,旨在全面检验学生的英语学习成果。在这份试题中,学生将面对包括听力理解...
该项目由UC Berkeley的博士生Woosuk Kwon和Zhuohan Li共同发起,并得到了包括a16z在内的多个赞助商的支持。项目的首次全体会议于2023年10月5日在a16z位于旧金山的办公室举行。 #### 二、关键技术点介绍 ##### 1. *...
本次东北三校高三数学第一次联考文试题,通过包括多项选择题、填空题和解答题在内的多种题型,全面考察了学生在等差数列与等比数列、几何证明、概率统计、直线与圆锥曲线的相互关系、导数与切线、函数的单调性等方面...
在山东省淄博市淄川第一中学,高二数学上学期的第一次阶段检测试题为学生们提供了一次全面检验数学基础知识的机会。该试卷不仅是对学生数学学习成果的一次评估,更是对他们逻辑思维与问题解决能力的锻炼。试题覆盖了...
综上所述,吉林省长春市汽开区的2020年中考语文第一次模拟考试试题是相当全面的。它不仅覆盖了语文基础知识,还全面考察了学生的阅读理解、表达应用和分析思考等综合能力。通过对这份试卷的深入分析,我们不难发现,...
最近,一份名为“九年级理综下学期第一次模拟试题扫描版1.pdf”的模拟试题在教学资源中占据了一席之地。这份资料作为九年级理综课程下学期的模拟试题,旨在全面检测学生在物理和化学学科上的知识掌握情况和应用能力...
在河南省焦作市2018届九年级数学第一次模拟考试中,试题内容覆盖了初中数学的诸多核心知识点。通过这些精心设计的题目,学生不仅能够评估自己的学习情况,还能够针对自己的薄弱环节进行强化训练。以下是对试题各部分...
13、[优化]移除后台功能开关入口,更换位左侧菜单的更多功能入口; 14、[优化]文档页的点击数标签可以在内页重复调用显示; 15、[优化]整体后台用户体验与布局; 16、[优化]附件设置新增默认浏览数与下载数的设置; ...
近期,江西省瑞昌市的高三学生参加了本学年度的第一次模拟考试,而这份包含听力、阅读理解、完形填空、语法填空以及短文写作在内的模拟试卷,无疑是备考的宝贵资源。 在听力部分,试题紧扣真实应用场景,不仅涉及了...
首先,我们来看第一个题目——"Tarpe 酋长的小钱钱"。这是一个关于计算预期总收益的问题,涉及到基础的数学运算和格式化输出。题目要求根据给定的资本`a`和回报率`c`来计算总收益`b`,公式是`b = a * (1 + c / 100)`...
例如,第一道选择题讨论的是两个命题之间的逻辑关系。如果一个数列是等差数列,这是否意味着另一个特定的关系也成立?答案是这并不构成充要条件,可能是充分非必要条件或必要非充分条件,或者是既不充分也不必要条件...
【标题】"新款趣味测试小程序源码.rar"指的是一个压缩包文件,其中包含了开发一款新型趣味测试微信小程序的所有源代码。微信小程序是一种轻量级的应用形式,用户无需下载安装即可在微信平台上使用,大大提升了用户...
8. **第三方库**:如果源码使用了第三方组件或库,这些资源也会被包含在内,帮助扩展功能或提高开发效率。 对于开发者来说,分析这个源码不仅可以学习如何制作微信小程序,还可以深入理解滚动弹幕的实现原理,提升...
在计算机网络中,IP地址是一个非常关键的概念,它是一个标识网络中唯一设备的逻辑地址。IP地址通常由32位二进制组成,分为四个八位段,每个八位段用十进制表示并以点分隔,例如192.168.0.1。非法的IP地址如259.197....
【知识点】 1. 集合的基本概念:题目中...这些知识点涵盖了中学数学的多个领域,包括集合论、复数、命题逻辑、函数性质、统计分析、不等式解法、类比推理、周期性序列、程序设计、三角函数、复数运算以及数据分析等。
本资源提供了 CSP 2020 入门组第一轮考试的相关知识点,涵盖计算机科学和编程领域的多个方面。下面是根据给定的文件信息生成的相关知识点: 计算机存储器 1. 在内存储器中,每个存储单元都被赋予一个唯一的序号,...
ZIP是一种常见的文件压缩格式,用于将多个文件或目录打包成一个单一的文件,便于传输和存储。用户可以下载这个ZIP文件,然后解压得到源码,进一步研究游戏的代码结构、逻辑和实现方式。 【标签解析】 1. **微信小...