运维服务中台
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.

116 lines
2.7 KiB

1 year ago
const schedule = require('node-schedule');
const moment = require('moment')
module.exports = function (app, opts) {
const updateAttendance = app.fs.scheduleInit(
{
interval: '34 21 4 * * *',
// interval: '34 */15 * * * *',
immediate: true,
proRun: true,
},
async()=>{
try{
const startTime = moment()
const { models } = app.fs.dc
const { clickHouse } = app.fs
const { database: camWorkflow } = clickHouse.camWorkflow.opts.config
//工单数据
let workOrderNeedData = {
projectName: {
keyWord: ['项目名称'],
require: true,
},
applyTime: {
keyWord: ['申请时间'],
require: true,
},
completionTime: {
keyWord: ['处理完成时间'],
require: true,
},
state:{
keyWord:[''],
require: true,
},
}
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){
}
}
);
return {
updateAttendance,
}
}