|
@@ -14,6 +14,7 @@ type ProjectProcess struct {
|
|
|
Process Process `json:"process" form:"process" gorm:"foreignKey:ProcessApprovalId;references:id"`
|
|
Process Process `json:"process" form:"process" gorm:"foreignKey:ProcessApprovalId;references:id"`
|
|
|
ProjectType string `json:"projectType" form:"projectType" gorm:"comment:项目类型"`
|
|
ProjectType string `json:"projectType" form:"projectType" gorm:"comment:项目类型"`
|
|
|
Descriptions []Description `json:"descriptions" form:"descriptions" gorm:"foreignKey:ProjectProcessId;"`
|
|
Descriptions []Description `json:"descriptions" form:"descriptions" gorm:"foreignKey:ProjectProcessId;"`
|
|
|
|
|
+ State int `json:"isOver" form:"isOver" gorm:"comment:状态;default:0;"`
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (ProjectProcess) TableName() string {
|
|
func (ProjectProcess) TableName() string {
|
|
@@ -33,6 +34,27 @@ func QueryProjectApplicantList(limit, offset, applicant int) (projectProcesses [
|
|
|
}
|
|
}
|
|
|
err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
|
|
err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
|
|
|
|
|
|
|
|
|
|
+ for i, projectProcess := range projectProcesses {
|
|
|
|
|
+
|
|
|
|
|
+ var processNodes []ProcessNodes
|
|
|
|
|
+ err = global.GVA_DB.Model(&ProcessNodes{}).Where("process_id = ?", projectProcess.Process.ID).Find(&processNodes).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, 0, err
|
|
|
|
|
+ }
|
|
|
|
|
+ var nodes []Node
|
|
|
|
|
+ for _, node := range processNodes {
|
|
|
|
|
+ var node1 Node
|
|
|
|
|
+ err := global.GVA_DB.Model(&Node{}).Where("id = ?", node.NodeId).Preload("Approver").Find(&node1).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, 0, err
|
|
|
|
|
+ }
|
|
|
|
|
+ node1.Order = node.NodeOrder
|
|
|
|
|
+ nodes = append(nodes, node1)
|
|
|
|
|
+ }
|
|
|
|
|
+ projectProcesses[i].Process.Nodes = nodes
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return projectProcesses, total, err
|
|
return projectProcesses, total, err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -45,15 +67,79 @@ func QueryProjectProcessList(limit, offset, applicant int) (projectProcesses []P
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
|
|
err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
|
|
|
|
|
+
|
|
|
|
|
+ for i, projectProcess := range projectProcesses {
|
|
|
|
|
+
|
|
|
|
|
+ var processNodes []ProcessNodes
|
|
|
|
|
+ err = global.GVA_DB.Model(&ProcessNodes{}).Where("process_id = ?", projectProcess.Process.ID).Find(&processNodes).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, 0, err
|
|
|
|
|
+ }
|
|
|
|
|
+ var nodes []Node
|
|
|
|
|
+ for _, node := range processNodes {
|
|
|
|
|
+ var node1 Node
|
|
|
|
|
+ err := global.GVA_DB.Model(&Node{}).Where("id = ?", node.NodeId).Preload("Approver").Find(&node1).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, 0, err
|
|
|
|
|
+ }
|
|
|
|
|
+ node1.Order = node.NodeOrder
|
|
|
|
|
+ nodes = append(nodes, node1)
|
|
|
|
|
+ }
|
|
|
|
|
+ projectProcesses[i].Process.Nodes = nodes
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return projectProcesses, total, err
|
|
return projectProcesses, total, err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func QueryProjectProcessById(id int) (projectProcess ProjectProcess, err error) {
|
|
func QueryProjectProcessById(id int) (projectProcess ProjectProcess, err error) {
|
|
|
- return projectProcess, global.GVA_DB.Where("id =?", id).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").First(&projectProcess).Error
|
|
|
|
|
|
|
+ err = global.GVA_DB.Where("id =?", id).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").First(&projectProcess).Error
|
|
|
|
|
+
|
|
|
|
|
+ var processNodes []ProcessNodes
|
|
|
|
|
+ err = global.GVA_DB.Model(&ProcessNodes{}).Where("process_id = ?", projectProcess.Process.ID).Find(&processNodes).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return projectProcess, err
|
|
|
|
|
+ }
|
|
|
|
|
+ var nodes []Node
|
|
|
|
|
+ for _, node := range processNodes {
|
|
|
|
|
+ var node1 Node
|
|
|
|
|
+ err := global.GVA_DB.Model(&Node{}).Where("id = ?", node.NodeId).Preload("Approver").Find(&node1).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return projectProcess, err
|
|
|
|
|
+ }
|
|
|
|
|
+ node1.Order = node.NodeOrder
|
|
|
|
|
+ nodes = append(nodes, node1)
|
|
|
|
|
+ }
|
|
|
|
|
+ projectProcess.Process.Nodes = nodes
|
|
|
|
|
+
|
|
|
|
|
+ return projectProcess, err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func QueryProjectProcessByProcessApprovalId(id int) (projectProcess []ProjectProcess, err error) {
|
|
|
|
|
- return projectProcess, global.GVA_DB.Where("process_approval_id =?", id).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcess).Error
|
|
|
|
|
|
|
+func QueryProjectProcessByProcessApprovalId(id int) (projectProcesses []ProjectProcess, err error) {
|
|
|
|
|
+ err = global.GVA_DB.Where("process_approval_id =?", id).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
|
|
|
|
|
+
|
|
|
|
|
+ for i, projectProcess := range projectProcesses {
|
|
|
|
|
+
|
|
|
|
|
+ var processNodes []ProcessNodes
|
|
|
|
|
+ err = global.GVA_DB.Model(&ProcessNodes{}).Where("process_id = ?", projectProcess.Process.ID).Find(&processNodes).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return projectProcesses, err
|
|
|
|
|
+ }
|
|
|
|
|
+ var nodes []Node
|
|
|
|
|
+ for _, node := range processNodes {
|
|
|
|
|
+ var node1 Node
|
|
|
|
|
+ err := global.GVA_DB.Model(&Node{}).Where("id = ?", node.NodeId).Preload("Approver").Find(&node1).Error
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return projectProcesses, err
|
|
|
|
|
+ }
|
|
|
|
|
+ node1.Order = node.NodeOrder
|
|
|
|
|
+ nodes = append(nodes, node1)
|
|
|
|
|
+ }
|
|
|
|
|
+ projectProcesses[i].Process.Nodes = nodes
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return projectProcesses, err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (pp ProjectProcess) CreateProjectProcess() error {
|
|
func (pp ProjectProcess) CreateProjectProcess() error {
|