刷新物料订单状态修改
This commit is contained in:
@@ -1245,13 +1245,14 @@ func RefreshAllMatterOrderStatus() (err error) {
|
|||||||
for _, v := range goodsList {
|
for _, v := range goodsList {
|
||||||
var (
|
var (
|
||||||
goodsList2 []*model.GoodsOrder
|
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"
|
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}
|
sqlParams2 := []interface{}{v.VendorOrderID + "0%", v.VendorOrderID + "1%", model.VendorIDJX}
|
||||||
err = dao.GetRows(db, &goodsList2, sql2, sqlParams2)
|
err = dao.GetRows(db, &goodsList2, sql2, sqlParams2)
|
||||||
for _, vv := range goodsList2 {
|
for _, vv := range goodsList2 {
|
||||||
if vv.Status != model.OrderStatusFinished {
|
if vv.Status < model.OrderStatusFinished {
|
||||||
queryOrderStatus, _ := api.JdEclpAPI.QueryOrderStatus(vv.EclpOutID)
|
queryOrderStatus, _ := api.JdEclpAPI.QueryOrderStatus(vv.EclpOutID)
|
||||||
if len(queryOrderStatus.OrderStatusList) > 0 {
|
if len(queryOrderStatus.OrderStatusList) > 0 {
|
||||||
if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 {
|
if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 {
|
||||||
@@ -1264,15 +1265,15 @@ func RefreshAllMatterOrderStatus() (err error) {
|
|||||||
}()
|
}()
|
||||||
vv.Status = model.OrderStatusFinished
|
vv.Status = model.OrderStatusFinished
|
||||||
dao.UpdateEntity(db, vv, "Status")
|
dao.UpdateEntity(db, vv, "Status")
|
||||||
finishedCount++
|
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
finishedCount++
|
deliveringCount++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if vv.Status == model.OrderStatusCanceled {
|
||||||
|
cancelCount++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if finishedCount == len(goodsList2) {
|
|
||||||
dao.Begin(db)
|
dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
@@ -1280,11 +1281,16 @@ func RefreshAllMatterOrderStatus() (err error) {
|
|||||||
panic(r)
|
panic(r)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
if deliveringCount == 0 {
|
||||||
v.Status = model.OrderStatusFinished
|
v.Status = model.OrderStatusFinished
|
||||||
|
} else {
|
||||||
|
if cancelCount == len(goodsList2) {
|
||||||
|
v.Status = model.OrderStatusCanceled
|
||||||
|
}
|
||||||
|
}
|
||||||
dao.UpdateEntity(db, v, "Status")
|
dao.UpdateEntity(db, v, "Status")
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user