260330:1424 Addied correspondence_revieion_attcahments table table #03
CI / CD Pipeline / build (push) Successful in 18m20s
CI / CD Pipeline / deploy (push) Failing after 10m30s

This commit is contained in:
admin
2026-03-30 14:24:18 +07:00
parent 7080a37a82
commit 2d9bbdbfa4
6 changed files with 942 additions and 3 deletions
@@ -1 +1 @@
{"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\document-numbering.service.spec.ts":[1,852],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\correspondence.service.spec.ts":[1,1935],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\correspondence.controller.spec.ts":[1,2180],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\migration.service.spec.ts":[1,628],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\due-date-reminder.service.spec.ts":[1,1141],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\migration.controller.spec.ts":[1,1507],"D:\\nap-dms.lcbp3\\backend\\src\\common\\pipes\\parse-uuid.pipe.spec.ts":[1,1043],"D:\\nap-dms.lcbp3\\backend\\src\\common\\services\\uuid-resolver.service.spec.ts":[1,2018],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\workflow-engine.service.spec.ts":[1,2079],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\user.service.spec.ts":[1,2089],"D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\casl\\ability.factory.spec.ts":[1,2135],"D:\\nap-dms.lcbp3\\backend\\src\\common\\file-storage\\file-storage.service.spec.ts":[1,2194],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\project\\project.service.spec.ts":[1,1198],"D:\\nap-dms.lcbp3\\backend\\src\\common\\entities\\uuid-base.entity.spec.ts":[1,267],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\dsl\\parser.service.spec.ts":[1,2354],"D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\auth.service.spec.ts":[1,2520],"D:\\nap-dms.lcbp3\\backend\\src\\app.controller.spec.ts":[1,362],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\services\\manual-override.service.spec.ts":[1,566],"D:\\nap-dms.lcbp3\\backend\\src\\common\\file-storage\\file-storage.controller.spec.ts":[1,1091],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\project\\project.controller.spec.ts":[1,1249],"D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\auth.controller.spec.ts":[1,1564],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\json-schema\\json-schema.controller.spec.ts":[1,1508]} {"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\document-numbering.service.spec.ts":[1,852],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\correspondence.service.spec.ts":[1,2248],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\correspondence.controller.spec.ts":[1,2610],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\migration.service.spec.ts":[1,628],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\correspondence\\due-date-reminder.service.spec.ts":[1,1141],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\migration\\migration.controller.spec.ts":[1,1507],"D:\\nap-dms.lcbp3\\backend\\src\\common\\pipes\\parse-uuid.pipe.spec.ts":[1,1043],"D:\\nap-dms.lcbp3\\backend\\src\\common\\services\\uuid-resolver.service.spec.ts":[1,2018],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\workflow-engine.service.spec.ts":[1,2079],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\user\\user.service.spec.ts":[1,2089],"D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\casl\\ability.factory.spec.ts":[1,2135],"D:\\nap-dms.lcbp3\\backend\\src\\common\\file-storage\\file-storage.service.spec.ts":[1,2194],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\project\\project.service.spec.ts":[1,1198],"D:\\nap-dms.lcbp3\\backend\\src\\common\\entities\\uuid-base.entity.spec.ts":[1,267],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\workflow-engine\\dsl\\parser.service.spec.ts":[1,2354],"D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\auth.service.spec.ts":[1,2520],"D:\\nap-dms.lcbp3\\backend\\src\\app.controller.spec.ts":[1,362],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\document-numbering\\services\\manual-override.service.spec.ts":[1,566],"D:\\nap-dms.lcbp3\\backend\\src\\common\\file-storage\\file-storage.controller.spec.ts":[1,1091],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\project\\project.controller.spec.ts":[1,1249],"D:\\nap-dms.lcbp3\\backend\\src\\common\\auth\\auth.controller.spec.ts":[1,1564],"D:\\nap-dms.lcbp3\\backend\\src\\modules\\json-schema\\json-schema.controller.spec.ts":[1,1508]}
@@ -499,6 +499,8 @@ export class CorrespondenceService {
'originator', 'originator',
'recipients', 'recipients',
'recipients.recipientOrganization', // [v1.5.1] Fixed relation name 'recipients.recipientOrganization', // [v1.5.1] Fixed relation name
'discipline',
'discipline.contract',
], ],
}); });
@@ -521,6 +523,8 @@ export class CorrespondenceService {
'originator', 'originator',
'recipients', 'recipients',
'recipients.recipientOrganization', 'recipients.recipientOrganization',
'discipline',
'discipline.contract',
], ],
}); });
+5 -2
View File
@@ -176,8 +176,11 @@ export function CorrespondenceForm({
projectId: projectId:
normalizePublicId(initialData?.project?.publicId) ?? normalizePublicId(initialData?.project?.publicId) ??
normalizePublicId(initialData?.projectId), normalizePublicId(initialData?.projectId),
// [FIX v1.8.1] correspondences ไม่มี contract_id โดยตรง → จะ auto-populate จาก discipline useEffect // [FIX v1.8.1] correspondences ไม่มี contract_id โดยตรง → จะ auto-populate จาก discipline useEffect หรือจาก object contract เองในกรณี mock/test
contractId: undefined, contractId:
normalizePublicId(initialData?.contract?.publicId) ??
normalizePublicId(initialData?.discipline?.contract?.publicId) ??
normalizePublicId((initialData as Record<string, unknown>)?.contractId as string),
documentTypeId: initialData?.correspondenceTypeId || undefined, documentTypeId: initialData?.correspondenceTypeId || undefined,
disciplineId: initialData?.disciplineId || undefined, disciplineId: initialData?.disciplineId || undefined,
subject: currentRev?.subject || currentRev?.title || '', subject: currentRev?.subject || currentRev?.title || '',
+9
View File
@@ -65,6 +65,7 @@ export interface Correspondence {
projectId: number; projectId: number;
originatorId?: number; originatorId?: number;
correspondenceTypeId: number; correspondenceTypeId: number;
disciplineId?: number;
isInternal: boolean; isInternal: boolean;
createdAt: string; createdAt: string;
@@ -79,6 +80,14 @@ export interface Correspondence {
recipientType: 'TO' | 'CC'; recipientType: 'TO' | 'CC';
recipientOrganization?: Organization; recipientOrganization?: Organization;
}[]; }[];
contract?: { publicId: string; contractName: string; contractCode: string };
discipline?: {
id: number;
disciplineCode: string;
codeNameEn?: string;
codeNameTh?: string;
contract?: { publicId: string; contractName: string; contractCode: string };
};
} }
export interface CreateCorrespondenceDto { export interface CreateCorrespondenceDto {