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.

95 lines
2.1 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"
)
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=jsonData["org_id"].(string)
data.OrgName=jsonData["org_name"].(string)
data.OrgType=int(jsonData["org_type"].(float64))
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)
}
}
}