启龙 曹 1 year ago
commit 6bda3a4dcd

@ -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楼指定库位成品出库
/// <summary>
/// 人工指定库位成品出库
/// 二楼、五楼指定库位成品出库任务
/// </summary>
private void CreateProductTaskByLocationCodeLogic()
{
using var scope = _host.Services.CreateScope();
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
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);
}
}
/// <summary>
/// 二楼、五楼指定库位根据申请单成品出库任务
/// </summary>
/// <param name="wmsProductOutstock"></param>
private void CreateTask(WmsProductOutstock wmsProductOutstock)
{
try
{
using var scope = _host.Services.CreateScope();
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
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<WmsBaseLocation> AllWmsBaseLocations = dbContext.WmsBaseLocation.Where(t => t.warehouseId == wmsProductOutstock.warehouseId).ToList();
List<WmsProductOutstockDetail> 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<WmsBaseLocation> 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<WcsTaskLog>(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
/// <summary>
/// 成品出库
/// </summary>
@ -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<WcsTask> tasks = new();
List<long?> 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)

@ -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<WcsTaskLog>(newTask);

@ -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 });

@ -2172,7 +2172,7 @@
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="2*"/>
<RowDefinition Height="166.667"/>
<RowDefinition/>
<RowDefinition/>
@ -2182,7 +2182,7 @@
<TextBlock Text="扫描料箱号:" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75"/>
<TextBlock Text="扫描条码号:" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75"/>
<TextBlock Text="物料名称:" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75"/>
<TextBlock Text="物料规格:" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75"/>
<TextBlock Text="物料规格:" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="入库数量:" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75"/>
<TextBlock Text="备注信息:" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75"/>
<hc:TextBox x:Name="txtInBox" hc:InfoElement.ShowClearButton="True" FontSize="50" LostFocus="txtInBox_TextChanged" TextChanged="txtInBox_TextChanged" Width="900" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="4"/>
@ -2194,9 +2194,9 @@
</Button>
<hc:TextBox x:Name="txtInBarCode" hc:InfoElement.ShowClearButton="True" FontSize="50" LostFocus="txtInBarCode_TextChanged" TextChanged="txtInBarCode_TextChanged" Width="900" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="4"/>
<hc:TextBox x:Name="txtInStoreRemark" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="726" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="3"/>
<hc:TextBox x:Name="materialName" IsReadOnly="True" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="900" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="3"/>
<hc:TextBox x:Name="materialSpec" IsReadOnly="True" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="900" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="3"/>
<hc:TextBox x:Name="txtInScan" FontSize="50" IsReadOnly="True" Width="400" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="3" KeyDown="ScanInKeyDown" />
<hc:TextBox x:Name="materialName" IsReadOnly="True" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="970" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="4"/>
<hc:TextBox x:Name="materialSpec" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Visible" IsReadOnly="True" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="970" HorizontalAlignment="Left" VerticalAlignment="Center" Height="140" Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="4"/>
<hc:TextBox x:Name="txtInScan" FontSize="50" IsReadOnly="True" Width="400" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="3" KeyDown="ScanInKeyDown" Margin="0 20 0 20"/>
<Button Content="确认入库" Grid.Row="7" Grid.ColumnSpan="2" Width="300" Height="80" FontSize="50" Background="#346DFF" Foreground="White" Click="InRawBaseLocaltion_Click" Grid.Column="2" HorizontalAlignment="Left" Margin="125,0,0,10" VerticalAlignment="Bottom"/>
<Button Content="取消预调度" x:Name="CancelPreScheduling" Grid.Row="6" Grid.ColumnSpan="2" Width="328" Height="80" FontSize="50" Background="#346DFF" Foreground="White" HorizontalAlignment="Left" Grid.Column="4" Margin="222,0,0,0" Click="CancelPreScheduling_Click"/>
<Button Content="一键收料" Grid.Row="7" Grid.ColumnSpan="2" Width="328" Height="80" FontSize="50" Background="#346DFF" Foreground="White" Click="callPlc_Click" HorizontalAlignment="Left" Grid.Column="4" Margin="222,0,0,0"/>

Loading…
Cancel
Save