package db import ( "context" "fmt" "youngee_b_api/model/gorm_model" "youngee_b_api/model/http_model" ) func GetWorkspaceNums(ctx context.Context, enterpriseID int64) (*http_model.WorkspaceNums, error) { var workspaceNums http_model.WorkspaceNums var PaymentPending, DraftNum, RecruitingFullNum, ExecutionSpecNum, ExecutionFullNum int64 db := GetReadDB(ctx) db = db.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID) db.Where("project_status = 1").Count(&DraftNum) db1 := GetReadDB(ctx) db1 = db1.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID) db1.Where("project_status = 4 AND project_type = 1").Count(&RecruitingFullNum) db2 := GetReadDB(ctx) db2 = db2.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID) db2.Where("project_status = 6").Count(&PaymentPending) db3 := GetReadDB(ctx) db3 = db3.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID) db3.Where("project_status = 9 AND project_type = 2").Count(&ExecutionSpecNum) db4 := GetReadDB(ctx) db4 = db4.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID) db4.Where("project_status = 9 AND project_type = 1").Count(&ExecutionFullNum) var ProjectFunds float64 db5 := GetReadDB(ctx) db5 = db5.Model(gorm_model.Enterprise{}).Select("frozen_balance").Where("enterprise_id = ?", enterpriseID).First(&ProjectFunds) workspaceNums.PaymentPending = PaymentPending workspaceNums.DraftNum = DraftNum workspaceNums.RecruitingFullNum = RecruitingFullNum workspaceNums.ExecutionSpecNum = ExecutionSpecNum workspaceNums.ExecutionFullNum = ExecutionFullNum workspaceNums.ProjectFunds = ProjectFunds return &workspaceNums, nil } func GetWorkspacePieNums(ctx context.Context, enterpriseID int64) (*http_model.WorkspacePieNums, error) { var workspaceNums http_model.WorkspacePieNums var DataPendingNum, LinkPendingNum, ScriptPendingNum int64 db := GetReadDB(ctx) var DataProjectIDs []int64 db = db.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&DataProjectIDs) db1 := GetReadDB(ctx) db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 14", DataProjectIDs).Count(&DataPendingNum) db2 := GetReadDB(ctx) var scriptProjectIDs []int64 db2 = db2.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&scriptProjectIDs) db3 := GetReadDB(ctx) db3.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 8", scriptProjectIDs).Count(&ScriptPendingNum) db4 := GetReadDB(ctx) var linkProjectIDs []int64 db4 = db4.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&linkProjectIDs) db5 := GetReadDB(ctx) db5 = db5.Debug().Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 12", linkProjectIDs).Count(&LinkPendingNum) workspaceNums.DataPendingNum = DataPendingNum workspaceNums.LinkPendingNum = LinkPendingNum workspaceNums.ScriptPendingNum = ScriptPendingNum return &workspaceNums, nil } func GetWorkspacePieNums2(ctx context.Context, enterpriseID int64) (*http_model.WorkspacePieNums2, error) { var workspaceNums http_model.WorkspacePieNums2 var SketchPendingNum, AccSelecting, ShipmentPendingNum int64 db := GetReadDB(ctx) var sketchProjectIDs []int64 db = db.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&sketchProjectIDs) db5 := GetReadDB(ctx) db5.Debug().Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 10", sketchProjectIDs).Count(&SketchPendingNum) fmt.Println("SketchPendingNum:", SketchPendingNum) var RecruitingProjectIDs []int64 db1 := GetReadDB(ctx) db1 = db1.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 4", enterpriseID).Find(&RecruitingProjectIDs) db4 := GetReadDB(ctx) db4.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_status = 1", RecruitingProjectIDs).Count(&AccSelecting) db2 := GetReadDB(ctx) var LogisticProjectIDs []int64 db2 = db2.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&LogisticProjectIDs) db3 := GetReadDB(ctx) db3.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 4", LogisticProjectIDs).Count(&ShipmentPendingNum) workspaceNums.SketchPendingNum = SketchPendingNum workspaceNums.AccSelecting = AccSelecting workspaceNums.ShipmentPendingNum = ShipmentPendingNum return &workspaceNums, nil }