Browse Source

完成优化

liangku_skuoptimazation
shanji 1 year ago
parent
commit
cec8f2f437
  1. 2
      BBWYB.Server.API/Controllers/PurchaseSchemeController.cs
  2. 8
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  3. 181
      BBWYB.Server.Business/SkuOptimization/SkuOptimizationBusiness.cs
  4. 3
      BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
  5. 1
      BBWYB.Server.Model/BBWYB.Server.Model.csproj
  6. 3
      BBWYB.Server.Model/Db/SpuOptimization/Spuoptimizationcompetitivetendertask.cs
  7. 20
      BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs
  8. 8
      BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs
  9. 8
      BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationChildTaskResponse.cs
  10. 20
      BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs
  11. 27
      BBWYB.Server.Model/MappingProfiles.cs

2
BBWYB.Server.API/Controllers/PurchaseSchemeController.cs

@ -206,7 +206,7 @@ namespace BBWYB.Server.API.Controllers
[HttpPost] [HttpPost]
public void BatchEditPurchaseSkuActualPrice([FromBody] BatchEditPurchaseSkuActualPriceRequest request) public void BatchEditPurchaseSkuActualPrice([FromBody] BatchEditPurchaseSkuActualPriceRequest request)
{ {
purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(request, GetUserId()); purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(request, null, GetUserId());
} }
} }
} }

8
BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -1528,9 +1528,10 @@ namespace BBWYB.Server.Business
/// 批量修改采购配件实际单价 /// 批量修改采购配件实际单价
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <param name="schemeIdList"></param>
/// <param name="userId"></param> /// <param name="userId"></param>
/// <exception cref="BusinessException"></exception> /// <exception cref="BusinessException"></exception>
public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, string userId) public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, List<long>? schemeIdList, string userId)
{ {
if (request.ItemList == null || request.ItemList.Count() == 0) if (request.ItemList == null || request.ItemList.Count() == 0)
throw new BusinessException("缺少参数"); throw new BusinessException("缺少参数");
@ -1538,7 +1539,8 @@ namespace BBWYB.Server.Business
var purchseSkuIdList = request.ItemList.Select(x => x.PurchaseSkuId).Distinct().ToList(); var purchseSkuIdList = request.ItemList.Select(x => x.PurchaseSkuId).Distinct().ToList();
var schemeIdList = fsql.Select<PurchaseSchemeProductSku>() if (schemeIdList == null || schemeIdList.Count() == 0)
schemeIdList = fsql.Select<PurchaseSchemeProductSku>()
.Where(pss => purchseSkuIdList.Contains(pss.PurchaseSkuId)) .Where(pss => purchseSkuIdList.Contains(pss.PurchaseSkuId))
.Distinct() .Distinct()
.ToList(pss => pss.SkuPurchaseSchemeId); .ToList(pss => pss.SkuPurchaseSchemeId);
@ -1562,7 +1564,7 @@ namespace BBWYB.Server.Business
{ {
if (pss.IsInvalid == 1) if (pss.IsInvalid == 1)
throw new BusinessException($"采购配件{pss.PurchaseSkuId}已失效"); throw new BusinessException($"采购配件{pss.PurchaseSkuId}已失效");
var requestSku = request.ItemList.FirstOrDefault(x => x.SkuId == pss.SkuId && x.PurchaseSkuId == pss.PurchaseSkuId); var requestSku = request.ItemList.FirstOrDefault(x => x.PurchaseSkuId == pss.PurchaseSkuId); //x.SkuId == pss.SkuId
if (requestSku != null) if (requestSku != null)
pss.ActualPrice = requestSku.ActualPrice; pss.ActualPrice = requestSku.ActualPrice;
} }

181
BBWYB.Server.Business/SkuOptimization/SkuOptimizationBusiness.cs

@ -8,6 +8,7 @@ using BBWYB.Server.Model.Dto;
using FreeSql; using FreeSql;
using Newtonsoft.Json; using Newtonsoft.Json;
using Org.BouncyCastle.Tls.Crypto; using Org.BouncyCastle.Tls.Crypto;
using System.Linq;
using Yitter.IdGenerator; using Yitter.IdGenerator;
namespace BBWYB.Server.Business namespace BBWYB.Server.Business
@ -18,13 +19,15 @@ namespace BBWYB.Server.Business
private VenderBusiness venderBusiness; private VenderBusiness venderBusiness;
private TimeLimitRules timeLimitRules; private TimeLimitRules timeLimitRules;
private UserBusiness userBusiness; private UserBusiness userBusiness;
private PurchaseSchemeBusiness purchaseSchemeBusiness;
public OptimizationBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, FreeSqlMultiDBManager fsqlManager, VenderBusiness venderBusiness, TimeLimitRules timeLimitRules, UserBusiness userBusiness) : base(fsql, nLogManager, idGenerator) public OptimizationBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, FreeSqlMultiDBManager fsqlManager, VenderBusiness venderBusiness, TimeLimitRules timeLimitRules, UserBusiness userBusiness, PurchaseSchemeBusiness purchaseSchemeBusiness) : base(fsql, nLogManager, idGenerator)
{ {
this.fsqlManager = fsqlManager; this.fsqlManager = fsqlManager;
this.venderBusiness = venderBusiness; this.venderBusiness = venderBusiness;
this.timeLimitRules = timeLimitRules; this.timeLimitRules = timeLimitRules;
this.userBusiness = userBusiness; this.userBusiness = userBusiness;
this.purchaseSchemeBusiness = purchaseSchemeBusiness;
} }
@ -129,7 +132,7 @@ namespace BBWYB.Server.Business
if (dbSpuOptimizationTaskList.Any(s => s.ProductId == productId)) //过滤未结束的spu任务 if (dbSpuOptimizationTaskList.Any(s => s.ProductId == productId)) //过滤未结束的spu任务
continue; continue;
var spuTotalInfo = spuTotalInfoList.FirstOrDefault(psi => psi.ProductId == productId); //spu销量 var spuTotalInfo = dbSpuTotalInfoList.FirstOrDefault(psi => psi.ProductId == productId); //spu销量
if (spuTotalInfo == null) if (spuTotalInfo == null)
continue; continue;
@ -143,6 +146,8 @@ namespace BBWYB.Server.Business
#region qtsku - jdsku 关系匹配 #region qtsku - jdsku 关系匹配
var currentProductSkuList = productSkuList.Where(ps => ps.ProductId == productId && var currentProductSkuList = productSkuList.Where(ps => ps.ProductId == productId &&
jdqtskuList.Any(x => x.PurchaseSkuIds == ps.Id)).ToList(); jdqtskuList.Any(x => x.PurchaseSkuIds == ps.Id)).ToList();
if (currentProductSkuList.Count() == 0)
continue;
//拳探sku-京东sku下单关系映射表 //拳探sku-京东sku下单关系映射表
var mappingQT_JDSKUDictionary = new Dictionary<string, string>(); var mappingQT_JDSKUDictionary = new Dictionary<string, string>();
@ -255,7 +260,8 @@ namespace BBWYB.Server.Business
SchemeId = ps.Id, SchemeId = ps.Id,
SkuId = ps.SkuId, SkuId = ps.SkuId,
SpuOptimizationBargainTeamTaskId = spuOptimizationBargainTeamTask.Id, SpuOptimizationBargainTeamTaskId = spuOptimizationBargainTeamTask.Id,
SpuOptimizationTaskId = spuOptimizationTask.Id SpuOptimizationTaskId = spuOptimizationTask.Id,
UpdateTime = DateTime.Now
})); }));
} }
#endregion #endregion
@ -303,7 +309,89 @@ namespace BBWYB.Server.Business
}); });
} }
/// <summary>
/// 更新报价
/// </summary>
/// <param name="request"></param>
/// <param name="userId"></param>
public void BatchUpdateCompetitiveTenderQuotation(BatchUpdateCompetitiveTenderQuotationRequest request, string userId)
{
#region 获取用户和部门信息
var uInfo = userBusiness.GetisBargainTeamByUserId(userId, true);
#endregion
#region 业务验证
var spuOptimizationTask = fsql.Select<SpuOptimizationTask>(request.SpuOptimizationTaskId).ToOne();
if (spuOptimizationTask == null)
throw new BusinessException($"待优化任务{request.SpuOptimizationTaskId}不存在");
var spuOptimizationBargainTeamTask = fsql.Select<SpuOptimizationBargainTeamTask>().Where(sbt => sbt.SpuOptimizationTaskId == request.SpuOptimizationTaskId && sbt.BelongTeamId == uInfo.department.Id).ToOne();
if (spuOptimizationBargainTeamTask == null)
throw new BusinessException($"待优化任务{request.SpuOptimizationTaskId}中不存在议价组{uInfo.department.Id}/{uInfo.department.DepartmentName}的子任务");
var skuIdList = fsql.Select<SkuOptimizationTask>().Where(s => s.SpuOptimizationTaskId == request.SpuOptimizationTaskId).ToList(s => s.SkuId);
#endregion
#region DBOperation
List<SpuOptimizationCompetitiveTenderTask> insertSpuOptimizationCompetitiveTenderTaskList = new List<SpuOptimizationCompetitiveTenderTask>();
List<long> updateCompetitiveTenderTaskIdList = new List<long>();
#endregion
//var skuList = request.ItemList.Select(x => x.SkuId).Distinct().ToList();
var purchaseSkuIdList = request.ItemList.Select(x => x.PurchaseSkuId).Distinct().ToList();
//查询竞标任务
var competitiveTenderTaskList = fsql.Select<SpuOptimizationCompetitiveTenderTask>()
.Where(ct => ct.BargainTeamId == uInfo.user.DepartmentId &&
ct.SpuOptimizationTaskId == request.SpuOptimizationTaskId &&
ct.SchemeGroupId == request.SchemeGroupId)
.ToList();
//查询配件关联的采购方案
var relationPurchaseSchemeList = fsql.Select<PurchaseScheme>()
.Where(ps => ps.SchemeGroupId == request.SchemeGroupId &&
ps.BelongBargainTeamId == uInfo.user.DepartmentId &&
fsql.Select<PurchaseSchemeProductSku>()
.Where(pss => skuIdList.Contains(pss.SkuId) &&
purchaseSkuIdList.Contains(pss.PurchaseSkuId) &&
pss.SkuPurchaseSchemeId == ps.Id).Any())
.ToList();
//筛选出不在竞标任务中的采购方案
var noJoinCompetitiveTenderPurchaseSchemeList = relationPurchaseSchemeList.Where(ps => !competitiveTenderTaskList.Any(ct => ct.SchemeId == ps.Id)).ToList();
var noJoinCompetitiveTenderPurchaseSchemeIdList = noJoinCompetitiveTenderPurchaseSchemeList.Select(x => x.Id).ToList();
//批量更新配件
purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(request.Map<BatchEditPurchaseSkuActualPriceRequest>(), noJoinCompetitiveTenderPurchaseSchemeIdList, userId);
if (noJoinCompetitiveTenderPurchaseSchemeList.Count() > 0)
{
insertSpuOptimizationCompetitiveTenderTaskList.AddRange(noJoinCompetitiveTenderPurchaseSchemeList.Select(ps => new SpuOptimizationCompetitiveTenderTask()
{
Id = idGenerator.NewLong(),
CreateTime = DateTime.Now,
BargainTeamId = uInfo.department.Id,
IsUpdateQuotedPrice = true,
SchemeGroupId = ps.SchemeGroupId,
SchemeId = ps.Id,
SkuId = ps.SkuId,
SpuOptimizationBargainTeamTaskId = spuOptimizationBargainTeamTask.Id,
SpuOptimizationTaskId = request.SpuOptimizationTaskId,
UpdateTime = DateTime.Now
}));
}
if (competitiveTenderTaskList.Count() > 0)
updateCompetitiveTenderTaskIdList.AddRange(competitiveTenderTaskList.Select(ct => ct.Id).ToList());
fsql.Transaction(() =>
{
if (insertSpuOptimizationCompetitiveTenderTaskList.Count() > 0)
fsql.Insert(insertSpuOptimizationCompetitiveTenderTaskList).ExecuteAffrows();
if (updateCompetitiveTenderTaskIdList.Count() > 0)
fsql.Update<SpuOptimizationCompetitiveTenderTask>(updateCompetitiveTenderTaskIdList)
.Set(ct => ct.IsUpdateQuotedPrice, true)
.Set(ct => ct.UpdateTime, DateTime.Now)
.ExecuteAffrows();
});
}
/// <summary> /// <summary>
/// 完成优化 /// 完成优化
@ -313,48 +401,69 @@ namespace BBWYB.Server.Business
/// <exception cref="BusinessException"></exception> /// <exception cref="BusinessException"></exception>
public void CompleteOptimization(long taskId, string userId) public void CompleteOptimization(long taskId, string userId)
{ {
#region 验证待议价任务
var optimazaionTask = fsql.Select<SkuOptimizationTask>(taskId).ToOne();
if (optimazaionTask == null)
throw new BusinessException("优化任务不存在");
if (optimazaionTask.IsOptimizationCompleted == true)
throw new BusinessException("优化任务已完成");
#endregion
#region 获取用户和部门信息 #region 获取用户和部门信息
var uInfo = userBusiness.GetisBargainTeamByUserId(userId, true); var uInfo = userBusiness.GetisBargainTeamByUserId(userId, true);
#endregion #endregion
#region 验证待议价子任务 #region 业务验证
var optimazaionChildTaskList = fsql.Select<SkuOptimizationChildTask>() var spuOptimizationTask = fsql.Select<SpuOptimizationTask>(taskId).ToOne();
.Where(sc => sc.OptimizationTaskId == optimazaionTask.Id) if (spuOptimizationTask == null)
.ToList(); throw new BusinessException($"待优化任务{taskId}不存在");
var currentOptimazaionChildTaskList = optimazaionChildTaskList.FirstOrDefault(sc => sc.BelongTeamId == uInfo.department.Id); if (spuOptimizationTask.IsOptimizationCompleted == true)
if (currentOptimazaionChildTaskList == null) throw new BusinessException("待优化任务已完成");
var spuOptimizationBargainTeamTaskList = fsql.Select<SpuOptimizationBargainTeamTask>()
.Where(sbt => sbt.SpuOptimizationTaskId == taskId && sbt.BelongTeamId == uInfo.department.Id)
.ToList();
var currentspuOptimizationBargainTeamTask = spuOptimizationBargainTeamTaskList.FirstOrDefault(sc => sc.BelongTeamId == uInfo.department.Id);
if (currentspuOptimizationBargainTeamTask == null)
throw new BusinessException($"未找到议价组{uInfo.department.DepartmentName}的议价子任务"); throw new BusinessException($"未找到议价组{uInfo.department.DepartmentName}的议价子任务");
if (currentOptimazaionChildTaskList.IsOptimizationCompleted == true) if (currentspuOptimizationBargainTeamTask.IsOptimizationCompleted == true)
throw new BusinessException($"{uInfo.department.DepartmentName}的议价子任务已完成"); throw new BusinessException($"{uInfo.department.DepartmentName}的议价子任务已完成");
currentOptimazaionChildTaskList.IsOptimizationCompleted = true; var skuIdList = fsql.Select<SkuOptimizationTask>()
.Where(s => s.SpuOptimizationTaskId == taskId)
.ToList(s => s.SkuId);
//查询该议价组的竞标任务
var competitiveTenderTaskList = fsql.Select<SpuOptimizationCompetitiveTenderTask>()
.Where(ct => ct.BargainTeamId == uInfo.user.DepartmentId &&
ct.SpuOptimizationTaskId == taskId)
.ToList();
var competitiveTenderSchemeIdList = competitiveTenderTaskList.Select(ct => ct.SchemeId.Value).ToList();
//验证该议价组的符合sku条件的采购方案是否都参与投标
var purchaseSchemeIdList = fsql.Select<PurchaseScheme>().Where(ps => ps.BelongBargainTeamId == uInfo.user.DepartmentId &&
skuIdList.Contains(ps.SkuId))
.ToList(ps => ps.Id);
var noJoinCompetitiveTenderSchemeIdList = purchaseSchemeIdList.Except(competitiveTenderSchemeIdList);
if (noJoinCompetitiveTenderSchemeIdList.Count() > 0)
throw new BusinessException($"议价组{uInfo.department.DepartmentName}存在{noJoinCompetitiveTenderSchemeIdList.Count()}个符合条件但未参与竞标的采购方案");
//验证该议价组参与投标的采购方案是否都完成报价
if (competitiveTenderTaskList.Any(ct => ct.IsUpdateQuotedPrice == false))
throw new BusinessException($"议价组{uInfo.department.DepartmentName}存在未更新报价的投标");
currentspuOptimizationBargainTeamTask.IsOptimizationCompleted = true;
#endregion #endregion
IUpdate<SkuOptimizationChildTask> updateChildTask = null;
IUpdate<SkuOptimizationTask> updateTask = null; IUpdate<SpuOptimizationBargainTeamTask> updateBargainTask = null;
IUpdate<SpuOptimizationTask> updateSpuTask = null;
IUpdate<SpuTotalSaleInfo> updateSpuSaleInfo = null; IUpdate<SpuTotalSaleInfo> updateSpuSaleInfo = null;
IUpdate<TimeLimitTask> updateTimeLimitTask = null; IUpdate<TimeLimitTask> updateTimeLimitTask = null;
if (!optimazaionChildTaskList.Any(sc => sc.IsOptimizationCompleted == false)) if (!spuOptimizationBargainTeamTaskList.Any(sc => sc.IsOptimizationCompleted == false))
{ {
//全部完成 //全部完成
#region 更新spu销量表 #region 更新spu销量表
var spuSaleInfo = fsql.Select<SpuTotalSaleInfo>(optimazaionTask.ProductId).ToOne(); var spuSaleInfo = fsql.Select<SpuTotalSaleInfo>(spuOptimizationTask.ProductId).ToOne();
if (spuSaleInfo == null) if (spuSaleInfo == null)
throw new BusinessException($"未找到spu{optimazaionTask.ProductId}销量"); throw new BusinessException($"未找到spu{spuOptimizationTask.ProductId}销量");
updateSpuSaleInfo = fsql.Update<SpuTotalSaleInfo>(optimazaionTask.ProductId) updateSpuSaleInfo = fsql.Update<SpuTotalSaleInfo>(spuOptimizationTask.ProductId)
.SetIf(spuSaleInfo.IsFirstPurchaseCompleted == false, s => s.IsFirstPurchaseCompleted, true) .SetIf(spuSaleInfo.IsFirstPurchaseCompleted == false, s => s.IsFirstPurchaseCompleted, true)
.SetIf(spuSaleInfo.IsFirstPurchaseCompleted == false, s => s.FirstPurchaseCompletedItemCount == s.ItemCount) .SetIf(spuSaleInfo.IsFirstPurchaseCompleted == false, s => s.FirstPurchaseCompletedItemCount == s.ItemCount)
.SetIf(spuSaleInfo.IsFirstPurchaseCompleted == true && .SetIf(spuSaleInfo.IsFirstPurchaseCompleted == true &&
@ -366,31 +475,31 @@ namespace BBWYB.Server.Business
.Set(s => s.UpdateTime, DateTime.Now); .Set(s => s.UpdateTime, DateTime.Now);
#endregion #endregion
#region 更新待议价任务 #region 更新待优化任务
updateTask = fsql.Update<SkuOptimizationTask>(optimazaionTask.Id) updateSpuTask = fsql.Update<SpuOptimizationTask>(spuOptimizationTask.Id)
.Set(t => t.IsOptimizationCompleted, true) .Set(t => t.IsOptimizationCompleted, true)
.Set(t => t.CompletionTime, DateTime.Now); .Set(t => t.CompletionTime, DateTime.Now);
#endregion #endregion
#region 更新待议价限时任务 #region 更新待优化限时任务
updateTimeLimitTask = fsql.Update<TimeLimitTask>().Set(t => t.CompletionTime, DateTime.Now) updateTimeLimitTask = fsql.Update<TimeLimitTask>().Set(t => t.CompletionTime, DateTime.Now)
.Set(t => t.IsTimely == (DateTime.Now < t.ExpirationTime ? true : false)) .Set(t => t.IsTimely == (DateTime.Now < t.ExpirationTime ? true : false))
.Where(t => t.TaskId == optimazaionTask.Id && .Where(t => t.TaskId == spuOptimizationTask.Id &&
t.CompletionTime == null && t.CompletionTime == null &&
t.TaskType == Enums.TimeLimitTaskType.); t.TaskType == Enums.TimeLimitTaskType.);
#endregion #endregion
} }
#region 更新待议价子任务 #region 更新待优化议价组任务
updateChildTask = fsql.Update<SkuOptimizationChildTask>(currentOptimazaionChildTaskList.Id) updateBargainTask = fsql.Update<SpuOptimizationBargainTeamTask>(currentspuOptimizationBargainTeamTask.Id)
.Set(sc => sc.IsOptimizationCompleted, true) .Set(sc => sc.IsOptimizationCompleted, true)
.Set(sc => sc.CompletionTime, DateTime.Now); .Set(sc => sc.CompletionTime, DateTime.Now);
#endregion #endregion
fsql.Transaction(() => fsql.Transaction(() =>
{ {
updateChildTask?.ExecuteAffrows(); updateSpuTask?.ExecuteAffrows();
updateTask?.ExecuteAffrows(); updateBargainTask?.ExecuteAffrows();
updateSpuSaleInfo?.ExecuteAffrows(); updateSpuSaleInfo?.ExecuteAffrows();
updateTimeLimitTask?.ExecuteAffrows(); updateTimeLimitTask?.ExecuteAffrows();
}); });

3
BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

@ -560,7 +560,8 @@ namespace BBWYB.Server.Business.Sync
SchemeId = ps.Id, SchemeId = ps.Id,
SkuId = ps.SkuId, SkuId = ps.SkuId,
SpuOptimizationBargainTeamTaskId = spuOptimizationBargainTeamTask.Id, SpuOptimizationBargainTeamTaskId = spuOptimizationBargainTeamTask.Id,
SpuOptimizationTaskId = spuOptimizationTask.Id SpuOptimizationTaskId = spuOptimizationTask.Id,
UpdateTime = DateTime.Now
})); }));
} }
#endregion #endregion

1
BBWYB.Server.Model/BBWYB.Server.Model.csproj

@ -14,6 +14,7 @@
<ItemGroup> <ItemGroup>
<Folder Include="Dto\Request\PurchaseScheme\v2\" /> <Folder Include="Dto\Request\PurchaseScheme\v2\" />
<Folder Include="Dto\Response\Optimization\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

3
BBWYB.Server.Model/Db/SpuOptimization/Spuoptimizationcompetitivetendertask.cs

@ -22,6 +22,9 @@ namespace BBWYB.Server.Model.Db
[Column(DbType = "datetime")] [Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; } public DateTime? CreateTime { get; set; }
[Column(DbType = "datetime")]
public DateTime? UpdateTime { get; set; }
/// <summary> /// <summary>
/// 是否更新报价 /// 是否更新报价
/// </summary> /// </summary>

20
BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs

@ -2,7 +2,25 @@
{ {
public class BatchUpdateCompetitiveTenderQuotationRequest public class BatchUpdateCompetitiveTenderQuotationRequest
{ {
public string SkuId { get; set; } /// <summary>
/// 优化任务Id
/// </summary>
public long SpuOptimizationTaskId { get; set; }
/// <summary>
/// 采购方案分组Id
/// </summary>
public long SchemeGroupId { get; set; }
/// <summary>
/// 配件列表
/// </summary>
public IList<BatchUpdateCompetitiveTenderQuotationItemRequest> ItemList { get; set; }
}
public class BatchUpdateCompetitiveTenderQuotationItemRequest
{
//public string SkuId { get; set; }
/// <summary> /// <summary>
/// 采购SkuId /// 采购SkuId

8
BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs

@ -12,10 +12,10 @@
///// </summary> ///// </summary>
////public long SchemeId { get; set; } ////public long SchemeId { get; set; }
/// <summary> ///// <summary>
/// SkuId ///// SkuId
/// </summary> ///// </summary>
public string SkuId { get; set; } //public string SkuId { get; set; }
/// <summary> /// <summary>
/// 采购SkuId /// 采购SkuId

8
BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationChildTaskResponse.cs

@ -1,8 +0,0 @@
using BBWYB.Server.Model.Db;
namespace BBWYB.Server.Model.Dto
{
public class SkuOptimizationChildTaskResponse: SkuOptimizationChildTask
{
}
}

20
BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs

@ -1,20 +0,0 @@
using BBWYB.Server.Model.Db;
namespace BBWYB.Server.Model.Dto
{
public class SkuOptimizationTaskResponse : SkuOptimizationTask
{
public IList<SkuOptimizationChildTaskResponse> ChildTaskList { get; set; }
/// <summary>
/// 当前用户所属团队是否完成议价子任务
/// </summary>
public bool IsOptimizationCompletedByCurrentTeam { get; set; }
/// <summary>
/// 限时任务
/// </summary>
public TimeLimitTask TimeLimitTask { get; set; }
}
}

27
BBWYB.Server.Model/MappingProfiles.cs

@ -60,18 +60,21 @@ namespace BBWYB.Server.Model
CreateMap<PurchaseSchemeProductResponse, HistoryPurchaseSchemeProduct>(); CreateMap<PurchaseSchemeProductResponse, HistoryPurchaseSchemeProduct>();
CreateMap<PurchaseSchemeProductSkuResponse, HistoryPurchaseSchemeProductSku>(); CreateMap<PurchaseSchemeProductSkuResponse, HistoryPurchaseSchemeProductSku>();
CreateMap<SkuOptimizationTask, SkuOptimizationTaskResponse>().ForPath(t => t.TimeLimitTask.Id, opt => opt.MapFrom(f => f.TimeLimitTaskId)) CreateMap<BatchUpdateCompetitiveTenderQuotationRequest, BatchEditPurchaseSkuActualPriceRequest>();
.ForPath(t => t.TimeLimitTask.CompletionTime, opt => opt.MapFrom(f => f.TimeLimitTaskCompletionTime))
.ForPath(t => t.TimeLimitTask.ExpirationTime, opt => opt.MapFrom(f => f.TimeLimitTaskExpirationTime))
.ForPath(t => t.TimeLimitTask.PayTime, opt => opt.MapFrom(f => f.TimeLimitTaskPayTime)) //CreateMap<SkuOptimizationTask, SkuOptimizationTaskResponse>().ForPath(t => t.TimeLimitTask.Id, opt => opt.MapFrom(f => f.TimeLimitTaskId))
.ForPath(t => t.TimeLimitTask.IsTimely, opt => opt.MapFrom(f => f.TimeLimitTaskIsTimely)) // .ForPath(t => t.TimeLimitTask.CompletionTime, opt => opt.MapFrom(f => f.TimeLimitTaskCompletionTime))
.ForPath(t => t.TimeLimitTask.CreateTme, opt => opt.MapFrom(f => f.TimeLimitTaskCreateTme)) // .ForPath(t => t.TimeLimitTask.ExpirationTime, opt => opt.MapFrom(f => f.TimeLimitTaskExpirationTime))
.ForPath(t => t.TimeLimitTask.OrderId, opt => opt.MapFrom(f => f.TimeLimitTaskOrderId)) // .ForPath(t => t.TimeLimitTask.PayTime, opt => opt.MapFrom(f => f.TimeLimitTaskPayTime))
.ForPath(t => t.TimeLimitTask.OrderSn, opt => opt.MapFrom(f => f.TimeLimitTaskOrderSn)) // .ForPath(t => t.TimeLimitTask.IsTimely, opt => opt.MapFrom(f => f.TimeLimitTaskIsTimely))
.ForPath(t => t.TimeLimitTask.Remark, opt => opt.MapFrom(f => f.TimeLimitTaskRemark)) // .ForPath(t => t.TimeLimitTask.CreateTme, opt => opt.MapFrom(f => f.TimeLimitTaskCreateTme))
.ForPath(t => t.TimeLimitTask.ShopId, opt => opt.MapFrom(f => f.TimeLimitTaskShopId)) // .ForPath(t => t.TimeLimitTask.OrderId, opt => opt.MapFrom(f => f.TimeLimitTaskOrderId))
.ForPath(t => t.TimeLimitTask.SkuId, opt => opt.MapFrom(f => f.TimeLimitTaskSkuId)) // .ForPath(t => t.TimeLimitTask.OrderSn, opt => opt.MapFrom(f => f.TimeLimitTaskOrderSn))
.ForPath(t => t.TimeLimitTask.TaskId, opt => opt.MapFrom(f => f.TimeLimitTaskBelongTaskId)); // .ForPath(t => t.TimeLimitTask.Remark, opt => opt.MapFrom(f => f.TimeLimitTaskRemark))
// .ForPath(t => t.TimeLimitTask.ShopId, opt => opt.MapFrom(f => f.TimeLimitTaskShopId))
// .ForPath(t => t.TimeLimitTask.SkuId, opt => opt.MapFrom(f => f.TimeLimitTaskSkuId))
// .ForPath(t => t.TimeLimitTask.TaskId, opt => opt.MapFrom(f => f.TimeLimitTaskBelongTaskId));
} }
} }

Loading…
Cancel
Save