You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
2.2 KiB

package DataexService
import (
"dsDataex/GenXorm/models"
"dsDataex/MyModel/OrgTree/OrgtreeDAO"
"dsDataex/MyService/DataEX/DataexDAO"
"dsDataex/MyService/MySwagger"
"dsDataex/Utils/CacheUtil"
"dsDataex/Utils/ConfigUtil"
"encoding/json"
"strconv"
"strings"
)
func OrgtreeProc(datas []MySwagger.Data) {
for no := 0; no < len(datas) && no < 1000; no++ {
var jsonData map[string]interface{}
json.Unmarshal([]byte(datas[no].Data), &jsonData)
var data models.TDataexOrgtree
data.Id = strings.ToLower(jsonData["org_id"].(string))
data.OrgName = jsonData["org_name"].(string)
data.OrgType, _ = strconv.Atoi(jsonData["org_type"].(string))
switch data.OrgType {
case 1:
if ConfigUtil.ROOT_ORGNAME == jsonData["org_name"].(string) {
data.ParentId = "-1"
} else {
var areaCode string
if jsonData["area_code"].(string)[4:] != "00" {
areaCode = jsonData["area_code"].(string)[0:4] + "00"
} else {
areaCode = jsonData["area_code"].(string)[0:2] + "0000"
}
data.ParentId = DataexDAO.GetParentIDBaseGO(areaCode)
}
break
case 2:
if ConfigUtil.ROOT_ORGNAME == jsonData["org_name"].(string) {
data.ParentId = "-1"
} else {
data.ParentId = DataexDAO.GetParentIDBaseGO(jsonData["area_code"].(string))
}
data.SchoolType = jsonData["xxbxlxm"].(string)
break
case 7:
if ConfigUtil.ROOT_ORGNAME == jsonData["org_name"].(string) {
data.ParentId = "-1"
} else {
data.ParentId = DataexDAO.GetParentIDBaseGO(jsonData["area_code"].(string))
}
break
default:
return
}
data.ProvinceId = jsonData["province_code"].(string)
if jsonData["city_code"].(string) == "" || jsonData["city_code"].(string) == "-1" {
data.CityId = jsonData["province_code"].(string)
} else {
data.CityId = jsonData["city_code"].(string)
}
if jsonData["district_code"].(string) == "" || jsonData["district_code"].(string) == "-1" {
data.AreaId = data.CityId
} else {
data.AreaId = jsonData["district_code"].(string)
}
data.DeleteFlag = -1
data.EnableFlag = 1
ids := []string{data.Id}
result := CacheUtil.GetListByIds(ids, CacheUtil.GetBean("t_dataex_orgtree"))
if len(result) == 1 {
OrgtreeDAO.UpdateOrgtree(data.Id, &data)
} else {
OrgtreeDAO.CreateOrgtree(&data)
}
}
}