diff --git a/api/version1/user/type.go b/api/version1/user/type.go index 70a2e8b..fcaa748 100644 --- a/api/version1/user/type.go +++ b/api/version1/user/type.go @@ -1,6 +1,7 @@ package user import ( + "appPlatform/models/modelAppPlatform" "appPlatform/overall/publicmethod" "sync" @@ -59,3 +60,17 @@ type SendPower struct { Level int `json:"level"` //调查人权限范围 Purview []string `json:"purview"` //被调查人 } + +// 输出员工资料下载模版 +type SendUserTemInfo struct { + modelAppPlatform.UserInfoDownTemplate + OrgName string `json:"orgName" gorm:"-"` +} + +// 上传模版保存 +type UpLoadTemSave struct { + OrgId string `json:"orgId"` + FileName string `json:"fileName"` + FilePath string `json:"filePath"` + FileUrl string `json:"fileUrl"` +} diff --git a/api/version1/user/userCont.go b/api/version1/user/userCont.go index 5326eb4..696fc2d 100644 --- a/api/version1/user/userCont.go +++ b/api/version1/user/userCont.go @@ -1,6 +1,7 @@ package user import ( + "appPlatform/models/modelAppPlatform" "appPlatform/models/modelshr" "appPlatform/models/modelssystempermission" "appPlatform/overall" @@ -10,6 +11,7 @@ import ( "sort" "strconv" "strings" + "time" "github.com/gin-gonic/gin" ) @@ -550,3 +552,108 @@ func (a *ApiMethod) LookOnePeopleArchives(c *gin.Context) { } publicmethod.Result(0, sendData, c) } + +/* +* +@ 作者: 秦东 +@ 时间: 2024-08-24 09:18:04 +@ 功能: 获取人员信息模版列表 +@ 参数 + + # + +@ 返回值 + + # + +@ 方法原型 + + # +*/ +func (a *ApiMethod) GainUserInfoDownTemplateList(c *gin.Context) { + var requestData publicmethod.PagesTurn + err := c.ShouldBindJSON(&requestData) + if err != nil { + publicmethod.Result(100, err, c) + return + } + if requestData.Page == 0 { + requestData.Page = 1 + } + if requestData.PageSize == 0 { + requestData.PageSize = 20 + } + var temList []SendUserTemInfo + gormDb := overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.UserInfoDownTemplate{}).Where("`status` = 1") + var total int64 + totalErr := gormDb.Count(&total).Error + if totalErr != nil { + total = 0 + } + gormDb = publicmethod.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize) + err = gormDb.Order("`id` DESC").Find(&temList).Error + if err != nil { + publicmethod.Result(0, err, c) + return + } + + for i, v := range temList { + var orgCont modelshr.AdministrativeOrganization + if v.OrgId != 0 { + err = orgCont.GetCont(map[string]interface{}{}, "`name`") + if err != nil { + orgCont.Name = "" + } + } + temList[i].OrgName = orgCont.Name + } + publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(temList)), temList, c) +} + +/* +* +@ 作者: 秦东 +@ 时间: 2024-08-24 14:58:42 +@ 功能: 上传人员信息模版保存 +@ 参数 + + # + +@ 返回值 + + # + +@ 方法原型 + + # +*/ +func (a *ApiMethod) UploadUserTemplate(c *gin.Context) { + var requestData UpLoadTemSave + err := c.ShouldBindJSON(&requestData) + if err != nil { + publicmethod.Result(100, err, c) + return + } + if requestData.OrgId == "" || requestData.OrgId == "0" { + publicmethod.Result(1, err, c, "未知行政组织!不可上传模版") + return + } + if requestData.FileUrl == "" { + publicmethod.Result(1, err, c, "请上传模版文件!") + return + } + var fileOrg modelAppPlatform.UserInfoDownTemplate + orgIdInt, _ := strconv.ParseInt(requestData.OrgId, 10, 64) + fileOrg.OrgId = orgIdInt + fileOrg.FileName = requestData.FileName + fileOrg.FilePath = requestData.FilePath + fileOrg.FileUrl = requestData.FileUrl + fileOrg.Status = 1 + fileOrg.DateTime = time.Now().Unix() + err = overall.CONSTANT_DB_AppPlatform.Create(&fileOrg).Error + if err != nil { + publicmethod.Result(104, err, c) + return + } + publicmethod.Result(0, err, c) +} diff --git a/apirouter/v1/userRouters/pc.go b/apirouter/v1/userRouters/pc.go index c674244..f346433 100644 --- a/apirouter/v1/userRouters/pc.go +++ b/apirouter/v1/userRouters/pc.go @@ -17,5 +17,8 @@ func (a *ApiRouter) RouterGroupPc(router *gin.RouterGroup) { apiRouter.GET("get_user_cont", methodBinding.GetUserCont) //获取登陆人信息 apiRouter.POST("statisticalAgeRatio", methodBinding.StatisticalAgeRatio) //获取登陆人信息 apiRouter.POST("lookOnePeopleArchives", methodBinding.LookOnePeopleArchives) //获取人员信息单页(手机)查看权限 + + apiRouter.POST("gainUserInfoDownTemplateList", methodBinding.GainUserInfoDownTemplateList) //获取人员信息模版列表 + apiRouter.POST("uploadUserTemplate", methodBinding.UploadUserTemplate) //上传人员信息模版保存 } } diff --git a/models/modelAppPlatform/userInfoDownTemplate.go b/models/modelAppPlatform/userInfoDownTemplate.go new file mode 100644 index 0000000..e6ab2d3 --- /dev/null +++ b/models/modelAppPlatform/userInfoDownTemplate.go @@ -0,0 +1,78 @@ +package modelAppPlatform + +import ( + "appPlatform/overall" + "strings" +) + +/* +* +@ 作者: 秦东 +@ 时间: 2024-04-23 11:25:43 +@ 功能: 员工信息导入模板 +@ 参数 + + # + +@ 返回值 + + # + +@ 方法原型 + + # +*/ +type UserInfoDownTemplate struct { + Id int64 `json:"id" gorm:"primaryKey;column:id;type:int(5) unsigned;not null;comment:Id;index"` + OrgId int64 `json:"orgId" gorm:"column:orgId;type:bigint(20) unsigned;default:0;not null;comment:归属哪个行政组织"` + FileName string `json:"fileName" gorm:"column:fileName;type:varchar(255) unsigned;default:'';not null;comment:文件名称"` + FilePath string `json:"filePath" gorm:"column:filePath;type:mediumtext;default:'';comment:文件物理地址"` + FileUrl string `json:"fileUrl" gorm:"column:fileUrl;type:mediumtext;default:'';comment:文件网络地址"` + Status int `json:"status" gorm:"column:status;type:int(1) unsigned NOT NULL DEFAULT '1' comment:状态(1:启用;2:禁用;3:删除)"` + DateTime int64 `json:"dateTime" gorm:"column:dateTime;type:bigint(20) unsigned;default:0;not null;comment:创建时间"` +} + +func (UserInfoDownTemplate *UserInfoDownTemplate) TableName() string { + return "UserInfoDownTemplate" +} + +// 编辑内容 +func (cont *UserInfoDownTemplate) EiteCont(whereMap interface{}, saveData interface{}) (err error) { + err = overall.CONSTANT_DB_AppPlatform.Model(&cont).Where(whereMap).Updates(saveData).Error + return +} + +// 获取内容 +func (cont *UserInfoDownTemplate) GetCont(whereMap interface{}, field ...string) (err error) { + gormDb := overall.CONSTANT_DB_AppPlatform.Model(&cont) + if len(field) > 0 { + fieldStr := strings.Join(field, ",") + gormDb = gormDb.Select(fieldStr) + } + gormDb = gormDb.Where(whereMap) + err = gormDb.First(&cont).Error + return +} + +// 根据条件获取总数 +func (cont *UserInfoDownTemplate) CountCont(whereMap interface{}) (countId int64) { + overall.CONSTANT_DB_AppPlatform.Model(&cont).Where(whereMap).Count(&countId) + return +} + +// 读取全部信息 +func (cont *UserInfoDownTemplate) ContMap(whereMap interface{}, field ...string) (countAry []UserInfoDownTemplate, err error) { + gormDb := overall.CONSTANT_DB_AppPlatform.Model(&cont) + if len(field) > 0 { + fieldStr := strings.Join(field, ",") + gormDb = gormDb.Select(fieldStr) + } + err = gormDb.Where(whereMap).Find(&countAry).Error + return +} + +// 删除内容 +func (cont *UserInfoDownTemplate) DelCont(whereMap interface{}) (err error) { + err = overall.CONSTANT_DB_AppPlatform.Where(whereMap).Delete(&cont).Error + return +}