lanjianrong 4 gadi atpakaļ
vecāks
revīzija
2bdbdc923c

+ 11 - 7
dao/safe_dao.go

@@ -9,9 +9,11 @@ package dao
 
 import (
 	"fmt"
+	"time"
 
 	"github.com/go-xorm/xorm"
 	"go.mod/models"
+	"go.mod/web/viewmodels"
 )
 
 //数据库操作引擎
@@ -83,9 +85,9 @@ func (d *SafeDao) CountRuleCode(bid int) (int64, error) {
 }
 
 // 更改status
-func (d *SafeDao) ChangeStatus(id int, status int) error {
-	data := &models.CmSafe{Status: status}
-	_, err := d.engine.ID(id).Update(data)
+func (d *SafeDao) ChangeStatus(id int, status int, inspection string, inspectionDetail string, demand string, createTime time.Time) error {
+	data := &models.CmSafe{Status: status, Inspection: inspection, InspectionDetail: inspectionDetail, Demand: demand, CreateTime: createTime}
+	_, err := d.engine.ID(id).Cols("status", " inspection", "inspection_detail", "demand", "create_time").Update(data)
 	return err
 }
 
@@ -100,14 +102,16 @@ func (d *SafeDao) GetStatus(bidsectionId int, status int) []models.CmSafe {
 }
 
 // 获得某年份下的安全
-func (d *SafeDao) GetTypeYear(bidsectionId int, year int) []models.CmSafe {
+func (d *SafeDao) GetTypeYear(bidsectionId int, year int) []viewmodels.SafeSurveyList {
 
 	startYear := fmt.Sprintf("%d-01-01:00.00.00", year)
 	endYear := fmt.Sprintf("%d-12-31:23.59.59", year)
 
-	datalist := make([]models.CmSafe, 0)
-	_ = d.engine.
-		Where("bidsection_id = ? and create_time>='"+startYear+"' and create_time<='"+endYear+"' ", bidsectionId).
+	datalist := make([]viewmodels.SafeSurveyList, 0)
+	_ = d.engine.Table("`cm_safe` as cs").
+		Select("cs.id, cs.`create_time`, cs.`inspection_detail`, cs.status, pa.`name` as `audit_name`").
+		Where("cs.bidsection_id = ? and cs.create_time>='"+startYear+"' and cs.create_time<='"+endYear+"' ", bidsectionId).
+		Join("left", "cm_project_account as pa", "pa.id = cs.uid").
 		Desc("id").
 		Find(&datalist)
 	return datalist

+ 4 - 55
services/safe_audit.service.go

@@ -9,6 +9,7 @@ package services
 import (
 	"errors"
 	"log"
+	"time"
 
 	"github.com/kataras/iris/v12"
 	"go.mod/dao"
@@ -23,7 +24,7 @@ type SafeAuditService interface {
 	CloseAudit(id int, opinion string, curUid int, saveId int) error
 	BackAudit(id int, opinion string, curUid int, saveId int, auditId int) error
 	PassAudit(id int, uid int, auditId int, opinion string, rectifiedInfo string) error
-	StartAudit(safeId int, bidsectionId int, auditors []int, reAuditors []int, uid int, pid int) error
+	StartAudit(safeId int, bidsectionId int, auditors []int, reAuditors []int, uid int, pid int, inspection string, inspectionDetail string, demand string, createTime time.Time) error
 }
 
 type safeAuditService struct {
@@ -53,18 +54,6 @@ func NewSafeAuditService() SafeAuditService {
 func (s *safeAuditService) CloseAudit(id int, opinion string, curUid int, saveId int) error {
 	err := s.daoApprover.CloseHandler(id, opinion, curUid, saveId)
 	return err
-	// auditor, err := s.daoApprover.FindApproverById(id)
-	// if auditor.AuditId != curUid {
-	// 	return errors.New("该用户没有审批权限!")
-	// }
-	// safe := s.daoSafe.FindById(auditor.DataId)
-	// // 增加审批日志记录
-	// err = s.daoSafeAudit.AddAuditRecord(auditor.DataId, auditor.BidsectionId, auditor.AuditId, safe.Times, 2, auditor.Progress, opinion, "")
-	// // 更改cm_safe的记录
-	// err = s.daoSafe.ChangeStatus(saveId, 5)
-	// // 更改cm_approver的记录
-	// err = s.daoApprover.ChangeStatus(id, 3)
-	// return err
 }
 
 // 审批退回
@@ -91,49 +80,9 @@ func (s *safeAuditService) BackAudit(id int, opinion string, curUid int, saveId
 func (s *safeAuditService) PassAudit(id int, uid int, auditId int, opinion string, rectifiedInfo string) error {
 	err := s.daoApprover.PassHandler(id, uid, auditId, opinion, rectifiedInfo)
 	return err
-	// auditor, err := s.daoApprover.FindApproverById(id)
-	// if err != nil {
-	// 	return err
-	// }
-	// // 获取安全巡检记录
-	// safe := s.daoSafe.FindById(auditor.DataId)
-	// if auditor.AuditId != uid {
-	// 	return errors.New("该用户没有审批权限!")
-	// }
-
-	// err = s.daoSafeAudit.AddAuditRecord(auditor.DataId, auditor.BidsectionId, auditor.AuditId, safe.Times, 0, auditor.Progress+1, opinion, rectifiedInfo)
-
-	// err = s.daoApprover.ChangeStatus(id, 2)
-	// err = s.daoApprover.ChangeNextStatus(id, 1)
-	// // 审批人选择了整改人
-	// if auditId != 0 {
-	// 	// 修改cm_safe表的status状态为待整改
-	// 	err = s.daoSafe.ChangeStatus(auditor.DataId, 2)
-	// 	// 改变审批流程中的整改人id
-	// 	err = s.daoApprover.ChangeAuditId(auditor.BidsectionId, auditor.DataType, auditor.DataId, auditor.AuditOrder+1, auditId)
-	// } else {
-	// 	if auditor.Progress == 1 {
-	// 		// 整改人审批流程
-	// 		// 修改cm_safe表的status状态为待复查
-	// 		err = s.daoSafe.ChangeStatus(auditor.DataId, 3)
-	// 	} else {
-	// 		// 复查流程
-	// 		// 查找最后一个审批人
-	// 		lastAuditor, err := s.daoApprover.GetLastAuditor(auditor.BidsectionId, auditor.DataType, auditor.DataId)
-	// 		if err != nil {
-	// 			return err
-	// 		}
-	// 		if lastAuditor.AuditId == auditor.AuditId {
-	// 			// 说明审批流程已经走完
-	// 			err = s.daoSafe.ChangeStatus(auditor.DataId, 4)
-	// 		}
-	// 	}
-	// }
-
-	// return err
 }
 
-func (s *safeAuditService) StartAudit(safeId int, bidsectionId int, auditors []int, reAuditors []int, uid int, pid int) error {
+func (s *safeAuditService) StartAudit(safeId int, bidsectionId int, auditors []int, reAuditors []int, uid int, pid int, inspection string, inspectionDetail string, demand string, createTime time.Time) error {
 	safe := s.daoSafe.FindById(safeId)
 	if safe.Uid != uid {
 		return errors.New("该用户没有操作权限!")
@@ -143,7 +92,7 @@ func (s *safeAuditService) StartAudit(safeId int, bidsectionId int, auditors []i
 	// 增加审批日志
 	err = s.daoSafeAudit.AddAuditRecord(safeId, bidsectionId, uid, safe.Times, 0, 0, "", "")
 	// 改变安全巡检表的状态
-	err = s.daoSafe.ChangeStatus(safeId, 1)
+	err = s.daoSafe.ChangeStatus(safeId, 1, inspection, inspectionDetail, demand, createTime)
 	// 创建审批流程
 	err = s.daoApprover.InsertData(bidsectionId, pid, 1, safeId, auditors, reAuditors)
 	return err

+ 3 - 1
services/safe_service.go

@@ -172,7 +172,7 @@ func (s *safeService) GetSurvey(projectId int, bidsectionId int) map[string]inte
 	year := time.Now().Year()
 	safeList := s.daoSafe.GetTypeYear(bidsectionId, year)
 	// 2.初始化
-	rectifylist := make([]models.CmSafe, 0)
+	rectifylist := make([]viewmodels.SafeSurveyList, 0)
 	rectifyTotal := 0
 	approvalTotal := 0
 	rectifyedTotal := 0
@@ -194,6 +194,8 @@ func (s *safeService) GetSurvey(projectId int, bidsectionId int) map[string]inte
 	rectifyedData := submitData
 	for _, item := range safeList {
 		if item.Status == 2 {
+			id, _ := comm.AesEncrypt(item.Id, conf.SignSecret)
+			item.Id = id
 			rectifylist = append(rectifylist, item)
 			rectifyTotal++
 		}

+ 1 - 1
web/api/safe_audit_api.go

@@ -78,7 +78,7 @@ func (c *SafeAuditApi) PostStart() {
 		return
 	}
 	// 7.执行sql
-	err = c.SafeAuditService.StartAudit(safeId, bidsectionId, auditors, reAuditors, uid, pid)
+	err = c.SafeAuditService.StartAudit(safeId, bidsectionId, auditors, reAuditors, uid, pid, safeAuditData.Inspection, safeAuditData.InspectionDetail, safeAuditData.Demand, safeAuditData.CreateTime)
 	if err != nil {
 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 		return

+ 8 - 0
web/viewmodels/safe.go

@@ -41,6 +41,14 @@ type SafeList struct {
 	FileCounts       int64  `from:"fileCounts" json:"fileCounts"`
 }
 
+type SafeSurveyList struct {
+	Id               string    `form:"id" json:"id" `
+	CreateTime       time.Time `form:"createTime" json:"createTime"`
+	InspectionDetail string    `form:"inspectionDetail" json:"inspectionDetail"`
+	Status           int       `form:"status" json:"status"`
+	AuditName        string    `form:"auditName" json:"auditName"`
+}
+
 type SafeDetail struct {
 	Id           string `form:"id" json:"id" `
 	BidsectionId string `form:"bidsectionId" json:"bidsectionId"`

+ 13 - 5
web/viewmodels/safe_audit.go

@@ -81,11 +81,15 @@ func (l SafeAudit) ValidatePass() error {
 }
 
 type AuditStart struct {
-	SafeId       string   `form:"safe_id" json:"safe_id"`
-	BidsectionId string   `form:"bidsection_id" json:"bidsection_id"`
-	Times        int      `form:"times" json:"times"`
-	Auditors     []string `form:"auditors" json:"auditors"`
-	ReAuditors   []string `form:"reAuditors" json:"reAuditors"`
+	SafeId           string    `form:"safe_id" json:"safe_id"`
+	BidsectionId     string    `form:"bidsection_id" json:"bidsection_id"`
+	Times            int       `form:"times" json:"times"`
+	Auditors         []string  `form:"auditors" json:"auditors"`
+	ReAuditors       []string  `form:"reAuditors" json:"reAuditors"`
+	Inspection       string    `from:"inspection" json:"inspection"`
+	InspectionDetail string    `from:"inspectionDetail" json:"inspectionDetail"`
+	Demand           string    `from:"demand" json:"demand"`
+	CreateTime       time.Time `from:"createTime" json:"createTime"`
 }
 
 func (l AuditStart) ValidateStart() error {
@@ -95,5 +99,9 @@ func (l AuditStart) ValidateStart() error {
 		validation.Field(&l.Times, validation.Required.Error("审批次数不能为空")),
 		validation.Field(&l.Auditors, validation.Required.Error("审批组不能为空")),
 		validation.Field(&l.ReAuditors, validation.Required.Error("复查组不能为空")),
+		validation.Field(&l.Inspection, validation.Required.Error("检查项目不能为空")),
+		validation.Field(&l.InspectionDetail, validation.Required.Error("现场检查不能为空")),
+		validation.Field(&l.Demand, validation.Required.Error("处理措施不能为空")),
+		validation.Field(&l.CreateTime, validation.Required.Error("检查日期不能为空")),
 	)
 }