启龙 曹 1 year ago
commit 6bda3a4dcd

@ -41,6 +41,13 @@ namespace Khd.Core.Wcs.Wcs
//createRemoveThread.Name = "CreateRemoveLogic"; //createRemoveThread.Name = "CreateRemoveLogic";
//createRemoveThread.Start(); //createRemoveThread.Start();
//二楼、五楼人工指定库位成品出库任务
var CreateProductTaskByLocationCodeThread = new Thread(CreateProductTaskByLocationCodeLogic);
CreateProductTaskByLocationCodeThread.IsBackground = true;
CreateProductTaskByLocationCodeThread.Name = "CreateFiveProductTaskLogic";
CreateProductTaskByLocationCodeThread.Start();
//创建退库任务 //创建退库任务
var stockReturnThread = new Thread(StockReturnLogic); var stockReturnThread = new Thread(StockReturnLogic);
stockReturnThread.IsBackground = true; stockReturnThread.IsBackground = true;
@ -134,7 +141,7 @@ namespace Khd.Core.Wcs.Wcs
.Where(t => t.executeStatus == "0") .Where(t => t.executeStatus == "0")
.Where(t => t.outstockAmount > t.realOutstockAmount) .Where(t => t.outstockAmount > t.realOutstockAmount)
.Where(t => t.taskType == "5") .Where(t => t.taskType == "5")
.Where(t => t.operationType =="0") .Where(t => t.operationType == "0")
.Where(t => t.auditStatus == "1") .Where(t => t.auditStatus == "1")
.ToList(); .ToList();
@ -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);//按某个时间段 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) foreach (var item in bill)
{ {
@ -1442,7 +1449,7 @@ namespace Khd.Core.Wcs.Wcs
WmsBaseLocation? toLocation = null; WmsBaseLocation? toLocation = null;
var moveLocationList = AllWmsBaseLocations.Where(t => t.warehouseId == fromBaseLocation.warehouseId) 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(); .Where(t => string.IsNullOrEmpty(t.containerCode)).OrderBy(t => t.locDeep).ToList();
foreach (WmsBaseLocation itemLocation in moveLocationList) foreach (WmsBaseLocation itemLocation in moveLocationList)
@ -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>
/// 成品出库 /// 成品出库
/// </summary> /// </summary>
@ -1853,7 +2132,7 @@ namespace Khd.Core.Wcs.Wcs
var moveLocationList = AllWmsBaseLocations.Where(t => t.warehouseId == location.warehouseId) 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(); .Where(t => string.IsNullOrEmpty(t.containerCode) && t.locationStatus == "1").OrderBy(t => t.locDeep).ToList();
foreach (WmsBaseLocation itemLocation in moveLocationList) foreach (WmsBaseLocation itemLocation in moveLocationList)
@ -2948,7 +3227,7 @@ namespace Khd.Core.Wcs.Wcs
var moveLocationList = AllWmsBaseLocations.Where(t => t.warehouseId == location.warehouseId) 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(); .Where(t => string.IsNullOrEmpty(t.containerCode) && t.locationStatus == "1").OrderBy(t => t.locDeep).ToList();
foreach (WmsBaseLocation itemLocation in moveLocationList) foreach (WmsBaseLocation itemLocation in moveLocationList)

@ -615,23 +615,32 @@ namespace Khd.Core.Wcs.Wcs
wmsProductOutstock.executeStatus = "2"; wmsProductOutstock.executeStatus = "2";
} }
WmsProductOutstockDetail? wmsProductOutstockDetail = dbContext.WmsProductOutstockDetail.FirstOrDefault(x => x.productOutstockId == wmsProductOutstock.productOutstockId && x.locationCode == item.currPointId.ToString());
WmsProductOutstockDetail newWmsProductOutstockDetail = new WmsProductOutstockDetail(); if (wmsProductOutstockDetail != null)
newWmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId; { //人工出库mes会自动插入wcs只需要更新即可
newWmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId; wmsProductOutstockDetail.outstockAmount = 1;
newWmsProductOutstockDetail.locationCode = wmsBaseLocation.locationCode; wmsProductOutstockDetail.executeStatus = "2";
newWmsProductOutstockDetail.productBarcode = wmsProductStock.productBatch; wmsProductOutstockDetail.updateDate = DateTime.Now;
newWmsProductOutstockDetail.productId = wmsProductStock.productId; wmsProductOutstockDetail.endTime = DateTime.Now;
newWmsProductOutstockDetail.planAmount = wmsProductOutstock.applyQty; dbContext.Update(wmsProductOutstockDetail);
newWmsProductOutstockDetail.outstockAmount = wmsProductOutstock.outstockQty; }
newWmsProductOutstockDetail.executeStatus = "2"; else
newWmsProductOutstockDetail.updateBy = "WCS"; {
newWmsProductOutstockDetail.updateDate = DateTime.Now; wmsProductOutstockDetail = new WmsProductOutstockDetail();
newWmsProductOutstockDetail.beginTime = DateTime.Now; wmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId;
newWmsProductOutstockDetail.endTime = DateTime.Now; 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.locationStatus = "1";
wmsBaseLocation.containerCode = null; wmsBaseLocation.containerCode = null;
wmsBaseLocation.updateTime = DateTime.Now; wmsBaseLocation.updateTime = DateTime.Now;
@ -649,7 +658,6 @@ namespace Khd.Core.Wcs.Wcs
newTask.floorNo = 1; newTask.floorNo = 1;
newTask.taskStatus = 6; newTask.taskStatus = 6;
newTask.objid = StaticData.SnowId.NextId(); newTask.objid = StaticData.SnowId.NextId();
dbContext.Add(newWmsProductOutstockDetail);
dbContext.Remove(item); dbContext.Remove(item);
dbContext.Add(newTask); dbContext.Add(newTask);
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask); WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask);

@ -857,22 +857,32 @@ namespace Khd.Core.Wcs.Wcs
wmsProductOutstock.endTime = DateTime.Now; wmsProductOutstock.endTime = DateTime.Now;
wmsProductOutstock.executeStatus = "2"; wmsProductOutstock.executeStatus = "2";
} }
WmsProductOutstockDetail? wmsProductOutstockDetail = dbContext.WmsProductOutstockDetail.FirstOrDefault(x=>x.productOutstockId== wmsProductOutstock.productOutstockId && x.locationCode== item.currPointId.ToString());
if (wmsProductOutstockDetail != null)
WmsProductOutstockDetail newWmsProductOutstockDetail = new WmsProductOutstockDetail(); { //人工出库mes会自动插入wcs只需要更新即可
newWmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId; wmsProductOutstockDetail.outstockAmount = 1;
newWmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId; wmsProductOutstockDetail.executeStatus = "2";
newWmsProductOutstockDetail.locationCode = wmsBaseLocation.locationCode; wmsProductOutstockDetail.updateDate = DateTime.Now;
newWmsProductOutstockDetail.productBarcode = wmsProductStock.productBatch; wmsProductOutstockDetail.endTime = DateTime.Now;
newWmsProductOutstockDetail.productId = wmsProductStock.productId; dbContext.Update(wmsProductOutstockDetail);
newWmsProductOutstockDetail.planAmount = wmsProductOutstock.applyQty; }
newWmsProductOutstockDetail.outstockAmount = wmsProductOutstock.outstockQty; else
newWmsProductOutstockDetail.executeStatus = "2"; {
newWmsProductOutstockDetail.updateBy = "WCS"; wmsProductOutstockDetail = new WmsProductOutstockDetail();
newWmsProductOutstockDetail.updateDate = DateTime.Now; wmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId;
newWmsProductOutstockDetail.beginTime = DateTime.Now; wmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId;
newWmsProductOutstockDetail.endTime = DateTime.Now; 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.locationStatus = "1";
wmsBaseLocation.containerCode = null; wmsBaseLocation.containerCode = null;
@ -881,7 +891,7 @@ namespace Khd.Core.Wcs.Wcs
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext); SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
dbContext.Remove(wmsProductStock); dbContext.Remove(wmsProductStock);
dbContext.Update(wmsBaseLocation); dbContext.Update(wmsBaseLocation);
dbContext.Add(newWmsProductOutstockDetail);
dbContext.Update(wmsProductOutstock); dbContext.Update(wmsProductOutstock);
dbContext.Update(item); dbContext.Update(item);
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 }); dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 8 });

@ -2172,7 +2172,7 @@
<RowDefinition/> <RowDefinition/>
<RowDefinition/> <RowDefinition/>
<RowDefinition/> <RowDefinition/>
<RowDefinition/> <RowDefinition Height="2*"/>
<RowDefinition Height="166.667"/> <RowDefinition Height="166.667"/>
<RowDefinition/> <RowDefinition/>
<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="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="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="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="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"/> <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"/> <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> </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="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="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="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" 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="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" /> <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="确认入库" 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="取消预调度" 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"/> <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