修改批量操作SQL

master
zhangjun 5 years ago
parent e881f68887
commit da75043024

@ -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
}

@ -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{}

Loading…
Cancel
Save