diff --git a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs
index 10b0974..0adfe0b 100644
--- a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs
+++ b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs
@@ -41,6 +41,13 @@ namespace Khd.Core.Wcs.Wcs
//createRemoveThread.Name = "CreateRemoveLogic";
//createRemoveThread.Start();
+ //二楼、五楼人工指定库位成品出库任务
+ var CreateProductTaskByLocationCodeThread = new Thread(CreateProductTaskByLocationCodeLogic);
+ CreateProductTaskByLocationCodeThread.IsBackground = true;
+ CreateProductTaskByLocationCodeThread.Name = "CreateFiveProductTaskLogic";
+ CreateProductTaskByLocationCodeThread.Start();
+
+
//创建退库任务
var stockReturnThread = new Thread(StockReturnLogic);
stockReturnThread.IsBackground = true;
@@ -134,7 +141,7 @@ namespace Khd.Core.Wcs.Wcs
.Where(t => t.executeStatus == "0")
.Where(t => t.outstockAmount > t.realOutstockAmount)
.Where(t => t.taskType == "5")
- .Where(t => t.operationType =="0")
+ .Where(t => t.operationType == "0")
.Where(t => t.auditStatus == "1")
.ToList();
@@ -143,7 +150,7 @@ namespace Khd.Core.Wcs.Wcs
{
var locations = dbContext.WmsBaseLocation
.Where(t => rawOutStock.Select(x => x.locationCode).Contains(t.locationCode))
- .AsEnumerable()
+ .AsEnumerable()
.OrderBy(x => x.locDeep == 2 ? 0 : 99)
.Select((loc, index) => new { loc.locationCode, Index = index })
.ToDictionary(item => item.locationCode, item => item.Index);
@@ -1358,7 +1365,7 @@ namespace Khd.Core.Wcs.Wcs
.Where(t => wmsRawStockLocations.Contains(t.locationCode))
.WhereIf(!string.IsNullOrEmpty(wcsTaskManual.startPointNo), t => t.locationCode == wcsTaskManual.startPointNo)
.ToList();
-
+
//手动模式
if (!string.IsNullOrEmpty(wcsTaskManual.startPointNo))
{
@@ -1388,7 +1395,7 @@ namespace Khd.Core.Wcs.Wcs
}
}
bill = bill.OrderBy(t => list.Contains(t.a.locationCode) ? 0 : 1).OrderBy(t => t.b.instockDate.Value.Date);//按某个时间段
- //#endregion
+ //#endregion
foreach (var item in bill)
{
@@ -1442,7 +1449,7 @@ namespace Khd.Core.Wcs.Wcs
WmsBaseLocation? toLocation = null;
var moveLocationList = AllWmsBaseLocations.Where(t => t.warehouseId == fromBaseLocation.warehouseId)
- .Where(t => t.warehouseId != fromBaseLocation.locationId)
+ .Where(t => t.locationId != fromBaseLocation.locationId)
.Where(t => string.IsNullOrEmpty(t.containerCode)).OrderBy(t => t.locDeep).ToList();
foreach (WmsBaseLocation itemLocation in moveLocationList)
@@ -1608,7 +1615,7 @@ namespace Khd.Core.Wcs.Wcs
useFlag = 1,
qty = 1
};
-
+
SystemData.LockOutLocation(wmsBaseLocation, dbContext);
wmsBaseLocation.locationStatus = "6";
dbContext.Update(wmsBaseLocation);
@@ -1727,6 +1734,278 @@ namespace Khd.Core.Wcs.Wcs
}
}
+
+ #region 2楼、3楼指定库位成品出库
+ ///
+ /// 人工指定库位成品出库
+ /// 二楼、五楼指定库位成品出库任务
+ ///
+ private void CreateProductTaskByLocationCodeLogic()
+ {
+ using var scope = _host.Services.CreateScope();
+ using var dbContext = scope.ServiceProvider.GetRequiredService();
+ while (true)
+ {
+ try
+ {
+ dbContext.ChangeTracker.Clear();
+
+ bool fiveTask = dbContext.WcsTask.Where(t => t.nextPointId == 28 && t.taskStatus <= 5).Any();
+ if (!fiveTask)
+ {
+ var fiveProOutStock = dbContext.WmsProductOutstock
+ .Where(t => t.outstockQty < t.applyQty)
+ .Where(t => t.auditStatus == "1")
+ .Where(t => t.warehouseId == 531)
+ .Where(t => t.operationType == "1") //不指定库位0,指定库位1
+ .Where(t => t.productType == "3")
+ .Where(t => t.executeStatus == "0" || t.executeStatus == "1").FirstOrDefault();
+ //创建任务
+ if (fiveProOutStock != null)
+ {
+ CreateTask(fiveProOutStock);
+ }
+ }
+ bool twoTask = dbContext.WcsTask.Where(t => t.nextPointId == 8 && t.taskStatus <= 7).Any();
+ if (!twoTask)
+ {
+ var twoProOutStock = dbContext.WmsProductOutstock
+ .Where(t => t.outstockQty < t.applyQty)
+ .Where(t => t.auditStatus == "1")
+ .Where(t => t.warehouseId == 231)
+ .Where(t => t.operationType == "1") //不指定库位0,指定库位1
+ .Where(t => t.productType == "3")
+ .Where(t => t.executeStatus == "0" || t.executeStatus == "1").FirstOrDefault();
+
+ //创建任务
+ if (twoProOutStock != null)
+ {
+ CreateTask(twoProOutStock);
+ }
+ }
+
+
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.Message + ex.StackTrace);
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
+ }
+ Thread.Sleep(5000);
+ }
+ }
+
+ ///
+ /// 二楼、五楼指定库位根据申请单成品出库任务
+ ///
+ ///
+ private void CreateTask(WmsProductOutstock wmsProductOutstock)
+ {
+ try
+ {
+ using var scope = _host.Services.CreateScope();
+ using var dbContext = scope.ServiceProvider.GetRequiredService();
+
+ BaseEquip agvEquip = StaticData.BaseEquip.First(t => t.objid == (wmsProductOutstock.warehouseId == 531 ? 28 : 8));
+
+ BaseEquip endEquip = StaticData.BaseEquip.First(t => t.objid == (wmsProductOutstock.warehouseId == 531 ? 5 : 1));
+ List AllWmsBaseLocations = dbContext.WmsBaseLocation.Where(t => t.warehouseId == wmsProductOutstock.warehouseId).ToList();
+ List details = dbContext.WmsProductOutstockDetail.Where(t => t.productOutstockId == wmsProductOutstock.productOutstockId).ToList();
+ if (details.Count == 0) return;
+ var locationCodes = details.Select(t => t.locationCode).Distinct().ToList();
+ //待出库列表
+ List baseLocations = AllWmsBaseLocations.Where(t => locationCodes.Contains(t.locationCode) && t.warehouseId == wmsProductOutstock.warehouseId).ToList();
+
+ baseLocations = baseLocations.OrderByDescending(t => t.locDeep).ToList(); // 浅库位优先
+ //目标出库库位
+ WmsBaseLocation targetLocation = null;
+ foreach (var item in baseLocations)
+ {
+ //二次校验任务
+ bool hasTask = false;
+ if (wmsProductOutstock.warehouseId == 531)
+ {
+ hasTask = dbContext.WcsTask.Where(t => t.nextPointId == 28 && t.taskStatus <= 5).Any();
+ }
+ else
+ {
+ hasTask = dbContext.WcsTask.Where(t => t.nextPointId == 8 && t.taskStatus <= 7).Any();
+ }
+ if (hasTask)
+ {
+ continue;
+ }
+
+ if (item.locDeep == 2 && item.locationStatus == "1" && !string.IsNullOrEmpty(item.containerCode))
+ { // 浅库位满足条件直接出
+ targetLocation = item;
+ break;
+ }
+ if (item.locDeep == 1 && item.locationStatus == "1" && !string.IsNullOrEmpty(item.containerCode)) //深库位出库 ,若浅库位有东西需要移库
+ {
+ // 计算对应浅库位坐标
+ int? locRow = item.locRow % 2 == 0 ? item.locRow - 1 : item.locRow + 1;
+ // 外侧浅库位
+ WmsBaseLocation? wmsBaseLocation = AllWmsBaseLocations.Where(t => t.locRow == locRow)
+ .Where(t => t.locColumn == item.locColumn)
+ .Where(t => t.warehouseId == item.warehouseId).FirstOrDefault();
+ if (wmsBaseLocation.locationStatus == "1" && !string.IsNullOrEmpty(wmsBaseLocation.containerCode))
+ { //移库
+
+ #region 找寻移库目标库位
+
+ WmsBaseLocation? toLocation = null;
+
+ var moveLocationList = AllWmsBaseLocations.Where(t => t.warehouseId == item.warehouseId)
+ .Where(t => string.IsNullOrEmpty(t.containerCode) && t.locationStatus == "1").OrderBy(t => t.locDeep).ToList();
+
+ foreach (WmsBaseLocation itemLocation in moveLocationList)
+ {
+
+ if (itemLocation.locDeep == 1)
+ {
+ bool hasLocation = AllWmsBaseLocations
+ .Where(t => t.locRow == (itemLocation.locRow % 2 == 1 ? (itemLocation.locRow + 1) : (itemLocation.locRow - 1)))
+ .Where(t => t.locColumn == itemLocation.locColumn)
+ .Where(t => t.locationStatus == "1" && string.IsNullOrEmpty(t.containerCode))
+ .Any();
+ if (!hasLocation)
+ {
+ Console.WriteLine(DateTime.Now + $":目标库位的浅库位库位状态异常,无法移库");
+ _logger.Info($"目标库位的浅库位库位状态异常,无法移库");
+ continue;
+ }
+ else
+ {
+ // 找到可以移库的目标库位
+ toLocation = itemLocation;
+ break;
+ }
+
+ }
+ else
+ {
+ // 找到可以移库的目标库位
+ toLocation = itemLocation;
+ break;
+ }
+
+ }
+ if (toLocation == null)
+ {
+ // 找寻下一个移库库位
+ continue;
+ }
+
+ var RemoveTask = new WcsTask()
+ {
+ objid = StaticData.SnowId.NextId(),
+ orderId = wmsProductOutstock.productOutstockId,
+ taskType = wmsProductOutstock.warehouseId == 231 ? StaticTaskType.SecondRemove : StaticTaskType.FiveRemove,
+ containerNo = wmsBaseLocation.containerCode,
+ createBy = "WCS",
+ createTime = DateTime.Now.AddSeconds(-10),
+ taskStatus = 0,
+ materialId = wmsProductOutstock.productId,
+ currPointId = wmsBaseLocation.locationId,
+ currPointNo = wmsBaseLocation.locationCode,
+ nextPointId = agvEquip.objid,
+ nextPointNo = agvEquip.equipNo,
+ endPointId = toLocation.locationId,
+ endPointNo = toLocation.locationCode,
+ equipmentNo = agvEquip.equipNo,
+ useFlag = 1,
+ qty = 1
+ };
+ SystemData.LockOutLocation(toLocation, dbContext);
+ SystemData.LockOutLocation(wmsBaseLocation, dbContext);
+ toLocation.locationStatus = "4";
+ toLocation.updateBy = "WCS";
+ toLocation.updateTime = DateTime.Now;
+ wmsBaseLocation.updateBy = "WCS";
+ wmsBaseLocation.updateTime = DateTime.Now;
+ wmsBaseLocation.locationStatus = "4";
+ dbContext.Update(toLocation);
+ dbContext.Update(wmsBaseLocation);
+ dbContext.Add(RemoveTask);
+ WcsTaskLog wcsTaskLog = CoreMapper.Map(RemoveTask);
+ dbContext.Add(wcsTaskLog);
+ targetLocation = item;
+ break;
+ #endregion
+
+ }
+ else if(wmsBaseLocation.locationStatus == "1" && string.IsNullOrEmpty(wmsBaseLocation.containerCode))
+ {
+ targetLocation = item;
+ break;
+ }
+ else if(wmsBaseLocation.locationStatus != "1")
+ {
+ //浅库位状态异常
+ continue;
+ }
+ }
+
+ }
+
+
+ WcsTask wcsTask = new WcsTask()
+ {
+ objid = StaticData.SnowId.NextId(),
+ orderId = wmsProductOutstock.productOutstockId,
+ taskType = wmsProductOutstock.warehouseId == 231 ? StaticTaskType.SecondStorageToLift : StaticTaskType.FiveProductOut,
+ containerNo = targetLocation.containerCode,
+ createBy = "WCS",
+ createTime = DateTime.Now,
+ taskStatus = 0,
+ materialId = wmsProductOutstock.productId,
+ currPointId = targetLocation.locationId,
+ currPointNo = targetLocation.locationCode,
+ nextPointId = agvEquip.objid,
+ nextPointNo = agvEquip.equipNo,
+ endPointId = endEquip.objid,
+ endPointNo = endEquip.equipNo,
+ equipmentNo = agvEquip.equipNo,
+ useFlag = 1,
+ qty = 1
+ };
+ SystemData.LockOutLocation(targetLocation, dbContext);
+ targetLocation.locationStatus = "6";
+ targetLocation.updateBy = "WCS";
+ targetLocation.updateTime = DateTime.Now;
+ dbContext.Update(targetLocation);
+ dbContext.Add(wcsTask);
+
+ wmsProductOutstock.updateBy = "WCS";
+ wmsProductOutstock.updateDate = DateTime.Now;
+ if (wmsProductOutstock.executeStatus == "0")
+ {
+ wmsProductOutstock.executeStatus = "1";
+ wmsProductOutstock.beginTime = DateTime.Now;
+ }
+ dbContext.Update(wmsProductOutstock);
+ WmsProductOutstockDetail? wmsProductOutstockDetail = dbContext.WmsProductOutstockDetail.FirstOrDefault(x => x.productOutstockId == wmsProductOutstock.productOutstockId && x.locationCode == targetLocation.locationCode);
+ if (wmsProductOutstockDetail != null)
+ {
+ wmsProductOutstockDetail.executeStatus = "1";
+ wmsProductOutstockDetail.updateBy = "WCS";
+ wmsProductOutstockDetail.updateDate = DateTime.Now;
+ wmsProductOutstockDetail.beginTime = DateTime.Now;
+ dbContext.Update(wmsProductOutstockDetail);
+ }
+ dbContext.SaveChanges();
+
+ }catch (Exception ex)
+ {
+ Console.WriteLine(ex.Message + ex.StackTrace);
+ _logger.Error(ex.Message + "\n" + ex.StackTrace);
+ }
+
+ }
+
+ #endregion
+
///
/// 成品出库
///
@@ -1851,9 +2130,9 @@ namespace Khd.Core.Wcs.Wcs
WmsBaseLocation? toLocation = null;
-
+
var moveLocationList = AllWmsBaseLocations.Where(t => t.warehouseId == location.warehouseId)
- .Where(t => t.warehouseId != location.locationId)
+ .Where(t => t.locationId != location.locationId)
.Where(t => string.IsNullOrEmpty(t.containerCode) && t.locationStatus == "1").OrderBy(t => t.locDeep).ToList();
foreach (WmsBaseLocation itemLocation in moveLocationList)
@@ -2083,7 +2362,7 @@ namespace Khd.Core.Wcs.Wcs
Console.WriteLine(ex.Message + ex.StackTrace);
_logger.Error(ex.Message + "\n" + ex.StackTrace);
}
-
+
Thread.Sleep(5000);
}
}
@@ -2570,7 +2849,7 @@ namespace Khd.Core.Wcs.Wcs
{
//原材料库存
var rawStock = dbContext.WmsRawStock
-
+
.Where(t => t.activeFlag == "1").ToList();
BaseEquip endStationCodeEquip = dbContext.BaseEquip.First(t => t.objid == 10);
if (!string.IsNullOrEmpty(endStationCodeEquip.endStationCode) && endStationCodeEquip.IsOut == 1)
@@ -2583,9 +2862,9 @@ namespace Khd.Core.Wcs.Wcs
bool hasTask = dbContext.WcsTask.Where(t => t.nextPointId == 11).Any();
if (!hasTask)
{
-
+
var orderList = rawOutStock.Where(t => endStationCodeEquip.endStationCode.Contains(t.endStationCode)).ToList();
-
+
List tasks = new();
List canOut = orderList.Select(t => t.saleOrderId).ToList();
rawStock = rawStock.Where(t => canOut.Contains(t.saleOrderId)).OrderByDescending(t => t.saleOrderId).ToList();
@@ -2946,9 +3225,9 @@ namespace Khd.Core.Wcs.Wcs
// 寻找移库目的库位
WmsBaseLocation? toLocation = null;
-
+
var moveLocationList = AllWmsBaseLocations.Where(t => t.warehouseId == location.warehouseId)
- .Where(t => t.warehouseId != location.locationId)
+ .Where(t => t.locationId != location.locationId)
.Where(t => string.IsNullOrEmpty(t.containerCode) && t.locationStatus == "1").OrderBy(t => t.locDeep).ToList();
foreach (WmsBaseLocation itemLocation in moveLocationList)
diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs
index 7bab694..36b5864 100644
--- a/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs
+++ b/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs
@@ -614,24 +614,33 @@ namespace Khd.Core.Wcs.Wcs
wmsProductOutstock.endTime = DateTime.Now;
wmsProductOutstock.executeStatus = "2";
}
-
-
- WmsProductOutstockDetail newWmsProductOutstockDetail = new WmsProductOutstockDetail();
- newWmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId;
- newWmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId;
- newWmsProductOutstockDetail.locationCode = wmsBaseLocation.locationCode;
- newWmsProductOutstockDetail.productBarcode = wmsProductStock.productBatch;
- newWmsProductOutstockDetail.productId = wmsProductStock.productId;
- newWmsProductOutstockDetail.planAmount = wmsProductOutstock.applyQty;
- newWmsProductOutstockDetail.outstockAmount = wmsProductOutstock.outstockQty;
- newWmsProductOutstockDetail.executeStatus = "2";
- newWmsProductOutstockDetail.updateBy = "WCS";
- newWmsProductOutstockDetail.updateDate = DateTime.Now;
- newWmsProductOutstockDetail.beginTime = DateTime.Now;
- newWmsProductOutstockDetail.endTime = DateTime.Now;
-
-
-
+
+ WmsProductOutstockDetail? wmsProductOutstockDetail = dbContext.WmsProductOutstockDetail.FirstOrDefault(x => x.productOutstockId == wmsProductOutstock.productOutstockId && x.locationCode == item.currPointId.ToString());
+ if (wmsProductOutstockDetail != null)
+ { //人工出库,mes会自动插入,wcs只需要更新即可
+ wmsProductOutstockDetail.outstockAmount = 1;
+ wmsProductOutstockDetail.executeStatus = "2";
+ wmsProductOutstockDetail.updateDate = DateTime.Now;
+ wmsProductOutstockDetail.endTime = DateTime.Now;
+ dbContext.Update(wmsProductOutstockDetail);
+ }
+ else
+ {
+ wmsProductOutstockDetail = new WmsProductOutstockDetail();
+ wmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId;
+ wmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId;
+ wmsProductOutstockDetail.locationCode = wmsBaseLocation.locationCode;
+ wmsProductOutstockDetail.productBarcode = wmsProductStock.productBatch;
+ wmsProductOutstockDetail.productId = wmsProductStock.productId;
+ wmsProductOutstockDetail.planAmount = wmsProductOutstock.applyQty;
+ wmsProductOutstockDetail.outstockAmount = wmsProductOutstock.outstockQty;
+ wmsProductOutstockDetail.executeStatus = "2";
+ wmsProductOutstockDetail.updateBy = "WCS";
+ wmsProductOutstockDetail.updateDate = DateTime.Now;
+ wmsProductOutstockDetail.beginTime = DateTime.Now;
+ wmsProductOutstockDetail.endTime = DateTime.Now;
+ dbContext.Add(wmsProductOutstockDetail);
+ }
wmsBaseLocation.locationStatus = "1";
wmsBaseLocation.containerCode = null;
wmsBaseLocation.updateTime = DateTime.Now;
@@ -648,8 +657,7 @@ namespace Khd.Core.Wcs.Wcs
newTask.fromFloorNo = 5;
newTask.floorNo = 1;
newTask.taskStatus = 6;
- newTask.objid = StaticData.SnowId.NextId();
- dbContext.Add(newWmsProductOutstockDetail);
+ newTask.objid = StaticData.SnowId.NextId();
dbContext.Remove(item);
dbContext.Add(newTask);
WcsTaskLog wcsTaskLog = CoreMapper.Map(newTask);
diff --git a/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs
index 1029814..9947cd3 100644
--- a/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs
+++ b/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs
@@ -857,23 +857,33 @@ namespace Khd.Core.Wcs.Wcs
wmsProductOutstock.endTime = DateTime.Now;
wmsProductOutstock.executeStatus = "2";
}
-
-
- WmsProductOutstockDetail newWmsProductOutstockDetail = new WmsProductOutstockDetail();
- newWmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId;
- newWmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId;
- newWmsProductOutstockDetail.locationCode = wmsBaseLocation.locationCode;
- newWmsProductOutstockDetail.productBarcode = wmsProductStock.productBatch;
- newWmsProductOutstockDetail.productId = wmsProductStock.productId;
- newWmsProductOutstockDetail.planAmount = wmsProductOutstock.applyQty;
- newWmsProductOutstockDetail.outstockAmount = wmsProductOutstock.outstockQty;
- newWmsProductOutstockDetail.executeStatus = "2";
- newWmsProductOutstockDetail.updateBy = "WCS";
- newWmsProductOutstockDetail.updateDate = DateTime.Now;
- newWmsProductOutstockDetail.beginTime = DateTime.Now;
- newWmsProductOutstockDetail.endTime = DateTime.Now;
-
-
+ WmsProductOutstockDetail? wmsProductOutstockDetail = dbContext.WmsProductOutstockDetail.FirstOrDefault(x=>x.productOutstockId== wmsProductOutstock.productOutstockId && x.locationCode== item.currPointId.ToString());
+ if (wmsProductOutstockDetail != null)
+ { //人工出库,mes会自动插入,wcs只需要更新即可
+ wmsProductOutstockDetail.outstockAmount = 1;
+ wmsProductOutstockDetail.executeStatus = "2";
+ wmsProductOutstockDetail.updateDate = DateTime.Now;
+ wmsProductOutstockDetail.endTime = DateTime.Now;
+ dbContext.Update(wmsProductOutstockDetail);
+ }
+ else
+ {
+ wmsProductOutstockDetail = new WmsProductOutstockDetail();
+ wmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId;
+ wmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId;
+ wmsProductOutstockDetail.locationCode = wmsBaseLocation.locationCode;
+ wmsProductOutstockDetail.productBarcode = wmsProductStock.productBatch;
+ wmsProductOutstockDetail.productId = wmsProductStock.productId;
+ wmsProductOutstockDetail.planAmount = wmsProductOutstock.applyQty;
+ wmsProductOutstockDetail.outstockAmount = wmsProductOutstock.outstockQty;
+ wmsProductOutstockDetail.executeStatus = "2";
+ wmsProductOutstockDetail.updateBy = "WCS";
+ wmsProductOutstockDetail.updateDate = DateTime.Now;
+ wmsProductOutstockDetail.beginTime = DateTime.Now;
+ wmsProductOutstockDetail.endTime = DateTime.Now;
+ dbContext.Add(wmsProductOutstockDetail);
+ }
+
wmsBaseLocation.locationStatus = "1";
wmsBaseLocation.containerCode = null;
item.nextPointId = 2;
@@ -881,7 +891,7 @@ namespace Khd.Core.Wcs.Wcs
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
dbContext.Remove(wmsProductStock);
dbContext.Update(wmsBaseLocation);
- dbContext.Add(newWmsProductOutstockDetail);
+
dbContext.Update(wmsProductOutstock);
dbContext.Update(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });
diff --git a/src/Khd.Core.Wpf/Form/FormBoardT.xaml b/src/Khd.Core.Wpf/Form/FormBoardT.xaml
index 949af06..71d679f 100644
--- a/src/Khd.Core.Wpf/Form/FormBoardT.xaml
+++ b/src/Khd.Core.Wpf/Form/FormBoardT.xaml
@@ -2172,7 +2172,7 @@
-
+
@@ -2182,7 +2182,7 @@
-
+
@@ -2194,9 +2194,9 @@
-
-
-
+
+
+