const moment = require('moment') let isDev = false // let isDev = true module.exports = function (app, opts) { const workorderStatistics = app.fs.scheduleInit( { interval: '24 */1 * * * *', immediate: isDev, proRun: !isDev, disabled: true }, async () => { try { const { models, ORM: sequelize } = app.fs.dc const { apMergeDeVeAnxinProjectId = '' } = opts const { clickHouse } = app.fs const { database: camWorkflow } = clickHouse.camWorkflow.opts.config const { parseProcessData } = app.fs.utils const attendanceRes = await clickHouse.pepEmis.query( ` SELECT story.id AS historyId, story.apply_user AS pepUserId, story.form_data AS formData, story.submit_form_data AS submitFormData, fform.form_schema AS formSchema, fprocess.name AS processName, procin.state_ AS state, fform.id AS formId, fversion.id AS versionId, fgroup.name AS groupName FROM workflow_process_history AS story INNER JOIN workflow_process_version AS fversion ON fversion.id = story.version_id INNER JOIN workflow_process_form AS fform ON fform.id = fversion.form_id INNER JOIN workflow_process AS fprocess ON fprocess.id = fform.process_id INNER JOIN workflow_group AS fgroup ON fgroup.id = fprocess.group_id AND fgroup.name = '运维中台表单' INNER JOIN ${camWorkflow}.act_hi_procinst AS procin ON procin.id_ = story.procinst_id ${existOvertimeCount || existVacateCount ? `WHERE story.create_at > '2023-03-16 00:00:00'` : ''} ` ).toPromise() } catch (error) { console.error(error); } } ) return { workorderStatistics, } }