diff --git a/app/controllers/doctemplate.controller.js b/app/controllers/doctemplate.controller.js index 5b70b4c..a4350cc 100644 --- a/app/controllers/doctemplate.controller.js +++ b/app/controllers/doctemplate.controller.js @@ -225,6 +225,7 @@ const path = require('path'); var libre = require('libreoffice-convert'); const moment = require("moment-timezone"); const BASE_UPLOAD_DIR = "/www/wwwroot/upload/"; +const TARGET_TIMEZONE = "America/New_York"; const resolveTemplateFilePath = (fileUrl = "") => { if (!fileUrl) return ""; @@ -234,6 +235,13 @@ const resolveTemplateFilePath = (fileUrl = "") => { return `${__dirname.replace("/controllers", "")}${fileUrl}`; }; +const formatEventTimeForExport = (dateLike, formatPattern) => { + if (!dateLike) return ""; + const parsed = moment.utc(dateLike); + if (!parsed.isValid()) return ""; + return parsed.tz(TARGET_TIMEZONE).format(formatPattern); +}; + exports.createPDFFromDocTemplateName = (req, res) => { console.log('what', __dirname.replace('/controllers', '')); @@ -247,7 +255,7 @@ exports.createPDFFromDocTemplateName = (req, res) => { }; events.forEach((event) => { docData.events.push({ - event_time: moment(event.start_time).format('hh:mm A MM/DD/YYYY dddd'), + event_time: formatEventTimeForExport(event.start_time, 'hh:mm A MM/DD/YYYY dddd'), client_name: event.data.client_name || '', client_status: '会员', //client_dob: event.data.client_birth_date || '', @@ -408,7 +416,7 @@ exports.createDocFromDocTemplateName = (req, res) => { }; events.forEach((event) => { docData.events.push({ - event_time: moment(event.start_time).format('hh:mm A MM/DD/YYYY dddd'), + event_time: formatEventTimeForExport(event.start_time, 'hh:mm A MM/DD/YYYY dddd'), client_name: event.data.client_name || '', client_status: '会员', //client_dob: event.data.client_birth_date || '', diff --git a/app/controllers/xlsxtemplate.controller.js b/app/controllers/xlsxtemplate.controller.js index 9f61e51..f3cf9b0 100644 --- a/app/controllers/xlsxtemplate.controller.js +++ b/app/controllers/xlsxtemplate.controller.js @@ -165,6 +165,7 @@ const path = require('path'); var libre = require('libreoffice-convert'); const moment = require('moment-timezone'); const BASE_UPLOAD_DIR = "/www/wwwroot/upload/"; +const TARGET_TIMEZONE = "America/New_York"; const resolveTemplateFilePath = (fileUrl = "") => { if (!fileUrl) return ""; @@ -174,6 +175,13 @@ const resolveTemplateFilePath = (fileUrl = "") => { return `${__dirname.replace("/controllers", "")}${fileUrl}`; }; +const formatEventTimeForExport = (dateLike, formatPattern) => { + if (!dateLike) return ""; + const parsed = moment.utc(dateLike); + if (!parsed.isValid()) return ""; + return parsed.tz(TARGET_TIMEZONE).format(formatPattern); +}; + exports.createPDFFromSheetTemplateName = (req, res) => { console.log('what', __dirname.replace('/controllers', '')); var inputData = JSON.parse(req.query.inputData); @@ -210,7 +218,7 @@ exports.createPDFFromSheetTemplateName = (req, res) => { const clientName = (!!customer?.name_cn && !!event?.data?.client_name && nameShow) || customer?.name_cn || (customer?.lastname && customer?.firstname && `${customer?.lastname}, ${customer?.firstname}`) || event?.data?.client_name; docData.events.push({ - event_time: moment(event?.start_time).format('MM/DD/YYYY hh:mm A'), + event_time: formatEventTimeForExport(event?.start_time, 'MM/DD/YYYY hh:mm A'), client_name: event?.data?.client_name, // event.data.client_name, client_status: '会员', client_dob: event.data.client_birth_date, @@ -367,7 +375,7 @@ exports.createSheetFromTemplateName = (req, res) => { const clientName = (customer?.name_cn && event?.data?.client_name && `${event?.data?.client_name} ${customer?.name_cn}`) || customer?.name_cn || (customer?.lastname && customer?.firstname && `${customer?.lastname}, ${customer?.firstname}`) || event?.data?.client_name; docData.events.push({ - event_time: moment(event?.start_time).format('MM/DD/YYYY hh:mm A'), + event_time: formatEventTimeForExport(event?.start_time, 'MM/DD/YYYY hh:mm A'), client_name: event?.data?.client_name, // event.data.client_name, client_status: '会员', client_dob: event.data.client_birth_date,