Browse Source

修改荣誉墙

master
超级管理员 3 years ago
parent
commit
4c4b6ee251
  1. 23
      api/version1/honoraryArchives/carriertype.go
  2. 69
      api/version1/honoraryArchives/honors.go
  3. 6
      api/version1/honoraryArchives/operate_photo.go
  4. 14
      api/version1/honoraryArchives/type.go
  5. 197
      api/version1/postseting/postpc/scheme.go
  6. 1
      api/version1/postseting/postpc/type.go
  7. 42
      api/version1/postseting/postweb/posttarget.go
  8. 14
      api/version1/postseting/postweb/type.go
  9. 12
      apirouter/v1/honorsRoute/honors_route.go
  10. 1
      apirouter/v1/postseting/pc.go
  11. 2
      initialization/init_viper.go

23
api/version1/honoraryArchives/carriertype.go

@ -156,3 +156,26 @@ func (a *ApiMethod) EidyCarrierState(c *gin.Context) {
}
publicmethod.Result(0, carrierTypeCont, c)
}
// 查询荣誉类型详情
func (a *ApiMethod) GetHonorsClassCont(c *gin.Context) {
var receivedValue publicmethod.PublicId
err := c.ShouldBindJSON(&receivedValue)
if err != nil {
publicmethod.Result(100, err, c)
return
}
if receivedValue.Id == "" {
publicmethod.Result(101, receivedValue, c)
return
}
where := publicmethod.MapOut[string]()
where["id"] = receivedValue.Id
var carrierTypeCont modelshonory.CarrierType
judgeErr := carrierTypeCont.GetCont(where)
if judgeErr != nil {
publicmethod.Result(107, judgeErr, c)
return
}
publicmethod.Result(0, carrierTypeCont, c)
}

69
api/version1/honoraryArchives/honors.go

@ -18,6 +18,7 @@ func (a *ApiMethod) HonorList(c *gin.Context) {
var requestData honorListKey
c.ShouldBindJSON(&requestData)
var honorsList []modelshonory.HonoraryArchives
// var honorsList []honorslist
gormDb := overall.CONSTANT_DB_MANAGE_ARCHIVES.Model(&modelshonory.HonoraryArchives{}).Where("state BETWEEN ? AND ?", 1, 2)
if requestData.Name != "" {
gormDb = gormDb.Where("`name` LIKE ?", "%"+requestData.Name+"%")
@ -58,7 +59,33 @@ func (a *ApiMethod) HonorList(c *gin.Context) {
publicmethod.Result(105, err, c)
return
}
publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(honorsList)), honorsList, c)
var gshscList []honorslist
for _, v := range honorsList {
var gshscCont honorslist
gshscCont.Id = v.Id //
gshscCont.Name = v.Name //荣誉名称"`
gshscCont.IssuingUnit = v.IssuingUnit //发放单位"`
gshscCont.Carrier = v.Carrier // 载体"`
gshscCont.AwardTime = v.AwardTime // 获奖时间"`
gshscCont.TermOfValidity = v.TermOfValidity //有效期限"`
gshscCont.Contet = v.Contet //备注"`
gshscCont.Organization = v.Organization // 归属行政组织"`
gshscCont.Userid = v.Userid //归属人员"`
gshscCont.Time = v.Time //创建时间"`
gshscCont.State = v.State // 状态(1:启用;2:禁用;3:删除)"`
if v.AwardTime != 0 {
gshscCont.AwardTimeStr = publicmethod.UnixTimeToDay(v.AwardTime, 14)
}
if v.AwardTime != 0 {
gshscCont.TermOfValidityStr = publicmethod.UnixTimeToDay(v.TermOfValidity, 14)
} else {
gshscCont.TermOfValidityStr = "永久"
}
gshscList = append(gshscList, gshscCont)
}
publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(gshscList)), gshscList, c)
}
// 添加荣誉
@ -334,3 +361,43 @@ func (a *ApiMethod) EidyHonorContState(c *gin.Context) {
}
publicmethod.Result(0, carrierTypeCont, c)
}
// 查询荣誉详情
func (a *ApiMethod) GetHonorsCont(c *gin.Context) {
var receivedValue publicmethod.PublicId
err := c.ShouldBindJSON(&receivedValue)
if err != nil {
publicmethod.Result(100, err, c)
return
}
if receivedValue.Id == "" {
publicmethod.Result(101, receivedValue, c)
return
}
where := publicmethod.MapOut[string]()
where["id"] = receivedValue.Id
var carrierTypeCont modelshonory.HonoraryArchives
judgeErr := carrierTypeCont.GetCont(where)
if judgeErr != nil {
publicmethod.Result(107, judgeErr, c)
return
}
var photoGalleryByAscriptionId []modelshonory.PhotosGallery
overall.CONSTANT_DB_MANAGE_ARCHIVES.Model(&modelshonory.PhotosGallery{}).Where("state = ? AND ascription_id = ?", 1, receivedValue.Id).Find(&photoGalleryByAscriptionId)
var outData lookHonorsCont
outData.ImgUrl = photoGalleryByAscriptionId
outData.Id = carrierTypeCont.Id // ID"`
outData.Name = carrierTypeCont.Name //荣誉名称"`
outData.IssuingUnit = carrierTypeCont.IssuingUnit //发放单位"`
outData.Carrier = carrierTypeCont.Carrier //载体"`
outData.AwardTime = carrierTypeCont.AwardTime //获奖时间"`
outData.TermOfValidity = carrierTypeCont.TermOfValidity //有效期限"`
outData.Contet = carrierTypeCont.Contet //备注"`
outData.Organization = carrierTypeCont.Organization // 归属行政组织"`
outData.Userid = carrierTypeCont.Userid //归属人员"`
outData.Time = carrierTypeCont.Time //创建时间"`
outData.State = carrierTypeCont.State //状态(1:启用;2:禁用;3:删除)"`
publicmethod.Result(0, outData, c)
}

6
api/version1/honoraryArchives/operate_photo.go

@ -18,8 +18,12 @@ func (a *ApiMethod) ReviewImage(c *gin.Context) {
}
var photoGalleryByAscriptionId []modelshonory.PhotosGallery
where := publicmethod.MapOut[string]()
where["ascriptionid"] = requestData.Id
where["ascription_id"] = requestData.Id
gormDb := overall.CONSTANT_DB_MANAGE_ARCHIVES.Model(&modelshonory.PhotosGallery{}).Where("state = ?", 1)
gormDb.Where(where).Find(&photoGalleryByAscriptionId)
if len(photoGalleryByAscriptionId) < 1 {
publicmethod.Result(107, photoGalleryByAscriptionId, c)
return
}
publicmethod.Result(0, photoGalleryByAscriptionId, c) // 将查询结果返回
}

14
api/version1/honoraryArchives/type.go

@ -1,6 +1,7 @@
package honoraryArchives
import (
"key_performance_indicators/models/modelshonory"
"key_performance_indicators/overall/publicmethod"
"github.com/gin-gonic/gin"
@ -69,3 +70,16 @@ type photoKey struct {
addHonorCont
publicmethod.PagesTurn
}
// 荣誉列表输出
type honorslist struct {
modelshonory.HonoraryArchives
AwardTimeStr string `json:"awardtimestr"` //获奖时间
TermOfValidityStr string `json:"termvaliditytr"` //获奖时间
}
// 查询荣誉详情输出
type lookHonorsCont struct {
modelshonory.HonoraryArchives
ImgUrl []modelshonory.PhotosGallery `json:"imgurl"` //图片集
}

197
api/version1/postseting/postpc/scheme.go

@ -80,7 +80,7 @@ func (p *postDimeTarSync) GetPostTargent(position modelshr.Position, dutyClass m
targetCont.Id = strconv.FormatInt(v.Id, 10)
targetCont.Name = v.Title
targetCont.Content = "" //指标描述
targetCont.StandardScore = getPostDimeTarWeight(position.AdministrativeOrganization, position.Id, dutyClass.Id, v.Id, 1, 1) //标准分
targetCont.StandardScore = getPostDimeTarWeight(position.AdministrativeOrganization, position.Id, dutyClass.Id, v.Id, 2, 1) //标准分
targetCont.Unit = v.Unit //单位
targetCont.IsTrue = 2 //是否允许修改 1:不允许;2:允许
targetCont.State = 1 //状态 1:启用;2:禁用;3:观察
@ -451,6 +451,12 @@ func postSchemeTargetPost(versionNumber string, source, judgeState int, scheme [
}
}
syncSetinges.Wait()
writeData := xizeXiecheng.readDataLock()
if len(writeData) > 0 {
for _, wdv := range writeData {
saveNewData = append(saveNewData, wdv)
}
}
if len(saveNewData) > 0 {
overall.CONSTANT_DB_KPI.Create(&saveNewData)
}
@ -480,31 +486,60 @@ func (p *postShemeListCont) eidtPostSchemeInfo(versionNumber string, companyId,
if len(postTargetDetailsCont) > 0 {
for _, v := range postTargetDetailsCont {
var saveData modelskpi.QualitativeEvaluationScheme //方案内容结构体
saveData.VersionNumber = versionNumber //版本编号"`
saveData.CompanyId = companyId //归属公司"`
saveData.DepartmentId = departmentId //归属部门"`
saveData.OrgId = orgid //归属行政组织"`
saveData.PostId = postid //归属岗位"`
saveData.Title = v.Title //考核项名称"`
saveData.DimensionId = departmentId //维度"`
saveData.TargetId = targetId //指标"`
saveData.SonTargetId = sonTargetId //子栏目"`
saveData.DetailsId = v.Id //细则"`
saveData.Attribute = 1 //属性 1:定性考核;2:定量考核"`
saveData.MinScore = v.MinScore //最小分*100保存"`
saveData.MaxScore = v.MaxScore //最大分*100保存"`
saveData.ScoringMethod = scoringMethod //计分方式(1:自动;2:手动)"`
saveData.State = targetState //状态(1:启用;2:禁用;3:删除)"`
saveData.Addtime = timeData //添加时间"`
saveData.Eitetime = timeData //编辑时间"`
saveData.CensorType = "2" //检查方式(1:现场检查;2:资料检查;3:事件触发)"`
saveData.Source = 1 //来源(1:岗位;2:部门引用)"`
saveData.RunState = runState //运行状态(1:启用;2:禁用;3:观察)
saveData.Punishmode = v.Punishmode //处罚方式 1:扣分;2:现金处罚;3:扣分加现金
saveData.Maxmoney = v.Maxmoney //最高罚款
saveData.Minmoney = v.Minmoney //最低罚款
p.shememList = append(p.shememList, saveData)
//判断该细则是否存在
whereLian := publicmethod.MapOut[string]()
whereLian["`version_number`"] = versionNumber
whereLian["`company_id`"] = companyId
whereLian["`department_id`"] = departmentId
whereLian["`org_id`"] = orgid
whereLian["`post_id`"] = postid
whereLian["`dimension_id`"] = dimensionId
whereLian["`target_id`"] = targetId
whereLian["`son_target_id`"] = sonTargetId
whereLian["`details_id`"] = v.Id
judgeLianErr := saveData.GetCont(whereLian, "`id`", "`state`")
if judgeLianErr == nil {
eidtTargetCont := publicmethod.MapOut[string]()
eidtTargetCont["`scoring_method`"] = scoringMethod
eidtTargetCont["`state`"] = targetState
eidtTargetCont["`source`"] = 1
eidtTargetCont["`run_state`"] = runState
eidtTargetCont["`eitetime`"] = timeData
eidtTargetCont["`min_score`"] = v.MinScore
eidtTargetCont["`max_score`"] = v.MaxScore
eidtTargetCont["`punishmode`"] = v.Punishmode
eidtTargetCont["`maxmoney`"] = v.Maxmoney
eidtTargetCont["`minmoney`"] = v.Minmoney
saveData.EiteCont(map[string]interface{}{"`id`": saveData.Id}, eidtTargetCont)
} else { //不存在需要新增
var saveData modelskpi.QualitativeEvaluationScheme //方案内容结构体
saveData.VersionNumber = versionNumber //版本编号"`
saveData.CompanyId = companyId //归属公司"`
saveData.DepartmentId = departmentId //归属部门"`
saveData.OrgId = orgid //归属行政组织"`
saveData.PostId = postid //归属岗位"`
saveData.Title = v.Title //考核项名称"`
saveData.DimensionId = departmentId //维度"`
saveData.TargetId = targetId //指标"`
saveData.SonTargetId = sonTargetId //子栏目"`
saveData.DetailsId = v.Id //细则"`
saveData.Attribute = 1 //属性 1:定性考核;2:定量考核"`
saveData.MinScore = v.MinScore //最小分*100保存"`
saveData.MaxScore = v.MaxScore //最大分*100保存"`
saveData.ScoringMethod = scoringMethod //计分方式(1:自动;2:手动)"`
saveData.State = targetState //状态(1:启用;2:禁用;3:删除)"`
saveData.Addtime = timeData //添加时间"`
saveData.Eitetime = timeData //编辑时间"`
saveData.CensorType = "2" //检查方式(1:现场检查;2:资料检查;3:事件触发)"`
saveData.Source = 1 //来源(1:岗位;2:部门引用)"`
saveData.RunState = runState //运行状态(1:启用;2:禁用;3:观察)
saveData.Punishmode = v.Punishmode //处罚方式 1:扣分;2:现金处罚;3:扣分加现金
saveData.Maxmoney = v.Maxmoney //最高罚款
saveData.Minmoney = v.Minmoney //最低罚款
p.shememList = append(p.shememList, saveData)
}
}
}
@ -896,7 +931,24 @@ func (a *ApiMethod) GetCopyShemeInfor(c *gin.Context) {
}
}
}
if len(notUsedDimensionId) > 0 {
for _, nuduv := range notUsedDimensionId {
syncSeting.Add(1)
go shemePostList.postHandleShemeNot(schemeCont.OrgId, schemeCont.Position, nuduv)
}
}
syncSeting.Wait()
shemeList := shemePostList.readDataLock()
if len(shemeList) < 1 {
publicmethod.Result(1, shemeList, c, "该岗位没有设定专属指标!您可以从部门指标中引入!")
return
}
//根据维度序号排序
sort.Slice(shemeList, func(i, j int) bool {
return shemeList[i].Sort < shemeList[j].Sort
})
shemeInfo.PostChild = shemeList
publicmethod.Result(0, shemeInfo, c)
}
/*
@ -907,20 +959,81 @@ func (a *ApiMethod) GetCopyShemeInfor(c *gin.Context) {
@shemeInfo 考核项结构体
*/
func (s *shemeSync) postHandleSheme(orgid, postid, dimensId int64, shemeInfo schemeStructure) {
// var targetPostList []schemeTargetStructure
// var idIsTrue []string
// for _, v := range shemeInfo.Child {
// idIsTrue = append(idIsTrue, v.Id)
// var targetCont schemeTargetStructure
// targetCont.Id = v.Id
// targetCont.Name = v.Title
// targetCont.Content = "" //指标描述
// targetCont.StandardScore = getPostDimeTarWeight(orgid, postid, dimensId, v.Id, 1, 1) //标准分
// targetCont.Unit = v.Unit //单位
// targetCont.IsTrue = 2 //是否允许修改 1:不允许;2:允许
// targetCont.State = 1
// targetPostList = append(targetPostList, targetCont)
// }
s.mutext.Lock()
defer s.mutext.Unlock()
var targetPostList schemeStructure
//获取维度信息
var dimeCont modelskpi.DutyClass
dimeCont.GetCont(map[string]interface{}{"`id`": dimensId}, "`title`")
targetPostList.Id = shemeInfo.Id
targetPostList.Name = shemeInfo.Name
targetPostList.Sort = dimeCont.Sort
targetPostList.Score = shemeInfo.Score
var idIsTrue []string
for _, v := range shemeInfo.Child {
idIsTrue = append(idIsTrue, v.Id)
targetPostList.Child = append(targetPostList.Child, v)
}
//获取被指标下的其他
var otherTarget []modelskpi.PostTarget
if len(idIsTrue) > 0 {
overall.CONSTANT_DB_KPI.Where("`state` = 1 AND `rele_depart` = ? AND `departments_post` AND `dimension` = ?", orgid, postid, dimensId).Not(map[string]interface{}{"`id`": idIsTrue}).Find(&otherTarget)
}
if len(otherTarget) > 0 {
for _, otv := range otherTarget {
var tarCont schemeTargetStructure
tarCont.Id = strconv.FormatInt(otv.Id, 10) //id
tarCont.Name = otv.Title //名称
tarCont.Content = "" //说明
scorcFloatInt := getPostDimeTarWeight(orgid, postid, dimensId, otv.Id, 2, 1)
tarCont.Score = float64(scorcFloatInt) //`json:"score"` //分数
tarCont.State = 1 //状态:1:启用;2:禁用;3:观察
tarCont.Type = otv.Type // //1、定性指标;2、定量指标
targetPostList.Child = append(targetPostList.Child, tarCont)
}
}
s.shememList = append(s.shememList, targetPostList)
syncSeting.Done()
}
/*
协程处理未生成的维度指标是否有新的内容
@orgid 行政组织ID
@postid 岗位ID
@dimensId 维度ID
*/
func (s *shemeSync) postHandleShemeNot(orgid, postid, dimensId int64) {
s.mutext.Lock()
defer s.mutext.Unlock()
var targetPostList schemeStructure
//获取维度信息
var dimeCont modelskpi.DutyClass
dimeCont.GetCont(map[string]interface{}{"`id`": dimensId}, "`title`")
targetPostList.Id = strconv.FormatInt(dimeCont.Id, 10)
targetPostList.Name = dimeCont.Title
targetPostList.Sort = dimeCont.Sort
targetPostList.Score = 0
//获取维度下的指标
var otherTarget []modelskpi.PostTarget
overall.CONSTANT_DB_KPI.Where("`state` = 1 AND `rele_depart` = ? AND `departments_post` AND `dimension` = ?", orgid, postid, dimensId).Find(&otherTarget)
if len(otherTarget) > 0 {
for _, otv := range otherTarget {
var tarCont schemeTargetStructure
tarCont.Id = strconv.FormatInt(otv.Id, 10) //id
tarCont.Name = otv.Title //名称
tarCont.Content = "" //说明
scorcFloatInt := getPostDimeTarWeight(orgid, postid, dimensId, otv.Id, 2, 1)
tarCont.Score = float64(scorcFloatInt) //`json:"score"` //分数
tarCont.State = 1 //状态:1:启用;2:禁用;3:观察
tarCont.Type = otv.Type // //1、定性指标;2、定量指标
targetPostList.Child = append(targetPostList.Child, tarCont)
}
}
s.shememList = append(s.shememList, targetPostList)
syncSeting.Done()
}

1
api/version1/postseting/postpc/type.go

@ -101,6 +101,7 @@ type postScheme struct {
type schemeStructure struct {
publicmethod.PublicId //id
publicmethod.PublicName //名称
Sort int `json:"sort"` //排序
Score float64 `json:"score"` //分数
Child []schemeTargetStructure `json:"child"` //指标列表
}

42
api/version1/postseting/postweb/posttarget.go

@ -115,14 +115,15 @@ func (a *ApiMethod) GetPostNature(c *gin.Context) {
departTarDeta.GetCont(map[string]interface{}{"`dt_id`": v.DetailsId}, "`dt_add_reduce`")
outCont.AddReduce = departTarDeta.AddReduce
}
outCont.UserKey = receivedValue.Id
outCont.DimensionId = strconv.FormatInt(v.DimensionId, 10)
outDataAry = append(outDataAry, outCont)
}
}
publicmethod.Result(0, outDataAry, c)
}
// 获取定量指标
// 获取定量指标列表
func (a *ApiMethod) GetPostRation(c *gin.Context) {
var receivedValue publicmethod.PublicId
err := c.ShouldBindJSON(&receivedValue)
@ -160,8 +161,45 @@ func (a *ApiMethod) GetPostRation(c *gin.Context) {
var outCont outPostRation
outCont.Id = strconv.FormatInt(v.TargetId, 10)
outCont.Name = v.Title
outCont.UserKey = receivedValue.Id
outCont.DimensionId = strconv.FormatInt(v.DimensionId, 10)
outDataAry = append(outDataAry, outCont)
}
}
publicmethod.Result(0, outDataAry, c)
}
// 获取岗位定性考核指标细则列表
func (a *ApiMethod) GetPostDeimensoInfo(c *gin.Context) {
var receivedValue getNatureDimeList
err := c.ShouldBindJSON(&receivedValue)
if err != nil {
publicmethod.Result(100, err, c)
return
}
if receivedValue.UserKey == "" {
publicmethod.Result(101, receivedValue, c)
return
}
if receivedValue.TargetId == "" {
publicmethod.Result(101, receivedValue, c)
return
}
//获取被考核人基本信息
var userCont modelshr.PersonArchives
err = userCont.GetCont(map[string]interface{}{"`key`": receivedValue.UserKey}, "`company`", "`maindeparment`", "`admin_org`", "`position`")
if err != nil {
publicmethod.Result(107, err, c)
return
}
//获取登录人信息
context, _ := publicmethod.LoginMyCont(c)
//获取被考核人本岗位的考核项目
var itemList []modelskpi.ShemePeople
err = overall.CONSTANT_DB_KPI.Where("`state` = 1 AND `attribute` = 2 AND `run_state` <> 2 AND `org_id` = ? AND `post_id` = ? AND `man_key` = ?", userCont.MainDeparment, userCont.Position, context.Key).Find(&itemList).Error
if err != nil || len(itemList) < 1 {
publicmethod.Result(107, err, c)
return
}
}

14
api/version1/postseting/postweb/type.go

@ -24,12 +24,22 @@ type getPostManTargetList struct {
// 输出定性指标指定人考核项目列表
type outPostManTargetList struct {
getPostManTargetList
Title string `json:"title"`
AddReduce int `json:"addreduce"` //1:减少;2:增加;3:无属性,现场确认加或减
Title string `json:"title"`
AddReduce int `json:"addreduce"` //1:减少;2:增加;3:无属性,现场确认加或减
UserKey string `json:"userkey"`
DimensionId string `json:"dimensionid"` //维度
}
// 输出定量考核项目
type outPostRation struct {
publicmethod.PublicId
publicmethod.PublicName
UserKey string `json:"userkey"`
DimensionId string `json:"dimensionid"` //维度
}
// 获取指定人的定性考核细则列表
type getNatureDimeList struct {
UserKey string `json:"userkey"`
TargetId string `json:"targetid"`
}

12
apirouter/v1/honorsRoute/honors_route.go

@ -6,7 +6,7 @@ import (
"github.com/gin-gonic/gin"
)
//荣誉墙
// 荣誉墙
func (a *ApiRouter) RouterGroup(router *gin.RouterGroup) {
apiRouter := router.Group("honors")
@ -18,12 +18,14 @@ func (a *ApiRouter) RouterGroup(router *gin.RouterGroup) {
apiRouter.POST("addhonorcont", methodBinding.AddHonorCont) //添加荣誉
apiRouter.POST("eidyhonorcont", methodBinding.EidyHonorCont) //编辑荣誉
apiRouter.POST("eidyhonorcontstate", methodBinding.EidyHonorContState) //编辑荣誉状态
apiRouter.POST("gethonorscont", methodBinding.GetHonorsCont) //查询荣誉详情
//载体类型
apiRouter.POST("carrierlist", methodBinding.CarrierList) //载体类型列表
apiRouter.POST("addcarrier", methodBinding.AddCarrier) //添加载体类型
apiRouter.POST("eidycarrier", methodBinding.EidyCarrier) //编辑载体类型
apiRouter.POST("eidycarrierstate", methodBinding.EidyCarrierState) //编辑载体类型状态
apiRouter.POST("carrierlist", methodBinding.CarrierList) //载体类型列表
apiRouter.POST("addcarrier", methodBinding.AddCarrier) //添加载体类型
apiRouter.POST("eidycarrier", methodBinding.EidyCarrier) //编辑载体类型
apiRouter.POST("eidycarrierstate", methodBinding.EidyCarrierState) //编辑载体类型状态
apiRouter.POST("gethonorsclasscont", methodBinding.GetHonorsClassCont) //查询荣誉类型详情
// 查看图片
apiRouter.POST("reviewimage", methodBinding.ReviewImage) // 查看图片

1
apirouter/v1/postseting/pc.go

@ -18,5 +18,6 @@ func (a *ApiRouter) RouterGroupPc(router *gin.RouterGroup) {
apiRouter.POST("quote_department_target", methodBinding.QuoteDepartmentTarget) //引用指标部门指标
apiRouter.POST("submit_post_scheme", methodBinding.SubmitPostScheme) //提交岗位考核方案
apiRouter.POST("get_post_scheme", methodBinding.GetPostScheme) //获取岗位方案内容列表
apiRouter.POST("get_copy_sheme_infor", methodBinding.GetCopyShemeInfor) //获取复制岗位考核方案
}
}

2
initialization/init_viper.go

@ -9,7 +9,7 @@ import (
"github.com/spf13/viper"
)
//使用viper 处理包解决配置读取问题
// 使用viper 处理包解决配置读取问题
func RunViper(configInfo interface{}, path ...string) *viper.Viper {
var config string
if len(path) == 0 {

Loading…
Cancel
Save