@ -7,7 +7,9 @@ import (
"dsDataex/MyService/MySwagger"
"dsDataex/Utils/CacheUtil"
"dsDataex/Utils/ConfigUtil"
"dsDataex/Utils/DbUtil"
"encoding/json"
"reflect"
"strconv"
"strings"
)
@ -22,10 +24,20 @@ func OrgtreeProc(datas []MySwagger.Data) {
var data models . TDataexOrgtree
//change by zhangjun 2020-07-15
//data.Id = jsonData["org_id"].(string)
data . Id = strings . ToLower ( jsonData [ "org_id" ] . ( string ) )
data . OrgName = jsonData [ "org_name" ] . ( string )
data . OrgType , _ = strconv . Atoi ( jsonData [ "org_type" ] . ( string ) )
switch jsonData [ "org_type" ] . ( type ) {
case float64 :
data . OrgType = ( int ) ( jsonData [ "org_type" ] . ( float64 ) )
break
case string :
data . OrgType , _ = strconv . Atoi ( jsonData [ "org_type" ] . ( string ) )
break
}
switch data . OrgType {
case 1 :
@ -83,7 +95,10 @@ func OrgtreeProc(datas []MySwagger.Data) {
data . DeleteFlag = - 1
data . EnableFlag = 1
ids := [ ] string { datas [ no ] . DataID }
//change by zhangjun 2020-07-16
//ids := []string{datas[no].DataID}
ids := [ ] string { data . Id }
result := CacheUtil . GetListByIds ( ids , CacheUtil . GetBean ( "t_dataex_orgtree" ) )
if len ( result ) == 1 {
@ -93,3 +108,99 @@ func OrgtreeProc(datas []MySwagger.Data) {
}
}
}
func OrgtreeProcBatch ( datas [ ] MySwagger . Data ) {
var IDs [ ] string
var areaIDs [ ] string
for no := 0 ; no < len ( datas ) && no < 1000 ; no ++ {
var jsonData map [ string ] interface { }
json . Unmarshal ( [ ] byte ( datas [ no ] . Data ) , & jsonData )
IDs = append ( IDs , strings . ToLower ( jsonData [ "org_id" ] . ( string ) ) )
areaIDs = append ( areaIDs , strings . ToLower ( jsonData [ "area_code" ] . ( string ) ) )
}
result := CacheUtil . GetListByIds ( IDs , CacheUtil . GetBean ( "t_dataex_orgtree" ) )
var updateIDs [ ] string
for no := 0 ; no < len ( result ) ; no ++ {
updateIDs = append ( updateIDs , result [ no ] [ "id" ] . ( string ) )
}
var sqls [ ] string
var sql string
for no := 0 ; no < len ( datas ) && no < 1000 ; no ++ {
var jsonData map [ string ] interface { }
json . Unmarshal ( [ ] byte ( datas [ no ] . Data ) , & jsonData )
var orgType string
var schoolType string
var parentID string
switch jsonData [ "org_type" ] . ( type ) {
case float64 :
orgType = strconv . FormatFloat ( jsonData [ "org_type" ] . ( float64 ) , 'f' , - 1 , 64 )
break
case string :
orgType = jsonData [ "org_type" ] . ( string )
break
}
if orgType == "2" {
schoolType = jsonData [ "xxbxlxm" ] . ( string )
}
if ConfigUtil . ROOT_ORGNAME == jsonData [ "org_name" ] . ( string ) {
parentID = "-1"
} else {
if orgType == "1" {
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"
}
parentID = DataexDAO . GetParentIDBaseGO ( areaCode )
} else {
parentID = DataexDAO . GetParentIDBaseGO ( jsonData [ "area_code" ] . ( string ) )
}
}
if Contains ( updateIDs , IDs [ no ] ) > - 1 {
sql = "update t_dataex_orgtree set org_name = '" + jsonData [ "org_name" ] . ( string ) + "',org_type=" + orgType + ",school_type='" + schoolType + "' where id='" + IDs [ no ] + "'"
} else {
}
sqls = append ( sqls , sql )
}
DbUtil . Engine . Sqls ( sqls ) . Execute ( )
}
func Contains ( array interface { } , val interface { } ) ( index int ) {
index = - 1
switch reflect . TypeOf ( array ) . Kind ( ) {
case reflect . Slice : {
s := reflect . ValueOf ( array )
for i := 0 ; i < s . Len ( ) ; i ++ {
if reflect . DeepEqual ( val , s . Index ( i ) . Interface ( ) ) {
index = i
return index
}
}
}
}
return index
}