From aab857434114129633053746bfe76978a3addbfb Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Tue, 22 Feb 2022 11:09:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E8=80=83=E6=A0=B8V1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/v1/assessment/department_target.go | 271 +++++++++++++++- .../api/v1/assessment/dutytype.go | 82 +++++ .../api/v1/assessment/newassessment.go | 137 ++++++++ .../v1/assessment/qualitative_evaluation.go | 301 +++++++++++++++++- .../api/v1/assessment/ration_evaluation.go | 234 +++++++++++++- .../model/assessmentmodel/dutyclass.go | 3 +- .../router/assessment/assessmentrouter.go | 14 +- 7 files changed, 1018 insertions(+), 24 deletions(-) create mode 100644 gin_server_admin/api/v1/assessment/newassessment.go diff --git a/gin_server_admin/api/v1/assessment/department_target.go b/gin_server_admin/api/v1/assessment/department_target.go index fdb5339..1f3fccf 100644 --- a/gin_server_admin/api/v1/assessment/department_target.go +++ b/gin_server_admin/api/v1/assessment/department_target.go @@ -2,7 +2,10 @@ package assessment import ( "strconv" + "strings" + "time" + "github.com/flipped-aurora/gin-vue-admin/server/api/v1/archiveapi" "github.com/flipped-aurora/gin-vue-admin/server/commonus" "github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel" @@ -75,7 +78,7 @@ func targetRationDepartList(groupID, departmentID, dimension int64) (contentList if targetErr == true { content.Id = strconv.FormatInt(v.Target, 10) content.Name = targetInfo.Title - + content.QeId = strconv.FormatInt(v.Id, 10) content.Unit = v.Unit content.ReferenceScore = v.ReferenceScore content.Cycles = v.Cycles @@ -87,3 +90,269 @@ func targetRationDepartList(groupID, departmentID, dimension int64) (contentList } return } + +// +func (d *DutyHandle) DepartmentTaskList(c *gin.Context) { + var requestData DelQualitative + c.ShouldBindJSON(&requestData) + + var qualitativeEvaluationAry []assessmentmodel.QualitativeEvaluation + gormDb := global.GVA_DB_Performanceappraisal + if requestData.Type != 0 { + gormDb = gormDb.Where("`qe_type` = ?", requestData.Type) + } + if requestData.Group != "" { + gormDb = gormDb.Where("`qe_group` = ?", requestData.Group) + } + if requestData.DepartmentId != "" { + gormDb = gormDb.Where("`qe_accept_evaluation` = ?", requestData.DepartmentId) + } + + if requestData.Dimension != "" { + gormDb = gormDb.Where("`qe_dimension` = ?", requestData.Dimension) + } + if requestData.Target != "" { + gormDb = gormDb.Where("`qe_target` = ?", requestData.Target) + } + if requestData.TargetSun != "" { + gormDb = gormDb.Where("`qe_target_sun` = ?", requestData.TargetSun) + } + listTargetErr := gormDb.Order("qe_type asc,qe_group asc,qe_accept_evaluation asc,qe_dimension asc,qe_target asc,qe_target_sun asc").Find(&qualitativeEvaluationAry).Error + + if listTargetErr != nil || len(qualitativeEvaluationAry) < 1 { + response.Result(101, listTargetErr, "没有数据!", c) + return + } + var uotContAry []TargetContOutCont + for _, v := range qualitativeEvaluationAry { + var uotCont TargetContOutCont + uotCont.Id = strconv.FormatInt(v.Id, 10) + uotCont.Type = v.Type + uotCont.Group = strconv.FormatInt(v.Group, 10) + groupErr, groupCont := commonus.GetGroupCont(v.Group) + if groupErr == true { + uotCont.GroupNAme = groupCont.Name + } + uotCont.DepartmentId = strconv.FormatInt(v.AcceptEvaluation, 10) + deparConErr, deparConCont := commonus.GetBranchFactory(v.AcceptEvaluation) + if deparConErr == true { + uotCont.DepartmentName = deparConCont.Name + } + uotCont.Dimension = strconv.FormatInt(v.Dimension, 10) + dutyClassCont, dutyClassErr := commonus.GetDutyClassInfo(v.Dimension) + if dutyClassErr == true { + uotCont.DimensionName = dutyClassCont.Title + } + uotCont.Target = strconv.FormatInt(v.Target, 10) + targetInfo, targetErr := commonus.GetTargetInfo(v.Target) + if targetErr == true { + uotCont.TargetName = targetInfo.Title + } + uotCont.TargetSun = strconv.FormatInt(v.TargetSun, 10) + info, infoErr := commonus.GetQualitativeTargetInfo(v.TargetSun) + if infoErr == true { + uotCont.TargetSunName = info.Title + } + uotCont.DetailedTarget = strconv.FormatInt(v.DetailedTarget, 10) + dtCont, dtIsTrue := commonus.GetDetailedTargetInfo(v.DetailedTarget) + if dtIsTrue == true { + uotCont.DetailedTargetName = dtCont.Title + uotCont.Content = dtCont.Content + } + uotCont.Unit = v.Unit + uotCont.ReferenceScore = v.ReferenceScore + uotCont.Cycles = v.Cycles + uotCont.CycleAttres = v.CycleAttres + uotCont.State = v.State + userAry := strings.Split(v.Operator, ",") + uotCont.UserList = userAry + for _, u_v := range userAry { + usCont, usErr := archiveapi.GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": u_v}) + if usErr == true { + var userCont QualEvalArrt + userCont.Id = u_v + userCont.Name = usCont.Name + uotCont.UserListAry = append(uotCont.UserListAry, userCont) + } + } + + uotCont.DetailedTarget = strconv.FormatInt(v.DetailedTarget, 10) + uotContAry = append(uotContAry, uotCont) + } + response.Result(0, uotContAry, "数据获取成功!", c) +} + +//获取方案考核细则内容 +func (d *DutyHandle) DetailsAssessmentScheme(c *gin.Context) { + var requestData commonus.SetIds + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + + var systemBFCont assessmentmodel.QualitativeEvaluation + contErr := global.GVA_DB_Performanceappraisal.Where("`qe_id` = ?", requestData.Id).First(&systemBFCont).Error + if contErr != nil { + response.Result(102, err, "数据获取失败!", c) + return + } + var uotCont TargetContOutCont + uotCont.Id = strconv.FormatInt(systemBFCont.Id, 10) + uotCont.Type = systemBFCont.Type + uotCont.Group = strconv.FormatInt(systemBFCont.Group, 10) + groupErr, groupCont := commonus.GetGroupCont(systemBFCont.Group) + if groupErr == true { + uotCont.GroupNAme = groupCont.Name + } + uotCont.DepartmentId = strconv.FormatInt(systemBFCont.AcceptEvaluation, 10) + deparConErr, deparConCont := commonus.GetBranchFactory(systemBFCont.AcceptEvaluation) + if deparConErr == true { + uotCont.DepartmentName = deparConCont.Name + } + uotCont.Dimension = strconv.FormatInt(systemBFCont.Dimension, 10) + dutyClassCont, dutyClassErr := commonus.GetDutyClassInfo(systemBFCont.Dimension) + if dutyClassErr == true { + uotCont.DimensionName = dutyClassCont.Title + } + uotCont.Target = strconv.FormatInt(systemBFCont.Target, 10) + targetInfo, targetErr := commonus.GetTargetInfo(systemBFCont.Target) + if targetErr == true { + uotCont.TargetName = targetInfo.Title + } + uotCont.TargetSun = strconv.FormatInt(systemBFCont.TargetSun, 10) + info, infoErr := commonus.GetQualitativeTargetInfo(systemBFCont.TargetSun) + if infoErr == true { + uotCont.TargetSunName = info.Title + } + uotCont.DetailedTarget = strconv.FormatInt(systemBFCont.DetailedTarget, 10) + dtCont, dtIsTrue := commonus.GetDetailedTargetInfo(systemBFCont.DetailedTarget) + if dtIsTrue == true { + uotCont.DetailedTargetName = dtCont.Title + uotCont.Content = dtCont.Content + } + uotCont.Unit = systemBFCont.Unit + uotCont.ReferenceScore = systemBFCont.ReferenceScore + uotCont.Cycles = systemBFCont.Cycles + uotCont.CycleAttres = systemBFCont.CycleAttres + uotCont.State = systemBFCont.State + uotCont.UserList = strings.Split(systemBFCont.Operator, ",") + uotCont.DetailedTarget = strconv.FormatInt(systemBFCont.DetailedTarget, 10) + response.Result(0, uotCont, "数据获取成功!", c) +} + +//删除考核细则方案内容 +func (d *DutyHandle) DelDepartmentTaskList(c *gin.Context) { + var requestData commonus.SetIds + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var oldCont assessmentmodel.QualitativeEvaluation + getOldContErr := global.GVA_DB_Performanceappraisal.Where("qe_id = ?", requestData.Id).Find(&oldCont).Error + if getOldContErr != nil { + response.Result(102, err, "没有此数据", c) + return + } + roleErr := global.GVA_DB_Performanceappraisal.Where("qe_id = ?", requestData.Id).Delete(&assessmentmodel.QualitativeEvaluation{}).Error + if roleErr != nil { + response.Result(102, err, "删除失败!", c) + return + } else { + var judgeNum int64 + delGormDb := global.GVA_DB_Performanceappraisal + delGormDb = delGormDb.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_type` = ?", oldCont.Group, oldCont.AcceptEvaluation, oldCont.Dimension, oldCont.Type) + if oldCont.Type == 1 { + delGormDb = delGormDb.Where("`qe_target` = ? AND `qe_target_sun` = ? ", oldCont.Target, oldCont.TargetSun) + } + judgeErr := delGormDb.Pluck("COALESCE(COUNT(qe_id), 0) as countid", &judgeNum).Error + if judgeErr == nil && judgeNum == 0 && oldCont.Type == 1 { + delDimErr := global.GVA_DB_Performanceappraisal.Where("`ddw_type` = 1 AND `ddw_hierarchy` = 2 AND `ddw_group` = ? AND `ddw_derpatment` = ? AND `ddw_dimension` = ? AND `ddw_target` = ?", oldCont.Group, oldCont.AcceptEvaluation, oldCont.Dimension, oldCont.Target).Delete(&assessmentmodel.DepartmentDimensionWeight{}).Error + if delDimErr == nil { + } + } + response.Result(0, err, "删除成功!", c) + } +} + +//修改考核方案单条考核细则 +func (d *DutyHandle) EiteOneQualitativeEvaluation(c *gin.Context) { + var requestData EiteOneQualEval + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + saveData := commonus.MapOut() + saveData["qe_eitetime"] = time.Now().Unix() + if requestData.Unit != "" { + saveData["qe_unit"] = requestData.Unit + } + if requestData.ReferenceScore != 0 { + saveData["qe_reference_score"] = requestData.ReferenceScore + } + if requestData.Cycles != 0 { + saveData["qe_cycle"] = requestData.Cycles + } + if requestData.CycleAttres != 0 { + saveData["qe_cycleattr"] = requestData.CycleAttres + } + if requestData.State != 0 { + saveData["qe_state"] = requestData.State + } + if requestData.Content != "" { + saveData["qe_content"] = requestData.Content + } + if len(requestData.Operator) > 0 { + saveData["qe_operator"] = strings.Join(requestData.Operator, ",") + saveData["qe_department_id"] = strings.Join(GetDepartmentByUserBast(requestData.Operator), ",") + } + roleIsTrue, roleErr := eiteOneQuaEvaInfo(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(106, roleErr, "编辑失败!", c) + } else { + response.Result(0, saveData, "编辑成功!", c) + } +} + +//编辑职务数据处理 +func eiteOneQuaEvaInfo(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) { + isTrue = false + infoErr = global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_id` = ?", saveId).Updates(saveData).Error + if infoErr != nil { + return + } + isTrue = true + return +} diff --git a/gin_server_admin/api/v1/assessment/dutytype.go b/gin_server_admin/api/v1/assessment/dutytype.go index b740e5a..d1a244f 100644 --- a/gin_server_admin/api/v1/assessment/dutytype.go +++ b/gin_server_admin/api/v1/assessment/dutytype.go @@ -396,6 +396,7 @@ type AddQualEval struct { Type int `json:"type"` //1:定性考核;2:定量考核 Target string `json:"target"` //考核指标 TargetSun string `json:"targetsun"` //考核指标子栏目 + TargetSunTitle string `json:"targetsuntitle"` //考核指标子栏目 Group string `json:"group"` //归属集团 EvaluationList []QualEvalSunList `json:"evaluationlist"` //测评详情 } @@ -403,6 +404,8 @@ type AddQualEval struct { //定性考核内容 type QualEvalSunList struct { DetailedTarget string `json:"id"` //考核细则 + Title string `json:"title"` //指标说明 + Content string `json:"content"` //指标说明 Unit string `json:"unit"` //单位 ReferenceScore int64 `json:"referencescore"` //标准分值 Cycles int `json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年 @@ -460,6 +463,7 @@ type taskDetails struct { Cycles int `json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年"` CycleAttres int `json:"cycleattr"` //辅助计数"` State int `json:"state"` + QeId string `json:"qeid"` } //具体职责输出 @@ -609,3 +613,81 @@ type addDepartDimenWeightAry struct { type getDaulEvalDuty struct { assessmentmodel.EvaluationTarget } + +//获取部门考核指标详情 +type QualitativeEite struct { + Dimension string `json:"dimension"` //考核维度 + Target string `json:"target"` //考核指标 + TargetSun string `json:"targetsun"` //考核指标子栏目 + Group string `json:"group"` //归属集团 + DepartmentId string `json:"departmentid"` //接受考核部门 +} + +//输出部门考核指标详情 +type QualitativeEiteOut struct { + Group string `json:"group"` //归属集团 + DepartmentId string `json:"departmentid"` //接受考核部门 + Dimension string `json:"dimension"` //考核维度 + Target string `json:"target"` //考核指标 + TargetSun string `json:"targetsun"` //考核指标子栏目 + List []taskDetailsLinkage `json:"list"` +} + +type DelQualitative struct { + Type int64 `json:"type"` //1:定性考核;2:定量考核 + Dimension string `json:"dimension"` //考核维度 + Target string `json:"target"` //考核指标 + TargetSun string `json:"targetsun"` //考核指标子栏目 + Group string `json:"group"` //归属集团 + DepartmentId string `json:"departmentid"` //接受考核部门 +} + +//根据条件获取组合指标新的输出模式 +type GetTaskTargetNewList struct { + assessmentmodel.EvaluationTarget + ReportList []string `json:"reportlist"` //上报人 +} + +//考核方案细则列表输出 +type TargetContOutCont struct { + Id string `json:"id"` + Type int `json:"type"` + Group string `json:"group"` + GroupNAme string `json:"groupname"` + DepartmentId string `json:"parentid"` + DepartmentName string `json:"parentname"` + Dimension string `json:"dimension"` + DimensionName string `json:"dimensionname"` + Target string `json:"target"` + TargetName string `json:"targetname"` + TargetSun string `json:"targetsun"` + TargetSunName string `json:"targetsunname"` + DetailedTarget string `json:"detailedtarget"` + DetailedTargetName string `json:"detailedtargetname"` + Content string `json:"content"` //指标说明 + Unit string `json:"unit"` //单位"` + ReferenceScore int64 `json:"referencescore"` //标准分值"` + Cycles int `json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年"` + CycleAttres int `json:"cycleattr"` //辅助计数"` + State int `json:"state"` + UserList []string `json:"userlist"` //执行人列表 + UserListAry []QualEvalArrt `json:"userlistary"` //执行人列表 +} + +//修改考核方案单条细则 +type EiteOneQualEval struct { + commonus.SetIds + Content string `json:"content"` //指标说明 + Unit string `json:"unit" gorm:"column:qe_unit;type:varchar(255);comment:单位"` + ReferenceScore int64 `json:"referencescore" gorm:"column:qe_reference_score;type:int(9) unsigned;default:0;not null;comment:标准分值"` + Cycles int `json:"cycle" gorm:"column:qe_cycle;type:tinyint(1) unsigned;default:1;not null;comment:1:班;2:天;3:周;4:月;5:季度;6:年"` + CycleAttres int `json:"cycleattr" gorm:"column:qe_cycleattr;type:int(9) unsigned;default:1;not null;comment:辅助计数"` + State int `json:"state" gorm:"column:qe_state;type:int(1) unsigned;default:1;not null;comment:状态(1:启用;2:禁用;3:删除)"` + Operator []string `json:"operator"` //执行人列表 +} + +//考核卡片添加 +type addAssEssCard struct { + AddQualEval + TargetSunTitle string `json:"targetsuntitle"` +} diff --git a/gin_server_admin/api/v1/assessment/newassessment.go b/gin_server_admin/api/v1/assessment/newassessment.go new file mode 100644 index 0000000..798845c --- /dev/null +++ b/gin_server_admin/api/v1/assessment/newassessment.go @@ -0,0 +1,137 @@ +package assessment + +import ( + "strconv" + "strings" + "time" + + "github.com/flipped-aurora/gin-vue-admin/server/commonus" + "github.com/flipped-aurora/gin-vue-admin/server/global" + "github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel" +) + +//添加卡片考核数据处理 +func (d *dataLockStatistics) AddCardAssEss(deparmentId string, addData AddQualEval) { + d.mutext.Lock() + defer d.mutext.Unlock() + //获取子目标情况 + sunTargetCont, sunTargetErr := judgeColumn(addData.Target, addData.TargetSun, addData.TargetSunTitle) + if sunTargetErr != true { + } + var saveDataAry []assessmentmodel.QualitativeEvaluation + for _, v := range addData.EvaluationList { + var saveData assessmentmodel.QualitativeEvaluation + groupInt, groupIntErr := strconv.ParseInt(addData.Group, 10, 64) + if groupIntErr == nil { + saveData.Group = groupInt + } + saveData.Type = addData.Type + + // departidInt, departinIntErr := strconv.ParseInt(v.DepartmentId, 10, 64) + // if departinIntErr == nil { + // saveData.DepartmentId = departidInt + // } + + dimensionInt, departinIntErr := strconv.ParseInt(addData.Dimension, 10, 64) + if departinIntErr == nil { + saveData.Dimension = dimensionInt + } + + targetInt, targetIntErr := strconv.ParseInt(addData.Target, 10, 64) + if targetIntErr == nil { + saveData.Target = targetInt + } + saveData.TargetSun = sunTargetCont.Id + // targetSunInt, targetSunIntErr := strconv.ParseInt(addData.TargetSun, 10, 64) + // if targetSunIntErr == nil { + // saveData.TargetSun = targetSunInt + // } + explainCont, explainErr := judgeDetails(addData.Target, v.Title, v.Content, v.DetailedTarget) + if explainErr == true { + saveData.DetailedTarget = explainCont.Id + } + // detailedTargetInt, detailedTargetIntErr := strconv.ParseInt(v.DetailedTarget, 10, 64) + // if detailedTargetIntErr == nil { + // saveData.DetailedTarget = detailedTargetInt + // } + + saveData.Unit = v.Unit + saveData.ReferenceScore = v.ReferenceScore + saveData.Cycles = v.Cycles + saveData.CycleAttres = v.CycleAttres + + saveData.State = 1 + saveData.Addtime = time.Now().Unix() + saveData.Eitetime = time.Now().Unix() + + departmentIdInt, departmentIdIntErr := strconv.ParseInt(deparmentId, 10, 64) + if departmentIdIntErr == nil { + saveData.AcceptEvaluation = departmentIdInt + } + saveData.Operator = strings.Join(v.Operator, ",") + saveData.DepartmentId = strings.Join(GetDepartmentByUserBast(v.Operator), ",") + saveDataAry = append(saveDataAry, saveData) + msg := commonus.MapOut() + msg["msg"] = saveData + d.dataMap = append(d.dataMap, msg) + } + syncProcess.Done() +} + +//判断该子栏目是否存在 +func judgeColumn(ascription, title, columId string) (content assessmentmodel.QualitativeTarget, isTrue bool) { + isTrue = false + if columId != "" { + judgeIdErr := global.GVA_DB_Performanceappraisal.Where("`q_id` = ?", columId).First(&content).Error + if judgeIdErr == nil { + isTrue = true + return + } + } + judgeErr := global.GVA_DB_Performanceappraisal.Where("`q_parent_id` = ? AND `q_title` = ?", ascription, title).First(&content).Error + if judgeErr == nil { + isTrue = true + return + } + ascriptionId, ascriptionErr := strconv.ParseInt(ascription, 10, 64) + if ascriptionErr != nil { + ascriptionId = 0 + } + saveColum := assessmentmodel.QualitativeTarget{Title: title, ParentId: ascriptionId, State: 1, AddTime: time.Now().Unix()} + addErr := global.GVA_DB_Performanceappraisal.Create(&saveColum) + if addErr != nil { + return + } + isTrue = true + content = saveColum + return +} + +//判断考核细则是否存在 +func judgeDetails(ascription, title, explain, explainId string) (content assessmentmodel.DetailedTarget, isTrue bool) { + isTrue = false + if explainId != "" { + judgeIdErr := global.GVA_DB_Performanceappraisal.Where("`dt_id` = ?", explainId).First(&content).Error + if judgeIdErr == nil { + isTrue = true + return + } + } + judgeErr := global.GVA_DB_Performanceappraisal.Where("`dt_parentid` = ? AND `dt_title` = ?", ascription, title).First(&content).Error + if judgeErr == nil { + isTrue = true + return + } + ascriptionId, ascriptionErr := strconv.ParseInt(ascription, 10, 64) + if ascriptionErr != nil { + ascriptionId = 0 + } + saveColum := assessmentmodel.DetailedTarget{Title: title, Content: explain, ParentId: ascriptionId, State: 1, AddTime: time.Now().Unix()} + addErr := global.GVA_DB_Performanceappraisal.Create(&saveColum) + if addErr != nil { + return + } + isTrue = true + content = saveColum + return +} diff --git a/gin_server_admin/api/v1/assessment/qualitative_evaluation.go b/gin_server_admin/api/v1/assessment/qualitative_evaluation.go index c25bf50..a1f2dd2 100644 --- a/gin_server_admin/api/v1/assessment/qualitative_evaluation.go +++ b/gin_server_admin/api/v1/assessment/qualitative_evaluation.go @@ -6,6 +6,7 @@ import ( "strings" "time" + "github.com/flipped-aurora/gin-vue-admin/server/api/v1/archiveapi" "github.com/flipped-aurora/gin-vue-admin/server/commonus" "github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel" @@ -52,7 +53,8 @@ func (d *DutyHandle) AddQualEval(c *gin.Context) { for _, deparmentId := range requestData.AcceptDepartmentId { addDepartDimension(requestData.Group, deparmentId, requestData.Dimension, 1) syncProcess.Add(1) - go synergeticProcess.addQualEvalList(deparmentId, requestData) + // go synergeticProcess.addQualEvalList(deparmentId, requestData) + go synergeticProcess.AddCardAssEss(deparmentId, requestData) } syncProcess.Wait() returData := commonus.MapOut() @@ -84,13 +86,10 @@ func (d *dataLockStatistics) addQualEvalList(departmentId string, addData AddQua } saveData.Type = addData.Type - departidInt, departinIntErr := strconv.ParseInt(v.DepartmentId, 10, 64) - // if departidInt == 0 { + // departidInt, departinIntErr := strconv.ParseInt(v.DepartmentId, 10, 64) + // if departinIntErr == nil { // saveData.DepartmentId = departidInt // } - if departinIntErr == nil { - saveData.DepartmentId = departidInt - } dimensionInt, departinIntErr := strconv.ParseInt(addData.Dimension, 10, 64) if departinIntErr == nil { @@ -126,6 +125,7 @@ func (d *dataLockStatistics) addQualEvalList(departmentId string, addData AddQua saveData.AcceptEvaluation = departmentIdInt } saveData.Operator = strings.Join(v.Operator, ",") + saveData.DepartmentId = strings.Join(GetDepartmentByUserBast(v.Operator), ",") // operatorInt, operatorIntErr := strconv.ParseInt(v.Operator, 10, 64) // if operatorIntErr == nil { // saveData.Operator = strings.Join(v.Operator,",") @@ -337,6 +337,7 @@ func taskDetailsList(groupID, departmentID, dimension, targetId, targetSunId int for _, v := range taskDetailsCont { var content taskDetails content.Id = strconv.FormatInt(v.Id, 10) + content.QeId = strconv.FormatInt(v.Id, 10) dtCont, dtIsTrue := commonus.GetDetailedTargetInfo(v.DetailedTarget) if dtIsTrue == true { content.Name = dtCont.Title @@ -393,11 +394,32 @@ func (d *DutyHandle) GetTaskTarget(c *gin.Context) { gormDb = gormDb.Where(sqlOrStr) } listErr := gormDb.Find(&contAry).Error + var taskTargetNewOut []GetTaskTargetNewList + for _, val := range contAry { + var taskTargetNewOutcont GetTaskTargetNewList + taskTargetNewOutcont.Id = val.Id + taskTargetNewOutcont.Title = val.Title + taskTargetNewOutcont.Type = val.Type + taskTargetNewOutcont.State = val.State + taskTargetNewOutcont.AddTime = val.AddTime + taskTargetNewOutcont.Share = val.Share + taskTargetNewOutcont.RelevantDepartments = val.RelevantDepartments + taskTargetNewOutcont.Dimension = val.Dimension + taskTargetNewOutcont.Key = val.Key + taskTargetNewOutcont.Report = val.Report + taskTargetNewOutcont.Uniteing = val.Uniteing + taskTargetNewOutcont.Cycles = val.Cycles + taskTargetNewOutcont.CycleAttres = val.CycleAttres + taskTargetNewOutcont.VisibleRange = val.VisibleRange + taskTargetNewOutcont.VisibleRangeGroup = val.VisibleRangeGroup + taskTargetNewOutcont.ReportList = strings.Split(val.Report, ",") + taskTargetNewOut = append(taskTargetNewOut, taskTargetNewOutcont) + } if listErr != nil { response.Result(201, listErr, "没有相关数据!", c) return } - response.Result(0, contAry, "数据获取成功!", c) + response.Result(0, taskTargetNewOut, "数据获取成功!", c) } //获取定性指标子栏目 @@ -475,15 +497,15 @@ func (d *DutyHandle) GetTaskTargetContAry(c *gin.Context) { userKeyAry := strings.Split(targetInfo.Report, ",") if len(userKeyAry) > 0 { outCont.UserList = userKeyAry - // for _, u_v := range userKeyAry { - // usCont, usErr := archiveapi.GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": u_v}) - // if usErr == true { - // var userCont QualEvalArrt - // userCont.Id = u_v - // userCont.Name = usCont.Name - // outCont.UserListAry = append(outCont.UserListAry, userCont) - // } - // } + for _, u_v := range userKeyAry { + usCont, usErr := archiveapi.GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": u_v}) + if usErr == true { + var userCont QualEvalArrt + userCont.Id = u_v + userCont.Name = usCont.Name + outCont.UserListAry = append(outCont.UserListAry, userCont) + } + } } } } @@ -799,3 +821,250 @@ func (d *DutyHandle) AddDimWeightBatch(c *gin.Context) { } response.Result(0, depDimIdAry, "数据写入成功", c) } + +//获取部门考核指标详情 +func (d *DutyHandle) GetQualEval(c *gin.Context) { + var requestData QualitativeEite + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Group == "" { + response.Result(102, err, "请选择归属集团", c) + return + } + if requestData.DepartmentId == "" { + response.Result(102, err, "请选择接受考核的部门!", c) + return + } + if requestData.Dimension == "" { + response.Result(102, err, "请选择考核维度", c) + return + } + if requestData.Target == "" { + response.Result(102, err, "请选择考核指标", c) + return + } + if requestData.TargetSun == "" { + response.Result(102, err, "请选择考核指标子栏目", c) + return + } + var quaAry []assessmentmodel.QualitativeEvaluation + var quaOutAry QualitativeEiteOut + quaOutAry.Group = requestData.Group + quaOutAry.DepartmentId = requestData.DepartmentId + quaOutAry.Dimension = requestData.Dimension + quaOutAry.Target = requestData.Target + quaOutAry.TargetSun = requestData.TargetSun + // quaOutAry.List = requestData.List + quaErr := global.GVA_DB_Performanceappraisal.Where("`qe_type` = 1 AND `qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_target` = ? AND `qe_target_sun` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension, requestData.Target, requestData.TargetSun).Find(&quaAry).Error + if quaErr != nil { + response.Result(102, quaErr, "数据获取失败!", c) + return + } + var targetInfo assessmentmodel.EvaluationTarget + targetInfoErr := global.GVA_DB_Performanceappraisal.Where("`et_id` = ?", requestData.Target).First(&targetInfo).Error + for _, v := range quaAry { + + detTarCont, detTarContErr := commonus.GetDetailedTargetInfo(v.DetailedTarget) + if detTarContErr == true { + var outCont taskDetailsLinkage + outCont.Id = strconv.FormatInt(v.Id, 10) + outCont.Name = detTarCont.Title + outCont.Content = detTarCont.Content + outCont.State = v.State + if targetInfoErr == nil { + outCont.Unit = targetInfo.Uniteing + // outCont.ReferenceScore = v.Content + outCont.Cycles = targetInfo.Cycles + outCont.CycleAttres = targetInfo.CycleAttres + if targetInfo.Report != "" { + userKeyAry := strings.Split(targetInfo.Report, ",") + if len(userKeyAry) > 0 { + outCont.UserList = userKeyAry + for _, u_v := range userKeyAry { + usCont, usErr := archiveapi.GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": u_v}) + if usErr == true { + var userCont QualEvalArrt + userCont.Id = u_v + userCont.Name = usCont.Name + outCont.UserListAry = append(outCont.UserListAry, userCont) + } + } + } + } + } + + quaOutAry.List = append(quaOutAry.List, outCont) + } + + } + response.Result(0, quaOutAry, "数据获取成功!", c) +} + +//修改定性考核内容 +func (d *DutyHandle) EiteQualEvalCont(c *gin.Context) { + var requestData QualitativeEiteOut + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Group == "" { + response.Result(102, err, "请选择归属集团", c) + return + } + if requestData.DepartmentId == "" { + response.Result(102, err, "请选择接受考核的部门!", c) + return + } + if requestData.Dimension == "" { + response.Result(102, err, "请选择考核维度", c) + return + } + if requestData.Target == "" { + response.Result(102, err, "请选择考核指标", c) + return + } + if requestData.TargetSun == "" { + response.Result(102, err, "请选择考核指标子栏目", c) + return + } + if len(requestData.List) < 1 { + response.Result(102, err, "考核细则不能为空", c) + return + } + + //开启事务处理 + affairDb := global.GVA_DB_Performanceappraisal.Begin() + delOldContErr := affairDb.Where("`qe_type` = 1 AND `qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_target` = ? AND `qe_target_sun` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension, requestData.Target, requestData.TargetSun).Delete(&assessmentmodel.QualitativeEvaluation{}).Error + var quaEvaCont []assessmentmodel.QualitativeEvaluation + for _, v := range requestData.List { + var saveData assessmentmodel.QualitativeEvaluation + + groupInt, groupIntErr := strconv.ParseInt(requestData.Group, 10, 64) + if groupIntErr == nil { + saveData.Group = groupInt + } + saveData.Type = 1 + + dimensionInt, departinIntErr := strconv.ParseInt(requestData.Dimension, 10, 64) + if departinIntErr == nil { + saveData.Dimension = dimensionInt + } + + targetInt, targetIntErr := strconv.ParseInt(requestData.Target, 10, 64) + if targetIntErr == nil { + saveData.Target = targetInt + } + + targetSunInt, targetSunIntErr := strconv.ParseInt(requestData.TargetSun, 10, 64) + if targetSunIntErr == nil { + saveData.TargetSun = targetSunInt + } + + detailedTargetInt, detailedTargetIntErr := strconv.ParseInt(v.Id, 10, 64) + if detailedTargetIntErr == nil { + saveData.DetailedTarget = detailedTargetInt + } + + saveData.Unit = v.Unit + saveData.ReferenceScore = v.ReferenceScore + saveData.Cycles = v.Cycles + saveData.CycleAttres = v.CycleAttres + + saveData.State = 1 + saveData.Addtime = time.Now().Unix() + saveData.Eitetime = time.Now().Unix() + + departmentIdInt, departmentIdIntErr := strconv.ParseInt(requestData.DepartmentId, 10, 64) + if departmentIdIntErr == nil { + saveData.AcceptEvaluation = departmentIdInt + } + saveData.Operator = strings.Join(v.UserList, ",") + // fmt.Printf("%v-------->%v\n", GetDepartmentByUserBast(v.UserList), strings.Join(GetDepartmentByUserBast(v.UserList), ",")) + saveData.DepartmentId = strings.Join(GetDepartmentByUserBast(v.UserList), ",") + // operatorInt, operatorIntErr := strconv.ParseInt(v.Operator, 10, 64) + // if operatorIntErr == nil { + // saveData.Operator = strings.Join(v.Operator,",") + // } + // saveData.AcceptEvaluation = departmentIdInt + + quaEvaCont = append(quaEvaCont, saveData) + } + var infoAttrErr error + if len(quaEvaCont) > 0 { + infoAttrErr = affairDb.Create(&quaEvaCont).Error + } + if delOldContErr == nil && infoAttrErr == nil { + delOldContErr = affairDb.Commit().Error + if delOldContErr != nil { + delOldContErr = affairDb.Rollback().Error + response.Result(102, err, "数据写入失败!请重新提交!", c) + return + } + response.Result(0, err, "数据写入成功!", c) + } else { + delOldContErr = affairDb.Rollback().Error + response.Result(102, err, "数据写入失败!请重新提交!", c) + } +} + +//删除定性考核 +func (d *DutyHandle) DelQualEvalCont(c *gin.Context) { + var requestData DelQualitative + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Group == "" { + response.Result(102, err, "请选择归属集团", c) + return + } + if requestData.DepartmentId == "" { + response.Result(103, err, "请选择接受考核的部门!", c) + return + } + if requestData.Dimension == "" { + response.Result(104, err, "请选择考核维度", c) + return + } + if requestData.Target == "" { + response.Result(105, err, "请选择考核指标", c) + return + } + if requestData.TargetSun == "" { + response.Result(106, err, "请选择考核指标子栏目", c) + return + } + + if requestData.Type == 0 { + requestData.Type = 1 + } + + affairDb := global.GVA_DB_Performanceappraisal.Begin() + + delOldContErr := affairDb.Where("`qe_type` = 1 AND `qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_target` = ? AND `qe_target_sun` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension, requestData.Target, requestData.TargetSun).Delete(&assessmentmodel.QualitativeEvaluation{}).Error + + var dimSurplusSum int64 + sumScoreEr := affairDb.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_type` = 1 AND `qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_target` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension, requestData.Target).Pluck("COALESCE(COUNT(qe_id), 0) as rescore", &dimSurplusSum).Error + var delDimErr error + delDimErr = nil + if sumScoreEr == nil && dimSurplusSum == 0 { + delDimErr = affairDb.Where("`ddw_type` = 1 AND `ddw_hierarchy` = 2 AND `ddw_group` = ? AND `ddw_derpatment` = ? AND `ddw_dimension` = ? AND `ddw_target` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension, requestData.Target).Delete(&assessmentmodel.DepartmentDimensionWeight{}).Error + } + if delOldContErr == nil && delDimErr == nil { + delOldContErr = affairDb.Commit().Error + if delOldContErr != nil { + delOldContErr = affairDb.Rollback().Error + response.Result(103, delOldContErr, "删除失败!", c) + return + } + response.Result(0, delOldContErr, "删除成功!", c) + } else { + delOldContErr = affairDb.Rollback().Error + response.Result(102, delOldContErr, "删除失败!", c) + } +} diff --git a/gin_server_admin/api/v1/assessment/ration_evaluation.go b/gin_server_admin/api/v1/assessment/ration_evaluation.go index d479237..5506526 100644 --- a/gin_server_admin/api/v1/assessment/ration_evaluation.go +++ b/gin_server_admin/api/v1/assessment/ration_evaluation.go @@ -6,10 +6,12 @@ import ( "strings" "time" + "github.com/flipped-aurora/gin-vue-admin/server/api/v1/archiveapi" "github.com/flipped-aurora/gin-vue-admin/server/commonus" "github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel" "github.com/flipped-aurora/gin-vue-admin/server/model/common/response" + "github.com/flipped-aurora/gin-vue-admin/server/model/testpage" "github.com/gin-gonic/gin" ) @@ -96,10 +98,10 @@ func (d *dataLockStatistics) addRationContList(deparmentId string, addData AddRa saveData.Group = groupInt } saveData.Type = addData.Type - departidInt, departinIntErr := strconv.ParseInt(v.DepartmentId, 10, 64) - if departinIntErr == nil { - saveData.DepartmentId = departidInt - } + // departidInt, departinIntErr := strconv.ParseInt(v.DepartmentId, 10, 64) + // if departinIntErr == nil { + // saveData.DepartmentId = departidInt + // } dimensionInt, departinIntErr := strconv.ParseInt(addData.Dimension, 10, 64) if departinIntErr == nil { @@ -128,6 +130,7 @@ func (d *dataLockStatistics) addRationContList(deparmentId string, addData AddRa // saveData.Operator = operatorInt // } saveData.Operator = strings.Join(v.Operator, ",") + saveData.DepartmentId = strings.Join(GetDepartmentByUserBast(v.Operator), ",") saveDataAry = append(saveDataAry, saveData) msg := commonus.MapOut() @@ -163,6 +166,25 @@ func (d *dataLockStatistics) addRationContList(deparmentId string, addData AddRa syncProcess.Done() } +//批量获取相关人员部门id +func GetDepartmentByUserBast(userKey []string) (userDepartmentId []string) { + if len(userKey) < 1 { + return + } + var usDepartId []int64 + usDepartErr := global.GVA_DB_Master.Model(&testpage.WorkMan{}).Select("wm_bf_id").Where("`wm_key` IN ?", userKey).Group("wm_bf_id").Find(&usDepartId).Error + if usDepartErr != nil { + return + } + if len(usDepartId) < 1 { + return + } + for _, v := range usDepartId { + userDepartmentId = append(userDepartmentId, strconv.FormatInt(v, 10)) + } + return +} + //定量考核方案列表 func (d *DutyHandle) RationList(c *gin.Context) { var requestData rationSelect @@ -278,8 +300,9 @@ func targetRationList(groupID, departmentID, dimension int64) (contentList []tas targetInfo, targetErr := commonus.GetTargetInfo(v.Target) if targetErr == true { content.Id = strconv.FormatInt(v.Target, 10) - content.Name = targetInfo.Title + content.Name = targetInfo.Title + content.QeId = strconv.FormatInt(v.Id, 10) content.Unit = v.Unit content.ReferenceScore = v.ReferenceScore content.Cycles = v.Cycles @@ -294,3 +317,204 @@ func targetRationList(groupID, departmentID, dimension int64) (contentList []tas } return } + +//删除定量考核 +func (d *DutyHandle) DelRationList(c *gin.Context) { + var requestData DelQualitative + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Group == "" { + response.Result(102, err, "请选择归属集团", c) + return + } + if requestData.DepartmentId == "" { + response.Result(103, err, "请选择接受考核的部门!", c) + return + } + if requestData.Dimension == "" { + response.Result(104, err, "请选择考核维度", c) + return + } + if requestData.Target == "" { + response.Result(105, err, "请选择考核指标", c) + return + } + if requestData.Type == 0 { + requestData.Type = 2 + } + + delOldContErr := global.GVA_DB_Performanceappraisal.Where("`qe_type` = 1 AND `qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_target` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension, requestData.Target).Delete(&assessmentmodel.QualitativeEvaluation{}).Error + + if delOldContErr == nil { + response.Result(0, delOldContErr, "删除成功!", c) + } else { + response.Result(102, delOldContErr, "删除失败!", c) + } +} + +//获取定量考核 +func (d *DutyHandle) GetRationList(c *gin.Context) { + var requestData QualitativeEite + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Group == "" { + response.Result(102, err, "请选择归属集团", c) + return + } + if requestData.DepartmentId == "" { + response.Result(102, requestData, "请选择接受考核的部门!", c) + return + } + if requestData.Dimension == "" { + response.Result(102, err, "请选择考核维度", c) + return + } + var quaAry []assessmentmodel.QualitativeEvaluation + var quaOutAry QualitativeEiteOut + quaOutAry.Group = requestData.Group + quaOutAry.DepartmentId = requestData.DepartmentId + quaOutAry.Dimension = requestData.Dimension + + // quaOutAry.List = requestData.List + quaErr := global.GVA_DB_Performanceappraisal.Where("`qe_type` = 2 AND `qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension).Find(&quaAry).Error + if quaErr != nil { + response.Result(102, quaErr, "数据获取失败!", c) + return + } + // var targetInfo assessmentmodel.EvaluationTarget + // targetInfoErr := global.GVA_DB_Performanceappraisal.Where("`et_id` = ?", requestData.Target).First(&targetInfo).Error + for _, v := range quaAry { + + // detTarCont, detTarContErr := commonus.GetDetailedTargetInfo(v.DetailedTarget) + targetInfo, targetErr := commonus.GetTargetInfo(v.Target) + if targetErr == true { + var outCont taskDetailsLinkage + outCont.Id = strconv.FormatInt(v.Id, 10) + outCont.Name = targetInfo.Title + // outCont.Content = targetInfo.Content + outCont.State = v.State + // if targetInfoErr == nil { + outCont.Unit = v.Unit + // outCont.ReferenceScore = v.Content + outCont.Cycles = v.Cycles + outCont.CycleAttres = v.CycleAttres + if targetInfo.Report != "" { + userKeyAry := strings.Split(v.Operator, ",") + if len(userKeyAry) > 0 { + outCont.UserList = userKeyAry + for _, u_v := range userKeyAry { + usCont, usErr := archiveapi.GetUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": u_v}) + if usErr == true { + var userCont QualEvalArrt + userCont.Id = u_v + userCont.Name = usCont.Name + outCont.UserListAry = append(outCont.UserListAry, userCont) + } + } + } + } + // } + + quaOutAry.List = append(quaOutAry.List, outCont) + } + + } + response.Result(0, quaOutAry, "数据获取成功!", c) +} + +//修改定量考核 +func (d *DutyHandle) EiteRationList(c *gin.Context) { + var requestData QualitativeEiteOut + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "数据获取失败!", c) + return + } + if requestData.Group == "" { + response.Result(102, err, "请选择归属集团", c) + return + } + if requestData.DepartmentId == "" { + response.Result(102, err, "请选择接受考核的部门!", c) + return + } + if requestData.Dimension == "" { + response.Result(102, err, "请选择考核维度", c) + return + } + if len(requestData.List) < 1 { + response.Result(102, err, "考核细则不能为空", c) + return + } + + //开启事务处理 + affairDb := global.GVA_DB_Performanceappraisal.Begin() + delOldContErr := affairDb.Where("`qe_type` = 2 AND `qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ?", requestData.Group, requestData.DepartmentId, requestData.Dimension).Delete(&assessmentmodel.QualitativeEvaluation{}).Error + var quaEvaCont []assessmentmodel.QualitativeEvaluation + for _, v := range requestData.List { + var saveData assessmentmodel.QualitativeEvaluation + + groupInt, groupIntErr := strconv.ParseInt(requestData.Group, 10, 64) + if groupIntErr == nil { + saveData.Group = groupInt + } + saveData.Type = 1 + + dimensionInt, departinIntErr := strconv.ParseInt(requestData.Dimension, 10, 64) + if departinIntErr == nil { + saveData.Dimension = dimensionInt + } + + targetInt, targetIntErr := strconv.ParseInt(v.Id, 10, 64) + if targetIntErr == nil { + saveData.Target = targetInt + } + + saveData.Unit = v.Unit + saveData.ReferenceScore = v.ReferenceScore + saveData.Cycles = v.Cycles + saveData.CycleAttres = v.CycleAttres + + saveData.State = 1 + saveData.Addtime = time.Now().Unix() + saveData.Eitetime = time.Now().Unix() + + departmentIdInt, departmentIdIntErr := strconv.ParseInt(requestData.DepartmentId, 10, 64) + if departmentIdIntErr == nil { + saveData.AcceptEvaluation = departmentIdInt + } + saveData.Operator = strings.Join(v.UserList, ",") + // fmt.Printf("%v-------->%v\n", GetDepartmentByUserBast(v.UserList), strings.Join(GetDepartmentByUserBast(v.UserList), ",")) + saveData.DepartmentId = strings.Join(GetDepartmentByUserBast(v.UserList), ",") + // operatorInt, operatorIntErr := strconv.ParseInt(v.Operator, 10, 64) + // if operatorIntErr == nil { + // saveData.Operator = strings.Join(v.Operator,",") + // } + // saveData.AcceptEvaluation = departmentIdInt + + quaEvaCont = append(quaEvaCont, saveData) + } + var infoAttrErr error + if len(quaEvaCont) > 0 { + infoAttrErr = affairDb.Create(&quaEvaCont).Error + } + if delOldContErr == nil && infoAttrErr == nil { + delOldContErr = affairDb.Commit().Error + if delOldContErr != nil { + delOldContErr = affairDb.Rollback().Error + response.Result(102, err, "数据写入失败!请重新提交!", c) + return + } + response.Result(0, err, "数据写入成功!", c) + } else { + delOldContErr = affairDb.Rollback().Error + response.Result(102, err, "数据写入失败!请重新提交!", c) + } + +} diff --git a/gin_server_admin/model/assessmentmodel/dutyclass.go b/gin_server_admin/model/assessmentmodel/dutyclass.go index acdc217..1a5cc1f 100644 --- a/gin_server_admin/model/assessmentmodel/dutyclass.go +++ b/gin_server_admin/model/assessmentmodel/dutyclass.go @@ -239,7 +239,7 @@ func (QualitativeEvaluationScheme *QualitativeEvaluationScheme) TableName() stri type QualitativeEvaluation struct { Id int64 `json:"id" gorm:"column:qe_id;type:bigint(20) unsigned;not null;comment:Id;index"` Title string `json:"title" gorm:"column:qe_title;type:text;comment:考核名称"` - DepartmentId int64 `json:"parentid" gorm:"column:qe_department_id;type:bigint(20) unsigned;default:0;not null;comment:执行考核部门ID"` + DepartmentId string `json:"parentid" gorm:"column:qe_department_id;type:text;comment:执行考核部门ID"` Dimension int64 `json:"dimension" gorm:"column:qe_dimension;type:bigint(20) unsigned;default:0;not null;comment:考核维度"` Target int64 `json:"target" gorm:"column:qe_target;type:bigint(20) unsigned;default:0;not null;comment:考核指标"` TargetSun int64 `json:"targetsun" gorm:"column:qe_target_sun;type:bigint(20) unsigned;default:0;not null;comment:考核指标子栏目"` @@ -257,6 +257,7 @@ type QualitativeEvaluation struct { CycleAttres int `json:"cycleattr" gorm:"column:qe_cycleattr;type:int(9) unsigned;default:1;not null;comment:辅助计数"` AcceptEvaluation int64 `json:"acceptevaluation" gorm:"column:qe_accept_evaluation;type:bigint(20) unsigned;default:0;not null;comment:接受考核部门"` Operator string `json:"operator" gorm:"column:qe_operator;type:text;comment:执行人"` + Content string `json:"content" gorm:"column:qe_content;type:text;comment:补充说明"` } func (QualitativeEvaluation *QualitativeEvaluation) TableName() string { diff --git a/gin_server_admin/router/assessment/assessmentrouter.go b/gin_server_admin/router/assessment/assessmentrouter.go index 80d60ff..c95214e 100644 --- a/gin_server_admin/router/assessment/assessmentrouter.go +++ b/gin_server_admin/router/assessment/assessmentrouter.go @@ -76,6 +76,10 @@ func (s *AssessmentRouter) InitAssessmentRouter(Router *gin.RouterGroup) { dutyCodeRouter.POST("addqualeval", authorityApi.AddQualEval) // 添加定性考核 dutyCodeRouter.POST("getqualevallist", authorityApi.GetQualEvalList) // 定性考核列表 dutyCodeRouter.POST("addqualevalweight", authorityApi.AddQualEvalWeight) // 添加定性考核权重 + dutyCodeRouter.POST("getqualeval", authorityApi.GetQualEval) // 获取部门考核指标详情 + dutyCodeRouter.POST("eitequalevalcont", authorityApi.EiteQualEvalCont) // 修改定性考核内容 + + dutyCodeRouter.POST("delqualevalcont", authorityApi.DelQualEvalCont) // 删除定性考核内容 /* 定量考核 @@ -83,6 +87,10 @@ func (s *AssessmentRouter) InitAssessmentRouter(Router *gin.RouterGroup) { dutyCodeRouter.POST("addration", authorityApi.AddRation) // 添加定量考核 dutyCodeRouter.POST("addrationlist", authorityApi.RationList) // 定量考核列表 + dutyCodeRouter.POST("delrationlist", authorityApi.DelRationList) // 删除考核 + dutyCodeRouter.POST("getrationlist", authorityApi.GetRationList) // 获取定量考核详情 + dutyCodeRouter.POST("eiterationlist", authorityApi.EiteRationList) // 修改定量考核 + /* 指标组合列表 */ @@ -97,8 +105,12 @@ func (s *AssessmentRouter) InitAssessmentRouter(Router *gin.RouterGroup) { /* 部门考核 */ - dutyCodeRouter.POST("departmentlist", authorityApi.DepartmentList) // 部门考核列表 + dutyCodeRouter.POST("departmentlist", authorityApi.DepartmentList) // 部门考核列表 + dutyCodeRouter.POST("departmenttasklist", authorityApi.DepartmentTaskList) //考核表列表 + dutyCodeRouter.POST("detailsassessmentscheme", authorityApi.DetailsAssessmentScheme) //获取方案考核细则内容 + dutyCodeRouter.POST("deldepartmenttasklist", authorityApi.DelDepartmentTaskList) //删除考核细则方案内容 + dutyCodeRouter.POST("eiteonequalevaluation", authorityApi.EiteOneQualitativeEvaluation) //修改考核细则方案内容 } }