| import { ProjectData } from '@/types/project'; |
| import type { Project } from '../../../drizzle/schema'; |
|
|
| |
| |
| |
| export function transformProjectToData(project: Project, index: number): ProjectData { |
| return { |
| no: String(index + 1), |
| identity: { |
| customerName: project.customerName || '-', |
| customerBase: project.customerBase || '-', |
| projectName: project.projectName || '-', |
| productName: project.productName || '-', |
| factory: project.factoryLocation || '-', |
| moldSets: project.moldCount || '-', |
| partNumber: project.partNumber || '-', |
| cavityNumber: project.cavityNumber || '-', |
| moldNumber: project.moldId || '-', |
| projectManager: project.pmName || '-', |
| projectEngineer: project.peName || '-', |
| moldProject: project.moldLead || '-', |
| qe: project.pqeName || '-', |
| riskLevel: project.riskLevel || '正常', |
| }, |
| milestones: { |
| projectStart: project.kickoffDate || '-', |
| t1: project.t1Date || '-', |
| glTime: project.glDate || '-', |
| vmp: project.vmpDate || '-', |
| mp: project.mpDate || '-', |
| currentStage: project.currentStage || '-', |
| t1SizeQualified: project.t1DimensionOk || '-', |
| trialCount: project.trialCount || '-', |
| toolingFAI: project.toolingFai || '-', |
| partFAI: project.partFai || '-', |
| currentNode: project.currentNode || '-', |
| }, |
| details: { |
| detailSequence: String(index + 1), |
| detailDate: project.updateDate || '-', |
| detailProgress: project.progressDetails || '-', |
| }, |
| }; |
| } |
|
|
| |
| |
| |
| export function transformDataToProject(data: ProjectData): Record<string, string | undefined> { |
| return { |
| customerName: data.identity.customerName === '-' ? undefined : data.identity.customerName, |
| customerBase: data.identity.customerBase === '-' ? undefined : data.identity.customerBase, |
| projectName: data.identity.projectName === '-' ? undefined : data.identity.projectName, |
| productName: data.identity.productName === '-' ? undefined : data.identity.productName, |
| factoryLocation: data.identity.factory === '-' ? undefined : data.identity.factory, |
| moldCount: data.identity.moldSets === '-' ? undefined : data.identity.moldSets, |
| partNumber: data.identity.partNumber === '-' ? undefined : data.identity.partNumber, |
| cavityNumber: data.identity.cavityNumber === '-' ? undefined : data.identity.cavityNumber, |
| moldId: data.identity.moldNumber === '-' ? undefined : data.identity.moldNumber, |
| pmName: data.identity.projectManager === '-' ? undefined : data.identity.projectManager, |
| peName: data.identity.projectEngineer === '-' ? undefined : data.identity.projectEngineer, |
| moldLead: data.identity.moldProject === '-' ? undefined : data.identity.moldProject, |
| pqeName: data.identity.qe === '-' ? undefined : data.identity.qe, |
| riskLevel: data.identity.riskLevel === '-' ? undefined : data.identity.riskLevel, |
| kickoffDate: data.milestones.projectStart === '-' ? undefined : data.milestones.projectStart, |
| t1Date: data.milestones.t1 === '-' ? undefined : data.milestones.t1, |
| glDate: data.milestones.glTime === '-' ? undefined : data.milestones.glTime, |
| vmpDate: data.milestones.vmp === '-' ? undefined : data.milestones.vmp, |
| mpDate: data.milestones.mp === '-' ? undefined : data.milestones.mp, |
| currentStage: data.milestones.currentStage === '-' ? undefined : data.milestones.currentStage, |
| t1DimensionOk: data.milestones.t1SizeQualified === '-' ? undefined : data.milestones.t1SizeQualified, |
| trialCount: data.milestones.trialCount === '-' ? undefined : data.milestones.trialCount, |
| toolingFai: data.milestones.toolingFAI === '-' ? undefined : data.milestones.toolingFAI, |
| partFai: data.milestones.partFAI === '-' ? undefined : data.milestones.partFAI, |
| currentNode: data.milestones.currentNode === '-' ? undefined : data.milestones.currentNode, |
| progressDetails: data.details.detailProgress === '-' ? undefined : data.details.detailProgress, |
| updateDate: data.details.detailDate === '-' ? undefined : data.details.detailDate, |
| }; |
| } |
|
|