Browse Source

金蝶更新

pull/168/head
yehongyang 3 years ago
parent
commit
36f568c62f
4 changed files with 84 additions and 13 deletions
  1. +1
    -1
      services/base/Article.service.go
  2. +15
    -8
      services/base/implments/Article.service.impl.go
  3. +2
    -2
      task/importArticle/main.go
  4. +66
    -2
      task/k3cloud.go

+ 1
- 1
services/base/Article.service.go View File

@ -117,7 +117,7 @@ type ArticleService interface {
Insert(*global.User, *[]model.Article) error
//erp导入
ImportArticle([][]interface{})
ImportArticle([][]interface{}, map[string]string)
/******************************************************************************
*
* @Function Name : Delete


+ 15
- 8
services/base/implments/Article.service.impl.go View File

@ -225,7 +225,7 @@ func (impl *ArticleServiceImplement) UpdateOne(user *global.User, entity *model.
return nil
}
func (impl *ArticleServiceImplement) ImportArticle(_list [][]interface{}) {
func (impl *ArticleServiceImplement) ImportArticle(_list [][]interface{}, taskVal map[string]string) {
//循环
grmi.Log(nil, "/services/base/implments/Article.service.impl.go", "ImportArticle", "定时同步Article")
engine := db.Eloquent.Master()
@ -254,13 +254,6 @@ func (impl *ArticleServiceImplement) ImportArticle(_list [][]interface{}) {
continue
}
if utils.ValueToString(v[3], "") == model.ART_TYPE_FINISHED {
_articleResourceDao, _ := articleResourceDao.SelectOne(utils.ValueToString(v[3], ""))
if _articleResourceDao == nil {
articleResourceData = append(articleResourceData, modelAp.ArticleResource{
PlantNr: model.PlantNr,
ArtId: utils.ValueToString(v[3], ""),
})
}
_stockLevel, _ := stockLevelDao.SelectOne(utils.ValueToString(v[3], ""))
if _stockLevel == nil {
stockLevelData = append(stockLevelData, modelAp.ArticleStockLevel{
@ -268,6 +261,20 @@ func (impl *ArticleServiceImplement) ImportArticle(_list [][]interface{}) {
ArtId: utils.ValueToString(v[3], ""),
})
}
_articleResourceDao, _ := articleResourceDao.SelectOne(utils.ValueToString(v[3], ""))
if _articleResourceDao == nil {
articleResourceData = append(articleResourceData, modelAp.ArticleResource{
PlantNr: model.PlantNr,
ArtId: utils.ValueToString(v[3], ""),
ResourceId: taskVal["ResourceId"],
})
} else if _stockLevel != nil && _stockLevel.CompleteStatus != 1 {
//更新
_articleResourceDao.ResourceId = taskVal["ResourceId"]
_ = articleResourceDao.UpdateOne(_articleResourceDao)
}
}
isUp := false
//查询物料


+ 2
- 2
task/importArticle/main.go View File

@ -6,14 +6,14 @@ import (
)
func main() {
err := task.EtlTaskInit()
err, taskVal := task.EtlTaskArticleInit()
if err != nil {
fmt.Println(err)
return
}
task.ImportMaterial()
task.ImportMaterialGroupSearch()
task.ImportArticle()
task.ImportArticle(taskVal)
fmt.Println("OK")
return
}

+ 66
- 2
task/k3cloud.go View File

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

Loading…
Cancel
Save