diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2
index c6848a43..d09c5178 100644
Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/src/WMS.Web.Domain/Entitys/InStockDetails.cs b/src/WMS.Web.Domain/Entitys/InStockDetails.cs
index c1fca920..6a62a6d6 100644
--- a/src/WMS.Web.Domain/Entitys/InStockDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/InStockDetails.cs
@@ -42,7 +42,10 @@ namespace WMS.Web.Domain.Entitys
/// 箱ID
///
public int BoxId { get; set; }
-
+ ///
+ /// 是否解绑
+ ///
+ public bool? UnBind { get; set; } = false;
///
/// 对应金蝶的明细ID
///
diff --git a/src/WMS.Web.Domain/IService/IInStockService.cs b/src/WMS.Web.Domain/IService/IInStockService.cs
index 911d6ed0..d19350ef 100644
--- a/src/WMS.Web.Domain/IService/IInStockService.cs
+++ b/src/WMS.Web.Domain/IService/IInStockService.cs
@@ -73,5 +73,12 @@ namespace WMS.Web.Domain.IService
///
///
Task> Contrast(ContrastMaterialsRequest dto);
+ ///
+ /// 解绑-收货的箱子
+ ///
+ ///
+ ///
+ ///
+ Task UnBind(List boxIds, bool isTransaction = true);
}
}
diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs
index 5c8a1093..bc297b81 100644
--- a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs
@@ -129,5 +129,11 @@ namespace WMS.Web.Domain.Infrastructure
///
///
Task> GetInstockBoxIds(List boxIds);
+ ///
+ /// 集合:根据boxIDS
+ ///
+ ///
+ ///
+ Task> GetListBy(List boxIds);
}
}
diff --git a/src/WMS.Web.Domain/Services/BackRecordService.cs b/src/WMS.Web.Domain/Services/BackRecordService.cs
index 48da40b3..d068251f 100644
--- a/src/WMS.Web.Domain/Services/BackRecordService.cs
+++ b/src/WMS.Web.Domain/Services/BackRecordService.cs
@@ -35,6 +35,7 @@ namespace WMS.Web.Domain.Services
private readonly IChangeMoveBoxService _changeMoveBoxService;
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
private readonly IInStockTaskBoxService _inStockTaskBoxService;
+ private readonly IInStockService _inStockService;
public BackRecordService(IMapper mapper, ILoginService loginService,
ILogger logger,
IBasicsRepositories basicsRepositories,
@@ -43,7 +44,8 @@ namespace WMS.Web.Domain.Services
IChangeMoveBoxService changeMoveBoxService,
ISerialNumbersRepositories serialNumbersRepositories,
IBackRecordRepositories backRecordRepositories,
- IInStockTaskBoxService inStockTaskBoxService)
+ IInStockTaskBoxService inStockTaskBoxService,
+ IInStockService inStockService)
{
_mapper = mapper;
_logger = logger;
@@ -55,6 +57,7 @@ namespace WMS.Web.Domain.Services
_basicsRepositories = basicsRepositories;
_serialNumbersRepositories = serialNumbersRepositories;
_backRecordRepositories = backRecordRepositories;
+ _inStockService = inStockService;
}
///
@@ -123,6 +126,10 @@ namespace WMS.Web.Domain.Services
return unBindResult;
_logger.LogInformation("入库回退下架-结果:" + unBindResult.IsSuccess);
+ //入库单解绑
+ unBindResult = await _inStockService.UnBind(boxIds, isTransaction);
+ if (!unBindResult.IsSuccess)
+ return unBindResult;
}
//提交事务
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index 08e6a2e5..de3b4c12 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -1122,6 +1122,28 @@ namespace WMS.Web.Domain.Services
}
}
+ ///
+ /// 解绑箱子
+ ///
+ ///
+ ///
+ ///
+ public async Task UnBind(List boxIds, bool isTransaction = true)
+ {
+ var delete_ids = new List();
+ var t_boxIds = boxIds.Distinct().ToList();
+ var list = await _inStockRepositories.GetListBy(t_boxIds);
+ //解绑
+ list.ForEach(x => { x.UnBind = true; });
+
+ if (list.Count != 0)
+ {
+ var isSuccess = await _inStockRepositories.UpdateRange(list, isTransaction);
+ if (!isSuccess)
+ return Result.ReFailure(ResultCodes.DateWriteError);
+ }
+ return Result.ReSuccess();
+ }
}
}
diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs
index 482036b4..1bfad3c8 100644
--- a/src/WMS.Web.Repositories/InStockRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockRepositories.cs
@@ -501,5 +501,13 @@ namespace WMS.Web.Repositories
.SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
.Where(x => boxIds.Contains(x.detail.BoxId) && x.order.Type != InstockType.Purchase).Select(s => s.detail.BoxId).ToListAsync();
}
+
+ public async Task> GetListBy(List boxIds)
+ {
+ var entitys = await _context.InStockDetails.AsNoTracking()
+ .Where(x => boxIds.Contains(x.BoxId) && (x.UnBind == null || x.UnBind == false))
+ .ToListAsync();
+ return entitys;
+ }
}
}