diff --git a/BBWYB.Server.Business/QiKuManager.cs b/BBWYB.Server.Business/QiKuManager.cs index 7916237..4026576 100644 --- a/BBWYB.Server.Business/QiKuManager.cs +++ b/BBWYB.Server.Business/QiKuManager.cs @@ -156,7 +156,7 @@ namespace BBWYB.Server.Business IList> updateOrderSkuList = new List>(); List insertTimeLimitTaskList = new List(); - var dbTimeLimitTaskList = fsql.Select().Where(t => t.OrderId == order.Id && + var dbTimeLimitTaskList = fsql.Select().Where(t => t.OrderId == order.Id && t.TaskType == Enums.TimeLimitTaskType.合格证拟定任务).ToList(); foreach (var skuConfigured in response.Data.PackTaskSkuPurchaseSchemeIdList) { @@ -172,7 +172,7 @@ namespace BBWYB.Server.Business updateOrderSkuList.Add(update); } - if (qiKuPackState == Enums.PackConfigState.待配置 && order.ShopId != 9 && !dbTimeLimitTaskList.Any(t=>t.SkuId == orderSku.SkuId)) + if (qiKuPackState == Enums.PackConfigState.待配置 && order.ShopId != 9 && !dbTimeLimitTaskList.Any(t => t.SkuId == orderSku.SkuId)) { //创建合格证拟定任务 var t = new TimeLimitTask() @@ -232,7 +232,16 @@ namespace BBWYB.Server.Business IUpdate updateOrderSku = null; if (orderSku.PackConfigState != request.PackConfigState) - updateOrderSku = fsql.Update(orderSku.Id).Set(osku => osku.PackConfigState, request.PackConfigState); + { + updateOrderSku = fsql.Select() + .InnerJoin((osku, o) => osku.OrderId == o.Id) + .Where((osku, o) => o.OrderState != Enums.OrderState.已取消 && + o.IntoStoreType == Enums.IntoStoreType.发回齐越 && + osku.SkuId == orderSku.SkuId && + osku.PackConfigState != request.PackConfigState) + .ToUpdate() + .Set(osku => osku.PackConfigState, request.PackConfigState); + } if (request.PackConfigState == Enums.PackConfigState.需修改) { @@ -265,7 +274,7 @@ namespace BBWYB.Server.Business updateTimeLimitTask = fsql.Update().Set(t => t.CompletionTime, DateTime.Now) .Set(t => t.IsTimely == (DateTime.Now < t.ExpirationTime ? true : false)) - .Where(t => t.OrderId == request.OrderId) + //.Where(t => t.OrderId == request.OrderId) .Where(t => t.SkuId == orderSku.SkuId) .Where(t => t.CompletionTime == null) .Where(t => hgzTaskTypeList.Contains(t.TaskType));