刷新物料订单状态修改
This commit is contained in:
@@ -1244,14 +1244,15 @@ func RefreshAllMatterOrderStatus() (err error) {
|
||||
err = dao.GetRows(db, &goodsList, sql, sqlParams)
|
||||
for _, v := range goodsList {
|
||||
var (
|
||||
goodsList2 []*model.GoodsOrder
|
||||
finishedCount int
|
||||
goodsList2 []*model.GoodsOrder
|
||||
cancelCount int
|
||||
deliveringCount int
|
||||
)
|
||||
sql2 := "SELECT * FROM goods_order WHERE vendor_order_id LIKE ? OR vendor_order_id LIKE ? AND vendor_id = ? AND eclp_out_id <> '' AND LENGTH(vendor_order_id) = 16"
|
||||
sqlParams2 := []interface{}{v.VendorOrderID + "0%", v.VendorOrderID + "1%", model.VendorIDJX}
|
||||
err = dao.GetRows(db, &goodsList2, sql2, sqlParams2)
|
||||
for _, vv := range goodsList2 {
|
||||
if vv.Status != model.OrderStatusFinished {
|
||||
if vv.Status < model.OrderStatusFinished {
|
||||
queryOrderStatus, _ := api.JdEclpAPI.QueryOrderStatus(vv.EclpOutID)
|
||||
if len(queryOrderStatus.OrderStatusList) > 0 {
|
||||
if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 {
|
||||
@@ -1264,26 +1265,31 @@ func RefreshAllMatterOrderStatus() (err error) {
|
||||
}()
|
||||
vv.Status = model.OrderStatusFinished
|
||||
dao.UpdateEntity(db, vv, "Status")
|
||||
finishedCount++
|
||||
dao.Commit(db)
|
||||
} else {
|
||||
deliveringCount++
|
||||
}
|
||||
}
|
||||
} else {
|
||||
finishedCount++
|
||||
} else if vv.Status == model.OrderStatusCanceled {
|
||||
cancelCount++
|
||||
}
|
||||
}
|
||||
if finishedCount == len(goodsList2) {
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if deliveringCount == 0 {
|
||||
v.Status = model.OrderStatusFinished
|
||||
dao.UpdateEntity(db, v, "Status")
|
||||
dao.Commit(db)
|
||||
} else {
|
||||
if cancelCount == len(goodsList2) {
|
||||
v.Status = model.OrderStatusCanceled
|
||||
}
|
||||
}
|
||||
dao.UpdateEntity(db, v, "Status")
|
||||
dao.Commit(db)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user