@ -26,7 +26,7 @@ func (a *ApiMethod) GetSchemeList(c *gin.Context) {
receivedValue . PageSize = 20
receivedValue . PageSize = 20
}
}
var schemeList [ ] modelskpi . PositionPlanVersio
var schemeList [ ] modelskpi . PositionPlanVersio
gormDb := overall . CONSTANT_DB_KPI . Model ( & modelskpi . PositionPlanVersio { } ) . Where ( "`state` BETWEEN ? AND ?" , 1 , 2 )
gormDb := overall . CONSTANT_DB_KPI . Model ( & modelskpi . PositionPlanVersio { } )
if receivedValue . VersionNumber != "" {
if receivedValue . VersionNumber != "" {
gormDb = gormDb . Where ( "`key` LIKE ?" , "%" + receivedValue . VersionNumber + "%" )
gormDb = gormDb . Where ( "`key` LIKE ?" , "%" + receivedValue . VersionNumber + "%" )
}
}
@ -40,10 +40,10 @@ func (a *ApiMethod) GetSchemeList(c *gin.Context) {
if receivedValue . OrgId != "" {
if receivedValue . OrgId != "" {
gormDb = gormDb . Where ( "`orgid` = ?" , receivedValue . OrgId )
gormDb = gormDb . Where ( "`orgid` = ?" , receivedValue . OrgId )
}
}
if receivedValue . PostId != "" {
if len ( receivedValue . PostId ) > 0 {
gormDb = gormDb . Where ( "`position` = ?" , receivedValue . PostId )
gormDb = gormDb . Where ( "`position` IN ?" , receivedValue . PostId )
}
}
if receivedValue . Year != 0 {
if receivedValue . Year != "" {
gormDb = gormDb . Where ( "`years` = ?" , receivedValue . Year )
gormDb = gormDb . Where ( "`years` = ?" , receivedValue . Year )
}
}
if receivedValue . State != 0 {
if receivedValue . State != 0 {
@ -52,7 +52,7 @@ func (a *ApiMethod) GetSchemeList(c *gin.Context) {
gormDb = gormDb . Where ( "`state` BETWEEN ? AND ?" , 1 , 2 )
gormDb = gormDb . Where ( "`state` BETWEEN ? AND ?" , 1 , 2 )
}
}
gormDb = publicmethod . PageTurningSettings ( gormDb , receivedValue . Page , receivedValue . PageSize )
gormDb = publicmethod . PageTurningSettings ( gormDb , receivedValue . Page , receivedValue . PageSize )
err := gormDb . Order ( "`state` ASC" ) . Order ( "`version` ASC" ) . Order ( "`id` DESC" ) . Find ( & schemeList ) . Error
err := gormDb . Order ( "`orgid` ASC" ) . Order ( "`position` ASC" ) . Order ( "` state` ASC" ) . Order ( "`years ` ASC" ) . Order ( "`version` ASC" ) . Order ( "`id` DESC" ) . Find ( & schemeList ) . Error
var total int64
var total int64
totalErr := gormDb . Count ( & total ) . Error
totalErr := gormDb . Count ( & total ) . Error
if totalErr != nil {
if totalErr != nil {
@ -90,7 +90,7 @@ func (a *ApiMethod) GetSchemeList(c *gin.Context) {
var postContInfo modelshr . Position
var postContInfo modelshr . Position
postContInfo . GetCont ( map [ string ] interface { } { "`id`" : schemeList [ i ] . Position } , "`name`" )
postContInfo . GetCont ( map [ string ] interface { } { "`id`" : schemeList [ i ] . Position } , "`name`" )
sendDataCont . PostName = postContInfo . Name //`归属岗位"`
sendDataCont . PostName = postContInfo . Name //`归属岗位"`
sendDataCont . TimeStr = publicmethod . UnixTimeToDay ( schemeList [ i ] . AddTime , 1 )
sendData = append ( sendData , sendDataCont )
sendData = append ( sendData , sendDataCont )
}
}
publicmethod . ResultList ( 0 , receivedValue . Page , receivedValue . PageSize , total , int64 ( len ( sendData ) ) , sendData , c )
publicmethod . ResultList ( 0 , receivedValue . Page , receivedValue . PageSize , total , int64 ( len ( sendData ) ) , sendData , c )
@ -1183,6 +1183,7 @@ func (a *ApiMethod) EditSchemeStateOfDel(c *gin.Context) {
publicmethod . Result ( 1 , err , c , "未知系统参数!" )
publicmethod . Result ( 1 , err , c , "未知系统参数!" )
return
return
}
}
where := map [ string ] interface { } { "`id`" : receivedValue . Id }
where := map [ string ] interface { } { "`id`" : receivedValue . Id }
var oldSystemCont modelskpi . PositionPlanVersio
var oldSystemCont modelskpi . PositionPlanVersio
err = oldSystemCont . GetCont ( where )
err = oldSystemCont . GetCont ( where )
@ -1194,13 +1195,15 @@ func (a *ApiMethod) EditSchemeStateOfDel(c *gin.Context) {
saveData := publicmethod . MapOut [ string ] ( )
saveData := publicmethod . MapOut [ string ] ( )
saveData [ "`state`" ] = receivedValue . State
saveData [ "`state`" ] = receivedValue . State
saveData [ "`eitetime`" ] = time . Now ( ) . Unix ( )
saveData [ "`eitetime`" ] = time . Now ( ) . Unix ( )
err = oldSystemCont . EiteCont ( where , saveData )
var editPostPlan modelskpi . PositionPlanVersio
err = editPostPlan . EiteCont ( where , saveData )
} else {
} else {
// if receivedValue.IsTrue != 1 {
// if receivedValue.IsTrue != 1 {
saveData := publicmethod . MapOut [ string ] ( )
saveData := publicmethod . MapOut [ string ] ( )
saveData [ "`state`" ] = receivedValue . State
saveData [ "`state`" ] = receivedValue . State
saveData [ "`eitetime`" ] = time . Now ( ) . Unix ( )
saveData [ "`eitetime`" ] = time . Now ( ) . Unix ( )
err = oldSystemCont . EiteCont ( where , saveData )
var editPostPlan modelskpi . PositionPlanVersio
err = editPostPlan . EiteCont ( where , saveData )
// } else {
// } else {
// err = overall.CONSTANT_DB_System_Permission.Where(where).Delete(&oldSystemCont).Error
// err = overall.CONSTANT_DB_System_Permission.Where(where).Delete(&oldSystemCont).Error
// }
// }
@ -1226,12 +1229,13 @@ func editSchemeOther(schemeCont modelskpi.PositionPlanVersio, state int) {
saveData [ "`eitetime`" ] = time . Now ( ) . Unix ( )
saveData [ "`eitetime`" ] = time . Now ( ) . Unix ( )
overall . CONSTANT_DB_KPI . Model ( & modelskpi . QualitativeEvaluationScheme { } ) . Where ( "`company_id` = ? AND `department_id` = ? AND `org_id` = ? AND `post_id` = ? AND `version_number` <> ?" , schemeCont . Group , schemeCont . Department , schemeCont . OrgId , schemeCont . Position , schemeCont . Key ) . Updates ( saveData )
overall . CONSTANT_DB_KPI . Model ( & modelskpi . QualitativeEvaluationScheme { } ) . Where ( "`company_id` = ? AND `department_id` = ? AND `org_id` = ? AND `post_id` = ? AND `version_number` <> ?" , schemeCont . Group , schemeCont . Department , schemeCont . OrgId , schemeCont . Position , schemeCont . Key ) . Updates ( saveData )
// 将本岗位下其他方案禁用
// 将本岗位下其他方案禁用
var oldSystemCont modelskpi . PositionPlanVersio
// var oldSystemCont modelskpi.PositionPlanVersio
saveDataOther := publicmethod . MapOut [ string ] ( )
saveDataOther := publicmethod . MapOut [ string ] ( )
saveDataOther [ "`state`" ] = 2
saveDataOther [ "`state`" ] = 2
saveDataOther [ "`eitetime`" ] = time . Now ( ) . Unix ( )
saveDataOther [ "`eitetime`" ] = time . Now ( ) . Unix ( )
where := map [ string ] interface { } { "`id`" : schemeCont . Id }
// where := map[string]interface{}{"`id`": schemeCont.Id}
oldSystemCont . EiteCont ( where , saveDataOther )
// oldSystemCont.EiteCont(where, saveDataOther)
overall . CONSTANT_DB_KPI . Model ( & modelskpi . PositionPlanVersio { } ) . Where ( "`position` = ? AND `state` = 1 AND `id` <> ?" , schemeCont . Position , schemeCont . Id ) . Updates ( saveDataOther )
//开启本岗位方案详情
//开启本岗位方案详情
var qesCont modelskpi . QualitativeEvaluationScheme
var qesCont modelskpi . QualitativeEvaluationScheme
qesCont . EiteCont ( map [ string ] interface { } { "`version_number`" : schemeCont . Key } , map [ string ] interface { } { "`state" : 1 } )
qesCont . EiteCont ( map [ string ] interface { } { "`version_number`" : schemeCont . Key } , map [ string ] interface { } { "`state" : 1 } )
@ -1282,3 +1286,106 @@ func xieChengWeight(class, orgid, postid, dimensionIdInt64, target, hierarchy, q
dimWeight . Quote = quote //1:不是引用;2:引用部门"`
dimWeight . Quote = quote //1:不是引用;2:引用部门"`
dimWeight . WriteTargetWeight ( )
dimWeight . WriteTargetWeight ( )
}
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2023 - 04 - 20 14 : 04 : 52
@ 功能 : 获取岗位指标 ( 添加方案时使用 )
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) HavePostTarget ( 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 ( 1 , err , c , "未知岗位!请先选择岗位!" )
return
}
var postCont modelshr . Position
err = postCont . GetCont ( map [ string ] interface { } { "`id`" : receivedValue . Id } , "administrative_organization" )
if err != nil {
publicmethod . Result ( 1 , err , c , "未知岗位!请先选择岗位!" )
return
}
var targetId [ ] int64
err = overall . CONSTANT_DB_KPI . Model ( & modelskpi . TargetDepartment { } ) . Distinct ( "target_id" ) . Where ( "`level` = 2 AND `state` = 1 AND `post_id` = ?" , receivedValue . Id ) . Find ( & targetId ) . Error
if err != nil && len ( targetId ) < 1 {
publicmethod . Result ( 105 , err , c )
return
}
var postTargetListCont [ ] modelskpi . PostTarget
err = overall . CONSTANT_DB_KPI . Where ( "`id` IN ?" , targetId ) . Find ( & postTargetListCont ) . Error
if err != nil && len ( postTargetListCont ) < 1 {
publicmethod . Result ( 105 , err , c )
return
}
var postPlanScheme postScheme
postPlanScheme . OrgId = strconv . FormatInt ( postCont . AdministrativeOrganization , 10 )
postPlanScheme . PostId = receivedValue . Id
var dutyClassList [ ] PostSchemeDiem
var dutyId [ ] int64
var tarList [ ] PostSchemeTar
for _ , v := range postTargetListCont {
if ! publicmethod . IsInTrue [ int64 ] ( v . Dimension , dutyId ) {
dutyId = append ( dutyId , v . Dimension )
var dutyCont modelskpi . DutyClass
errs := dutyCont . GetCont ( map [ string ] interface { } { "`id`" : v . Dimension } , "`title`" , ` sort ` )
if errs == nil {
var dyCont PostSchemeDiem
dyCont . Id = strconv . FormatInt ( v . Dimension , 10 )
dyCont . Name = dutyCont . Title
dyCont . Sort = dutyCont . Sort
dutyClassList = append ( dutyClassList , dyCont )
}
}
var tarCont PostSchemeTar
tarCont . Id = strconv . FormatInt ( v . Id , 10 )
tarCont . Name = v . Title
tarCont . Content = "" //说明
tarCont . Score = 0 //分数
tarCont . State = 1 //状态:1:启用;2:禁用;3:观察
tarCont . Type = v . Type //1、定性指标;2、定量指标
tarCont . Dimension = strconv . FormatInt ( v . Dimension , 10 )
tarList = append ( tarList , tarCont )
}
//根据维度序号排序
sort . Slice ( dutyClassList , func ( i , j int ) bool {
return dutyClassList [ i ] . Sort < dutyClassList [ j ] . Sort
} )
for _ , dv := range dutyClassList {
var dyInfo schemeStructure
dyInfo . Id = dv . Id
dyInfo . Name = dv . Name
dyInfo . Sort = dv . Sort
dyInfo . Score = 0
for _ , tv := range tarList {
if tv . Dimension == dv . Id {
var trInfo schemeTargetStructure
trInfo . Id = tv . Id
trInfo . Name = tv . Name
trInfo . Content = tv . Content //说明
trInfo . Score = tv . Score //分数
trInfo . State = tv . State //状态:1:启用;2:禁用;3:观察
trInfo . Type = tv . Type //1、定性指标;2、定量指标
dyInfo . Child = append ( dyInfo . Child , trInfo )
}
}
postPlanScheme . PostChild = append ( postPlanScheme . PostChild , dyInfo )
}
publicmethod . Result ( 0 , postPlanScheme , c )
}