master
huanghai 5 years ago
parent abb2142c2e
commit b646890bd0

@ -516,26 +516,34 @@ func readToTable(excelPath string, s1 ExcelUtil.TemplateStruct, MapOrgName map[s
m.OrgName = row[0] m.OrgName = row[0]
//姓名 //姓名
m.Xm = row[1] m.Xm = row[1]
//性别
if row[2] == "男" {
m.Xbm = "1"
} else {
m.Xbm = "2"
}
//出生日期
m.Csrq=DateUtil.ConvertDate(row[3])
//民族 //民族
m.Mzm = SysDictKit.MapDictKindChineseToCode["mzm_"+row[2]] m.Mzm = SysDictKit.MapDictKindChineseToCode["mzm_"+row[4]]
//政治面貌 //政治面貌
m.Zzmmm = SysDictKit.MapDictKindChineseToCode["zzmmm_"+row[3]] m.Zzmmm = SysDictKit.MapDictKindChineseToCode["zzmmm_"+row[5]]
//身份证件类型 //身份证件类型
m.Sfzjlxm = SysDictKit.MapDictKindChineseToCode["sfzjlxm_"+row[4]] m.Sfzjlxm = SysDictKit.MapDictKindChineseToCode["sfzjlxm_"+row[6]]
//身份证件号 //身份证件号
m.Sfzjh = CommonUtil.CompressStr(row[5]) m.Sfzjh = CommonUtil.CompressStr(row[7])
//学历 //学历
m.Xlm = SysDictKit.MapDictKindChineseToCode["xlm_"+row[6]] m.Xlm = SysDictKit.MapDictKindChineseToCode["xlm_"+row[8]]
//学位 //学位
m.Xwm = SysDictKit.MapDictKindChineseToCode["xwm_"+row[7]] m.Xwm = SysDictKit.MapDictKindChineseToCode["xwm_"+row[9]]
//职称 //职称
m.Zcm = SysDictKit.MapDictKindChineseToCode["zcm_"+row[8]] m.Zcm = SysDictKit.MapDictKindChineseToCode["zcm_"+row[10]]
//编制 //编制
m.Bzlbm = SysDictKit.MapDictKindChineseToCode["bzlbm_"+row[9]] m.Bzlbm = SysDictKit.MapDictKindChineseToCode["bzlbm_"+row[11]]
//学段 //学段
m.StageId = SysDictKit.MapStageNameToId[row[10]] m.StageId = SysDictKit.MapStageNameToId[row[12]]
//学科 //学科
m.SubjectId = SysDictKit.MapSubjectNameToId[row[11]] m.SubjectId = SysDictKit.MapSubjectNameToId[row[13]]
//部门名称 //部门名称
m.OrgName = row[0] m.OrgName = row[0]
@ -546,7 +554,7 @@ func readToTable(excelPath string, s1 ExcelUtil.TemplateStruct, MapOrgName map[s
m.OrgId = MapOrgName[m.OrgName] m.OrgId = MapOrgName[m.OrgName]
} }
//联系电话 //联系电话
m.Lxdh = row[12] m.Lxdh = row[14]
//批次号 //批次号
m.BatchId = batchId m.BatchId = batchId
//第几行的数据 //第几行的数据
@ -585,7 +593,7 @@ func checkTempTable(excelPath string, s1 ExcelUtil.TemplateStruct, batchId strin
//存在教师身份证号检查重复 //存在教师身份证号检查重复
for i := range listIdCardTeacher { for i := range listIdCardTeacher {
rowNumber := listIdCardTeacher[i]["row_number"].(int64) rowNumber := listIdCardTeacher[i]["row_number"].(int64)
cell := "F" + CommonUtil.ConvertInt64ToString(rowNumber) cell := "H" + CommonUtil.ConvertInt64ToString(rowNumber)
style, _ := f.GetCellStyle(s1.Title, Const.YellowCell) style, _ := f.GetCellStyle(s1.Title, Const.YellowCell)
f.SetCellStyle(s1.Title, cell, cell, style) f.SetCellStyle(s1.Title, cell, cell, style)
//设计二级检查失败 //设计二级检查失败
@ -603,7 +611,7 @@ func checkTempTable(excelPath string, s1 ExcelUtil.TemplateStruct, batchId strin
//存在学生身份证号检查重复 //存在学生身份证号检查重复
for i := range listIdCardStudent { for i := range listIdCardStudent {
rowNumber := listIdCardStudent[i]["row_number"].(int64) rowNumber := listIdCardStudent[i]["row_number"].(int64)
cell := "F" + CommonUtil.ConvertInt64ToString(rowNumber) cell := "H" + CommonUtil.ConvertInt64ToString(rowNumber)
style, _ := f.GetCellStyle(s1.Title, Const.YellowCell) style, _ := f.GetCellStyle(s1.Title, Const.YellowCell)
f.SetCellStyle(s1.Title, cell, cell, style) f.SetCellStyle(s1.Title, cell, cell, style)
//设计二级检查失败 //设计二级检查失败
@ -627,34 +635,6 @@ func checkTempTable(excelPath string, s1 ExcelUtil.TemplateStruct, batchId strin
if _, ok := _map[listThisBatchNotEmptyMobileNumber[i]["lxdh"].(string)]; ok { if _, ok := _map[listThisBatchNotEmptyMobileNumber[i]["lxdh"].(string)]; ok {
//身份证号一致 //身份证号一致
if listThisBatchNotEmptyMobileNumber[i]["sfzjh"].(string) != _map[listThisBatchNotEmptyMobileNumber[i]["lxdh"].(string)] { if listThisBatchNotEmptyMobileNumber[i]["sfzjh"].(string) != _map[listThisBatchNotEmptyMobileNumber[i]["lxdh"].(string)] {
//不一致
rowNumber := listThisBatchNotEmptyMobileNumber[i]["row_number"].(int64)
cell := "N" + CommonUtil.ConvertInt64ToString(rowNumber)
style, _ := f.GetCellStyle(s1.Title, Const.YellowCell)
f.SetCellStyle(s1.Title, cell, cell, style)
//设计二级检查失败
success = false
}
}
}
/****************************************************************************/
//查出与数据库中重复的非空邮箱
sql = `select t1.sfzjh,t1.dzxx from t_base_teacher as t1 inner join t_base_teacher_import_excel as t2
on t1.dzxx=t2.dzxx where t2.batch_id=? and t2.dzxx<>''`
listJoinEmail, _ := db.SQL(sql, batchId).Query().List()
//转成map方便快速查询
_map = make(map[string]string)
for i := range listJoinEmail {
_map[listJoinEmail[i]["dzxx"].(string)] = listJoinEmail[i]["sfzjh"].(string)
}
//读取本次导入的所有邮箱不为空的数据
sql = `select sfzjh,dzxx,row_number from t_base_teacher_import_excel where batch_id=? and dzxx<>''`
listThisBatchNotEmptyEmail, _ := db.SQL(sql, batchId).Query().List()
//遍历每一行数据,看看与系统现有数据的是不是存在冲突
for i := range listThisBatchNotEmptyEmail {
if _, ok := _map[listThisBatchNotEmptyEmail[i]["dzxx"].(string)]; ok {
//身份证号一致
if listThisBatchNotEmptyEmail[i]["sfzjh"].(string) != _map[listThisBatchNotEmptyEmail[i]["dzxx"].(string)] {
//不一致 //不一致
rowNumber := listThisBatchNotEmptyMobileNumber[i]["row_number"].(int64) rowNumber := listThisBatchNotEmptyMobileNumber[i]["row_number"].(int64)
cell := "O" + CommonUtil.ConvertInt64ToString(rowNumber) cell := "O" + CommonUtil.ConvertInt64ToString(rowNumber)
@ -665,7 +645,6 @@ func checkTempTable(excelPath string, s1 ExcelUtil.TemplateStruct, batchId strin
} }
} }
} }
/****************************************************************************/
// 根据指定路径保存文件(不管是不是通过,都保存一次) // 根据指定路径保存文件(不管是不是通过,都保存一次)
if err := f.SaveAs(excelPath); err != nil { if err := f.SaveAs(excelPath); err != nil {
println(err.Error()) println(err.Error())
@ -761,13 +740,12 @@ func checkExcel(excelPath string, s1 ExcelUtil.TemplateStruct, MapOrgName map[st
} }
//(7)身份证号 //(7)身份证号
if j == 7 { if j == 7 {
if row[j-1] == "居民身份证" && !CommonUtil.IsIdCard(CommonUtil.CompressStr(row[j])) { if row[j-1] == "居民身份证" && row[j] != "" && !CommonUtil.IsIdCard(CommonUtil.CompressStr(row[j])) {
pass = false pass = false
} }
if row[j] == "" { if len(row[j]) > 0 {
pass = false _idCardMap[CommonUtil.CompressStr(row[j])] = append(_idCardMap[CommonUtil.CompressStr(row[j])], i+1)
} }
_idCardMap[CommonUtil.CompressStr(row[j])] = append(_idCardMap[CommonUtil.CompressStr(row[j])], i+1)
} }
//(8)学历 //(8)学历
if j == 8 { if j == 8 {
@ -831,7 +809,7 @@ func checkExcel(excelPath string, s1 ExcelUtil.TemplateStruct, MapOrgName map[st
//重复 //重复
if len(rowArray) > 1 { if len(rowArray) > 1 {
for i := range rowArray { for i := range rowArray {
cell := "F" + CommonUtil.ConvertIntToString(rowArray[i]) cell := "H" + CommonUtil.ConvertIntToString(rowArray[i])
//重复 //重复
style, _ := f.GetCellStyle(s1.Title, Const.BlueCell) style, _ := f.GetCellStyle(s1.Title, Const.BlueCell)
f.SetCellStyle(s1.Title, cell, cell, style) f.SetCellStyle(s1.Title, cell, cell, style)
@ -844,7 +822,7 @@ func checkExcel(excelPath string, s1 ExcelUtil.TemplateStruct, MapOrgName map[st
//重复 //重复
if len(rowArray) > 1 { if len(rowArray) > 1 {
for i := range rowArray { for i := range rowArray {
cell := "N" + CommonUtil.ConvertIntToString(rowArray[i]) cell := "O" + CommonUtil.ConvertIntToString(rowArray[i])
//重复 //重复
style, _ := f.GetCellStyle(s1.Title, Const.BlueCell) style, _ := f.GetCellStyle(s1.Title, Const.BlueCell)
f.SetCellStyle(s1.Title, cell, cell, style) f.SetCellStyle(s1.Title, cell, cell, style)

@ -1,25 +1,31 @@
package models package models
import (
"time"
)
type TBaseTeacherImportExcel struct { type TBaseTeacherImportExcel struct {
Id string `xorm:"not null pk default ''0'' comment('ID') CHAR(36)"` Id string `xorm:"not null pk default ''0'' comment('ID') CHAR(36)"`
Xm string `xorm:"not null default '''' comment('教师姓名') VARCHAR(100)"` Xm string `xorm:"not null default '''' comment('教师姓名') VARCHAR(100)"`
Mzm string `xorm:"not null default '''' comment('民族码') CHAR(2)"` Xbm string `xorm:"not null comment('性别码') CHAR(1)"`
Zzmmm string `xorm:"not null default '''' comment('政治面貌码') CHAR(2)"` Csrq time.Time `xorm:"not null comment('出生日期') DATE"`
Sfzjlxm string `xorm:"not null default '''' comment('身份证件类型码') CHAR(1)"` Mzm string `xorm:"not null default '''' comment('民族码') CHAR(2)"`
Sfzjh string `xorm:"not null default '''' comment('身份证件号') index index(sfzjlxm) VARCHAR(100)"` Zzmmm string `xorm:"not null default '''' comment('政治面貌码') CHAR(2)"`
Xlm string `xorm:"not null default '''' comment('学历码') CHAR(2)"` Sfzjlxm string `xorm:"not null default '''' comment('身份证件类型码') CHAR(1)"`
Xwm string `xorm:"not null default '''' comment('学位码') CHAR(1)"` Sfzjh string `xorm:"not null default '''' comment('身份证件号') index index(sfzjlxm) VARCHAR(100)"`
Zcm string `xorm:"not null default '''' comment('职称码') CHAR(1)"` Xlm string `xorm:"not null default '''' comment('学历码') CHAR(2)"`
Bzlbm string `xorm:"not null default '''' comment('编制类型码') CHAR(1)"` Xwm string `xorm:"not null default '''' comment('学位码') CHAR(1)"`
StageId string `xorm:"not null default '''' comment('主要任课学段') CHAR(1)"` Zcm string `xorm:"not null default '''' comment('职称码') CHAR(1)"`
SubjectId string `xorm:"not null default '''' comment('主要任课学科') CHAR(2)"` Bzlbm string `xorm:"not null default '''' comment('编制类型码') CHAR(1)"`
Gwzym string `xorm:"not null default '''' comment('岗位') CHAR(2)"` StageId string `xorm:"not null default '''' comment('主要任课学段') CHAR(1)"`
Lxdh string `xorm:"not null default '''' comment('联系电话') index VARCHAR(100)"` SubjectId string `xorm:"not null default '''' comment('主要任课学科') CHAR(2)"`
Dzxx string `xorm:"not null default '''' comment('电子信箱') index VARCHAR(100)"` Gwzym string `xorm:"not null default '''' comment('岗位') CHAR(2)"`
OrgId string `xorm:"not null default '''' comment('部门ID') index(org_id) CHAR(36)"` Lxdh string `xorm:"not null default '''' comment('联系电话') index VARCHAR(100)"`
OrgName string `xorm:"not null default '''' comment('部门名称') index(org_name) VARCHAR(100)"` Dzxx string `xorm:"not null default '''' comment('电子信箱') index VARCHAR(100)"`
BatchId string `xorm:"not null default '''' comment('批次ID') index index(batch_id_2) index(org_id) index(org_name) index index(sfzjlxm) CHAR(36)"` OrgId string `xorm:"not null default '''' comment('部门ID') index(org_id) CHAR(36)"`
RowNumber int32 `xorm:"not null default 0 comment('对应的EXCEL是第几行的数据') INT(11)"` OrgName string `xorm:"not null default '''' comment('部门名称') index(org_name) VARCHAR(100)"`
InsertOrUpdate int32 `xorm:"not null default 1 comment('是新增加还是修改1新增2:修改') index(batch_id_2) INT(11)"` BatchId string `xorm:"not null default '''' comment('批次ID') index index(batch_id_2) index(org_id) index(org_name) index index(sfzjlxm) CHAR(36)"`
PersonId string `xorm:"not null default '''' comment('人员ID') CHAR(36)"` RowNumber int32 `xorm:"not null default 0 comment('对应的EXCEL是第几行的数据') INT(11)"`
InsertOrUpdate int32 `xorm:"not null default 1 comment('是新增加还是修改1新增2:修改') index(batch_id_2) INT(11)"`
PersonId string `xorm:"not null default '''' comment('人员ID') CHAR(36)"`
} }

Loading…
Cancel
Save