diff --git a/api/app/lib/schedule/timor_holiday.js b/api/app/lib/schedule/timor_holiday.js index 28afef3..804eda8 100644 --- a/api/app/lib/schedule/timor_holiday.js +++ b/api/app/lib/schedule/timor_holiday.js @@ -6,8 +6,8 @@ module.exports = function (app, opts) { const timorHoliday = app.fs.scheduleInit( { interval: '54 42 4 */7 * * *', - immediate: true, - // proRun: true, + // immediate: true, + proRun: true, }, async () => { const { timorApiUrl } = opts @@ -18,79 +18,78 @@ module.exports = function (app, opts) { 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) { + while (checkDay.isSameOrBefore(endDay)) { + try { + 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' - // } + 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') + 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') - // await new Promise(resolve => setTimeout(() => resolve(), 3000)); - // } catch (error) { - // console.error(error); - // } - // } + await new Promise(resolve => setTimeout(() => resolve(), 3000)); + } catch (error) { + console.error(error); + } + } 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); + if (!opts.dev && (!existLastDayRes || moment(existLastDayRes.day).diff(moment(), 'day') < 32)) { await pushByEmail({ - email:[] + email: ['gao.zhiyuan@free-sun.com.cn', 'li.yupeng@free-sun.com.cn'], + title: '人资系统[TimorHoliday]定时任务告警', + text: '已有日期已少于 32 天,当尽快排查最新日志完善日期信息;' }) } } diff --git a/web/client/src/sections/auth/actions/auth.js b/web/client/src/sections/auth/actions/auth.js index ce6a8d3..b93c636 100644 --- a/web/client/src/sections/auth/actions/auth.js +++ b/web/client/src/sections/auth/actions/auth.js @@ -43,7 +43,7 @@ export function login (username, password) { // }, // }); - return Request.post(ApiTable.login, { username, password, code: 'POMS' }) + return Request.post(ApiTable.login, { username, password, code: 'HR' }) .then(user => { sessionStorage.setItem('hrUser', JSON.stringify(user)); return dispatch({