lanjianrong 4 gadi atpakaļ
vecāks
revīzija
a5a7e1bbf2

+ 254 - 90
dao/approver_dao.go

@@ -36,7 +36,32 @@ func NewApproverDao(engine *xorm.Engine) *ApproverDao {
 func (d *ApproverDao) InsertData(cur_uid int, bid int, pid int, dataType int, dataId int, auditors []int, reAuditors []int) error {
 	data := make([]models.CmApprover, 0)
 	msg := make([]models.CmProjectMessage, 0)
-
+	var content string
+	var title string
+	if dataType == 1 {
+		safe := &models.CmSafe{Id: dataId}
+		_, err := d.engine.Get(safe)
+		if err != nil {
+			return err
+		}
+		account := &models.CmProjectAccount{Id: safe.Uid}
+		_, err = d.engine.Get(account)
+		title = fmt.Sprintf("%s - %s", account.Name, account.Position)
+		content = fmt.Sprintf("%s-%s-已上报,审批中", safe.Code, safe.InspectionDetail)
+	} else {
+		quality := &models.CmQuality{Id: dataId}
+		_, err := d.engine.Get(quality)
+		if err != nil {
+			return err
+		}
+		account := &models.CmProjectAccount{Id: quality.Uid}
+		_, err = d.engine.Get(account)
+		if err != nil {
+			return err
+		}
+		title = fmt.Sprintf("%s - %s", account.Name, account.Position)
+		content = fmt.Sprintf("%s-%s-已上报,审批中", quality.Code, quality.InspectionDetail)
+	}
 	_, err := d.engine.Exec("delete from project_message where data_type = ? and data_id = ?", dataType, dataId)
 	for i, item := range auditors {
 		approverVM := models.CmApprover{}
@@ -60,7 +85,8 @@ func (d *ApproverDao) InsertData(cur_uid int, bid int, pid int, dataType int, da
 		msgVM.ProjectId = pid
 		msgVM.DataId = dataId
 		msgVM.DataType = 1
-		msgVM.Content = "已上报,审批中"
+		msgVM.Content = content
+		msgVM.Title = title
 		msgVM.CreateTime = time.Now()
 		msg = append(msg, msgVM)
 	}
@@ -90,7 +116,8 @@ func (d *ApproverDao) InsertData(cur_uid int, bid int, pid int, dataType int, da
 		msgVM.ProjectId = pid
 		msgVM.DataId = dataId
 		msgVM.DataType = 1
-		msgVM.Content = "已上报,审批中"
+		msgVM.Content = content
+		msgVM.Title = title
 		msgVM.CreateTime = time.Now()
 		msg = append(msg, msgVM)
 	}
@@ -101,7 +128,8 @@ func (d *ApproverDao) InsertData(cur_uid int, bid int, pid int, dataType int, da
 	msgVM.ProjectId = pid
 	msgVM.DataId = dataId
 	msgVM.DataType = 1
-	msgVM.Content = "已上报,审批中"
+	msgVM.Content = content
+	msgVM.Title = title
 	msgVM.CreateTime = time.Now()
 	msg = append(msg, msgVM)
 	_, err = d.engine.Insert(data)
@@ -208,18 +236,6 @@ func (d *ApproverDao) InitStatus(auditType string, bid int, dataType int, dataId
 		session.Rollback()
 		return err
 	}
-	msg := make([]models.CmProjectMessage, 0)
-	for _, item := range approvers {
-		msgVM := models.CmProjectMessage{}
-		msgVM.AccountId = item.AuditId
-		msgVM.BidsectionId = item.BidsectionId
-		msgVM.ProjectId = item.ProjectId
-		msgVM.CreateTime = time.Now()
-		msgVM.DataId = item.DataId
-		msgVM.DataType = item.DataType
-		msgVM.Content = "审批退回到上报人"
-		msg = append(msg, msgVM)
-	}
 
 	data := &models.CmApprover{Status: 0}
 	_, err = session.Where("bidsection_id = ? and data_type = ? and data_id = ?", bid, dataType, dataId).Cols("status").Update(data)
@@ -235,6 +251,24 @@ func (d *ApproverDao) InitStatus(auditType string, bid int, dataType int, dataId
 			return err
 		}
 
+		account := &models.CmProjectAccount{Id: safe.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-审批退回到上报人", safe.Code, safe.InspectionDetail)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = safe.Uid
@@ -243,9 +277,16 @@ func (d *ApproverDao) InitStatus(auditType string, bid int, dataType int, dataId
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = safe.Id
 		msgVM.DataType = 1
-		msgVM.Content = "审批退回到上报人"
+		msgVM.Content = fmt.Sprintf("%s-%s-审批退回到上报人", safe.Code, safe.InspectionDetail)
+		msgVM.Title = title
 		msg = append(msg, msgVM)
 
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
 		_, err = session.Exec("update cm_safe set status = ?, times = ? where id = ?", 0, times+1, dataId)
 		if err != nil {
 			session.Rollback()
@@ -270,6 +311,24 @@ func (d *ApproverDao) InitStatus(auditType string, bid int, dataType int, dataId
 			return err
 		}
 
+		account := &models.CmProjectAccount{Id: quality.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-审批退回到上报人", quality.Code, quality.InspectionDetail)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = quality.Uid
@@ -278,9 +337,16 @@ func (d *ApproverDao) InitStatus(auditType string, bid int, dataType int, dataId
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = quality.Id
 		msgVM.DataType = 1
-		msgVM.Content = "审批退回到上报人"
+		msgVM.Content = fmt.Sprintf("%s-%s-审批退回到上报人", quality.Code, quality.InspectionDetail)
+		msgVM.Title = title
 		msg = append(msg, msgVM)
 
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
 		_, err = session.Exec("update cm_quality set status = ?, times = ? where id = ?", 0, times+1, dataId)
 		if err != nil {
 			session.Rollback()
@@ -297,12 +363,6 @@ func (d *ApproverDao) InitStatus(auditType string, bid int, dataType int, dataId
 			_, err = session.Exec("update cm_tree set quality_rectification = quality_rectification + 1, quality_rectification_in = if(quality_rectification_in >= 1, quality_rectification_in - 1, 0) where bidsection_id = ?", bid)
 		}
 	}
-	// 插入消息
-	_, err = session.Insert(msg)
-	if err != nil {
-		session.Rollback()
-		return err
-	}
 
 	err = session.Commit()
 	return err
@@ -343,18 +403,6 @@ func (d *ApproverDao) PassHandler(auditType string, id int, uid int, auditId int
 		session.Rollback()
 		return err
 	}
-	msg := make([]models.CmProjectMessage, 0)
-	for _, item := range approvers {
-		msgVM := models.CmProjectMessage{}
-		msgVM.AccountId = item.AuditId
-		msgVM.BidsectionId = item.BidsectionId
-		msgVM.ProjectId = item.ProjectId
-		msgVM.CreateTime = time.Now()
-		msgVM.DataId = item.DataId
-		msgVM.DataType = item.DataType
-		msgVM.Content = msgContent
-		msg = append(msg, msgVM)
-	}
 
 	// 安全巡检
 	if auditType == "safe" {
@@ -365,6 +413,24 @@ func (d *ApproverDao) PassHandler(auditType string, id int, uid int, auditId int
 			return err
 		}
 
+		account := &models.CmProjectAccount{Id: safe.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-%s", msgContent, safe.Code, safe.InspectionDetail)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = safe.Uid
@@ -373,8 +439,16 @@ func (d *ApproverDao) PassHandler(auditType string, id int, uid int, auditId int
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = safe.Id
 		msgVM.DataType = 1
-		msgVM.Content = msgContent
+		msgVM.Content = fmt.Sprintf("%s-%s-%s", msgContent, safe.Code, safe.InspectionDetail)
+		msgVM.Title = title
 		msg = append(msg, msgVM)
+
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
 		// 增加审批日志
 		auditReacord := &models.CmSafeAudit{BidsectionId: auditor.BidsectionId, SafeId: auditor.DataId, AuditId: auditor.AuditId, Times: safe.Times, CreateTime: time.Now(), Status: 0, Progress: auditor.Progress + 1, Opinion: opinion, Rectifiedinfo: rectifiedInfo}
 		_, err = session.Insert(auditReacord)
@@ -459,6 +533,24 @@ func (d *ApproverDao) PassHandler(auditType string, id int, uid int, auditId int
 			return err
 		}
 
+		account := &models.CmProjectAccount{Id: quality.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-%s", msgContent, quality.Code, quality.InspectionDetail)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = quality.Uid
@@ -467,9 +559,17 @@ func (d *ApproverDao) PassHandler(auditType string, id int, uid int, auditId int
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = quality.Id
 		msgVM.DataType = 1
-		msgVM.Content = msgContent
+		msgVM.Content = fmt.Sprintf("%s-%s-%s", msgContent, quality.Code, quality.InspectionDetail)
+		msgVM.Title = title
 		msg = append(msg, msgVM)
 
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
+
 		// 增加审批日志
 		auditReacord := &models.CmQualityAudit{BidsectionId: auditor.BidsectionId, QualityId: auditor.DataId, AuditId: auditor.AuditId, Times: quality.Times, CreateTime: time.Now(), Status: 0, Progress: auditor.Progress + 1, Opinion: opinion, Rectifiedinfo: rectifiedInfo}
 		_, err = session.Insert(auditReacord)
@@ -547,12 +647,6 @@ func (d *ApproverDao) PassHandler(auditType string, id int, uid int, auditId int
 		}
 	}
 
-	// 插入消息
-	_, err = session.Insert(msg)
-	if err != nil {
-		session.Rollback()
-		return err
-	}
 	err = session.Commit()
 	return err
 }
@@ -562,6 +656,7 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 	session := d.engine.NewSession()
 	defer session.Close()
 	err := session.Begin()
+
 	auditor := &models.CmApprover{}
 	_, err = session.ID(id).Get(auditor)
 	data := &models.CmApprover{Status: 0}
@@ -571,6 +666,13 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 		session.Rollback()
 		return err
 	}
+	// 获取改账号的信息
+	account := &models.CmProjectAccount{Id: auditor.AuditId}
+	_, err = session.Get(account)
+	if err != nil {
+		session.Rollback()
+		return err
+	}
 	// 将当前的记录改为1-待审批
 	data.Status = 1
 	_, err = session.ID(id).Cols("status").Update(data)
@@ -591,24 +693,6 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 		session.Rollback()
 		return err
 	}
-	msg := make([]models.CmProjectMessage, 0)
-	account := &models.CmProjectAccount{Id: auditor.AuditId}
-	_, err = session.Get(account)
-	if err != nil {
-		session.Rollback()
-		return err
-	}
-	for _, item := range approvers {
-		msgVM := models.CmProjectMessage{}
-		msgVM.AccountId = item.AuditId
-		msgVM.BidsectionId = item.BidsectionId
-		msgVM.ProjectId = item.ProjectId
-		msgVM.CreateTime = time.Now()
-		msgVM.DataId = item.DataId
-		msgVM.DataType = item.DataType
-		msgVM.Content = "审批退回,退回至" + account.Name
-		msg = append(msg, msgVM)
-	}
 
 	// 增加审批日志
 	if auditType == "safe" {
@@ -619,6 +703,25 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 			return err
 		}
 
+		account := &models.CmProjectAccount{Id: safe.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-审批退回,退回至%s", safe.Code, safe.InspectionDetail, account.Name)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = safe.Uid
@@ -627,9 +730,16 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = safe.Id
 		msgVM.DataType = 1
-		msgVM.Content = "审批退回,退回至" + account.Name
+		msgVM.Content = fmt.Sprintf("%s-%s-审批退回,退回至%s", safe.Code, safe.InspectionDetail, account.Name)
 		msg = append(msg, msgVM)
 
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
+
 		safeAudit := &models.CmSafeAudit{BidsectionId: auditor.BidsectionId, SafeId: auditor.DataId, Times: times, AuditId: uid, Status: 1, Progress: progress, CreateTime: time.Now(), Opinion: opinion}
 		_, err = session.Insert(safeAudit)
 		if err != nil {
@@ -643,6 +753,25 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 			session.Rollback()
 			return err
 		}
+
+		account := &models.CmProjectAccount{Id: quality.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-审批退回,退回至%s", quality.Code, quality.InspectionDetail, account.Name)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = quality.Uid
@@ -651,9 +780,16 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = quality.Id
 		msgVM.DataType = 2
-		msgVM.Content = "审批退回,退回至" + account.Name
+		msgVM.Content = fmt.Sprintf("%s-%s-审批退回,退回至%s", quality.Code, quality.InspectionDetail, account.Name)
+		msgVM.Title = title
 		msg = append(msg, msgVM)
 
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
 		qualityAudit := &models.CmQualityAudit{BidsectionId: auditor.BidsectionId, QualityId: auditor.DataId, Times: times, AuditId: uid, Status: 1, Progress: progress, CreateTime: time.Now(), Opinion: opinion}
 		_, err = session.Insert(qualityAudit)
 		if err != nil {
@@ -681,12 +817,7 @@ func (d *ApproverDao) BackHandlerWithId(auditType string, id int, uid int, times
 			return err
 		}
 	}
-	// 插入消息
-	_, err = session.Insert(msg)
-	if err != nil {
-		session.Rollback()
-		return err
-	}
+
 	err = session.Commit()
 	return err
 }
@@ -713,18 +844,6 @@ func (d *ApproverDao) CloseHandler(auditType string, id int, opinion string, cur
 		session.Rollback()
 		return err
 	}
-	msg := make([]models.CmProjectMessage, 0)
-	for _, item := range approvers {
-		msgVM := models.CmProjectMessage{}
-		msgVM.AccountId = item.AuditId
-		msgVM.BidsectionId = item.BidsectionId
-		msgVM.ProjectId = item.ProjectId
-		msgVM.CreateTime = time.Now()
-		msgVM.DataId = item.DataId
-		msgVM.DataType = item.DataType
-		msgVM.Content = "已关闭,停止审批流程"
-		msg = append(msg, msgVM)
-	}
 
 	if auditType == "safe" {
 		safe := &models.CmSafe{}
@@ -734,6 +853,24 @@ func (d *ApproverDao) CloseHandler(auditType string, id int, opinion string, cur
 			return err
 		}
 
+		account := &models.CmProjectAccount{Id: safe.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-已关闭,停止审批流程", safe.Code, safe.InspectionDetail)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = safe.Uid
@@ -742,9 +879,17 @@ func (d *ApproverDao) CloseHandler(auditType string, id int, opinion string, cur
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = safe.Id
 		msgVM.DataType = 1
-		msgVM.Content = "已关闭,停止审批流程"
+		msgVM.Content = fmt.Sprintf("%s-%s-已关闭,停止审批流程", safe.Code, safe.InspectionDetail)
+		msgVM.Title = title
 		msg = append(msg, msgVM)
 
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
+
 		// 增加审批日志
 		safeAudit := &models.CmSafeAudit{BidsectionId: auditor.BidsectionId, SafeId: auditor.DataId, Times: safe.Times, AuditId: auditor.AuditId, Status: 2, Progress: auditor.Progress, CreateTime: time.Now(), Opinion: opinion}
 		_, err = session.Insert(safeAudit)
@@ -766,6 +911,24 @@ func (d *ApproverDao) CloseHandler(auditType string, id int, opinion string, cur
 			return err
 		}
 
+		account := &models.CmProjectAccount{Id: quality.Uid}
+		_, err = d.engine.Get(account)
+		title := fmt.Sprintf("%s - %s", account.Name, account.Position)
+
+		msg := make([]models.CmProjectMessage, 0)
+		for _, item := range approvers {
+			msgVM := models.CmProjectMessage{}
+			msgVM.AccountId = item.AuditId
+			msgVM.BidsectionId = item.BidsectionId
+			msgVM.ProjectId = item.ProjectId
+			msgVM.CreateTime = time.Now()
+			msgVM.DataId = item.DataId
+			msgVM.DataType = item.DataType
+			msgVM.Content = fmt.Sprintf("%s-%s-已关闭,停止审批流程", quality.Code, quality.InspectionDetail)
+			msgVM.Title = title
+			msg = append(msg, msgVM)
+		}
+
 		// 添加巡检拥有者的推送
 		msgVM := models.CmProjectMessage{}
 		msgVM.AccountId = quality.Uid
@@ -774,9 +937,16 @@ func (d *ApproverDao) CloseHandler(auditType string, id int, opinion string, cur
 		msgVM.CreateTime = time.Now()
 		msgVM.DataId = quality.Id
 		msgVM.DataType = 2
-		msgVM.Content = "已关闭,停止审批流程"
+		msgVM.Content = fmt.Sprintf("%s-%s-已关闭,停止审批流程", quality.Code, quality.InspectionDetail)
+		msgVM.Title = title
 		msg = append(msg, msgVM)
 
+		// 插入消息
+		_, err = session.Insert(msg)
+		if err != nil {
+			session.Rollback()
+			return err
+		}
 		// 增加审批日志
 		qualityAudit := &models.CmQualityAudit{BidsectionId: auditor.BidsectionId, QualityId: auditor.DataId, Times: quality.Times, AuditId: auditor.AuditId, Status: 2, Progress: auditor.Progress, CreateTime: time.Now(), Opinion: opinion}
 		_, err = session.Insert(qualityAudit)
@@ -798,12 +968,6 @@ func (d *ApproverDao) CloseHandler(auditType string, id int, opinion string, cur
 		return err
 	}
 
-	// 插入消息
-	_, err = session.Insert(msg)
-	if err != nil {
-		session.Rollback()
-		return err
-	}
 	err = session.Commit()
 	return err
 }

+ 12 - 1
dao/permission_account_dao.go

@@ -71,9 +71,20 @@ func (d *PermissionAccountDao) Update(data *models.CmPermissionAccount, columns
 }
 
 // 获得当前账号下的标段权限
-func (d *PermissionAccountDao) GetPermissionWithAccountId(accountId int, bidsectionId int) (viewmodels.PermissionView, error) {
+func (d *PermissionAccountDao) GetPermissionWithAccountId(accountId int, bidsectionId int, isAdmin bool) (viewmodels.PermissionView, error) {
 	data := viewmodels.PermissionView{}
 	permission := viewmodels.Permission{}
+	if isAdmin == true {
+		permission.ContractAccess = 1
+		permission.ContractAdd = 1
+		permission.ContractDelete = 1
+		permission.QualityAccess = 1
+		permission.QualityAdd = 1
+		permission.QualityDelete = 1
+		permission.SafeAccess = 1
+		permission.SafeAdd = 1
+		permission.SafeDelete = 1
+	}
 	has, err := d.engine.
 		Sql("select * from cm_permission_account where bidsection_id= ? and account_id = ?", accountId, bidsectionId).
 		Get(&data)

+ 11 - 3
services/bid_account_service.go

@@ -23,7 +23,7 @@ type BidAccountService interface {
 	ValidRuleDelete(ctx iris.Context) (viewmodels.BidAccount, error)
 	Create(viewBidAccount viewmodels.BidAccount, projectId int, accountId int) error
 	Delete(viewBidAccount viewmodels.BidAccount, projectId int) error
-	GetPermission(accountId int, bidsectionId int) (viewmodels.PermissionView, error)
+	GetPermission(accountId int, bidsectionId int, projectId int) (viewmodels.PermissionView, error)
 }
 
 //返回service操作类
@@ -83,8 +83,16 @@ func (s *bidAccountService) ValidRuleDelete(ctx iris.Context) (viewmodels.BidAcc
 }
 
 // 获取当前标段的权限
-func (s *bidAccountService) GetPermission(accountId int, bidsectionId int) (viewmodels.PermissionView, error) {
-	data, err := s.permissionDao.GetPermissionWithAccountId(accountId, bidsectionId)
+func (s *bidAccountService) GetPermission(accountId int, bidsectionId int, projectId int) (viewmodels.PermissionView, error) {
+	account := s.projectAccountDao.Get(accountId, projectId)
+	var isAdmin bool
+	if account.IsAdmin == 1 {
+		isAdmin = true
+	} else {
+		isAdmin = false
+
+	}
+	data, err := s.permissionDao.GetPermissionWithAccountId(accountId, bidsectionId, isAdmin)
 	return data, err
 }
 

+ 8 - 1
web/api/project_setting_auth_api.go

@@ -228,7 +228,14 @@ func (c *ProjectSettingApi) GetPermission() {
 		return
 	}
 
-	data, err := c.ServiceBidAccount.GetPermission(accountId, bidsectionId)
+	// 获得项目ID
+	pid, err := utils.GetProjectId(c.Ctx)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		return
+	}
+
+	data, err := c.ServiceBidAccount.GetPermission(accountId, bidsectionId, pid)
 	if err != nil {
 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 		return