初始
This commit is contained in:
177
test/gannt_test.go
Normal file
177
test/gannt_test.go
Normal file
@ -0,0 +1,177 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
|
||||
"github.com/tiger1103/gfast/v3/third/create"
|
||||
)
|
||||
|
||||
// 构建 gantt json 数据
|
||||
func Test_createGanttJson(t *testing.T) {
|
||||
a, err := create.FetchGanttData(context.Background(), 2)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
data, _ := json.Marshal(a)
|
||||
|
||||
println(string(data))
|
||||
}
|
||||
|
||||
// 测试创建模板数据
|
||||
func Test_createTemplateData(t *testing.T) {
|
||||
_, err := create.FetchTemplateData(context.Background(), 2)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 测试element 数据拼接
|
||||
func Test_createElement(t *testing.T) {
|
||||
group, err := create.FetchElementData(context.Background(), 2)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
data, _ := json.Marshal(group)
|
||||
|
||||
println(string(data))
|
||||
}
|
||||
|
||||
// 测试箱变导入
|
||||
// func Test_importXiangbian(t *testing.T) {
|
||||
// filePath := ""
|
||||
|
||||
// err1, s2 := shp.ReadShp(filePath)
|
||||
// if err1 != nil {
|
||||
// liberr.ErrIsNil(ctx, err1)
|
||||
// }
|
||||
// }
|
||||
|
||||
// FetchTemplateData 获取模板数据后绑定到指定的 ProJectID
|
||||
func Test_FetchTemplateData(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
|
||||
result, err := create.FetchTemplateData(ctx, 183)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
_, err = dao.WorkStatus.Ctx(ctx).Data(result).Batch(50).Insert()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 测试导入方阵后绑定到指定的 ProJectID 后修改计划表中数据
|
||||
func Test_FetchElementData(t *testing.T) {
|
||||
// 根据项目ID获取方阵数据
|
||||
ctx := context.Background()
|
||||
|
||||
projectID := 2
|
||||
|
||||
// 获取指定 ProJectID 下的所有方阵
|
||||
group := []entity.QianqiFangzhen{}
|
||||
if err := dao.QianqiFangzhen.Ctx(ctx).Where(dao.QianqiFangzhen.Columns().ProjectId, projectID).Scan(&group); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// 获取指定 ProJectID 下的所有箱变数量
|
||||
// count, err := dao.QianqiXiangbian.Ctx(ctx).Where(dao.QianqiXiangbian.Columns().ProjectId, projectID).Count()
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
|
||||
// 遍历方阵
|
||||
for _, p := range group {
|
||||
// 根据 p 的主键ID
|
||||
// 在 Work_Status 表中关联找到其数据
|
||||
|
||||
// 更新子数据
|
||||
_, err := dao.WorkStatus.Ctx(ctx).Where(dao.WorkStatus.Columns().FangzhenId, p.Id).
|
||||
// Where(dao.WorkStatus.Columns().Type, consts.).
|
||||
// Where(dao.WorkStatus.Columns()., 1).
|
||||
WhereNotNull(dao.WorkStatus.Columns().Parent).Data(
|
||||
g.Map{
|
||||
dao.WorkStatus.Columns().Total: gdb.Raw(fmt.Sprintf("total+%d", 1)),
|
||||
},
|
||||
).Update()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// count, err := result.RowsAffected()
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
|
||||
// 获取所有子集数据总和
|
||||
// all, err := dao.WorkStatus.Ctx(ctx).Where(dao.WorkStatus.Columns().FangzhenId, p.Id).
|
||||
// Where(dao.WorkStatus.Columns().Type, consts.BoxChange).
|
||||
// WhereNotNull(dao.WorkStatus.Columns().Parent).Count()
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
|
||||
// 更新父数据
|
||||
// if _, err := dao.WorkStatus.Ctx(ctx).Where(dao.WorkStatus.Columns().Id, projectID).
|
||||
// Where(dao.WorkStatus.Columns().Type, consts.BoxChange).
|
||||
// WhereNull(dao.WorkStatus.Columns().Parent).Data(
|
||||
// g.Map{
|
||||
// dao.WorkStatus.Columns().Total: gdb.Raw(fmt.Sprintf("total+%d", count)),
|
||||
// },
|
||||
// ).Update(); err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
// 拼接 model.WorkStatusChild
|
||||
// func Test_createWorkStatusChild(t *testing.T) {
|
||||
// list := []model.WorkStatusChild{}
|
||||
|
||||
// ctx := context.Background()
|
||||
|
||||
// // 获取指定 ProJectID 下的所有方阵
|
||||
// group := []entity.QianqiFangzhen{}
|
||||
// if err := dao.QianqiFangzhen.Ctx(ctx).Where(dao.QianqiFangzhen.Columns().ProjectId, 2).Scan(&group); err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
|
||||
// for _, p := range group {
|
||||
// // 获取指定 ProJectID 下的所有箱变
|
||||
// xiangbianGroup := []entity.QianqiXiangbian{}
|
||||
// if err := dao.QianqiXiangbian.Ctx(ctx).Where(dao.QianqiXiangbian.Columns().ProjectId, p.Id).Scan(&xiangbianGroup); err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
|
||||
// fangzhenList := []model.FangzhenList{}
|
||||
// for _, x := range xiangbianGroup {
|
||||
// fangzhenList = append(fangzhenList, model.FangzhenList{
|
||||
// FangzhenID: x.Id,
|
||||
// FangzhenName: x.Name,
|
||||
// })
|
||||
// }
|
||||
|
||||
// list = append(list, model.WorkStatusChild{
|
||||
// ProJectID: p.ProjectId,
|
||||
// FangzhenList: fangzhenList,
|
||||
// })
|
||||
// }
|
||||
|
||||
// data, _ := json.Marshal(list)
|
||||
// println(string(data))
|
||||
// }
|
||||
|
||||
// 批量执行 SQL
|
||||
func Test_batchUpdate(t *testing.T) {
|
||||
|
||||
}
|
Reference in New Issue
Block a user