刷新物料订单状态修改

This commit is contained in:
苏尹岚
2020-03-20 14:16:57 +08:00
parent 1e527a601b
commit 6c3e3ce0bc

View File

@@ -1245,13 +1245,14 @@ func RefreshAllMatterOrderStatus() (err error) {
for _, v := range goodsList {
var (
goodsList2 []*model.GoodsOrder
finishedCount int
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,15 +1265,15 @@ func RefreshAllMatterOrderStatus() (err error) {
}()
vv.Status = model.OrderStatusFinished
dao.UpdateEntity(db, vv, "Status")
finishedCount++
dao.Commit(db)
}
}
} else {
finishedCount++
deliveringCount++
}
}
} else if vv.Status == model.OrderStatusCanceled {
cancelCount++
}
}
if finishedCount == len(goodsList2) {
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
@@ -1280,11 +1281,16 @@ func RefreshAllMatterOrderStatus() (err error) {
panic(r)
}
}()
if deliveringCount == 0 {
v.Status = model.OrderStatusFinished
} else {
if cancelCount == len(goodsList2) {
v.Status = model.OrderStatusCanceled
}
}
dao.UpdateEntity(db, v, "Status")
dao.Commit(db)
}
}
return err
}