|
@@ -60,6 +60,9 @@ class SchoolService extends CrudService {
|
|
|
console.log('*******************');
|
|
|
console.log(num_);
|
|
|
console.log('*******************');
|
|
|
+ // 检查学校是否上传过学生
|
|
|
+ const schstu = await this.smodel.count({ schid, batchid });
|
|
|
+ if (schstu && schstu > 0) throw new BusinessError(ErrorCode.BUSINESS, '该批次已经上传过学生,无需重复上传,若人员有变化,请联系中心负责人');
|
|
|
const planid = plan.id;
|
|
|
const planyearid = plan.planyearid;
|
|
|
// 取得excle中数据
|
|
@@ -229,23 +232,23 @@ class SchoolService extends CrudService {
|
|
|
}
|
|
|
}
|
|
|
_datas.push({
|
|
|
- name: data[theadRule[1]],
|
|
|
- gender: data[theadRule[2]],
|
|
|
- nation: data[theadRule[3]],
|
|
|
- id_number: data[theadRule[4]],
|
|
|
- school_name: data[theadRule[5]],
|
|
|
- faculty: data[theadRule[6]],
|
|
|
- major: data[theadRule[7]],
|
|
|
- entry_year: data[theadRule[8]],
|
|
|
- finish_year: data[theadRule[9]],
|
|
|
- school_job: data[theadRule[10]],
|
|
|
- phone: data[theadRule[11]],
|
|
|
- qq: data[theadRule[12]],
|
|
|
- family_place: data[theadRule[13]],
|
|
|
- family_is_hard: data[theadRule[14]],
|
|
|
- have_grant: data[theadRule[15]],
|
|
|
- edua_level: data[theadRule[16]],
|
|
|
- edua_system: data[theadRule[17]],
|
|
|
+ name: _.trim(data[theadRule[1]]),
|
|
|
+ gender: _.trim(data[theadRule[2]]),
|
|
|
+ nation: _.trim(data[theadRule[3]]),
|
|
|
+ id_number: _.trim(data[theadRule[4]]),
|
|
|
+ school_name: _.trim(data[theadRule[5]]),
|
|
|
+ faculty: _.trim(data[theadRule[6]]),
|
|
|
+ major: _.trim(data[theadRule[7]]),
|
|
|
+ entry_year: _.trim(data[theadRule[8]]),
|
|
|
+ finish_year: _.trim(data[theadRule[9]]),
|
|
|
+ school_job: _.trim(data[theadRule[10]]),
|
|
|
+ phone: _.trim(data[theadRule[11]]),
|
|
|
+ qq: _.trim(data[theadRule[12]]),
|
|
|
+ family_place: _.trim(data[theadRule[13]]),
|
|
|
+ family_is_hard: _.trim(data[theadRule[14]]),
|
|
|
+ have_grant: _.trim(data[theadRule[15]]),
|
|
|
+ edua_level: _.trim(data[theadRule[16]]),
|
|
|
+ edua_system: _.trim(data[theadRule[17]]),
|
|
|
diy: diy_,
|
|
|
termid,
|
|
|
batchid,
|
|
@@ -268,19 +271,24 @@ class SchoolService extends CrudService {
|
|
|
// 判断是否为空
|
|
|
if (!data.name) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '姓名不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '姓名不允许为空;';
|
|
|
}
|
|
|
if (!data.gender) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '性别不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '性别不允许为空;';
|
|
|
+ }
|
|
|
+ // 判断性别是否是1个字
|
|
|
+ if (data.gender.length !== 1) {
|
|
|
+ errorcode = '1';
|
|
|
+ data.msg(data.msg || '') + '性别内容超出1个字.可能含有空格;';
|
|
|
}
|
|
|
if (!data.nation) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '民族不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '民族不允许为空;';
|
|
|
}
|
|
|
if (!data.id_number) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '身份证号不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '身份证号不允许为空;';
|
|
|
} else {
|
|
|
const { pass, msg } = this.idCodeValid(data.id_number);
|
|
|
if (!pass) {
|
|
@@ -290,56 +298,76 @@ class SchoolService extends CrudService {
|
|
|
}
|
|
|
if (!data.school_name) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '学校名称不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '学校名称不允许为空;';
|
|
|
}
|
|
|
if (!data.phone) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '手机号不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '手机号不允许为空;';
|
|
|
}
|
|
|
if (!data.faculty) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '院系不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '院系不允许为空;';
|
|
|
}
|
|
|
if (!data.major) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '专业不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '专业不允许为空;';
|
|
|
+ } else {
|
|
|
+ // 限制专业字段中不能含有 '专业' 字样
|
|
|
+ if (data.major.includes('专业')) {
|
|
|
+ errorcode = '1';
|
|
|
+ data.msg = (data.msg || '') + '专业列不能含有"专业"二字;';
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
if (!data.entry_year) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '入学年份不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '入学年份不允许为空;';
|
|
|
+ } else {
|
|
|
+ const m = /^\w{4}$/;
|
|
|
+ if (!data.entry_year.match(m)) {
|
|
|
+ errorcode = '1';
|
|
|
+ data.msg = (data.msg || '') + '入学年份格式不正确,只填写4位数字即可;';
|
|
|
+ }
|
|
|
}
|
|
|
+ // 限制是4位数字
|
|
|
if (!data.finish_year) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '毕业年份不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '毕业年份不允许为空;';
|
|
|
+ } else {
|
|
|
+ const m = /^\w{4}$/;
|
|
|
+ if (!data.finish_year.match(m)) {
|
|
|
+ errorcode = '1';
|
|
|
+ data.msg = (data.msg || '') + '毕业年份格式不正确,只填写4位数字即可;';
|
|
|
+ }
|
|
|
}
|
|
|
if (!data.school_job) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '职务不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '职务不允许为空;';
|
|
|
}
|
|
|
if (!data.qq) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + 'QQ号不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + 'QQ号不允许为空;';
|
|
|
}
|
|
|
if (!data.family_place) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '家庭所在地不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '家庭所在地不允许为空;';
|
|
|
}
|
|
|
if (!data.family_is_hard) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '家庭是否困难不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '家庭是否困难不允许为空;';
|
|
|
}
|
|
|
if (!data.have_grant) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '是否获得过助学金不允许为空,';
|
|
|
+ data.msg = (data.msg || '') + '是否获得过助学金不允许为空;';
|
|
|
}
|
|
|
if (!/^\d{11}$/i.test(data.phone)) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '手机号不正确,';
|
|
|
+ data.msg = (data.msg || '') + '手机号不正确;';
|
|
|
}
|
|
|
const res = await this.smodel.findOne({ id_number: data.id_number });
|
|
|
if (res) {
|
|
|
errorcode = '1';
|
|
|
- data.msg = (data.msg || '') + '学生已经存在请检查,';
|
|
|
+ data.msg = (data.msg || '') + '学生已经存在请检查;';
|
|
|
}
|
|
|
if (errorcode === '1') {
|
|
|
errormsg.push(data);
|