package service import ( "fmt" "leit.com/leit_seat_aps/db" "testing" ) // 测试TOD引擎 func TestLoadProjectDataService(t *testing.T) { var ( tp TodProject bl_pt BL_Part bl_ptattr BL_PartAttribute bl_pf BL_PartFamily bl_pfattr BL_PartFamily_Atcod bl_sg BL_SupplyGroup bl_sgattr BL_SupplyGroup_Atcod bl_cm BL_Carmodel bl_cmattr BL_Carmodel_Atcod pf string bl_ptrule BL_PartAssignRule ptqtyasntab db.Me_partrule_qtyassign connstring string covtab db.Pln_custorder_ver covlst []db.Pln_custorder_ver err error ) // 连接数据库 connstring = fmt.Sprintf("server=%s;user id=%s;password=%s;database=%s;port=%d;encrypt=disable", `DESKTOP-S4G95G5\\MLINK`, "lapp", "123fis", "LAPP_JITS", 1433) if err = db.InitMssqlDb(connstring); err != nil { t.Errorf("Failed to connect db due to: %v", err) return } defer db.G_DbEngine.Close() tp = TodProject{} tp.Projectid = "G38" // 获取未解析的订单版本头 covtab = db.Pln_custorder_ver{} if covlst, err = covtab.GetProjectUnparsed(tp.Projectid); err != nil { t.Errorf("Failed to load unparsed coh list due to %v", err) } for i, _ := range covlst { fmt.Println(covlst[i]) } return // 测试获取项目的零件规则数据 if err = tp.GetPartRuleList(); err != nil { t.Errorf("Failed to load partrule list due to %v", err) } for _, bl_ptrule = range tp.Partruledict { fmt.Println(bl_ptrule.Partid, bl_ptrule.Ruleid, bl_ptrule.Qty) for _, ptqtyasntab = range bl_ptrule.Assignnruledict { fmt.Println(" ==>", ptqtyasntab) } } fmt.Println("Total loaded:", len(tp.Partruledict), " Part rules!") return // 测试获取项目的车型数据 if err = tp.GetCarModelList(); err != nil { t.Errorf("Failed to load carmodel list due to %v", err) } for _, bl_cm = range tp.Carmodeldict { fmt.Println(bl_cm.Carmodelid, bl_cm.Carmodeltab.Descr) for _, bl_cmattr = range bl_cm.Cm_attr_dict { fmt.Println(" ==>", bl_cmattr.Attrcode, bl_cmattr.Mandatory, bl_cmattr.Verifyrule) } for _, pf = range bl_cm.Cm_pf_dict { fmt.Println(" -->", pf) } } fmt.Println("Total loaded:", len(tp.Carmodeldict), " Carmodels!") // 测试获取项目的SG数据 if err = tp.GetSupplyGroupList(); err != nil { t.Errorf("Failed to load supplygroup list due to %v", err) } for _, bl_sg = range tp.Supplygrpdict { fmt.Println(bl_sg.Supplygroupid, bl_sg.Supplygrouptab.Descr) for _, bl_sgattr = range bl_sg.Sg_attr_dict { fmt.Println(" ==>", bl_sgattr.Attrcode, bl_sgattr.Mandatory, bl_sgattr.Verifyrule) } } fmt.Println("Total loaded:", len(tp.Supplygrpdict), " Supplygroups!") // 测试获取项目的PF数据 if err = tp.GetPartFamilyList(); err != nil { t.Errorf("Failed to load partfamily list due to %v", err) } for _, bl_pf = range tp.Partfamdict { fmt.Println(bl_pf.Partfamilyid) for _, bl_pfattr = range bl_pf.Pf_attr_dict { fmt.Println(" ==>", bl_pfattr.Attrcode, bl_pfattr.Mandatory, bl_pfattr.Verifyrule) } } fmt.Println("Total loaded:", len(tp.Partfamdict), " Partfamilys!") if err = tp.GetPartList(); err != nil { t.Errorf("Failed to load part list due to %v", err) } for _, bl_pt = range tp.Partdict { fmt.Println(bl_pt.Partid) for _, bl_ptattr = range bl_pt.AtcodDict { fmt.Println(" ==>", bl_ptattr.Attrcode, bl_ptattr.Attrvalue) } } fmt.Println("Total loaded:", len(tp.Partdict), " Parts!") }