workspace.go 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package db
  2. import (
  3. "context"
  4. "fmt"
  5. "youngee_b_api/model/gorm_model"
  6. "youngee_b_api/model/http_model"
  7. )
  8. func GetWorkspaceNums(ctx context.Context, enterpriseID int64) (*http_model.WorkspaceNums, error) {
  9. var workspaceNums http_model.WorkspaceNums
  10. var PaymentPending, DraftNum, RecruitingFullNum, ExecutionSpecNum, ExecutionFullNum int64
  11. db := GetReadDB(ctx)
  12. db = db.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID)
  13. db.Where("project_status = 1").Count(&DraftNum)
  14. db1 := GetReadDB(ctx)
  15. db1 = db1.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID)
  16. db1.Where("project_status = 4 AND project_type = 1").Count(&RecruitingFullNum)
  17. db2 := GetReadDB(ctx)
  18. db2 = db2.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID)
  19. db2.Where("project_status = 6").Count(&PaymentPending)
  20. db3 := GetReadDB(ctx)
  21. db3 = db3.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID)
  22. db3.Where("project_status = 9 AND project_type = 2").Count(&ExecutionSpecNum)
  23. db4 := GetReadDB(ctx)
  24. db4 = db4.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID)
  25. db4.Where("project_status = 9 AND project_type = 1").Count(&ExecutionFullNum)
  26. var ProjectFunds float64
  27. db5 := GetReadDB(ctx)
  28. db5 = db5.Model(gorm_model.Enterprise{}).Select("frozen_balance").Where("enterprise_id = ?", enterpriseID).First(&ProjectFunds)
  29. workspaceNums.PaymentPending = PaymentPending
  30. workspaceNums.DraftNum = DraftNum
  31. workspaceNums.RecruitingFullNum = RecruitingFullNum
  32. workspaceNums.ExecutionSpecNum = ExecutionSpecNum
  33. workspaceNums.ExecutionFullNum = ExecutionFullNum
  34. workspaceNums.ProjectFunds = ProjectFunds
  35. return &workspaceNums, nil
  36. }
  37. func GetWorkspacePieNums(ctx context.Context, enterpriseID int64) (*http_model.WorkspacePieNums, error) {
  38. var workspaceNums http_model.WorkspacePieNums
  39. var DataPendingNum, LinkPendingNum, ScriptPendingNum int64
  40. db := GetReadDB(ctx)
  41. var DataProjectIDs []int64
  42. db = db.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&DataProjectIDs)
  43. db1 := GetReadDB(ctx)
  44. db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 14", DataProjectIDs).Count(&DataPendingNum)
  45. db2 := GetReadDB(ctx)
  46. var scriptProjectIDs []int64
  47. db2 = db2.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&scriptProjectIDs)
  48. db3 := GetReadDB(ctx)
  49. db3.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 8", scriptProjectIDs).Count(&ScriptPendingNum)
  50. db4 := GetReadDB(ctx)
  51. var linkProjectIDs []int64
  52. db4 = db4.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&linkProjectIDs)
  53. db5 := GetReadDB(ctx)
  54. db5 = db5.Debug().Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 12", linkProjectIDs).Count(&LinkPendingNum)
  55. workspaceNums.DataPendingNum = DataPendingNum
  56. workspaceNums.LinkPendingNum = LinkPendingNum
  57. workspaceNums.ScriptPendingNum = ScriptPendingNum
  58. return &workspaceNums, nil
  59. }
  60. func GetWorkspacePieNums2(ctx context.Context, enterpriseID int64) (*http_model.WorkspacePieNums2, error) {
  61. var workspaceNums http_model.WorkspacePieNums2
  62. var SketchPendingNum, AccSelecting, ShipmentPendingNum int64
  63. db := GetReadDB(ctx)
  64. var sketchProjectIDs []int64
  65. db = db.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&sketchProjectIDs)
  66. db5 := GetReadDB(ctx)
  67. db5.Debug().Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 10", sketchProjectIDs).Count(&SketchPendingNum)
  68. fmt.Println("SketchPendingNum:", SketchPendingNum)
  69. var RecruitingProjectIDs []int64
  70. db1 := GetReadDB(ctx)
  71. db1 = db1.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 4", enterpriseID).Find(&RecruitingProjectIDs)
  72. db4 := GetReadDB(ctx)
  73. db4.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_status = 1", RecruitingProjectIDs).Count(&AccSelecting)
  74. db2 := GetReadDB(ctx)
  75. var LogisticProjectIDs []int64
  76. db2 = db2.Model(gorm_model.ProjectInfo{}).Select("project_id").Where("enterprise_id = ? AND project_status = 9", enterpriseID).Find(&LogisticProjectIDs)
  77. db3 := GetReadDB(ctx)
  78. db3.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id IN ? AND task_stage = 4", LogisticProjectIDs).Count(&ShipmentPendingNum)
  79. workspaceNums.SketchPendingNum = SketchPendingNum
  80. workspaceNums.AccSelecting = AccSelecting
  81. workspaceNums.ShipmentPendingNum = ShipmentPendingNum
  82. return &workspaceNums, nil
  83. }