const moment = require('moment')

const TEST = false
// const TEST = true

module.exports = function (app, opts) {
    const mettingGenerate = app.fs.scheduleInit(
        {
            interval: '0 0 0 */1 * *',
            immediate: TEST,
            proRun: !TEST,
        },
        async () => {
            try {
                const { models } = app.fs.dc
                const today = moment()
                const date = today.date()
                const dateFormat = moment().format('YYYY-MM-DD')
                let sites = await models.Site.findAll({
                    where: { del: false },
                    attributes: ['id', 'name']
                });
                let datasM = [], datasB = [], datasD = [], datas6 = []
                sites.map(s => {
                    datasM.push({
                        siteId: s.id,
                        type: '月度安全例会',
                        date: dateFormat
                    });
                    datasB.push({
                        siteId: s.id,
                        type: '班前会',
                        date: dateFormat
                    });
                    datasD.push({
                        siteId: s.id,
                        type: '日调度会',
                        date: dateFormat
                    });
                    datas6.push({
                        siteId: s.id,
                        type: '逢六教育培训',
                        date: dateFormat
                    })
                })
                if (date == 1) {
                    await models.Metting.bulkCreate(datasM)
                }
                await models.Metting.bulkCreate(datasB)
                await models.Metting.bulkCreate(datasD)
                if (parseInt(date) % 10 == 6) {
                    await models.Metting.bulkCreate(datas6)
                }

            } catch (error) {
                app.fs.logger.error(`sechedule: mettingGenerate, error: ${error}`);
            }
        }
    );

    return {
        mettingGenerate
    }
}