lanjianrong 4 år sedan
förälder
incheckning
2bdbdc923c

+ 11 - 7
dao/safe_dao.go

@@ -9,9 +9,11 @@ package dao
 
 
 import (
 import (
 	"fmt"
 	"fmt"
+	"time"
 
 
 	"github.com/go-xorm/xorm"
 	"github.com/go-xorm/xorm"
 	"go.mod/models"
 	"go.mod/models"
+	"go.mod/web/viewmodels"
 )
 )
 
 
 //数据库操作引擎
 //数据库操作引擎
@@ -83,9 +85,9 @@ func (d *SafeDao) CountRuleCode(bid int) (int64, error) {
 }
 }
 
 
 // 更改status
 // 更改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
 	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)
 	startYear := fmt.Sprintf("%d-01-01:00.00.00", year)
 	endYear := fmt.Sprintf("%d-12-31:23.59.59", 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").
 		Desc("id").
 		Find(&datalist)
 		Find(&datalist)
 	return datalist
 	return datalist

+ 4 - 55
services/safe_audit.service.go

@@ -9,6 +9,7 @@ package services
 import (
 import (
 	"errors"
 	"errors"
 	"log"
 	"log"
+	"time"
 
 
 	"github.com/kataras/iris/v12"
 	"github.com/kataras/iris/v12"
 	"go.mod/dao"
 	"go.mod/dao"
@@ -23,7 +24,7 @@ type SafeAuditService interface {
 	CloseAudit(id int, opinion string, curUid int, saveId int) error
 	CloseAudit(id int, opinion string, curUid int, saveId int) error
 	BackAudit(id int, opinion string, curUid int, saveId int, auditId 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
 	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 {
 type safeAuditService struct {
@@ -53,18 +54,6 @@ func NewSafeAuditService() SafeAuditService {
 func (s *safeAuditService) CloseAudit(id int, opinion string, curUid int, saveId int) error {
 func (s *safeAuditService) CloseAudit(id int, opinion string, curUid int, saveId int) error {
 	err := s.daoApprover.CloseHandler(id, opinion, curUid, saveId)
 	err := s.daoApprover.CloseHandler(id, opinion, curUid, saveId)
 	return err
 	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 {
 func (s *safeAuditService) PassAudit(id int, uid int, auditId int, opinion string, rectifiedInfo string) error {
 	err := s.daoApprover.PassHandler(id, uid, auditId, opinion, rectifiedInfo)
 	err := s.daoApprover.PassHandler(id, uid, auditId, opinion, rectifiedInfo)
 	return err
 	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)
 	safe := s.daoSafe.FindById(safeId)
 	if safe.Uid != uid {
 	if safe.Uid != uid {
 		return errors.New("该用户没有操作权限!")
 		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.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)
 	err = s.daoApprover.InsertData(bidsectionId, pid, 1, safeId, auditors, reAuditors)
 	return err
 	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()
 	year := time.Now().Year()
 	safeList := s.daoSafe.GetTypeYear(bidsectionId, year)
 	safeList := s.daoSafe.GetTypeYear(bidsectionId, year)
 	// 2.初始化
 	// 2.初始化
-	rectifylist := make([]models.CmSafe, 0)
+	rectifylist := make([]viewmodels.SafeSurveyList, 0)
 	rectifyTotal := 0
 	rectifyTotal := 0
 	approvalTotal := 0
 	approvalTotal := 0
 	rectifyedTotal := 0
 	rectifyedTotal := 0
@@ -194,6 +194,8 @@ func (s *safeService) GetSurvey(projectId int, bidsectionId int) map[string]inte
 	rectifyedData := submitData
 	rectifyedData := submitData
 	for _, item := range safeList {
 	for _, item := range safeList {
 		if item.Status == 2 {
 		if item.Status == 2 {
+			id, _ := comm.AesEncrypt(item.Id, conf.SignSecret)
+			item.Id = id
 			rectifylist = append(rectifylist, item)
 			rectifylist = append(rectifylist, item)
 			rectifyTotal++
 			rectifyTotal++
 		}
 		}

+ 1 - 1
web/api/safe_audit_api.go

@@ -78,7 +78,7 @@ func (c *SafeAuditApi) PostStart() {
 		return
 		return
 	}
 	}
 	// 7.执行sql
 	// 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 {
 	if err != nil {
 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 		return
 		return

+ 8 - 0
web/viewmodels/safe.go

@@ -41,6 +41,14 @@ type SafeList struct {
 	FileCounts       int64  `from:"fileCounts" json:"fileCounts"`
 	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 {
 type SafeDetail struct {
 	Id           string `form:"id" json:"id" `
 	Id           string `form:"id" json:"id" `
 	BidsectionId string `form:"bidsectionId" json:"bidsectionId"`
 	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 {
 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 {
 func (l AuditStart) ValidateStart() error {
@@ -95,5 +99,9 @@ func (l AuditStart) ValidateStart() error {
 		validation.Field(&l.Times, validation.Required.Error("审批次数不能为空")),
 		validation.Field(&l.Times, validation.Required.Error("审批次数不能为空")),
 		validation.Field(&l.Auditors, validation.Required.Error("审批组不能为空")),
 		validation.Field(&l.Auditors, validation.Required.Error("审批组不能为空")),
 		validation.Field(&l.ReAuditors, 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("检查日期不能为空")),
 	)
 	)
 }
 }