|
@@ -224,6 +224,8 @@ namespace PRSDesktop
|
|
|
var templateid = packet.ManufacturingTemplateLink.ID;
|
|
|
var templatecode = Data.Templates.FirstOrDefault(x => x.ID.Equals(templateid))?.Code;
|
|
|
|
|
|
+ var groupid = packet.SetoutLink.Group.ID;
|
|
|
+
|
|
|
if (bOK)
|
|
|
{
|
|
|
var id = packet.ID;
|
|
@@ -341,6 +343,8 @@ namespace PRSDesktop
|
|
|
|
|
|
model.Template = templatecode;
|
|
|
|
|
|
+ model.GroupID = groupid;
|
|
|
+
|
|
|
|
|
|
if (!stageValid || stageid.Equals(Guid.Empty) || stageid.Equals(CoreUtils.FullGuid))
|
|
|
{
|
|
@@ -421,42 +425,43 @@ namespace PRSDesktop
|
|
|
var menu = sender as ContextMenu;
|
|
|
|
|
|
var issue = menu.Items[2] as MenuItem;
|
|
|
- var progress = menu.Items[3] as MenuItem;
|
|
|
- var split = menu.Items[4] as MenuItem;
|
|
|
- var revert = menu.Items[5] as MenuItem;
|
|
|
- var progress_separator = menu.Items[6] as Separator;
|
|
|
-
|
|
|
- var cancel = menu.Items[7] as MenuItem;
|
|
|
- var cancel_separator = menu.Items[8] as Separator;
|
|
|
+ var issuegroup = menu.Items[3] as MenuItem;
|
|
|
+ var progress = menu.Items[4] as MenuItem;
|
|
|
+ var split = menu.Items[5] as MenuItem;
|
|
|
+ var revert = menu.Items[6] as MenuItem;
|
|
|
+ var progress_separator = menu.Items[7] as Separator;
|
|
|
+
|
|
|
+ var cancel = menu.Items[8] as MenuItem;
|
|
|
+ var cancel_separator = menu.Items[9] as Separator;
|
|
|
var bHasCancel = false;
|
|
|
|
|
|
- var complete = menu.Items[9] as MenuItem;
|
|
|
- var complete_separator = menu.Items[10] as Separator;
|
|
|
+ var complete = menu.Items[10] as MenuItem;
|
|
|
+ var complete_separator = menu.Items[11] as Separator;
|
|
|
var bHasComplete = false;
|
|
|
|
|
|
- var template = menu.Items[11] as MenuItem;
|
|
|
- var template_separator = menu.Items[12] as Separator;
|
|
|
+ var template = menu.Items[12] as MenuItem;
|
|
|
+ var template_separator = menu.Items[13] as Separator;
|
|
|
var bHasTemplate = true;
|
|
|
|
|
|
- var changedate = menu.Items[13] as MenuItem;
|
|
|
- var changedate_separator = menu.Items[14] as Separator;
|
|
|
+ var changedate = menu.Items[14] as MenuItem;
|
|
|
+ var changedate_separator = menu.Items[15] as Separator;
|
|
|
|
|
|
- var setpriority = menu.Items[15] as MenuItem;
|
|
|
- var clearpriority = menu.Items[16] as MenuItem;
|
|
|
- var priority_separator = menu.Items[17] as Separator;
|
|
|
+ var setpriority = menu.Items[16] as MenuItem;
|
|
|
+ var clearpriority = menu.Items[17] as MenuItem;
|
|
|
+ var priority_separator = menu.Items[18] as Separator;
|
|
|
|
|
|
- var editissues = menu.Items[18] as MenuItem;
|
|
|
- var sethold = menu.Items[19] as MenuItem;
|
|
|
- var clearhold = menu.Items[20] as MenuItem;
|
|
|
- var hold_separator = menu.Items[21] as Separator;
|
|
|
+ var editissues = menu.Items[19] as MenuItem;
|
|
|
+ var sethold = menu.Items[20] as MenuItem;
|
|
|
+ var clearhold = menu.Items[21] as MenuItem;
|
|
|
+ var hold_separator = menu.Items[22] as Separator;
|
|
|
|
|
|
- var generate = menu.Items[22] as MenuItem;
|
|
|
- var reprint = menu.Items[23] as MenuItem;
|
|
|
- var revoke = menu.Items[24] as MenuItem;
|
|
|
- var barcode_separator = menu.Items[25] as Separator;
|
|
|
+ var generate = menu.Items[23] as MenuItem;
|
|
|
+ var reprint = menu.Items[24] as MenuItem;
|
|
|
+ var revoke = menu.Items[25] as MenuItem;
|
|
|
+ var barcode_separator = menu.Items[26] as Separator;
|
|
|
var bHasBarcode = false;
|
|
|
|
|
|
- var archive = menu.Items[26] as MenuItem;
|
|
|
+ var archive = menu.Items[27] as MenuItem;
|
|
|
var bHasArchive = false;
|
|
|
|
|
|
var model = menu.Tag as ManufacturingKanban;
|
|
@@ -483,6 +488,7 @@ namespace PRSDesktop
|
|
|
current != null ? current.BarcodeType : BarcodeType.None; // row.Get<ManufacturingPacket, BarcodeType>(x => x.BarcodeType);
|
|
|
|
|
|
issue.Visibility = !stageValid && Security.IsAllowed<CanIssuePackets>() ? Visibility.Visible : Visibility.Collapsed;
|
|
|
+ issuegroup.Visibility = !stageValid && Security.IsAllowed<CanIssuePackets>() ? Visibility.Visible : Visibility.Collapsed;
|
|
|
progress.Visibility = stageid.Equals(CoreUtils.FullGuid) || !stageValid ? Visibility.Collapsed : Visibility.Visible;
|
|
|
split.Visibility = !stageValid && qty > 1 && printed.IsEmpty() && OnlyOne ? Visibility.Visible : Visibility.Collapsed;
|
|
|
revert.Visibility = !stageValid && completed.Equals(DateTime.MinValue) ? Visibility.Collapsed : Visibility.Visible;
|
|
@@ -694,20 +700,35 @@ namespace PRSDesktop
|
|
|
|
|
|
var date = model.DueDate.IsEmpty() ? DateTime.Today.AddDays(14) : model.DueDate;
|
|
|
if (DateEdit.Execute("Required Completion Date", ref date))
|
|
|
- ProgressPacket(model, date);
|
|
|
+ ProgressPacket(model, date, Guid.Empty);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void IssueGroup_Click(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ var item = (MenuItem)sender;
|
|
|
+ var model = (ManufacturingKanban)item.Tag;
|
|
|
+
|
|
|
+ var date = model.DueDate.IsEmpty() ? DateTime.Today.AddDays(14) : model.DueDate;
|
|
|
+ if (DateEdit.Execute("Required Completion Date", ref date))
|
|
|
+ ProgressPacket(model, date, model.GroupID);
|
|
|
}
|
|
|
|
|
|
private void ProgressSetout_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
var item = (MenuItem)sender;
|
|
|
var model = (ManufacturingKanban)item.Tag;
|
|
|
- ProgressPacket(model, null);
|
|
|
+ ProgressPacket(model, null, Guid.Empty);
|
|
|
}
|
|
|
|
|
|
- private void ProgressPacket(ManufacturingKanban model, DateTime? date)
|
|
|
+ private void ProgressPacket(ManufacturingKanban model, DateTime? date, Guid groupID)
|
|
|
{
|
|
|
Progress.Show("");
|
|
|
- var pkts = GetSelectedPackets(model.ID).ToList();
|
|
|
+ var pkts = groupID == Guid.Empty ?
|
|
|
+ GetSelectedPackets(model.ID).ToList()
|
|
|
+ : GetPacketsOfGroup(groupID);
|
|
|
+
|
|
|
+ if (pkts.Count == 0)
|
|
|
+ return;
|
|
|
|
|
|
Progress.SetMessage("Loading Stages");
|
|
|
Filter<ManufacturingPacketStage>? stgflt = null;
|
|
@@ -743,6 +764,11 @@ namespace PRSDesktop
|
|
|
OnChanged?.Invoke(this, new EventArgs());
|
|
|
}
|
|
|
|
|
|
+ private List<ManufacturingPacket> GetPacketsOfGroup(Guid groupID)
|
|
|
+ {
|
|
|
+ return Packets.Where(x => x.SetoutLink.Group.ID == groupID).ToList();
|
|
|
+ }
|
|
|
+
|
|
|
private void SplitSetout_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
var item = (MenuItem)sender;
|
|
@@ -1232,5 +1258,6 @@ namespace PRSDesktop
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|