人力资源
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
3.5 KiB

'use strict';
const moment = require('moment');
const request = require('superagent');
module.exports = function (app, opts) {
const timorHoliday = app.fs.scheduleInit(
{
interval: '54 42 4 */7 * * *',
immediate: true,
// proRun: true,
},
async () => {
const { timorApiUrl } = opts
const { models } = app.fs.dc
const { pushByEmail } = app.fs.utils
const existCount = await models.Holiday.count()
let begainDay = existCount ? moment() : moment('2022-01-01')
let endDay = moment().add(3, 'months').endOf('month')
let checkDay = begainDay.clone()
// while (checkDay.isSameOrBefore(endDay)) {
// try {
// let start = (new Date()).getTime();
// const checkDayStr = checkDay.format('YYYY-MM-DD')
// let holidayRes = await request.get(
// timorApiUrl + `holiday/info/${checkDayStr}`,
// )
// let holidayData = holidayRes.body || {}
// if (holidayData.code == 0) {
// let holidayType = holidayData.type.type
// let dayType = ''
// if (
// holidayType == 2
// && holidayData.holiday
// && holidayData.holiday.wage == 3
// ) {
// // 正经节假日 3倍工资那种
// // festivals
// dayType = 'festivals'
// } else if (
// holidayType == 1
// || (
// holidayType == 2
// && holidayData.holiday
// && holidayData.holiday.wage < 3
// )
// ) {
// // 普假 休息日非节假日
// dayType = 'dayoff'
// } else if (holidayType == 0 || holidayType == 3) {
// // 工作日或补班
// dayType = 'workday'
// }
// const dbRes = await models.Holiday.findOne({
// where: {
// day: checkDayStr
// }
// })
// if (dbRes) {
// await models.Holiday.update({
// holiday: holidayData,
// type: dayType
// }, {
// where: {
// day: checkDayStr
// }
// })
// } else {
// await models.Holiday.create({
// day: checkDayStr,
// holiday: holidayData,
// type: dayType
// })
// }
// }
// checkDay = checkDay.add(1, 'day')
2 years ago
// await new Promise(resolve => setTimeout(() => resolve(), 3000));
// } catch (error) {
// console.error(error);
// }
// }
2 years ago
let existLastDayRes = await models.Holiday.findOne({
order: [['day', 'DESC']]
})
console.log(moment(existLastDayRes.day).diff(moment(), 'day'));
if (moment(existLastDayRes.day).diff(moment(), 'day') < 32 || 1) {
console.log(1);
await pushByEmail({
email:[]
})
}
}
)
return {
timorHoliday
}
}