|
|
@ -79,10 +79,10 @@ func oneTask(_date time.Time) { |
|
|
|
} |
|
|
|
|
|
|
|
//物料
|
|
|
|
func ImportArticle() { |
|
|
|
func ImportArticle(taskVal map[string]string) { |
|
|
|
response := utilService.BdMAterialServiceInit().MaterialSearch("", "") |
|
|
|
//将数据发送到servvice
|
|
|
|
serviceOfArticle.ImportArticle(response) |
|
|
|
serviceOfArticle.ImportArticle(response, taskVal) |
|
|
|
} |
|
|
|
|
|
|
|
//导入bom
|
|
|
@ -284,3 +284,67 @@ func EtlTaskInit() error { |
|
|
|
} |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
func EtlTaskArticleInit() (error, map[string]string) { |
|
|
|
|
|
|
|
var err error |
|
|
|
utils.TimezoneLocation, err = time.LoadLocation("Asia/Shanghai") |
|
|
|
if err != nil { |
|
|
|
return fmt.Errorf("init time zone failed:" + err.Error()), nil |
|
|
|
} |
|
|
|
//获取参数
|
|
|
|
if len(os.Args) < 6 { |
|
|
|
return fmt.Errorf("参数长度错误"), nil |
|
|
|
} |
|
|
|
//目标链接
|
|
|
|
var targetDsn = os.Args[2] |
|
|
|
var taskDsn = os.Args[3] |
|
|
|
var taskID = os.Args[5] |
|
|
|
//需要查询任务 配置
|
|
|
|
//实例化任务数据库
|
|
|
|
task, err := xorm.NewEngine("mssql", taskDsn) |
|
|
|
if err != nil { |
|
|
|
return fmt.Errorf("初始化任务数据库引擎错误:" + err.Error()), nil |
|
|
|
} |
|
|
|
var taskList []TaskParam |
|
|
|
//查询任务参数
|
|
|
|
err = task.Table("ShellParam").Where("TaskId=?", taskID).Find(&taskList) |
|
|
|
if err != nil { |
|
|
|
return fmt.Errorf("任务参数查询错误:" + err.Error()), nil |
|
|
|
} |
|
|
|
valMap := make(map[string]string) |
|
|
|
for _, v := range taskList { |
|
|
|
valMap[v.ParamName] = v.ParamValue |
|
|
|
} |
|
|
|
//实例化金蝶云
|
|
|
|
utils.K3configInit() |
|
|
|
if _info, ok := valMap["FUseOrgId"]; ok { |
|
|
|
utils.K3Obj.FUseOrgId = _info |
|
|
|
} else { |
|
|
|
return fmt.Errorf("缺少参数配置FUseOrgId"), nil |
|
|
|
} |
|
|
|
|
|
|
|
if _info, ok := valMap["FUseOrgNo"]; ok { |
|
|
|
utils.K3Obj.FUseOrgNo = _info |
|
|
|
} else { |
|
|
|
return fmt.Errorf("缺少参数配置FUseOrgNo"), nil |
|
|
|
} |
|
|
|
|
|
|
|
//实例化目标数据库
|
|
|
|
var slaves []*xorm.Engine |
|
|
|
var master *xorm.Engine |
|
|
|
master, err = xorm.NewEngine("mssql", targetDsn) |
|
|
|
if err != nil { |
|
|
|
return fmt.Errorf("链接目标库失败:" + err.Error()), nil |
|
|
|
} |
|
|
|
if err = master.Ping(); err != nil { |
|
|
|
return fmt.Errorf("链接目标库失败:" + err.Error()), nil |
|
|
|
} |
|
|
|
master.SetTZLocation(utils.TimezoneLocation) |
|
|
|
master.SetTZDatabase(utils.TimezoneLocation) |
|
|
|
db.Eloquent, err = xorm.NewEngineGroup(master, slaves) |
|
|
|
if err != nil { |
|
|
|
return fmt.Errorf("目标库使用错误:" + err.Error()), nil |
|
|
|
} |
|
|
|
return nil, valMap |
|
|
|
} |