|
@@ -50,9 +50,11 @@ func (this *AssessmentResearcherController) Add() {
|
|
br.Msg = "请选择研究员"
|
|
br.Msg = "请选择研究员"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
-
|
|
|
|
- // 检验是否已添加过
|
|
|
|
|
|
+ disabledResearcher := new(models.AssessmentResearcher)
|
|
researcherOb := new(models.AssessmentResearcher)
|
|
researcherOb := new(models.AssessmentResearcher)
|
|
|
|
+ mappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
|
|
+
|
|
|
|
+ // 去重校验:系统用户ID
|
|
{
|
|
{
|
|
cond := fmt.Sprintf(` AND %s = ?`, researcherOb.Cols().AdminId)
|
|
cond := fmt.Sprintf(` AND %s = ?`, researcherOb.Cols().AdminId)
|
|
pars := make([]interface{}, 0)
|
|
pars := make([]interface{}, 0)
|
|
@@ -63,9 +65,13 @@ func (this *AssessmentResearcherController) Add() {
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ // PS.由于删除研究员需要保留历史填报数据,如果研究员被删除(即禁用)那么重新启用即可
|
|
if exists != nil && exists.AssessmentResearcherId > 0 {
|
|
if exists != nil && exists.AssessmentResearcherId > 0 {
|
|
- br.Msg = "该研究员已添加,请勿重复添加"
|
|
|
|
- return
|
|
|
|
|
|
+ if exists.Enabled == models.AssessmentResearcherEnabled {
|
|
|
|
+ br.Msg = "该研究员已添加,请勿重复添加"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ disabledResearcher = exists
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -83,16 +89,41 @@ func (this *AssessmentResearcherController) Add() {
|
|
br.Msg = "该用户被禁用,请重新选择"
|
|
br.Msg = "该用户被禁用,请重新选择"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- newResearcher := new(models.AssessmentResearcher)
|
|
|
|
- newResearcher.AdminId = req.AdminId
|
|
|
|
- newResearcher.RealName = sysAdmin.RealName
|
|
|
|
- newResearcher.Enabled = sysAdmin.Enabled
|
|
|
|
- newResearcher.CreateTime = time.Now().Local()
|
|
|
|
- newResearcher.ModifyTime = time.Now().Local()
|
|
|
|
- if e = newResearcher.Create(); e != nil {
|
|
|
|
- br.Msg = "操作失败"
|
|
|
|
- br.ErrMsg = fmt.Sprintf("新增研究员失败, %v", e)
|
|
|
|
- return
|
|
|
|
|
|
+
|
|
|
|
+ var researcherId int
|
|
|
|
+ if disabledResearcher != nil && disabledResearcher.AssessmentResearcherId > 0 {
|
|
|
|
+ disabledResearcher.RealName = sysAdmin.RealName
|
|
|
|
+ disabledResearcher.Enabled = models.AssessmentResearcherEnabled
|
|
|
|
+ disabledResearcher.ModifyTime = time.Now().Local()
|
|
|
|
+ updateCols := []string{researcherOb.Cols().RealName, researcherOb.Cols().Enabled, researcherOb.Cols().ModifyTime}
|
|
|
|
+ if e := disabledResearcher.Update(updateCols); e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("重新启用研究员失败, %v", e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ researcherId = disabledResearcher.AssessmentResearcherId
|
|
|
|
+
|
|
|
|
+ // 清除原有关联
|
|
|
|
+ cond := fmt.Sprintf(`%s = ?`, mappingOb.Cols().AssessmentResearcherId)
|
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
|
+ pars = append(pars, researcherId)
|
|
|
|
+ if e = mappingOb.RemoveByCondition(cond, pars); e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("清空权限失败, %v", e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ newResearcher := new(models.AssessmentResearcher)
|
|
|
|
+ newResearcher.AdminId = req.AdminId
|
|
|
|
+ newResearcher.RealName = sysAdmin.RealName
|
|
|
|
+ newResearcher.Enabled = models.AssessmentResearcherEnabled
|
|
|
|
+ newResearcher.CreateTime = time.Now().Local()
|
|
|
|
+ newResearcher.ModifyTime = time.Now().Local()
|
|
|
|
+ if e = newResearcher.Create(); e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("新增研究员失败, %v", e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
// 查看/统计权限
|
|
// 查看/统计权限
|
|
@@ -100,7 +131,7 @@ func (this *AssessmentResearcherController) Add() {
|
|
if len(req.ViewAdminIds) > 0 {
|
|
if len(req.ViewAdminIds) > 0 {
|
|
for _, v := range req.ViewAdminIds {
|
|
for _, v := range req.ViewAdminIds {
|
|
m := new(models.AssessmentResearcherAdminMapping)
|
|
m := new(models.AssessmentResearcherAdminMapping)
|
|
- m.AssessmentResearcherId = newResearcher.AssessmentResearcherId
|
|
|
|
|
|
+ m.AssessmentResearcherId = researcherId
|
|
m.AdminId = req.AdminId
|
|
m.AdminId = req.AdminId
|
|
m.AuthAdminId = v
|
|
m.AuthAdminId = v
|
|
m.AuthType = models.AssessmentResearcherAdminAuthTypeView
|
|
m.AuthType = models.AssessmentResearcherAdminAuthTypeView
|
|
@@ -110,7 +141,7 @@ func (this *AssessmentResearcherController) Add() {
|
|
if len(req.AssessmentAdminIds) > 0 {
|
|
if len(req.AssessmentAdminIds) > 0 {
|
|
for _, v := range req.AssessmentAdminIds {
|
|
for _, v := range req.AssessmentAdminIds {
|
|
m := new(models.AssessmentResearcherAdminMapping)
|
|
m := new(models.AssessmentResearcherAdminMapping)
|
|
- m.AssessmentResearcherId = newResearcher.AssessmentResearcherId
|
|
|
|
|
|
+ m.AssessmentResearcherId = researcherId
|
|
m.AdminId = req.AdminId
|
|
m.AdminId = req.AdminId
|
|
m.AuthAdminId = v
|
|
m.AuthAdminId = v
|
|
m.AuthType = models.AssessmentResearcherAdminAuthTypeStatistics
|
|
m.AuthType = models.AssessmentResearcherAdminAuthTypeStatistics
|
|
@@ -118,7 +149,6 @@ func (this *AssessmentResearcherController) Add() {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if len(mappings) > 0 {
|
|
if len(mappings) > 0 {
|
|
- mappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
|
|
if e = mappingOb.CreateMulti(mappings); e != nil {
|
|
if e = mappingOb.CreateMulti(mappings); e != nil {
|
|
br.Msg = "操作失败"
|
|
br.Msg = "操作失败"
|
|
br.ErrMsg = fmt.Sprintf("批量新增权限失败, %v", e)
|
|
br.ErrMsg = fmt.Sprintf("批量新增权限失败, %v", e)
|
|
@@ -176,6 +206,10 @@ func (this *AssessmentResearcherController) Edit() {
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ if researcher.Enabled == models.AssessmentResearcherDisabled {
|
|
|
|
+ br.Msg = "研究员不存在,请刷新页面"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
|
|
// 查看/统计权限
|
|
// 查看/统计权限
|
|
mappings := make([]*models.AssessmentResearcherAdminMapping, 0)
|
|
mappings := make([]*models.AssessmentResearcherAdminMapping, 0)
|
|
@@ -202,9 +236,9 @@ func (this *AssessmentResearcherController) Edit() {
|
|
// 清空关联后新增
|
|
// 清空关联后新增
|
|
mappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
mappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
{
|
|
{
|
|
- cond := fmt.Sprintf(`%s = ?`, mappingOb.Cols().AdminId)
|
|
|
|
|
|
+ cond := fmt.Sprintf(`%s = ?`, mappingOb.Cols().AssessmentResearcherId)
|
|
pars := make([]interface{}, 0)
|
|
pars := make([]interface{}, 0)
|
|
- pars = append(pars, researcher.AdminId)
|
|
|
|
|
|
+ pars = append(pars, researcher.AssessmentResearcherId)
|
|
if e = mappingOb.RemoveByCondition(cond, pars); e != nil {
|
|
if e = mappingOb.RemoveByCondition(cond, pars); e != nil {
|
|
br.Msg = "操作失败"
|
|
br.Msg = "操作失败"
|
|
br.ErrMsg = fmt.Sprintf("清空权限失败, %v", e)
|
|
br.ErrMsg = fmt.Sprintf("清空权限失败, %v", e)
|
|
@@ -271,36 +305,47 @@ func (this *AssessmentResearcherController) Remove() {
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- if e = researcher.Remove(); e != nil {
|
|
|
|
- br.Msg = "操作失败"
|
|
|
|
- br.ErrMsg = fmt.Sprintf("删除研究员失败, %v", e)
|
|
|
|
|
|
+ if researcher.Enabled == models.AssessmentResearcherDisabled {
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Success = true
|
|
|
|
+ br.Msg = "操作成功"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- // 清空关联
|
|
|
|
- adminMappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
|
|
- {
|
|
|
|
- cond := fmt.Sprintf(`%s = ?`, adminMappingOb.Cols().AdminId)
|
|
|
|
- pars := make([]interface{}, 0)
|
|
|
|
- pars = append(pars, researcher.AdminId)
|
|
|
|
- if e = adminMappingOb.RemoveByCondition(cond, pars); e != nil {
|
|
|
|
- br.Msg = "操作失败"
|
|
|
|
- br.ErrMsg = fmt.Sprintf("清空权限失败, %v", e)
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- varietyMappingOb := new(models.AssessmentResearcherVarietyMapping)
|
|
|
|
- {
|
|
|
|
- cond := fmt.Sprintf(`%s = ?`, varietyMappingOb.Cols().AdminId)
|
|
|
|
- pars := make([]interface{}, 0)
|
|
|
|
- pars = append(pars, researcher.AdminId)
|
|
|
|
- if e = varietyMappingOb.RemoveByCondition(cond, pars); e != nil {
|
|
|
|
- br.Msg = "操作失败"
|
|
|
|
- br.ErrMsg = fmt.Sprintf("清空品种关联失败, %v", e)
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
|
|
+ // 由于要保留历史填报数据,这里实际为禁用操作
|
|
|
|
+ updateCols := []string{researcherOb.Cols().Enabled, researcherOb.Cols().ModifyTime}
|
|
|
|
+ researcher.Enabled = models.AssessmentResearcherDisabled
|
|
|
|
+ researcher.ModifyTime = time.Now()
|
|
|
|
+ if e = researcher.Update(updateCols); e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = fmt.Sprintf("禁用研究员失败, %v", e)
|
|
|
|
+ return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 关联也不需要清理
|
|
|
|
+ //adminMappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
|
|
+ //{
|
|
|
|
+ // cond := fmt.Sprintf(`%s = ?`, adminMappingOb.Cols().AdminId)
|
|
|
|
+ // pars := make([]interface{}, 0)
|
|
|
|
+ // pars = append(pars, researcher.AdminId)
|
|
|
|
+ // if e = adminMappingOb.RemoveByCondition(cond, pars); e != nil {
|
|
|
|
+ // br.Msg = "操作失败"
|
|
|
|
+ // br.ErrMsg = fmt.Sprintf("清空权限失败, %v", e)
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //}
|
|
|
|
+ //varietyMappingOb := new(models.AssessmentResearcherVarietyMapping)
|
|
|
|
+ //{
|
|
|
|
+ // cond := fmt.Sprintf(`%s = ?`, varietyMappingOb.Cols().AdminId)
|
|
|
|
+ // pars := make([]interface{}, 0)
|
|
|
|
+ // pars = append(pars, researcher.AdminId)
|
|
|
|
+ // if e = varietyMappingOb.RemoveByCondition(cond, pars); e != nil {
|
|
|
|
+ // br.Msg = "操作失败"
|
|
|
|
+ // br.ErrMsg = fmt.Sprintf("清空品种关联失败, %v", e)
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //}
|
|
|
|
+
|
|
br.Ret = 200
|
|
br.Ret = 200
|
|
br.Success = true
|
|
br.Success = true
|
|
br.Msg = "操作成功"
|
|
br.Msg = "操作成功"
|
|
@@ -346,6 +391,10 @@ func (this *AssessmentResearcherController) Detail() {
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ if researcher.Enabled == models.AssessmentResearcherDisabled {
|
|
|
|
+ br.Msg = "研究员不存在,请刷新页面"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
resp := researcher.Format2Detail()
|
|
resp := researcher.Format2Detail()
|
|
|
|
|
|
// 获取系统用户
|
|
// 获取系统用户
|
|
@@ -381,6 +430,10 @@ func (this *AssessmentResearcherController) Detail() {
|
|
if ad == nil {
|
|
if ad == nil {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
+ // 详情这里只显示启用的系统用户
|
|
|
|
+ if ad.Enabled != 1 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
ar := models.AssessmentResearcherDetail{
|
|
ar := models.AssessmentResearcherDetail{
|
|
AdminId: m.AuthAdminId,
|
|
AdminId: m.AuthAdminId,
|
|
RealName: ad.RealName,
|
|
RealName: ad.RealName,
|
|
@@ -443,9 +496,8 @@ func (this *AssessmentResearcherController) PageList() {
|
|
|
|
|
|
// 筛选条件
|
|
// 筛选条件
|
|
researcherOb := new(models.AssessmentResearcher)
|
|
researcherOb := new(models.AssessmentResearcher)
|
|
- cond := fmt.Sprintf(` AND %s = ?`, researcherOb.Cols().Enabled)
|
|
|
|
|
|
+ cond := ``
|
|
pars := make([]interface{}, 0)
|
|
pars := make([]interface{}, 0)
|
|
- pars = append(pars, models.AssessmentResearcherEnabled)
|
|
|
|
{
|
|
{
|
|
// 研究员姓名
|
|
// 研究员姓名
|
|
if params.RealName != "" {
|
|
if params.RealName != "" {
|
|
@@ -517,6 +569,12 @@ func (this *AssessmentResearcherController) PageList() {
|
|
cond += fmt.Sprintf(` AND %s IN (?)`, researcherOb.Cols().PrimaryId)
|
|
cond += fmt.Sprintf(` AND %s IN (?)`, researcherOb.Cols().PrimaryId)
|
|
pars = append(pars, researcherIds)
|
|
pars = append(pars, researcherIds)
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 仅显示启用的
|
|
|
|
+ if params.OnlyEnabled {
|
|
|
|
+ cond += fmt.Sprintf(` AND %s = ?`, researcherOb.Cols().Enabled)
|
|
|
|
+ pars = append(pars, models.AssessmentResearcherEnabled)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
// 分页列表
|
|
// 分页列表
|
|
@@ -532,11 +590,11 @@ func (this *AssessmentResearcherController) PageList() {
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
br.ErrMsg = fmt.Sprintf("获取研究员失败, %v", e)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- var adminIds []int
|
|
|
|
|
|
+ var researcherIds []int
|
|
for _, v := range researchers {
|
|
for _, v := range researchers {
|
|
- adminIds = append(adminIds, v.AdminId)
|
|
|
|
|
|
+ researcherIds = append(researcherIds, v.AssessmentResearcherId)
|
|
}
|
|
}
|
|
- if total == 0 || len(adminIds) == 0 {
|
|
|
|
|
|
+ if total == 0 || len(researcherIds) == 0 {
|
|
resp.Paging = paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
resp.Paging = paging.GetPaging(params.CurrentIndex, params.PageSize, 0)
|
|
br.Data = resp
|
|
br.Data = resp
|
|
br.Ret = 200
|
|
br.Ret = 200
|
|
@@ -563,9 +621,9 @@ func (this *AssessmentResearcherController) PageList() {
|
|
viewAdminMappings, assessmentAdminMappings := make(map[int][]models.AssessmentResearcherDetail), make(map[int][]models.AssessmentResearcherDetail)
|
|
viewAdminMappings, assessmentAdminMappings := make(map[int][]models.AssessmentResearcherDetail), make(map[int][]models.AssessmentResearcherDetail)
|
|
{
|
|
{
|
|
mappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
mappingOb := new(models.AssessmentResearcherAdminMapping)
|
|
- condMapping := fmt.Sprintf(` AND %s IN (?)`, mappingOb.Cols().AdminId)
|
|
|
|
|
|
+ condMapping := fmt.Sprintf(` AND %s IN (?)`, mappingOb.Cols().AssessmentResearcherId)
|
|
parsMapping := make([]interface{}, 0)
|
|
parsMapping := make([]interface{}, 0)
|
|
- parsMapping = append(parsMapping, adminIds)
|
|
|
|
|
|
+ parsMapping = append(parsMapping, researcherIds)
|
|
list, e := mappingOb.GetItemsByCondition(condMapping, parsMapping, []string{}, "")
|
|
list, e := mappingOb.GetItemsByCondition(condMapping, parsMapping, []string{}, "")
|
|
if e != nil {
|
|
if e != nil {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
@@ -577,6 +635,10 @@ func (this *AssessmentResearcherController) PageList() {
|
|
if ad == nil {
|
|
if ad == nil {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
+ // 详情这里只显示启用的系统用户
|
|
|
|
+ if ad.Enabled != 1 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
ar := models.AssessmentResearcherDetail{
|
|
ar := models.AssessmentResearcherDetail{
|
|
AdminId: v.AuthAdminId,
|
|
AdminId: v.AuthAdminId,
|
|
RealName: ad.RealName,
|
|
RealName: ad.RealName,
|