第一张图图片是需求

第二张图片是数据库的结构

大概阐述一下那个需求 就是想要展示一年的每一周有多少数据 而一周中没有数据的就显示0 有数据又要具体到那一天 并且时间是上周三到本周二为一个周次 有什么好的写法吗 qq了
第一张图图片是需求


有个粗略的思路:
1. 拿到数据列表后,先按日期倒序排一下序
2. 创建一个结果数组,用来存放整理后的结果
3. 遍历数据列表
3.1 计算当前行所属周数(这里需要根据需求来,比如今天是周三到周天这段时间的话直接计算周数,周一周二的话就周数减1)
3.2 累计统计数据,比如合格lot、不良lot等
3.3 与上一行相比较,看本行与上一行的周数是否相同
3.3.1 如果相同,则将当前行插入到结果数组的头部,然后继续
3.3.2 如果不同
3.3.2.1 如果当前行的周数==上一行周数-1。则创建一个对象,属性名与普通行基本一致(这样后面拼表格的时候方便些),属性值为本周到目前为止累计的统计数据。看你的需求中周合计列颜色与普通的日数据不一样,所以这里还需要加一个类似type的属性,用于区分是周合计还是日数据。插入到结果数组的头部
3.3.2.2 如果本行与上一行的周数之间有落下的,需要生成空的属性值都为0的周合计对象,落下几个就创建几个,也是插入到结果数组的头部
3.3.3 如果没有下一个了,视同3.3.2
4.根据结果数组渲染即可。得到的结果数组的结构应该是周合计、日数据、周合计、周合计、日数据类似这样的