|  | @@ -4,6 +4,7 @@ import (
 | 
	
		
			
				|  |  |  	"fmt"
 | 
	
		
			
				|  |  |  	"log"
 | 
	
		
			
				|  |  |  	"strconv"
 | 
	
		
			
				|  |  | +	"strings"
 | 
	
		
			
				|  |  |  	"time"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	"github.com/kataras/iris/v12"
 | 
	
	
		
			
				|  | @@ -23,13 +24,14 @@ type SafeService interface {
 | 
	
		
			
				|  |  |  	GetDetail(id int, pid int) viewmodels.SafeDetail
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	GetSurvey(projectId int, bidsectionId int) map[string]interface{}
 | 
	
		
			
				|  |  | -	GetPending(projectId int, projectAccountId int) []viewmodels.Safe
 | 
	
		
			
				|  |  | +	GetPending(projectId int, projectAccountId int) []viewmodels.Approver
 | 
	
		
			
				|  |  |  	ValidRule(ctx iris.Context) (viewmodels.Safe, error)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // //返回service操作类
 | 
	
		
			
				|  |  |  type safeService struct {
 | 
	
		
			
				|  |  |  	daoSafe           *dao.SafeDao
 | 
	
		
			
				|  |  | +	daoQuality        *dao.QualityDao
 | 
	
		
			
				|  |  |  	daoSafeAudit      *dao.SafeAuditDao
 | 
	
		
			
				|  |  |  	daoProjectAccount *dao.ProjectAccountDao
 | 
	
		
			
				|  |  |  	daoAnnex          *dao.AnnexDao
 | 
	
	
		
			
				|  | @@ -44,6 +46,7 @@ func NewSafeService() SafeService {
 | 
	
		
			
				|  |  |  	return &safeService{
 | 
	
		
			
				|  |  |  		validDetail:       "/api/safe/detail",
 | 
	
		
			
				|  |  |  		daoSafe:           dao.NewSafeDao(datasource.InstanceDbMaster()),
 | 
	
		
			
				|  |  | +		daoQuality:        dao.NewQualityDao(datasource.InstanceDbMaster()),
 | 
	
		
			
				|  |  |  		daoAnnex:          dao.NewAnnexDao(datasource.InstanceDbMaster()),
 | 
	
		
			
				|  |  |  		daoSafeAudit:      dao.NewSafeAuditDao(datasource.InstanceDbMaster()),
 | 
	
		
			
				|  |  |  		daoProjectAccount: dao.NewProjectAccountDao(datasource.InstanceDbMaster()),
 | 
	
	
		
			
				|  | @@ -326,35 +329,82 @@ func (s *safeService) GetSurvey(projectId int, bidsectionId int) map[string]inte
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 获得账号下需要审批的巡检
 | 
	
		
			
				|  |  | -func (s *safeService) GetPending(projectId int, projectAccountId int) []viewmodels.Safe {
 | 
	
		
			
				|  |  | +func (s *safeService) GetPending(projectId int, projectAccountId int) []viewmodels.Approver {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 1.获得审批列表
 | 
	
		
			
				|  |  | +	approverData := s.daoApprover.GetStatusByProjectAndAccount(projectId, projectAccountId, 1)
 | 
	
		
			
				|  |  | +	// 2.构建数据ID
 | 
	
		
			
				|  |  | +	safeIds := []string{}
 | 
	
		
			
				|  |  | +	qualityIds := []string{}
 | 
	
		
			
				|  |  | +	for _, item := range approverData {
 | 
	
		
			
				|  |  | +		if item.DataType == 1 {
 | 
	
		
			
				|  |  | +			safeIds = append(safeIds, strconv.Itoa(item.DataId))
 | 
	
		
			
				|  |  | +		} else if item.DataType == 2 {
 | 
	
		
			
				|  |  | +			qualityIds = append(qualityIds, strconv.Itoa(item.DataId))
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	safeInId := strings.Join(safeIds, ",")
 | 
	
		
			
				|  |  | +	qualityInId := strings.Join(qualityIds, ",")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	safeList := make([]viewmodels.SafeList, 0)
 | 
	
		
			
				|  |  | +	qualityList := make([]viewmodels.QualityList, 0)
 | 
	
		
			
				|  |  | +	if safeInId != "" {
 | 
	
		
			
				|  |  | +		safeList = s.daoSafe.GetInIdJoinAccount(safeInId)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	if qualityInId != "" {
 | 
	
		
			
				|  |  | +		qualityList = s.daoQuality.GetInIdJoinAccount(qualityInId)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	data := s.daoSafe.GetStatusByProjectAndAccount(projectId, projectAccountId, 1)
 | 
	
		
			
				|  |  | +	// data := s.daoSafe.GetStatusByProjectAndAccount(projectId, projectAccountId, 1)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	safeList := make([]viewmodels.Safe, 0)
 | 
	
		
			
				|  |  | -	for _, item := range data {
 | 
	
		
			
				|  |  | -		safeVM := viewmodels.Safe{}
 | 
	
		
			
				|  |  | +	list := make([]viewmodels.Approver, 0)
 | 
	
		
			
				|  |  | +	for _, item := range approverData {
 | 
	
		
			
				|  |  | +		approverVM := viewmodels.Approver{}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		Id, _ := comm.AesEncrypt(strconv.Itoa(item.Id), conf.SignSecret)
 | 
	
		
			
				|  |  |  		BidsectionId, _ := comm.AesEncrypt(strconv.Itoa(item.BidsectionId), conf.SignSecret)
 | 
	
		
			
				|  |  |  		// AuditId, _ := comm.AesEncrypt(item.AuditId, conf.SignSecret)
 | 
	
		
			
				|  |  | -		Uid, _ := comm.AesEncrypt(strconv.Itoa(item.Uid), conf.SignSecret)
 | 
	
		
			
				|  |  | +		ProjectId, _ := comm.AesEncrypt(strconv.Itoa(item.ProjectId), conf.SignSecret)
 | 
	
		
			
				|  |  | +		DataId, _ := comm.AesEncrypt(strconv.Itoa(item.DataId), conf.SignSecret)
 | 
	
		
			
				|  |  |  		// ProjectId, _ := comm.AesEncrypt(strconv.Itoa(item.ProjectId), conf.SignSecret)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		safeVM.Id = Id
 | 
	
		
			
				|  |  | -		safeVM.BidsectionId = BidsectionId
 | 
	
		
			
				|  |  | -		safeVM.Uid = Uid
 | 
	
		
			
				|  |  | -		safeVM.Code = item.Code
 | 
	
		
			
				|  |  | -		safeVM.CreateTime = item.CreateTime.Format(conf.SysTimeform)
 | 
	
		
			
				|  |  | -		safeVM.EndTime = item.EndTime.Format(conf.SysTimeform)
 | 
	
		
			
				|  |  | -		safeVM.Position = item.Position
 | 
	
		
			
				|  |  | -		safeVM.Inspection = item.Inspection
 | 
	
		
			
				|  |  | -		safeVM.InspectionDetail = item.InspectionDetail
 | 
	
		
			
				|  |  | -		safeVM.Demand = item.Demand
 | 
	
		
			
				|  |  | -		safeVM.Status = item.Status
 | 
	
		
			
				|  |  | -		safeList = append(safeList, safeVM)
 | 
	
		
			
				|  |  | +		approverVM.Id = Id
 | 
	
		
			
				|  |  | +		approverVM.ProjectId = ProjectId
 | 
	
		
			
				|  |  | +		approverVM.BidsectionId = BidsectionId
 | 
	
		
			
				|  |  | +		approverVM.DataType = item.DataType
 | 
	
		
			
				|  |  | +		approverVM.DataId = DataId
 | 
	
		
			
				|  |  | +		approverVM.Status = item.Status
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		dataIdString := strconv.Itoa(item.DataId)
 | 
	
		
			
				|  |  | +		// 安全巡检相关
 | 
	
		
			
				|  |  | +		if item.DataType == 1 {
 | 
	
		
			
				|  |  | +			for _, data := range safeList {
 | 
	
		
			
				|  |  | +				if dataIdString == data.Id {
 | 
	
		
			
				|  |  | +					approverVM.Code = data.Code
 | 
	
		
			
				|  |  | +					approverVM.InspectionDetail = data.InspectionDetail
 | 
	
		
			
				|  |  | +					approverVM.Name = data.AuditName
 | 
	
		
			
				|  |  | +					approverVM.Position = data.Position
 | 
	
		
			
				|  |  | +					approverVM.CreateTime = data.CreateTime
 | 
	
		
			
				|  |  | +					break
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		} else if item.DataType == 2 { // 质量巡检
 | 
	
		
			
				|  |  | +			for _, data := range qualityList {
 | 
	
		
			
				|  |  | +				if dataIdString == data.Id {
 | 
	
		
			
				|  |  | +					approverVM.Code = data.Code
 | 
	
		
			
				|  |  | +					approverVM.InspectionDetail = data.InspectionDetail
 | 
	
		
			
				|  |  | +					approverVM.Name = data.AuditName
 | 
	
		
			
				|  |  | +					approverVM.Position = data.Position
 | 
	
		
			
				|  |  | +					approverVM.CreateTime = data.CreateTime
 | 
	
		
			
				|  |  | +					break
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		list = append(list, approverVM)
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	return safeList
 | 
	
		
			
				|  |  | +	return list
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 规则校验
 |