Browse Source

[20250413]settleflag

lin-jim-leon 1 week ago
parent
commit
72167121cb
4 changed files with 62 additions and 0 deletions
  1. 39 0
      db/task.go
  2. 1 0
      model/gorm_model/locallife_info.go
  3. 1 0
      model/gorm_model/project.go
  4. 21 0
      service/data.go

+ 39 - 0
db/task.go

@@ -353,6 +353,26 @@ func SetSpecialTaskFinish(ctx context.Context, TaskIDs []string) error {
 	return nil
 }
 
+func SetProjectSettleFlag(ctx context.Context, projectid string) error {
+	db := GetReadDB(ctx)
+	var tasks []gorm_model.YoungeeTaskInfo
+	err := db.Where("project_id = ?", projectid).Find(&tasks).Error
+	if err != nil {
+		return err
+	}
+	settleflag := 1
+	for _, task := range tasks {
+		if task.TaskStage != 15 && task.TaskStage != 16 {
+			settleflag = 0
+		}
+	}
+	err = db.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectid).Update("settle_flag", settleflag).Error
+	if err != nil {
+		return err
+	}
+	return nil
+}
+
 // SetSpecialTaskSettleNum 结案人数+1
 func SetSpecialTaskSettleNum(ctx context.Context, TaskIDs []string) error {
 	db := GetReadDB(ctx)
@@ -404,6 +424,25 @@ func SetSpecialTaskSettleNum(ctx context.Context, TaskIDs []string) error {
 	}
 	return nil
 }
+func SetLocalLifeSettleFlag(ctx context.Context, localid string) error {
+	db := GetReadDB(ctx)
+	var tasks []gorm_model.YoungeeLocalTaskInfo
+	err := db.Where("local_id = ?", localid).Find(&tasks).Error
+	if err != nil {
+		return err
+	}
+	settleflag := 1
+	for _, taskInfo := range tasks {
+		if taskInfo.TaskStage != 15 && taskInfo.TaskStage != 16 {
+			settleflag = 0
+		}
+	}
+	err = db.Model(gorm_model.YounggeeLocalLifeInfo{}).Where("local_id = ?", localid).Update("settle_flag", settleflag).Error
+	if err != nil {
+		return err
+	}
+	return nil
+}
 
 // SetSpecialTaskSettleNum 结案人数+1
 func SetSpecialLocalTaskSettleNum(ctx context.Context, TaskIDs []string) error {

+ 1 - 0
model/gorm_model/locallife_info.go

@@ -48,6 +48,7 @@ type YounggeeLocalLifeInfo struct {
 	NeedCalculate       int        `gorm:"column:need_calculate;type:int(11);default:0;comment:待结算;NOT NULL" json:"need_calculate"`
 	InvoiceStatus       int        `gorm:"column:invoice_status;type:int(11);default:0;comment:开票状态(1开票中 2已开票);NOT NULL" json:"invoice_status"`
 	NeedPay             float64    `gorm:"column:need_pay"`
+	SettleFlag          int        `gorm:"column:settle_flag"`
 }
 
 func (m *YounggeeLocalLifeInfo) TableName() string {

+ 1 - 0
model/gorm_model/project.go

@@ -49,6 +49,7 @@ type ProjectInfo struct {
 	Tools             string     `gorm:"column:tools"`                    // 工具选择,1邀约招募 2结算账单 3样品物流 4审稿工具 5作品审查 6数据巡检(,分隔)
 	InvoiceStatus     int64      `gorm:"column:invoice_status"`           // 开票状态(1开票中 2已开票)
 	NeedPay           float64    `gorm:"column:need_pay"`
+	SettleFlag        int        `gorm:"column:settle_flag"`
 }
 
 func (m *ProjectInfo) TableName() string {

+ 21 - 0
service/data.go

@@ -124,6 +124,12 @@ func (*data) AcceptData(ctx context.Context, request http_model.AcceptDataReques
 			logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
 			return nil, err
 		}
+
+		err = db.SetProjectSettleFlag(ctx, request.ProjectId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Data service] call SetProjectSettleFlag error,err:%+v", err)
+			return nil, err
+		}
 		//// 3. 判断是否全部任务已结案,若已全部结案则触发项目结案
 		//// 查询task_stage<15的任务数量
 		//unFinishedTaskNumber, err1 := db.GetUnfinishedTaskNumber(ctx, request.ProjectId)
@@ -157,6 +163,11 @@ func (*data) AcceptData(ctx context.Context, request http_model.AcceptDataReques
 			logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
 			return nil, err
 		}
+		err = db.SetProjectSettleFlag(ctx, request.ProjectId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Data service] call SetProjectSettleFlag error,err:%+v", err)
+			return nil, err
+		}
 		// 3. 判断是否全部任务已结案,若已全部结案则触发项目结案
 		// 查询task_stage<15的任务数量
 		//unFinishedTaskNumber, err1 := db.GetUnfinishedTaskNumber(ctx, request.ProjectId)
@@ -223,6 +234,11 @@ func (*data) LocalAcceptData(ctx context.Context, request http_model.LocalAccept
 			logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
 			return nil, err
 		}
+		err = db.SetLocalLifeSettleFlag(ctx, request.ProjectId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Data service] call SetLocalLifeSettleFlag error,err:%+v", err)
+			return nil, err
+		}
 		//// 3. 判断是否全部任务已结案,若已全部结案则触发项目结案
 		//// 查询task_stage<15的任务数量
 		//unFinishedTaskNumber, err1 := db.GetUnfinishedTaskNumber(ctx, request.ProjectId)
@@ -256,6 +272,11 @@ func (*data) LocalAcceptData(ctx context.Context, request http_model.LocalAccept
 			logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
 			return nil, err
 		}
+		err = db.SetLocalLifeSettleFlag(ctx, request.ProjectId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Data service] call SetLocalLifeSettleFlag error,err:%+v", err)
+			return nil, err
+		}
 		//// 3. 判断是否全部任务已结案,若已全部结案则触发项目结案
 		//// 查询task_stage<15的任务数量
 		//unFinishedTaskNumber, err1 := db.GetUnfinishedTaskNumber(ctx, request.ProjectId)