123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- package db
- import (
- "context"
- "fmt"
- "github.com/issue9/conv"
- "github.com/sirupsen/logrus"
- "time"
- "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
- }
- func GetWorkspaceDDLproject(ctx context.Context, enterpriseID int64) (*http_model.WorkspaceDDLprojectdata, error) {
- var projectInfos []gorm_model.ProjectInfo
- //DDLproject := http_model.WorkspaceDDLprojectdata{}
- db := GetReadDB(ctx)
- ddl := conv.MustString(time.Now())[0:10] + "%"
- err := db.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ? AND project_status = 4 AND recruit_ddl like ?", enterpriseID, ddl).
- Or("enterprise_id = ? AND project_status = 6 AND auto_fail_at like ?", enterpriseID, ddl).Find(&projectInfos).Error
- if err != nil {
- logrus.WithContext(ctx).Errorf("[Project db] Update ProjectInfo error,err:%+v", err)
- return nil, err
- }
- wsDDLprojectData := http_model.WorkspaceDDLprojectdata{}
- wsDDLprojectData.Total = conv.MustString(len(projectInfos))
- for _, projectInfo := range projectInfos {
- DDLProjectPreview := new(http_model.DDLProjectPreview)
- DDLProjectPreview.ProjectId = conv.MustString(projectInfo.ProjectID)
- DDLProjectPreview.ProjectForm = conv.MustString(projectInfo.ProjectForm)
- DDLProjectPreview.ProjectName = projectInfo.ProjectName
- DDLProjectPreview.ProjectStatus = conv.MustString(projectInfo.ProjectStatus)
- DDLProjectPreview.ProjectPlatform = conv.MustString(projectInfo.ProjectPlatform)
- DDLProjectPreview.ProjectContentType = conv.MustString(projectInfo.ContentType)
- DDLProjectPreview.RecruitDDL = conv.MustString(projectInfo.RecruitDdl)[0:19]
- if projectInfo.AutoFailAt != nil {
- DDLProjectPreview.AutoFailAt = conv.MustString(projectInfo.AutoFailAt)[0:19]
- }
- DDLProjectPreview.RecruitNum = conv.MustString(projectInfo.RecruitNum)
- wsDDLprojectData.DDLProjectPreview = append(wsDDLprojectData.DDLProjectPreview, DDLProjectPreview)
- }
- fmt.Printf("GGGGGGGGGG %+v \n", len(projectInfos))
- return &wsDDLprojectData, nil
- }
|