请问Finereport里面怎么查询到某段时间有哪些人请假?

请问Finereport里面怎么查询到某段时间有哪些人请假了,比如我查询2018年11月1日至11月30日时,能不能查询出请假时间从10月29日至12月3日的张三,和请假时间从11月5日至11月8日的李四,和请假时间从11月25日至12月5日的王五三个人

data_362是请假开始时间字段,data_363是请假结束字段,我这样设置设置查询参数发现不对,请各位大佬帮忙看看,需要怎么设置才对?

FineReport 萌主 发布于 2018-12-10 02:40
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
5
城落满芯Lv6中级互助
发布于2018-12-10 07:59

根据字面意思理解,是查不到张三的,可以查到李四和王五;

原因在于,数据库只记录了请假 开始时间和结束时间,这期间状态是未做记录的。故查不到。

解决方法:

需要计算你查询的时间(例如20181101)否存在于张三请假时间段内(20181029-20181203内),存在则查出,不存在,则查不出。

原本在Excel内实现过,某一日期是否在某个时间段内。在FineReport 还未曾实现过。

楼主可以按照这个思路尝试一下

  • 萌主 萌主(提问者) 谢谢您的回复!您的意思是说FineReport里面没法实现我想要的这种查询是么?
    2018-12-12 01:32 
  • 城落满芯 城落满芯 回复 萌主(提问者) 也有可能是,我当前掌握的技术能力还达不到一下就可以想出方法的地步。楼主,可以按照思路尝试一下
    2018-12-12 07:55 
  • 萌主 萌主(提问者) 回复 城落满芯 谢谢
    2018-12-19 12:35 
  • 萌主 萌主(提问者) 谢谢您@城落满芯 朋友,有位朋友回复告诉我解决方法了,就是把我做的最后一个and条件修改成下面语句就可以了:and ((data_m362<=\'${startDate}\' and data_m363>=\'${endDate}\') or (data_m362 between \'${startDate}\' and \'${endDate}\') or (data_m363 between \'${startDate}\' and \'${endDate}\'))。我测试结果是我想要的数据,以后您可以试试。
    2018-12-20 00:52 
  • 城落满芯 城落满芯 回复 萌主(提问者) 也谢谢你告诉我解决方案。灰常感谢
    2018-12-20 07:56 
  • 2关注人数
  • 386浏览人数
  • 最后回答于:2018-12-10 07:59
    请选择关闭问题的原因
    确定 取消
    返回顶部