change-调度关于2楼废料bug优化

master
liuwf 1 year ago
parent fc95a3f676
commit 2b50530bed

@ -1040,7 +1040,8 @@ namespace Khd.Core.Wcs.Wcs
wasteEquip.ud3 = "0";
BaseEquip endEquip = dbContext.BaseEquip.First(t => t.objid == item.endPointId);
endEquip.emptyCount = 1;
endEquip.equipStatus = 2;
endEquip.equipStatus = 1;
endEquip.ud3 = "2";
endEquip.containerNo = item.containerNo;
dbContext.Remove(item);
dbContext.Update(wasteEquip);

@ -258,6 +258,7 @@ namespace Khd.Core.Wcs.Wcs
}
}
}
else if (wcsTask.taskStatus == 8)//小车任务完成
{
if (wcsTask.taskType == StaticTaskType.SecondStorageToLift && wcsTask.containerNo == rfid)//50是成品出库
@ -288,34 +289,7 @@ namespace Khd.Core.Wcs.Wcs
_logger.Info("二楼接驳位生成任务出库成功,托盘号:" + rfid);
Console.WriteLine(DateTime.Now + ":二楼接驳位生成任务出库成功,托盘号:" + rfid);
}
else//一般情况下是废料的任务
{
BaseEquip endEquip = StaticData.BaseEquip.First(t => t.objid == wcsTask.endPointId);
dbContext.Remove(wcsTask);
WcsTask newTask = CoreMapper.Map<WcsTask>(wcsTask);
newTask.serialNo = SystemData.GetSerialNo(dbContext);
newTask.taskStatus = 0;
newTask.objid = StaticData.SnowId.NextId();
newTask.nextPointId = tsjEquip.objid;
newTask.nextPointNo = tsjEquip.equipNo;
newTask.createTime = DateTime.Now;
newTask.updateTime = DateTime.Now;
newTask.ud1 = 30;
newTask.endPointId = endEquip.objid;
newTask.endPointNo = endEquip.equipNo;
newTask.containerNo = rfid;
newTask.currPointId = lineEquip.objid;
newTask.currPointNo = lineEquip.equipNo;
newTask.useFlag = 1;
newTask.fromFloorNo = 2;
newTask.floorNo = endEquip.floorNo;
dbContext.Add(newTask);
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask);
dbContext.Add(wcsTaskLog);
dbContext.SaveChanges();
_logger.Info("二楼接驳位生成任务出库成功,托盘号:" + rfid);
Console.WriteLine(DateTime.Now + ":二楼接驳位生成任务出库成功,托盘号:" + rfid);
}
}
}

@ -346,7 +346,7 @@ namespace Khd.Core.Wcs.Wcs
#region 人工任务完成自动删除
WcsTask? wcsTask = dbContext.WcsTask.FirstOrDefault(t => t.taskType == 99 && t.taskStatus == 5);
if (wcsTask!=null)
if (wcsTask!=null && wcsTask.endPointId<=5)
{ //人工任务已经完成,自动删除
dbContext.Remove(wcsTask);
dbContext.SaveChanges();

@ -1640,9 +1640,9 @@
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="请求空托盘" Grid.Column="0" Grid.Row="0" FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="废料区请求空托盘" Grid.Column="0" Grid.Row="0" FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Button Content="执行" Foreground="White" Background="#346DFF" Width="150" Height="75" Grid.Column="1" Grid.Row="0" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center" Click="btnSendEmptyTray_Click"/>
<TextBlock Text="出托盘到周转区" Grid.Column="2" Grid.Row="0" FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="废料区出托盘到周转区" Grid.Column="2" Grid.Row="0" FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Button Content="执行" Foreground="White" Background="#346DFF" Width="150" Height="75" Grid.Column="3" Grid.Row="0" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center" Click="btnSendTrayToTurnover_Click"/>
</Grid>
</Grid>

@ -52,6 +52,8 @@ namespace Khd.Core.Wpf.Form
/// </summary>
public partial class FormBoardT : Window
{
private List<long> productIds = new List<long>() { 231, 531, 521 };
public static long? UserId = 1;
public static readonly JcSnowId _jcSnowId = new JcSnowId();
@ -123,6 +125,7 @@ namespace Khd.Core.Wpf.Form
this._host = host;
InitializeComponent();
InventoryMaterialWindow.RefreshInventoryListEvent += GetInvertoryData;
AddTask.RefreTaskListEvent += GetTask;
}
/// <summary>
/// 页面加载事件
@ -4641,38 +4644,45 @@ namespace Khd.Core.Wpf.Form
{
HandyControl.Controls.MessageBox.Show("有任务正在执行,请等待任务完成后再执行此操作!");
return;
}else if (baseEquip.equipStatus == 1)
{
HandyControl.Controls.MessageBox.Show("废料区有托盘,请先移走!");
return;
}
else
{
var startEquip = dbContext.BaseEquip.FirstOrDefault(t => t.equipType == 20 && t.equipStatus == 1 && t.emptyCount == 1 && t.useFlag == 1);
var startEquip = dbContext.BaseEquip.FirstOrDefault(t => t.equipType == 20 && t.equipStatus == 1 && t.emptyCount == 1 && t.useFlag == 1 && t.ud3=="1");
if (startEquip == null)
{
BaseEquip firstEmptyEquip = dbContext.BaseEquip.First(t => t.objid == 40);
if (firstEmptyEquip.emptyCount > 0)
{
MessageBoxResult MessageBoxResult = HandyControl.Controls.MessageBox.Show("二楼未找到一个托盘的库位,是否从一楼调取?", "提示", MessageBoxButton.OKCancel);
if (MessageBoxResult == MessageBoxResult.OK)
{
if (ReadEmptyLocation())
{
BasePlcpoint oneOutPoint = SystemData.BasePlcpoints.First(t => t.plcpointNo == "oneOut");
SystemData.PlcDic[0].WriteToPoint(oneOutPoint.plcpointAddress, "1", oneOutPoint.plcpointLength.ToString());
firstEmptyEquip.emptyCount -= 1;
dbContext.Update(firstEmptyEquip);
dbContext.SaveChanges();
HandyControl.Controls.MessageBox.Show("下发成功");
}
else
{
HandyControl.Controls.MessageBox.Show("一楼托盘库忙碌中,请稍后再试!");
}
}
}
else
{
HandyControl.Controls.MessageBox.Show("未找到一个托盘的库位");
return;
}
MessageBox.Show("二楼未找到一个托盘的库位,请前往一楼调取");
return;
//BaseEquip firstEmptyEquip = dbContext.BaseEquip.First(t => t.objid == 40);
//if (firstEmptyEquip.emptyCount > 0)
//{
// MessageBox.Show("二楼未找到一个托盘的库位,请前往一楼调取");
// MessageBoxResult MessageBoxResult = HandyControl.Controls.MessageBox.Show("二楼未找到一个托盘的库位,是否从一楼调取?", "提示", MessageBoxButton.OKCancel);
// if (MessageBoxResult == MessageBoxResult.OK)
// {
// if (ReadEmptyLocation())
// {
// BasePlcpoint oneOutPoint = SystemData.BasePlcpoints.First(t => t.plcpointNo == "oneOut");
// SystemData.PlcDic[0].WriteToPoint(oneOutPoint.plcpointAddress, "1", oneOutPoint.plcpointLength.ToString());
// firstEmptyEquip.emptyCount -= 1;
// dbContext.Update(firstEmptyEquip);
// dbContext.SaveChanges();
// HandyControl.Controls.MessageBox.Show("下发成功");
// }
// else
// {
// HandyControl.Controls.MessageBox.Show("一楼托盘库忙碌中,请稍后再试!");
// }
// }
//}
//else
//{
// HandyControl.Controls.MessageBox.Show("未找到一个托盘的库位");
// return;
//}
}
else
{

@ -20,6 +20,13 @@ namespace Khd.Core.Wpf.TaskForm
/// </summary>
public partial class AddTask : Window
{
#region 委托事件
public delegate void RefreTaskListDelegate();
public static event RefreTaskListDelegate? RefreTaskListEvent;
#endregion
private List<EquipMessage> startEquips = new List<EquipMessage>();
private List<EquipMessage> endEquips = new List<EquipMessage>();
private List<BaseEquip> baseEquips = new List<BaseEquip>();
@ -28,6 +35,7 @@ namespace Khd.Core.Wpf.TaskForm
{
InitializeComponent();
_host = host;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
@ -50,7 +58,7 @@ namespace Khd.Core.Wpf.TaskForm
IsEnabled = true
});
}
if (equip.ud2 == "1" && equip.emptyCount == 0)
if (equip.ud2 == "1") //&& equip.emptyCount == 0
{
endEquips.Add(new EquipMessage
{
@ -132,6 +140,7 @@ namespace Khd.Core.Wpf.TaskForm
MessageBox.Show("未检测到起始地楼层的到位信号");
}
}
RefreTaskListEvent?.Invoke();
this.Close();
}
else

@ -1 +1 @@
1.0.0.0
2.0.0.0
Loading…
Cancel
Save