一个周报表的设计问题请教

2020-10-22 09:14:16 +08:00
 vitozyf

业务上需要不同的人填写不同的日报、周报、月报,最后汇总在一个统计表中。

日报、月报的查询逻辑很简单,日报按 yyyy-MM-dd 日期查询,月报按月份查询,但是周报就有点问题了。

主要是周报不是按年度的第几周来查,而是要业务上的 yyyy-MM-dd 至 yyyy-MM-dd 的格式,并且并不是按照严格的周一到周五,还有节假日,还有可能不想统计本周的最后一天,总之没有确定的算法算这个范围。

现在问题来了,日报、月报一进页面可以按当天日期、当月月份查显示的数据,如果本次的数据没有,那么直接填写提交就是本次的数据。周报进来的时候要按什么查询呢?如果提交按照 yyyy-MM-dd 至 yyyy-MM-dd 的格式,那怎么保证不同的填报人选的这个范围一定是一样的?如果不一样也不好汇总统计,就算一样,那么初始进来查询的时候也不知道应该用什么默认范围查。

大概是这么个意思不知道表达清楚没,求解怎么设计这个

795 次点击
所在节点    问与答
6 条回复
justest123
2020-10-22 10:03:06 +08:00
最简单也是最笨的一个做法:

根据业务(好像你的意思是只把工作日计算在内)把每年的 52 周包含的日期持久化(一年也就 52 条记录),涉及到法定节假日、公司内部的统一调休补班安排,可以实时做适配,每年公布第二年节假日的时候,添加第二年的 52 条记录就行了

进入页面查询的时候用当日日期查出是属于哪一周,页面上显示这一周你配置的起止日期就行了
Felldeadbird
2020-10-22 10:39:04 +08:00
周报肯定是按照 起止结束日来定啊。

例如,周一到周日,为一个周报。 用户输入 2020-09-01 到 2020-09-30 。 你就按照规则,判断每天的日期属于哪一周。
9-1,由于是星期二,你需要补上 8 月 31 日的数据,不然 9-1 到 9-6 少了一天的报表内容。

具体还是看上头对于周报的定义,是否需要补上完整一周的数据。
vitozyf
2020-10-22 11:41:22 +08:00
@justest123 考虑了这个,就是觉得有点麻烦,得手动维护这数据
vitozyf
2020-10-22 11:43:17 +08:00
@Felldeadbird 问题就在于不是严格按照周一到周天的时间点,有时候不一定统计某一天
justest123
2020-10-22 11:45:04 +08:00
@vitozyf 就是因为没有所谓的“算法”来自动维护,所以只能手动了。。以前项目中有个类似的问题,同事就是这么处理的,主要是这份数据量也不大,也不会经常变动
Felldeadbird
2020-10-22 13:59:22 +08:00
@vitozyf 不是按照周一到周日,那么按照起止周 来统计。例如,1 号的那周,不给他补上 8 月 31 日的数据。只统计 1-6 号的数据。。。
所以,你们公司的周报难道 不是按 七天来算吗?。。。七天时间计算,可以统计 7 个工作日为一周。7 个自然日为一周……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/717308

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX