Browse Source

假勤日统计时间筛选

master
巴林闲侠 3 years ago
parent
commit
6d23f09e08
  1. 33
      api/app/lib/controllers/member/index.js
  2. 11
      api/app/lib/utils/member.js

33
api/app/lib/controllers/member/index.js

@ -246,7 +246,7 @@ async function list (ctx) {
const { judgeHoliday, memberList } = ctx.app.fs.utils
const {
keywordTarget, keyword, limit, page, state,
hiredateStart, hiredateEnd
} = ctx.query
const curDay = moment().format('YYYY-MM-DD')
@ -265,7 +265,10 @@ async function list (ctx) {
dayoffTime = true
}
}
const userRes = await memberList({ keywordTarget, keyword, limit, page, state })
const userRes = await memberList({
keywordTarget, keyword, limit, page, state,
hiredateStart, hiredateEnd
})
let returnD = []
userRes.rows.forEach(u => {
@ -396,9 +399,11 @@ async function overTimeStatistics (ctx) {
INNER JOIN overtime
ON overtime.id = overtime_day.overtime_id
AND overtime.pep_user_id = ${pepUserId}
${startDate && endDate ? `
WHERE overtime_day.day >= '${moment(startDate).format('YYYY-MM-DD')}'
AND overtime_day.day <= '${moment(endDate).format('YYYY-MM-DD')}'
${startDate ? `
AND overtime_day.day >= '${moment(startDate).format('YYYY-MM-DD')}'
`: ''}
${endDate ? `
AND overtime_day.day <= '${moment(endDate).format('YYYY-MM-DD')}'
` : ''}
GROUP BY overtime_day.day, overtime.compensate
`).toPromise()
@ -427,10 +432,14 @@ async function vacateStatistics (ctx) {
const { startDate, endDate, pepUserId } = ctx.query
const timeOption = []
if (startDate && endDate) {
if (startDate) {
timeOption.push(
`wpStory.create_at <= '${moment(endDate).format('YYYY-MM-DD HH:mm:ss')}'
AND wpStory.create_at > '${moment(startDate).format('YYYY-MM-DD HH:mm:ss')}'`
`wpStory.create_at > '${moment(startDate).format('YYYY-MM-DD HH:mm:ss')}'`
)
}
if (endDate) {
timeOption.push(
`wpStory.create_at <= '${moment(endDate).format('YYYY-MM-DD HH:mm:ss')}'`
)
}
const dataRes = await clickHouse.hr.query(`
@ -470,9 +479,11 @@ async function vacateStatistics (ctx) {
INNER JOIN vacate
ON vacate.id = vacate_day.vacate_id
AND vacate.pep_user_id = ${pepUserId}
${startDate && endDate ? `
WHERE vacate_day.day >= '${moment(startDate).format('YYYY-MM-DD')}'
AND vacate_day.day <= '${moment(endDate).format('YYYY-MM-DD')}'
${startDate ? `
AND vacate_day.day >= '${moment(startDate).format('YYYY-MM-DD')}'
`: ''}
${endDate ? `
AND vacate_day.day <= '${moment(endDate).format('YYYY-MM-DD')}'
` : ''}
GROUP BY vacate_day.day
`).toPromise()

11
api/app/lib/utils/member.js

@ -4,7 +4,10 @@ const request = require('superagent');
module.exports = function (app, opts) {
async function memberList ({ keywordTarget, keyword, limit, page, state }) {
async function memberList ({
keywordTarget, keyword, limit, page, state,
hiredateStart, hiredateEnd
}) {
const { judgeHoliday } = app.fs.utils
const { clickHouse } = app.fs
const { database: pepEmis } = clickHouse.pepEmis.opts.config
@ -114,6 +117,12 @@ module.exports = function (app, opts) {
${state == 'dimission' ? `AND member.dimission_date IS NOT null` : ''}
${state == 'onJob' ? `AND member.dimission_date IS null` : ''}
${whereFromSelectOption.length ? `AND ${whereFromSelectOption.join('AND')}` : ''}
${hiredateStart ? `
AND member.hiredate >= '${moment(hiredateStart).format('YYYY-MM-DD')}'
`: ''}
${hiredateEnd ? `
AND member.hiredate <= '${moment(hiredateEnd).format('YYYY-MM-DD')}'
` : ''}
`
const userRes = await clickHouse.hr.query(`

Loading…
Cancel
Save