|
@@ -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
|
|
|
}
|
|
|
|
|
|
// 规则校验
|