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{datas[no].DataID} result := CacheUtil.GetListByIds(ids, CacheUtil.GetBean("t_dataex_orgtree")) if len(result) == 1 { OrgtreeDAO.UpdateOrgtree(data.Id, &data) } else { OrgtreeDAO.CreateOrgtree(&data) } } }