完善数据导入不完整及时间处理问题

This commit is contained in:
吕继龙 2025-04-15 17:14:22 +08:00
parent 974adb642f
commit f82332fd1f
1 changed files with 16 additions and 7 deletions

View File

@ -203,11 +203,20 @@ class ExcelService {
for (const row of data) {
// 处理字段值,确保所有字段都能正确导入
const getValue = (fieldName, defaultValue = null) => {
// 检查字段是否存在,并处理空值
const value = row[fieldName];
if (value === undefined || value === null || value === '') {
return defaultValue;
}
// 如果是日期类型转换为ISO格式
if (fieldName === '实际开工时间' || fieldName === '计划竣工时间' || fieldName === '完成时间' || fieldName === '下次梳理时间(注意与 隐患提示/工作要求 对应)') {
const date = new Date(value);
if (!isNaN(date.getTime())) {
return date.toISOString().split('T')[0]; // 只保留日期部分
}
}
return value;
};
@ -234,12 +243,12 @@ class ExcelService {
// 使用处理函数获取字段值
stmt.run(
getValue('单位'),
getValue('项目编号'),
getValue('项目编号(基建管控系统中该项目对应编号)'),
getValue('安全编码'),
getValue('大项工程名称'),
getValue('单项工程名称'),
getValue('在施工程作业范围'),
getValue('工程规模'),
getValue('工程规模(要明确是否存在拆旧的内容)'),
getValue('安全总监'),
getValue('建设单位'),
getValue('监理单位'),
@ -248,11 +257,11 @@ class ExcelService {
getValue('实际开工时间'),
getValue('计划竣工时间'),
getValue('当前工程进度'),
getValue('当前工程状态'),
getValue('当前工程状态(在施/停工)'),
getNumberValue('参建人数'),
getNumberValue('新班组进场数量'),
getNumberValue('新人进场数量'),
getValue('带班人姓名、电话'),
getNumberValue('与去年不同的新班组进场数量'),
getNumberValue('与去年不同的新人进场数量'),
getValue('带班人姓名、电话(分包小老板)'),
getValue('下周作业计划'),
getValue('下周8+2工况内容'),
getBooleanValue('工期是否紧张'),
@ -261,7 +270,7 @@ class ExcelService {
getValue('当前风险判断理由'),
getValue('隐患提示/工作要求'),
getValue('完成时间'),
getValue('下次梳理时间'),
getValue('下次梳理时间(注意与 隐患提示/工作要求 对应)'),
getValue('备注')
);