需求是:求每个请求ID操作时间和验收时间之间的间隔,需要剔除周六日,节假日,非工作时间(我们的工作时间 09:00-17:30 午休时间12:00-13:00 午休时间不属于工作范围,需要剔除)
当看到这个需求的时候,就感觉让实现色彩斑斓的黑一样,整个人是没有思绪的
但是最后发现还是可以完成的
比如现有的数据:
这个表的字段意思:请求ID,操作时间,验收时间
实现这个功能需要两个表辅助:
第一个表:TB_IP_Times(该表就是存放每一天的日期)
第二个表:TB_IP_OAHrmPubHoliday(国家法定节假日表)
chagetype=1 的日期就是补班
changetype=2 的日期是正常假日
第一步:用日期表关联我们需要求的表,关联条件就是全部