fix student import and profile labels
This commit is contained in:
@@ -132,6 +132,7 @@ export class StudentsService {
|
||||
async batchImport(
|
||||
rows: {
|
||||
name: string;
|
||||
studentNo?: string;
|
||||
phone?: string;
|
||||
idNumber?: string;
|
||||
gender?: string;
|
||||
@@ -158,6 +159,7 @@ export class StudentsService {
|
||||
await this.repo.save(
|
||||
this.repo.create({
|
||||
name: row.name.trim(),
|
||||
studentNo: row.studentNo?.trim() || undefined,
|
||||
phone: row.phone?.trim() || undefined,
|
||||
idNumber: row.idNumber?.trim() || undefined,
|
||||
gender: row.gender || undefined,
|
||||
@@ -180,6 +182,7 @@ export class StudentsService {
|
||||
async matchImport(
|
||||
rows: {
|
||||
name: string;
|
||||
studentNo?: string;
|
||||
phone?: string;
|
||||
idNumber?: string;
|
||||
gender?: string;
|
||||
@@ -194,10 +197,6 @@ export class StudentsService {
|
||||
let matched = 0;
|
||||
let skipped = 0;
|
||||
for (const row of rows) {
|
||||
if (!row.name || !row.name.trim()) {
|
||||
skipped++;
|
||||
continue;
|
||||
}
|
||||
// Match by phone first, then idNumber
|
||||
let student = row.phone?.trim()
|
||||
? await this.repo.findOne({ where: { phone: row.phone.trim() } })
|
||||
@@ -214,6 +213,7 @@ export class StudentsService {
|
||||
Pick<
|
||||
Student,
|
||||
| 'name'
|
||||
| 'studentNo'
|
||||
| 'phone'
|
||||
| 'idNumber'
|
||||
| 'gender'
|
||||
@@ -225,6 +225,7 @@ export class StudentsService {
|
||||
>
|
||||
> = {};
|
||||
if (row.name?.trim()) updates.name = row.name.trim();
|
||||
if (row.studentNo?.trim()) updates.studentNo = row.studentNo.trim();
|
||||
if (row.phone?.trim()) updates.phone = row.phone.trim();
|
||||
if (row.idNumber?.trim()) updates.idNumber = row.idNumber.trim();
|
||||
if (row.gender) updates.gender = row.gender;
|
||||
@@ -237,7 +238,7 @@ export class StudentsService {
|
||||
matched++;
|
||||
}
|
||||
return {
|
||||
message: `匹配更新 ${matched} 人,跳过 ${skipped} 条(无匹配)`,
|
||||
message: `更新已有学生资料 ${matched} 人,跳过 ${skipped} 条(无匹配)`,
|
||||
matched,
|
||||
skipped,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user