diff --git a/dsDataex/MyService/DataEX/DataexService/BaseGOProc.go b/dsDataex/MyService/DataEX/DataexService/BaseGOProc.go index 8cc23ee8..fd28283e 100644 --- a/dsDataex/MyService/DataEX/DataexService/BaseGOProc.go +++ b/dsDataex/MyService/DataEX/DataexService/BaseGOProc.go @@ -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 +} \ No newline at end of file diff --git a/dsDataex/MyService/DataEX/DataexService/DataexService.go b/dsDataex/MyService/DataEX/DataexService/DataexService.go index e9d9489e..d3381917 100644 --- a/dsDataex/MyService/DataEX/DataexService/DataexService.go +++ b/dsDataex/MyService/DataEX/DataexService/DataexService.go @@ -258,10 +258,11 @@ func DataexSetBatch(systemID string, datas []MySwagger.Data,datasource *models.T esData2.BeginTime = DataEX.JsonDate(now) esData2.EndTime = DataEX.JsonDate(time.Date(9999,9,9,9,9,9,0,time.Now().Location())) - esData2.OrgId=datas[no].OrgID esData2.DelFlag=datas[no].DelFlag //change by zhangjun 2020-07-15 + //esData2.OrgId=datas[no].OrgID //esData2.DataId=datas[no].DataID + esData2.OrgId=strings.ToLower(datas[no].OrgID) esData2.DataId=strings.ToLower(datas[no].DataID) var jsonData map[string]interface{}