|
|
@@ -30,32 +30,42 @@ type Company struct {
|
|
|
T_Address string `orm:"size(256);null"` // 地址
|
|
|
T_coordinate string `orm:"size(256);null"` // 坐标
|
|
|
|
|
|
- T_path string `orm:"size(256);null"` // 公司路径 /0/1/5/
|
|
|
- T_money float32 `orm:"digits(12);decimals(2)"`
|
|
|
- T_State int `orm:"size(200);default(1)"` // 0删除 1正常
|
|
|
- T_warning int `orm:"size(20);default(1)"` // 是否处理报警信息 1处理 2不处理
|
|
|
- T_Charging int `orm:"size(11);default(0)"` // 记账扣费 公司ID 默认为:0 (自己)
|
|
|
- CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` // auto_now 每次 model 保存时都会对时间自动更新
|
|
|
- UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` // auto_now_add 第一次保存时才设置时间
|
|
|
+ T_path string `orm:"size(256);null"` // 公司路径 /0/1/5/
|
|
|
+ T_money float32 `orm:"digits(12);decimals(2)"`
|
|
|
+ T_State int `orm:"size(200);default(1)"` // 0删除 1正常
|
|
|
+ T_warning int `orm:"size(20);default(1)"` // 是否处理报警信息 1处理 2不处理
|
|
|
+ T_Charging int `orm:"size(11);default(0)"` // 记账扣费 公司ID 默认为:0 (自己)
|
|
|
+
|
|
|
+ T_ThirdPartiesSkip string `orm:"type(text);null"` // 第三方跳转路径
|
|
|
+ T_expirationTime string `orm:"size(256);null"` // 到期时间
|
|
|
+ CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` // auto_now 每次 model 保存时都会对时间自动更新
|
|
|
+ UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` // auto_now_add 第一次保存时才设置时间
|
|
|
|
|
|
Children []Company `orm:"-"`
|
|
|
}
|
|
|
|
|
|
type Company_R struct {
|
|
|
- Id int
|
|
|
- T_mid int // 上一级 ID
|
|
|
- T_name string // 公司名称
|
|
|
- T_plan string // 平面图
|
|
|
- T_data string // 大数据
|
|
|
- T_v3d string // 3D 视图
|
|
|
- T_money float32 // 余额
|
|
|
- T_warning int // 报警统计
|
|
|
- T_key string
|
|
|
- T_type int // 公司类型 1-医药公司 2-运输企业
|
|
|
- T_Charging int
|
|
|
- T_Address string
|
|
|
- T_coordinate string
|
|
|
- Children []Company_R
|
|
|
+ Id int
|
|
|
+ T_mid int // 上一级 ID
|
|
|
+ T_name string // 公司名称
|
|
|
+ T_plan string // 平面图
|
|
|
+ T_data string // 大数据
|
|
|
+ T_v3d string // 3D 视图
|
|
|
+ T_money float32 // 余额
|
|
|
+ T_warning int // 报警统计
|
|
|
+ T_key string
|
|
|
+ T_type int // 公司类型 1-医药公司 2-运输企业
|
|
|
+ T_Charging int
|
|
|
+ T_Address string
|
|
|
+ T_coordinate string
|
|
|
+ T_expirationTime string
|
|
|
+ Children []Company_R
|
|
|
+ ThirdPartiesSkip []ThirdPartiesSkip
|
|
|
+}
|
|
|
+
|
|
|
+type ThirdPartiesSkip struct {
|
|
|
+ SystemName string `json:"systemName"` // 系统名称
|
|
|
+ Link string `json:"link"` // 跳转链接
|
|
|
}
|
|
|
|
|
|
func CompanyToCompany_R(r Company) (v Company_R) {
|
|
|
@@ -72,6 +82,8 @@ func CompanyToCompany_R(r Company) (v Company_R) {
|
|
|
v.T_type = r.T_type
|
|
|
v.T_Address = r.T_Address
|
|
|
v.T_coordinate = r.T_coordinate
|
|
|
+ v.T_expirationTime = r.T_expirationTime
|
|
|
+ json.Unmarshal([]byte(r.T_ThirdPartiesSkip), &v.ThirdPartiesSkip)
|
|
|
return v
|
|
|
}
|
|
|
|
|
|
@@ -299,20 +311,21 @@ func Read_Company_Tree(admin_r Admin, T_name string) (CompanyList []Company_R) {
|
|
|
continue
|
|
|
}
|
|
|
r := Company_R{
|
|
|
- Id: maps[i].Id,
|
|
|
- T_mid: maps[i].T_mid,
|
|
|
- T_name: maps[i].T_name,
|
|
|
- T_plan: maps[i].T_plan,
|
|
|
- T_data: maps[i].T_data,
|
|
|
- T_v3d: maps[i].T_v3d,
|
|
|
- T_money: maps[i].T_money,
|
|
|
- T_warning: maps[i].T_warning,
|
|
|
- T_Charging: maps[i].T_Charging,
|
|
|
- T_key: maps[i].T_key,
|
|
|
- T_type: maps[i].T_type,
|
|
|
- T_Address: maps[i].T_Address,
|
|
|
- T_coordinate: maps[i].T_coordinate,
|
|
|
- Children: nil,
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ T_plan: maps[i].T_plan,
|
|
|
+ T_data: maps[i].T_data,
|
|
|
+ T_v3d: maps[i].T_v3d,
|
|
|
+ T_money: maps[i].T_money,
|
|
|
+ T_warning: maps[i].T_warning,
|
|
|
+ T_Charging: maps[i].T_Charging,
|
|
|
+ T_key: maps[i].T_key,
|
|
|
+ T_type: maps[i].T_type,
|
|
|
+ T_Address: maps[i].T_Address,
|
|
|
+ T_coordinate: maps[i].T_coordinate,
|
|
|
+ T_expirationTime: maps[i].T_expirationTime,
|
|
|
+ Children: nil,
|
|
|
}
|
|
|
info := CompanyCall(maps, r)
|
|
|
CompanyList = append(CompanyList, info)
|
|
|
@@ -320,20 +333,21 @@ func Read_Company_Tree(admin_r Admin, T_name string) (CompanyList []Company_R) {
|
|
|
} else {
|
|
|
for i := 0; i < len(maps); i++ {
|
|
|
r := Company_R{
|
|
|
- Id: maps[i].Id,
|
|
|
- T_mid: maps[i].T_mid,
|
|
|
- T_name: maps[i].T_name,
|
|
|
- T_plan: maps[i].T_plan,
|
|
|
- T_data: maps[i].T_data,
|
|
|
- T_v3d: maps[i].T_v3d,
|
|
|
- T_money: maps[i].T_money,
|
|
|
- T_warning: maps[i].T_warning,
|
|
|
- T_Charging: maps[i].T_Charging,
|
|
|
- T_key: maps[i].T_key,
|
|
|
- T_type: maps[i].T_type,
|
|
|
- T_Address: maps[i].T_Address,
|
|
|
- T_coordinate: maps[i].T_coordinate,
|
|
|
- Children: nil,
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ T_plan: maps[i].T_plan,
|
|
|
+ T_data: maps[i].T_data,
|
|
|
+ T_v3d: maps[i].T_v3d,
|
|
|
+ T_money: maps[i].T_money,
|
|
|
+ T_warning: maps[i].T_warning,
|
|
|
+ T_Charging: maps[i].T_Charging,
|
|
|
+ T_key: maps[i].T_key,
|
|
|
+ T_type: maps[i].T_type,
|
|
|
+ T_Address: maps[i].T_Address,
|
|
|
+ T_coordinate: maps[i].T_coordinate,
|
|
|
+ T_expirationTime: maps[i].T_expirationTime,
|
|
|
+ Children: nil,
|
|
|
}
|
|
|
info := CompanyCall(maps, r)
|
|
|
CompanyList = append(CompanyList, info)
|
|
|
@@ -452,18 +466,19 @@ func Read_Company_List(T_name string) (CompanyList []Company_R) {
|
|
|
continue
|
|
|
}
|
|
|
r := Company_R{
|
|
|
- Id: maps[i].Id,
|
|
|
- T_mid: maps[i].T_mid,
|
|
|
- T_name: maps[i].T_name,
|
|
|
- T_plan: maps[i].T_plan,
|
|
|
- T_data: maps[i].T_data,
|
|
|
- T_v3d: maps[i].T_v3d,
|
|
|
- T_money: maps[i].T_money,
|
|
|
- T_warning: maps[i].T_warning,
|
|
|
- T_type: maps[i].T_type,
|
|
|
- T_Address: maps[i].T_Address,
|
|
|
- T_coordinate: maps[i].T_coordinate,
|
|
|
- Children: nil,
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ T_plan: maps[i].T_plan,
|
|
|
+ T_data: maps[i].T_data,
|
|
|
+ T_v3d: maps[i].T_v3d,
|
|
|
+ T_money: maps[i].T_money,
|
|
|
+ T_warning: maps[i].T_warning,
|
|
|
+ T_type: maps[i].T_type,
|
|
|
+ T_Address: maps[i].T_Address,
|
|
|
+ T_coordinate: maps[i].T_coordinate,
|
|
|
+ T_expirationTime: maps[i].T_expirationTime,
|
|
|
+ Children: nil,
|
|
|
}
|
|
|
info := CompanyCall(maps, r)
|
|
|
CompanyList = append(CompanyList, info)
|
|
|
@@ -471,18 +486,19 @@ func Read_Company_List(T_name string) (CompanyList []Company_R) {
|
|
|
} else {
|
|
|
for i := 0; i < len(maps); i++ {
|
|
|
r := Company_R{
|
|
|
- Id: maps[i].Id,
|
|
|
- T_mid: maps[i].T_mid,
|
|
|
- T_name: maps[i].T_name,
|
|
|
- T_plan: maps[i].T_plan,
|
|
|
- T_data: maps[i].T_data,
|
|
|
- T_v3d: maps[i].T_v3d,
|
|
|
- T_money: maps[i].T_money,
|
|
|
- T_warning: maps[i].T_warning,
|
|
|
- T_type: maps[i].T_type,
|
|
|
- T_Address: maps[i].T_Address,
|
|
|
- T_coordinate: maps[i].T_coordinate,
|
|
|
- Children: nil,
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ T_plan: maps[i].T_plan,
|
|
|
+ T_data: maps[i].T_data,
|
|
|
+ T_v3d: maps[i].T_v3d,
|
|
|
+ T_money: maps[i].T_money,
|
|
|
+ T_warning: maps[i].T_warning,
|
|
|
+ T_type: maps[i].T_type,
|
|
|
+ T_Address: maps[i].T_Address,
|
|
|
+ T_coordinate: maps[i].T_coordinate,
|
|
|
+ T_expirationTime: maps[i].T_expirationTime,
|
|
|
+ Children: nil,
|
|
|
}
|
|
|
info := CompanyCall(maps, r)
|
|
|
CompanyList = append(CompanyList, info)
|
|
|
@@ -521,19 +537,20 @@ func Read_Transport_Company_List(T_name string) (CompanyList []Company_R) {
|
|
|
continue
|
|
|
}
|
|
|
r := Company_R{
|
|
|
- Id: maps[i].Id,
|
|
|
- T_mid: maps[i].T_mid,
|
|
|
- T_name: maps[i].T_name,
|
|
|
- T_plan: maps[i].T_plan,
|
|
|
- T_data: maps[i].T_data,
|
|
|
- T_v3d: maps[i].T_v3d,
|
|
|
- T_money: maps[i].T_money,
|
|
|
- T_warning: maps[i].T_warning,
|
|
|
- T_Charging: maps[i].T_Charging,
|
|
|
- T_key: maps[i].T_key,
|
|
|
- T_Address: maps[i].T_Address,
|
|
|
- T_coordinate: maps[i].T_coordinate,
|
|
|
- Children: nil,
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ T_plan: maps[i].T_plan,
|
|
|
+ T_data: maps[i].T_data,
|
|
|
+ T_v3d: maps[i].T_v3d,
|
|
|
+ T_money: maps[i].T_money,
|
|
|
+ T_warning: maps[i].T_warning,
|
|
|
+ T_Charging: maps[i].T_Charging,
|
|
|
+ T_key: maps[i].T_key,
|
|
|
+ T_Address: maps[i].T_Address,
|
|
|
+ T_coordinate: maps[i].T_coordinate,
|
|
|
+ T_expirationTime: maps[i].T_expirationTime,
|
|
|
+ Children: nil,
|
|
|
}
|
|
|
info := CompanyCall(maps, r)
|
|
|
CompanyList = append(CompanyList, info)
|
|
|
@@ -541,19 +558,20 @@ func Read_Transport_Company_List(T_name string) (CompanyList []Company_R) {
|
|
|
} else {
|
|
|
for i := 0; i < len(maps); i++ {
|
|
|
r := Company_R{
|
|
|
- Id: maps[i].Id,
|
|
|
- T_mid: maps[i].T_mid,
|
|
|
- T_name: maps[i].T_name,
|
|
|
- T_plan: maps[i].T_plan,
|
|
|
- T_data: maps[i].T_data,
|
|
|
- T_v3d: maps[i].T_v3d,
|
|
|
- T_money: maps[i].T_money,
|
|
|
- T_warning: maps[i].T_warning,
|
|
|
- T_Charging: maps[i].T_Charging,
|
|
|
- T_key: maps[i].T_key,
|
|
|
- T_Address: maps[i].T_Address,
|
|
|
- T_coordinate: maps[i].T_coordinate,
|
|
|
- Children: nil,
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ T_plan: maps[i].T_plan,
|
|
|
+ T_data: maps[i].T_data,
|
|
|
+ T_v3d: maps[i].T_v3d,
|
|
|
+ T_money: maps[i].T_money,
|
|
|
+ T_warning: maps[i].T_warning,
|
|
|
+ T_Charging: maps[i].T_Charging,
|
|
|
+ T_key: maps[i].T_key,
|
|
|
+ T_Address: maps[i].T_Address,
|
|
|
+ T_coordinate: maps[i].T_coordinate,
|
|
|
+ T_expirationTime: maps[i].T_expirationTime,
|
|
|
+ Children: nil,
|
|
|
}
|
|
|
info := CompanyCall(maps, r)
|
|
|
CompanyList = append(CompanyList, info)
|
|
|
@@ -584,6 +602,7 @@ func CompanyCall(CompanyList []Company, company Company_R) Company_R {
|
|
|
mi.T_type = list[j].T_type
|
|
|
mi.T_Address = list[j].T_Address
|
|
|
mi.T_coordinate = list[j].T_coordinate
|
|
|
+ mi.T_expirationTime = list[j].T_expirationTime
|
|
|
mi.Children = []Company_R{}
|
|
|
ms := CompanyCall(CompanyList, mi)
|
|
|
min = append(min, ms)
|
|
|
@@ -688,6 +707,63 @@ func Read_Company_List_ByT_pids(T_pids string) (CompanyList []Company_R) {
|
|
|
|
|
|
return CompanyList
|
|
|
}
|
|
|
+func Read_UnBind_Company_List_ByT_pids(T_pids, T_name string) (CompanyList []Company_R) {
|
|
|
+
|
|
|
+ o := orm.NewOrm()
|
|
|
+ // 也可以直接使用 Model 结构体作为表名
|
|
|
+
|
|
|
+ qs := o.QueryTable(new(Company))
|
|
|
+ var maps []Company
|
|
|
+ cond := orm.NewCondition()
|
|
|
+ cond1 := cond.And("T_State", 1)
|
|
|
+
|
|
|
+ if T_pids == "*" {
|
|
|
+ return CompanyList
|
|
|
+ }
|
|
|
+
|
|
|
+ list := lib.SplitStringIds(T_pids, "P")
|
|
|
+ if len(list) > 0 {
|
|
|
+ cond1 = cond1.AndNot("Id__in", list)
|
|
|
+ }
|
|
|
+ if len(T_name) > 0 {
|
|
|
+ cond1 = cond1.And("T_name__icontains", T_name)
|
|
|
+ }
|
|
|
+ _, err := qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&maps)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error(lib.FuncName(), err)
|
|
|
+ return CompanyList
|
|
|
+ }
|
|
|
+
|
|
|
+ parentMap, flag := getCompanyParent(maps)
|
|
|
+ if flag {
|
|
|
+ for i := 0; i < len(maps); i++ {
|
|
|
+ if parentMap[maps[i].T_mid] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ r := Company_R{
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ Children: nil,
|
|
|
+ }
|
|
|
+ info := CompanyCall(maps, r)
|
|
|
+ CompanyList = append(CompanyList, info)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for i := 0; i < len(maps); i++ {
|
|
|
+ r := Company_R{
|
|
|
+ Id: maps[i].Id,
|
|
|
+ T_mid: maps[i].T_mid,
|
|
|
+ T_name: maps[i].T_name,
|
|
|
+ Children: nil,
|
|
|
+ }
|
|
|
+ info := CompanyCall(maps, r)
|
|
|
+ CompanyList = append(CompanyList, info)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return CompanyList
|
|
|
+}
|
|
|
|
|
|
func Read_Company_All_Maps() {
|
|
|
o := orm.NewOrm()
|