diff options
| author | Roy <Roy.mail.net@gmail.com> | 2022-11-13 10:36:11 +0200 |
|---|---|---|
| committer | Roy <Roy.mail.net@gmail.com> | 2022-11-13 10:36:11 +0200 |
| commit | c23e72b8b4eec5fe4b6ee77bc997980fcb356846 (patch) | |
| tree | df2cec52a6cd0d786432eefaf2857c1207cb7b73 /Software | |
| parent | c14680622d66176dbc90f02dbed5629297f58bb9 (diff) | |
| download | Tango-c23e72b8b4eec5fe4b6ee77bc997980fcb356846.tar.gz Tango-c23e72b8b4eec5fe4b6ee77bc997980fcb356846.zip | |
PPC "Use Flat Spool" + SpoolType logic improvements.
Added RML->SpoolType calibration new parameters.
Diffstat (limited to 'Software')
20 files changed, 363 insertions, 177 deletions
diff --git a/Software/DB/PPC/PPC Test/Tango.mdf b/Software/DB/PPC/PPC Test/Tango.mdf Binary files differindex 9ce338d91..4a7e3fc24 100644 --- a/Software/DB/PPC/PPC Test/Tango.mdf +++ b/Software/DB/PPC/PPC Test/Tango.mdf diff --git a/Software/DB/PPC/PPC Test/Tango_log.ldf b/Software/DB/PPC/PPC Test/Tango_log.ldf Binary files differindex 740cbd19a..7a2f00a75 100644 --- a/Software/DB/PPC/PPC Test/Tango_log.ldf +++ b/Software/DB/PPC/PPC Test/Tango_log.ldf diff --git a/Software/DB/PPC/Tango.mdf b/Software/DB/PPC/Tango.mdf Binary files differindex 94ec5c761..f42ce9bda 100644 --- a/Software/DB/PPC/Tango.mdf +++ b/Software/DB/PPC/Tango.mdf diff --git a/Software/DB/PPC/Tango_log.ldf b/Software/DB/PPC/Tango_log.ldf Binary files differindex df22e13e0..5e15a7410 100644 --- a/Software/DB/PPC/Tango_log.ldf +++ b/Software/DB/PPC/Tango_log.ldf diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf Binary files differindex 2e501f00a..bd6e2221b 100644 --- a/Software/DB/Tango.mdf +++ b/Software/DB/Tango.mdf diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf Binary files differindex 7143a62b2..2df6827ac 100644 --- a/Software/DB/Tango_log.ldf +++ b/Software/DB/Tango_log.ldf diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/SpoolsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/SpoolsView.xaml index 9cab8ed02..6a23d767e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/SpoolsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/SpoolsView.xaml @@ -71,6 +71,8 @@ </Style> </DataGridComboBoxColumn.EditingElementStyle> </DataGridComboBoxColumn> + <DataGridTextColumn Header="START OFFSET PULSES" Binding="{Binding StartOffsetPulses,Converter={StaticResource EmptyStringToNullConverter}}" Width="Auto" /> + <DataGridTextColumn Header="SEGMENT OFFSET PULSES" Binding="{Binding SegmentOffsetPulses,Converter={StaticResource EmptyStringToNullConverter}}" Width="Auto" /> <DataGridTextColumn Header="ROTATIONS PER PASSAGE" Binding="{Binding RotationsPerPassage,Converter={StaticResource EmptyStringToNullConverter}}" Width="Auto" /> <DataGridTextColumn Header="MAX LENGTH" Binding="{Binding Length,Converter={StaticResource EmptyStringToNullConverter}}" Width="Auto" /> <DataGridTextColumn Header="BACKING RATE" Binding="{Binding BackingRate,Converter={StaticResource EmptyStringToNullConverter}}" Width="Auto" /> diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml index 97fb1d590..19ef9cf4c 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml @@ -136,6 +136,14 @@ <touch:TouchNumericTextBox Margin="20 0 0 10" FontSize="{StaticResource TangoComboBoxItemFontSize}" Value="{Binding WhiteGap, Mode=TwoWay}" IsEnabled="True" HorizontalAlignment="Left" MinWidth="250" VerticalAlignment="Center" FocusSelectionMode="SelectAll" KeyboardNavigation.TabIndex="2"></touch:TouchNumericTextBox> </Border> </DockPanel > + + <DockPanel Visibility="{Binding ShowDuplicate,Converter={StaticResource BooleanToVisibilityConverter}}" Margin="0 50 0 0" HorizontalAlignment="Stretch"> + <TextBlock HorizontalAlignment="Left" Margin="0 10 0 0" FontSize="{StaticResource TangoDialogFontSize}" Width="155" > + <Run Text="Use Flat Spool"></Run> + </TextBlock> + + <touch:TouchToggleSlider IsChecked="{Binding UseFlatSpool,Mode=TwoWay}" Style="{StaticResource TangoToggleButtonGrayAccent}" Margin="49 0 0 0" HorizontalAlignment="Left" Width="90" /> + </DockPanel> </StackPanel> <Grid Grid.Row="2" Margin="0 70 0 0" HorizontalAlignment="Stretch" Visibility="{Binding ShowDuplicate, Converter={StaticResource BooleanToVisibilityConverter}}"> diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationViewVM.cs index a23345e59..bf3905104 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationViewVM.cs @@ -94,6 +94,8 @@ namespace Tango.PPC.Jobs.Dialogs } } + public bool UseFlatSpool { get; set; } + private RmlLubricationLevel _lubricationLevel; public RmlLubricationLevel LubricationLevel { diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs index d85fb73e9..3e94a42c5 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs @@ -45,6 +45,7 @@ using Tango.PPC.Jobs.UndoRedoCommands; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Tango.PPC.Jobs.ColorCorrectionTool; +using Tango.PPC.Common.Printing; namespace Tango.PPC.Jobs.ViewModels { @@ -69,6 +70,7 @@ namespace Tango.PPC.Jobs.ViewModels private List<ColorCatalog> _catalogs; private string _jsonJobModelLoaded; + #region Properties private Job _job; @@ -196,7 +198,7 @@ namespace Tango.PPC.Jobs.ViewModels get { return _approvalFineTuneItems; } set { _approvalFineTuneItems = value; RaisePropertyChangedAuto(); } } - + private List<ColorCatalog> _availableCatalogs; public List<ColorCatalog> AvailableCatalogs { @@ -204,7 +206,7 @@ namespace Tango.PPC.Jobs.ViewModels set { _availableCatalogs = value; RaisePropertyChangedAuto(); } } - + private bool _isFullMode; @@ -223,7 +225,9 @@ namespace Tango.PPC.Jobs.ViewModels public bool IsSummaryOpened { get { return _isSummaryOpened; } - set { _isSummaryOpened = value; + set + { + _isSummaryOpened = value; RaisePropertyChangedAuto(); } } @@ -236,7 +240,7 @@ namespace Tango.PPC.Jobs.ViewModels /// Gets or sets the add solid segment command. /// </summary> public RelayCommand<ISegmentModel> AddNewSegmentCommand { get; set; } - + /// <summary> /// Gets or sets the remove segment command. /// </summary> @@ -261,12 +265,12 @@ namespace Tango.PPC.Jobs.ViewModels /// Gets or sets the replace brush stop command. /// </summary> public RelayCommand<BrushStop> ReplaceBrushStopCommand { get; set; } - + /// <summary> /// Gets or sets the dye command. /// </summary> public RelayCommand DyeCommand { get; set; } - + /// <summary> /// Gets or sets the export embroidery command. /// </summary> @@ -294,7 +298,7 @@ namespace Tango.PPC.Jobs.ViewModels public RelayCommand CopyCommand { get; set; } public RelayCommand UndoCommand { get; set; } public RelayCommand RedoCommand { get; set; } - + #endregion #region Constructors @@ -304,7 +308,7 @@ namespace Tango.PPC.Jobs.ViewModels /// </summary> static JobViewVM() { - + _jobs_fine_tune_items = new Dictionary<string, List<FineTuneItem>>(); } @@ -327,7 +331,7 @@ namespace Tango.PPC.Jobs.ViewModels return customer.Name.ToLower().StartsWith(filter != null ? filter.ToLower() : String.Empty); }); - + //Initialize Commands AddNewSegmentCommand = new RelayCommand<ISegmentModel>(AddNewSegment); RemoveSegmentCommand = new RelayCommand<SegmentModel>(RemoveSegment); @@ -363,7 +367,7 @@ namespace Tango.PPC.Jobs.ViewModels #endregion #region Job Management - + /// <summary> /// Loads the job. /// </summary> @@ -422,7 +426,7 @@ namespace Tango.PPC.Jobs.ViewModels .WithBrushStops() .WithSegmentsGroups() .BuildAsync(); - + Job.NameChanged -= Job_NameChanged; Job.NameChanged += Job_NameChanged; @@ -433,7 +437,7 @@ namespace Tango.PPC.Jobs.ViewModels LogManager.Log("Loading RMLS..."); Rmls = (await new RmlsCollectionBuilder(_db).SetAll().WithSpools().ForHeadType(MachineProvider.Machine.MachineHeadType).ForSite(MachineProvider.Machine.SiteGuid).BuildAsync()).OrderBy(x => x.FinalName).ToList(); - //Rmls = (await new RmlsCollectionBuilder(_db).SetAll().WithSpools().BuildAsync()).OrderBy(x => x.FinalName).ToList(); + //Rmls = (await new RmlsCollectionBuilder(_db).SetAll().WithSpools().BuildAsync()).OrderBy(x => x.FinalName).ToList(); LogManager.Log("Loading Color Spaces..."); ColorSpaces = await _db.ColorSpaces.Where(x => x.Code != (int)BL.Enumerations.ColorSpaces.CMYK).ToListAsync(); LogManager.Log("Loading Spool Types..."); @@ -449,7 +453,7 @@ namespace Tango.PPC.Jobs.ViewModels await LoadRML(_selectedRML); LoadJobModel(); - + _job_to_load = null; _current_job_string = Job.ToJobFileWhenLoaded().ToString(); @@ -459,7 +463,7 @@ namespace Tango.PPC.Jobs.ViewModels { Job.JobFineTuningStatus = BL.Enumerations.FineTuningStatuses.Unspecified; } - + LogManager.Log($"Job editing state = '{Job.JobEditingState}'."); //if (Job.JobEditingState == BL.Enumerations.EditingStates.SampleDye && Job.JobSampleDyeStatus == BL.Enumerations.SampleDyeStatuses.PendingApproval) @@ -472,7 +476,7 @@ namespace Tango.PPC.Jobs.ViewModels // LogManager.Log("Directing view to display fine tuning region."); // View.DisplayFineTuning(); //} - + IsFullMode = true; DyeCommand.RaiseCanExecuteChanged(); } @@ -492,7 +496,22 @@ namespace Tango.PPC.Jobs.ViewModels private void LoadJobModel() { - var PPCSpoolType = false == String.IsNullOrEmpty(Settings.SpoolTypeGuid) ? _spoolTypes.FirstOrDefault(x => x.Guid == Settings.SpoolTypeGuid) : _spoolTypes.FirstOrDefault(x => x.Guid == SpoolTypes.FirstOrDefault().Guid); + SpoolType PPCSpoolType = null; + + if (Settings.SpoolTypeGuid.IsNotNullOrEmpty()) + { + PPCSpoolType = _spoolTypes.FirstOrDefault(x => x.Guid == Settings.SpoolTypeGuid); + } + else + { + PPCSpoolType = _spoolTypes.FirstOrDefault(x => x.Type == BL.Enumerations.SpoolTypes.StandardSpool); + } + + if (Job.SpoolType.Type == BL.Enumerations.SpoolTypes.FlatSpool) + { + PPCSpoolType = _spoolTypes.FirstOrDefault(x => x.Type == BL.Enumerations.SpoolTypes.FlatSpool); + } + var jobModel = new JobModel(ColorSpaces) { Name = Job.Name, @@ -516,7 +535,7 @@ namespace Tango.PPC.Jobs.ViewModels int segmentindex = 1; foreach (var segm in Job.OrderedSegments) { - if(segm.BrushStops.Count > 1) + if (segm.BrushStops.Count > 1) { var brushes = segm.BrushStops; Segment currentSegment = segm; @@ -547,16 +566,16 @@ namespace Tango.PPC.Jobs.ViewModels else { SegmentModel segmentModel = LoadSegmentModel(segm, jobModel); - segmentModel.SegmentIndex = segmentindex++; + segmentModel.SegmentIndex = segmentindex++; jobModel.Segments.Add(segmentModel); } } - + } else { var segments = Job.OrderedSegmentsWithGroups; - foreach( var segment in segments) + foreach (var segment in segments) { if (segment is Segment simpleSegment) { @@ -566,7 +585,7 @@ namespace Tango.PPC.Jobs.ViewModels else if (segment is SegmentsGroup group) { SegmentsGroupModel segmentsGroupModel = new SegmentsGroupModel(jobModel) { SegmentIndex = group.SegmentIndex, Repeats = group.Repeats }; - + foreach (var innerSegment in group.OrderedSegments) { SegmentModel segmentModel = LoadSegmentModel(innerSegment, jobModel); @@ -578,7 +597,7 @@ namespace Tango.PPC.Jobs.ViewModels } } } - + jobModel.InterSegmentLength = Job.EnableInterSegment ? Job.InterSegmentLength : 0; jobModel.LoadGroupingSegments(); JobModel = jobModel; @@ -592,7 +611,7 @@ namespace Tango.PPC.Jobs.ViewModels ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore, PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects }; - _jsonJobModelLoaded = JsonConvert.SerializeObject(JobModel , Formatting.Indented, settings); + _jsonJobModelLoaded = JsonConvert.SerializeObject(JobModel, Formatting.Indented, settings); } /// <summary> @@ -626,7 +645,7 @@ namespace Tango.PPC.Jobs.ViewModels { DyeCommand.RaiseCanExecuteChanged(); } - + /// <summary> /// Starts the job. /// </summary> @@ -640,7 +659,7 @@ namespace Tango.PPC.Jobs.ViewModels startingJob = true; LogManager.Log("Start job command pressed. Starting job and navigating to job progress view..."); await Save(); - var handler = await PrintingManager.Print(Job, _db); + var handler = await PrintingManager.Print(Job, _db, new PrintingConfiguration() { }); await NavigationManager.NavigateTo<JobsV2Module>(nameof(JobProgressView)); startingJob = false; } @@ -687,26 +706,45 @@ namespace Tango.PPC.Jobs.ViewModels { LogManager.Log("Editing the job details."); JobCreationViewVM vm = new JobCreationViewVM(_spoolTypes.ToList(), _rmls, JobModel.Rml.Guid, JobModel.InterSegmentLength, true); + vm.UseFlatSpool = Job.SpoolType.Type == BL.Enumerations.SpoolTypes.FlatSpool; vm.JobName = JobModel.Name; vm.SelectedSpoolType = JobModel.SpoolType; vm = await NotificationProvider.ShowDialog<JobCreationViewVM>(vm); if (!vm.DialogResult) return; - + Job.Name = vm.JobName; JobModel.Name = vm.JobName; + if (vm.UseFlatSpool) + { + Job.SpoolType = _spoolTypes.FirstOrDefault(x => x.Type == BL.Enumerations.SpoolTypes.FlatSpool); + } + else + { + if (Settings.SpoolTypeGuid.IsNotNullOrEmpty()) + { + Job.SpoolType = _spoolTypes.FirstOrDefault(x => x.Guid == Settings.SpoolTypeGuid); + } + else + { + Job.SpoolType = _spoolTypes.FirstOrDefault(x => x.Type == BL.Enumerations.SpoolTypes.StandardSpool); + } + } + + JobModel.SpoolType = Job.SpoolType; + JobModel.SpoolTypeName = Job.SpoolType.Name; Job.InterSegmentLength = vm.WhiteGap; Job.EnableInterSegment = vm.WhiteGap > 0; JobModel.InterSegmentLength = vm.WhiteGap; JobModel.EnableInterSegment = vm.WhiteGap > 0; - - // Job.SpoolType = vm.SelectedSpoolType; - // JobModel.SpoolType = vm.SelectedSpoolType;//update length!!!! - - if(vm.SelectedRML.Guid != SelectedRML.Guid) + + // Job.SpoolType = vm.SelectedSpoolType; + // JobModel.SpoolType = vm.SelectedSpoolType;//update length!!!! + + if (vm.SelectedRML.Guid != SelectedRML.Guid) { - SelectedRML = _rmls.FirstOrDefault(x=>x.Guid == vm.SelectedRML.Guid); + SelectedRML = _rmls.FirstOrDefault(x => x.Guid == vm.SelectedRML.Guid); // for LAB color remove all available tests foreach (var segment in JobModel.OrderedSegmentsWithGroups) { @@ -743,7 +781,7 @@ namespace Tango.PPC.Jobs.ViewModels } } } - + if (vm.IsDuplicate) { try @@ -773,7 +811,7 @@ namespace Tango.PPC.Jobs.ViewModels { var maxLength = Job.SpoolType.Length; var maxRep = (maxLength == 0 ? 999 : (maxLength / JobModel.Length)); - + var vm = await NotificationProvider.ShowDialog<RepeatJobViewVM>(new RepeatJobViewVM("Repeat All", JobModel.NumberOfUnits) { MaxRepeations = (int)maxRep @@ -813,7 +851,7 @@ namespace Tango.PPC.Jobs.ViewModels .BuildAsync(); if (JobModel != null) JobModel.Rml = Job.Rml; - + if (updateRML && JobModel != null) { NotificationProvider.SetGlobalBusyMessage("Updating IsOutOfGammut due to the change RML..."); @@ -823,15 +861,15 @@ namespace Tango.PPC.Jobs.ViewModels { innerSegment.UpdateBrushStops(); } - else if ( segment is SegmentsGroupModel group) + else if (segment is SegmentsGroupModel group) { - foreach( var segm in group.Segments) + foreach (var segm in group.Segments) { segm.UpdateBrushStops(); } } } - + DyeCommand.RaiseCanExecuteChanged(); NotificationProvider.ReleaseGlobalBusyMessage(); } @@ -868,11 +906,11 @@ namespace Tango.PPC.Jobs.ViewModels try { LogManager.Log("Adding new segment..."); - + UndoRedoManager.Instance.InsertAndExecuteCommand(new AddNewSegmentCommand(JobModel, segment, Settings.DefaultSegmentLength > 0 ? Settings.DefaultSegmentLength : 10)); - ArrangeSegmentsIndixes(); + ArrangeSegmentsIndixes(); DyeCommand.RaiseCanExecuteChanged(); - if(segment.SegmentIndex >= (JobModel.GroupingSegments.Count() - 1)) + if (segment.SegmentIndex >= (JobModel.GroupingSegments.Count() - 1)) { View.ScrollToEnd(); } @@ -884,11 +922,11 @@ namespace Tango.PPC.Jobs.ViewModels } } - private async void RepeatSegmentsGroup( SegmentsGroupModel group) + private async void RepeatSegmentsGroup(SegmentsGroupModel group) { var maxLength = Job.SpoolType.Length == 0 ? 999 : Job.SpoolType.Length; - var maxRep = (maxLength - JobModel.Length)/ group.Length; - + var maxRep = (maxLength - JobModel.Length) / group.Length; + var vm = await NotificationProvider.ShowDialog<RepeatJobViewVM>(new RepeatJobViewVM($"Edit \"Group {group.SegmentIndex}\" Repeat", group.Repeats) { MaxRepeations = (int)maxRep @@ -937,10 +975,10 @@ namespace Tango.PPC.Jobs.ViewModels { if (await NotificationProvider.ShowQuestion("Are you sure you want to remove the selected group of segments?")) { - + UndoRedoManager.Instance.InsertAndExecuteCommand(new DeleteSegmentsGroupCommand(JobModel, segmentsGroup)); ArrangeSegmentsIndixes(); - + DyeCommand.RaiseCanExecuteChanged(); } } @@ -962,7 +1000,7 @@ namespace Tango.PPC.Jobs.ViewModels { UndoRedoManager.Instance.InsertAndExecuteCommand(new DuplicateSegmentCommand(JobModel, segment)); ArrangeSegmentsIndixes(); - + DyeCommand.RaiseCanExecuteChanged(); if (segment.SegmentIndex >= (JobModel.GroupingSegments.Count() - 1)) { @@ -979,7 +1017,7 @@ namespace Tango.PPC.Jobs.ViewModels #endregion #region Brush Stops Management - + /// <summary> /// Click on AddColor button. Add newBrush; /// </summary> @@ -1040,7 +1078,7 @@ namespace Tango.PPC.Jobs.ViewModels { UndoRedoManager.Instance.InsertAndExecuteCommand(new EditBrushStopColorCommand(segment, brushStop, vm.SelectedBrushStop)); DyeCommand.RaiseCanExecuteChanged(); - + } } @@ -1052,7 +1090,7 @@ namespace Tango.PPC.Jobs.ViewModels if (newBrushStop == null || segment == null) return; - if(segment.IsGradient) + if (segment.IsGradient) { if (false == _not_show_warning) { @@ -1065,7 +1103,7 @@ namespace Tango.PPC.Jobs.ViewModels } UndoRedoManager.Instance.InsertAndExecuteCommand(new AddBrushStopCommand(JobModel, segment, newBrushStop)); ArrangeSegmentsIndixes(); - + } #endregion @@ -1106,8 +1144,6 @@ namespace Tango.PPC.Jobs.ViewModels #endregion - - #region Export Embroidery @@ -1182,8 +1218,8 @@ namespace Tango.PPC.Jobs.ViewModels LoadJob(); } - - + + public override void OnBeforeNavigatedTo() { base.OnBeforeNavigatedTo(); @@ -1223,7 +1259,7 @@ namespace Tango.PPC.Jobs.ViewModels if (!_can_navigate_back) { await Save(); - + Job = null; JobModel = null; SegmentsCollectionView = null; @@ -1273,18 +1309,18 @@ namespace Tango.PPC.Jobs.ViewModels { if (false == JobModel.GroupingSegments.ToList().Any(x => x.IsSelected)) return; - + UndoRedoManager.Instance.InsertAndExecuteCommand(new ReverseCommand(JobModel)); - ArrangeSegmentsIndixes(); - + ArrangeSegmentsIndixes(); + } private async void DeleteSegments() { if (!JobModel.HasSelectedItems) return; - if(JobModel.GroupingSegments.ToList().Where(x => x.IsSelected).ToList().Count == JobModel.GroupingSegments.Count) + if (JobModel.GroupingSegments.ToList().Where(x => x.IsSelected).ToList().Count == JobModel.GroupingSegments.Count) { await NotificationProvider.ShowInfo("A job must contain at least one segment. Please, change selection."); return; @@ -1297,9 +1333,9 @@ namespace Tango.PPC.Jobs.ViewModels if (await NotificationProvider.ShowQuestion("Are you sure you want to remove these selected segments?")) { UndoRedoManager.Instance.InsertAndExecuteCommand(new RemoveSegmentsCommand(JobModel)); - + ArrangeSegmentsIndixes(); - + DyeCommand.RaiseCanExecuteChanged(); } } @@ -1317,7 +1353,7 @@ namespace Tango.PPC.Jobs.ViewModels private void RepeateSegments() { - if ( (JobModel.GroupingSegments.ToList().Where(x => x.IsSelected).Count()) < 2) + if ((JobModel.GroupingSegments.ToList().Where(x => x.IsSelected).Count()) < 2) return; UndoRedoManager.Instance.InsertAndExecuteCommand(new RepeatCommand(JobModel)); ArrangeSegmentsIndixes(); @@ -1366,15 +1402,28 @@ namespace Tango.PPC.Jobs.ViewModels UndoRedoManager.Instance.ClearAll(); var colorSpaces = await _db.ColorSpaces.ToListAsync(); - + Job.ColorSpace = colorSpaces.FirstOrDefault(); Job.Version = 2; Job.NumberOfUnits = JobModel.NumberOfUnits; Job.EnableInterSegment = JobModel.InterSegmentLength > 0; Job.InterSegmentLength = JobModel.InterSegmentLength; + if (Job.SpoolType.Type == BL.Enumerations.SpoolTypes.FlatSpool) + { + Job.SpoolType = _spoolTypes.FirstOrDefault(x => x.Code == (int)BL.Enumerations.SpoolTypes.FlatSpool); + } + else if (Settings.SpoolTypeGuid != null) + { + Job.SpoolType = _spoolTypes.FirstOrDefault(x => x.Guid == Settings.SpoolTypeGuid); + } + else + { + Job.SpoolType = _spoolTypes.FirstOrDefault(x => x.Code == (int)BL.Enumerations.SpoolTypes.StandardSpool); + } + var oldSegments = Job.Segments.ToList(); - + foreach (var segment in Job.OrderedSegmentsWithGroups.ToList()) { if (segment is Segment) @@ -1389,7 +1438,7 @@ namespace Tango.PPC.Jobs.ViewModels else if (segment is SegmentsGroup) { SegmentsGroup segmentsGroup = segment as SegmentsGroup; - foreach(var groupSegment in segmentsGroup.Segments.ToList()) + foreach (var groupSegment in segmentsGroup.Segments.ToList()) { groupSegment.BrushStops.ToList().ForEach(x => { @@ -1400,15 +1449,15 @@ namespace Tango.PPC.Jobs.ViewModels _db.SegmentsGroups.Remove(segmentsGroup); } } - + Job.Segments.Clear(); - + Dictionary<int, SegmentsGroup> segmentIndexToGroup = new Dictionary<int, SegmentsGroup>(); - + //foreach (var segment in JobModel.Segments.OrderBy(x => x.SegmentIndex).ToList()) - foreach(var segment in JobModel.OrderedSegmentsWithGroups) + foreach (var segment in JobModel.OrderedSegmentsWithGroups) { - if(segment is SegmentModel innerSegment) + if (segment is SegmentModel innerSegment) { var dbSegment = new Segment(); dbSegment.Guid = System.Guid.NewGuid().ToString(); @@ -1456,7 +1505,7 @@ namespace Tango.PPC.Jobs.ViewModels } _db.BrushStops.AddRange(brushStopList); } - else if( segment is SegmentsGroupModel group) + else if (segment is SegmentsGroupModel group) { SegmentsGroup dbSegmentsGroup = new SegmentsGroup(); dbSegmentsGroup.Guid = System.Guid.NewGuid().ToString(); @@ -1464,7 +1513,7 @@ namespace Tango.PPC.Jobs.ViewModels dbSegmentsGroup.SegmentIndex = group.SegmentIndex; dbSegmentsGroup.Job = Job; _db.SegmentsGroups.Add(dbSegmentsGroup); - foreach(var segm_group in group.Segments.OrderBy(x=>x.SegmentIndex)) + foreach (var segm_group in group.Segments.OrderBy(x => x.SegmentIndex)) { var dbSegment = new Segment(); dbSegment.Guid = System.Guid.NewGuid().ToString(); @@ -1517,7 +1566,7 @@ namespace Tango.PPC.Jobs.ViewModels Job.LastUpdated = DateTime.UtcNow; Job.IsSynchronized = false; - if(Job.JobStatus != JobStatuses.Draft ) + if (Job.JobStatus != JobStatuses.Draft) { JsonSerializerSettings settings = new JsonSerializerSettings() { @@ -1527,10 +1576,10 @@ namespace Tango.PPC.Jobs.ViewModels string jsonJobModelSaved = JsonConvert.SerializeObject(JobModel, Formatting.Indented, settings); var json1 = JObject.Parse(_jsonJobModelLoaded); var json2 = JObject.Parse(jsonJobModelSaved); - if(false == JToken.DeepEquals(json1, json2)) + if (false == JToken.DeepEquals(json1, json2)) Job.JobStatus = BL.Enumerations.JobStatuses.Draft; } - + RaiseMessage(new JobSavedMessage() { Job = Job }); await _db.SaveChangesAsync(); @@ -1543,7 +1592,7 @@ namespace Tango.PPC.Jobs.ViewModels _jsonJobModelLoaded = JsonConvert.SerializeObject(JobModel, Formatting.Indented, settings1); } - + #endregion } } diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/IPrintingManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/IPrintingManager.cs index 0047529b0..bc05138f0 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/IPrintingManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/IPrintingManager.cs @@ -27,7 +27,7 @@ namespace Tango.PPC.Common.Printing /// <param name="job">The job.</param> /// <param name="context">The context.</param> /// <returns></returns> - Task<JobHandler> Print(Job job, ObservablesContext context); + Task<JobHandler> Print(Job job, ObservablesContext context, PrintingConfiguration config = null); /// <summary> /// Creates a sample dye job from the specified job and prints it. diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs new file mode 100644 index 000000000..815936137 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.PPC.Common.Printing +{ + public class PrintingConfiguration + { + + } +} diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj index d0476647b..e1f4efdcb 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj @@ -185,6 +185,7 @@ <Compile Include="Notifications\AppBarPriority.cs" /> <Compile Include="Performance\DefaultPerformanceService.cs" /> <Compile Include="Performance\IPerformanceService.cs" /> + <Compile Include="Printing\PrintingConfiguration.cs" /> <Compile Include="RemoteDesktop\DefaultRemoteDesktopService.cs" /> <Compile Include="RemoteDesktop\IRemoteDesktopService.cs" /> <Compile Include="RemoteDesktop\RemoteDesktopClient.cs" /> @@ -589,7 +590,7 @@ </Target> <ProjectExtensions> <VisualStudio> - <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" /> + <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" /> </VisualStudio> </ProjectExtensions> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs index c5fc6c6b2..83f4d4f29 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs @@ -55,7 +55,7 @@ namespace Tango.PPC.UI.Printing /// <param name="job">The job.</param> /// <param name="context">The context.</param> /// <returns></returns> - public async Task<JobHandler> Print(Job job, ObservablesContext context) + public async Task<JobHandler> Print(Job job, ObservablesContext context, PrintingConfiguration printConfig = null) { ThrowIfJobInvalid(job); @@ -99,7 +99,12 @@ namespace Tango.PPC.UI.Printing var spoolType = await context.SpoolTypes.FirstOrDefaultAsync(x => x.Guid == spoolTypeGuid); if (spoolType == null) { - spoolType = await context.SpoolTypes.FirstOrDefaultAsync(x => x.Code == (int)BL.Enumerations.SpoolTypes.StandardSpool); + spoolType = await context.SpoolTypes.FirstOrDefaultAsync(x => x.Code == (int)SpoolTypes.StandardSpool); + } + + if (job.SpoolType.Type == SpoolTypes.FlatSpool) + { + spoolType = await context.SpoolTypes.FirstOrDefaultAsync(x => x.Code == (int)SpoolTypes.FlatSpool); } job.SpoolType = spoolType; diff --git a/Software/Visual_Studio/Tango.BL/DTO/RmlsSpoolDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/RmlsSpoolDTOBase.cs index c17e2b426..d140c1435 100644 --- a/Software/Visual_Studio/Tango.BL/DTO/RmlsSpoolDTOBase.cs +++ b/Software/Visual_Studio/Tango.BL/DTO/RmlsSpoolDTOBase.cs @@ -70,6 +70,22 @@ namespace Tango.BL.DTO } /// <summary> + /// start offset pulses + /// </summary> + public Nullable<Int32> StartOffsetPulses + { + get; set; + } + + /// <summary> + /// segment offset pulses + /// </summary> + public Nullable<Int32> SegmentOffsetPulses + { + get; set; + } + + /// <summary> /// btsr spool tension /// </summary> public Nullable<Int32> BtsrSpoolTension diff --git a/Software/Visual_Studio/Tango.BL/Entities/RmlsSpoolBase.cs b/Software/Visual_Studio/Tango.BL/Entities/RmlsSpoolBase.cs index 0edd11cfd..a6ae877be 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/RmlsSpoolBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/RmlsSpoolBase.cs @@ -35,6 +35,10 @@ namespace Tango.BL.Entities public event EventHandler<Nullable<Int32>> BottomBackingRateChanged; + public event EventHandler<Nullable<Int32>> StartOffsetPulsesChanged; + + public event EventHandler<Nullable<Int32>> SegmentOffsetPulsesChanged; + public event EventHandler<Nullable<Int32>> BtsrSpoolTensionChanged; public event EventHandler<Rml> RmlChanged; @@ -201,6 +205,60 @@ namespace Tango.BL.Entities } } + protected Nullable<Int32> _startoffsetpulses; + + /// <summary> + /// Gets or sets the rmlsspoolbase start offset pulses. + /// </summary> + + [Column("START_OFFSET_PULSES")] + + public Nullable<Int32> StartOffsetPulses + { + get + { + return _startoffsetpulses; + } + + set + { + if (_startoffsetpulses != value) + { + _startoffsetpulses = value; + + OnStartOffsetPulsesChanged(value); + + } + } + } + + protected Nullable<Int32> _segmentoffsetpulses; + + /// <summary> + /// Gets or sets the rmlsspoolbase segment offset pulses. + /// </summary> + + [Column("SEGMENT_OFFSET_PULSES")] + + public Nullable<Int32> SegmentOffsetPulses + { + get + { + return _segmentoffsetpulses; + } + + set + { + if (_segmentoffsetpulses != value) + { + _segmentoffsetpulses = value; + + OnSegmentOffsetPulsesChanged(value); + + } + } + } + protected Nullable<Int32> _btsrspooltension; /// <summary> @@ -329,6 +387,24 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the StartOffsetPulses has changed. + /// </summary> + protected virtual void OnStartOffsetPulsesChanged(Nullable<Int32> startoffsetpulses) + { + StartOffsetPulsesChanged?.Invoke(this, startoffsetpulses); + RaisePropertyChanged(nameof(StartOffsetPulses)); + } + + /// <summary> + /// Called when the SegmentOffsetPulses has changed. + /// </summary> + protected virtual void OnSegmentOffsetPulsesChanged(Nullable<Int32> segmentoffsetpulses) + { + SegmentOffsetPulsesChanged?.Invoke(this, segmentoffsetpulses); + RaisePropertyChanged(nameof(SegmentOffsetPulses)); + } + + /// <summary> /// Called when the BtsrSpoolTension has changed. /// </summary> protected virtual void OnBtsrSpoolTensionChanged(Nullable<Int32> btsrspooltension) diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RMLS_SPOOLS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RMLS_SPOOLS.cs index e6f7d52f7..e89c734c8 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RMLS_SPOOLS.cs +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RMLS_SPOOLS.cs @@ -23,6 +23,8 @@ namespace Tango.DAL.Remote.DB public Nullable<double> LENGTH { get; set; } public Nullable<int> BACKING_RATE { get; set; } public Nullable<int> BOTTOM_BACKING_RATE { get; set; } + public Nullable<int> START_OFFSET_PULSES { get; set; } + public Nullable<int> SEGMENT_OFFSET_PULSES { get; set; } public Nullable<int> BTSR_SPOOL_TENSION { get; set; } public virtual RML RML { get; set; } diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx index f20679667..0e16606a7 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx @@ -1385,6 +1385,8 @@ <Property Name="LENGTH" Type="float" /> <Property Name="BACKING_RATE" Type="int" /> <Property Name="BOTTOM_BACKING_RATE" Type="int" /> + <Property Name="START_OFFSET_PULSES" Type="int" /> + <Property Name="SEGMENT_OFFSET_PULSES" Type="int" /> <Property Name="BTSR_SPOOL_TENSION" Type="int" /> </EntityType> <EntityType Name="ROLES"> @@ -6890,6 +6892,8 @@ <Property Name="LENGTH" Type="Double" /> <Property Name="BACKING_RATE" Type="Int32" /> <Property Name="BOTTOM_BACKING_RATE" Type="Int32" /> + <Property Name="START_OFFSET_PULSES" Type="Int32" /> + <Property Name="SEGMENT_OFFSET_PULSES" Type="Int32" /> <Property Name="BTSR_SPOOL_TENSION" Type="Int32" /> <NavigationProperty Name="RML" Relationship="RemoteModel.FK_RMLS_SPOOLS_RMLS" FromRole="RMLS_SPOOLS" ToRole="RML" /> <NavigationProperty Name="SPOOL_TYPES" Relationship="RemoteModel.FK_RMLS_SPOOLS_SPOOL_TYPES" FromRole="RMLS_SPOOLS" ToRole="SPOOL_TYPES" /> @@ -10277,6 +10281,8 @@ <EntityTypeMapping TypeName="RemoteModel.RMLS_SPOOLS"> <MappingFragment StoreEntitySet="RMLS_SPOOLS"> <ScalarProperty Name="BTSR_SPOOL_TENSION" ColumnName="BTSR_SPOOL_TENSION" /> + <ScalarProperty Name="SEGMENT_OFFSET_PULSES" ColumnName="SEGMENT_OFFSET_PULSES" /> + <ScalarProperty Name="START_OFFSET_PULSES" ColumnName="START_OFFSET_PULSES" /> <ScalarProperty Name="BOTTOM_BACKING_RATE" ColumnName="BOTTOM_BACKING_RATE" /> <ScalarProperty Name="BACKING_RATE" ColumnName="BACKING_RATE" /> <ScalarProperty Name="LENGTH" ColumnName="LENGTH" /> diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram index 09dd59ad8..4c2849008 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram @@ -5,102 +5,102 @@ <!-- Diagram content (shape and connector positions) --> <edmx:Diagrams> <Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1" ZoomLevel="87"> - <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="14.125" /> - <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="50.125" /> - <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="4.5" PointY="77.625" /> - <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="74.75" /> - <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="4.5" PointY="64.625" /> - <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="2.75" PointY="6.375" /> - <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="18.625" /> - <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="39.375" /> - <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="17.125" /> - <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="7.75" PointY="44" /> - <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="26.125" /> - <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="29.375" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="62" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="0.75" PointY="56.375" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="3" PointY="55.125" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="5.25" PointY="22" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="2.75" PointY="10.375" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="9.75" /> - <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="6.75" PointY="70.125" /> - <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="46.25" /> - <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="6.625" /> - <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="11.25" PointY="77.375" /> - <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="5.5" PointY="47.5" /> - <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="7.75" PointY="46.875" /> - <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="71.75" /> - <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="77" /> - <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="26.5" /> - <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="11.375" /> - <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="33.5" /> - <EntityTypeShape EntityType="RemoteModel.GBD" Width="1.5" PointX="0.75" PointY="36" /> - <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="13.75" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="4.5" PointY="61.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="6.75" PointY="65.75" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="12.5" PointY="59.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="14.75" PointY="60.875" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="9.5" PointY="58.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="11.75" PointY="67" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="12.5" PointY="55" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="14.75" PointY="64.75" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="4.5" PointY="81.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="6.75" PointY="75.25" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="9.5" PointY="82.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="11.75" PointY="72.875" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="67.5" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="9.5" PointY="62.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="11.75" PointY="62.875" /> - <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="7.75" PointY="54.5" /> - <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="10" PointY="38.375" /> - <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="18.75" PointY="2.375" /> - <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="18.5" /> - <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="22.625" /> - <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="6.75" /> - <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="22.375" /> - <EntityTypeShape EntityType="RemoteModel.LUB" Width="1.5" PointX="0.75" PointY="32.75" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="13.75" PointY="16.375" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="29.875" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="6.75" PointY="61.25" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="9" PointY="65.25" /> - <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="49.375" /> - <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="8.375" /> - <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="42.625" /> - <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="14.25" /> - <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="7.75" PointY="51.125" /> - <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="1.75" /> - <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="0.75" /> - <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="34.125" /> - <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="37.125" /> - <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="13.75" PointY="8.625" /> - <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="16" PointY="8.875" /> - <EntityTypeShape EntityType="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Width="1.5" PointX="8" PointY="2.625" /> - <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="16.125" /> - <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="8.25" PointY="18" /> - <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="4.625" /> - <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="4.75" /> - <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="15.75" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="15.75" PointY="22.125" /> - <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="22.375" /> - <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="2.25" /> - <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="5.25" PointY="32.625" /> - <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="18.5" /> - <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="11.25" PointY="8.5" /> - <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="6" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="43.5" /> - <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="17.75" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="19.75" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="43.25" /> - <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="20.75" PointY="2.375" /> - <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="20.75" PointY="6.375" /> - <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="20.75" PointY="9.375" /> - <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="20.75" PointY="17.375" /> - <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="20.75" PointY="22.375" /> - <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="21.75" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="26.25" /> - <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="27.75" /> - <EntityTypeShape EntityType="RemoteModel.WASHING_TEST_MATERIALS" Width="1.5" PointX="5.75" PointY="3.125" /> - <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="13.25" /> + <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="33.75" /> + <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="58.375" /> + <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="72.5" /> + <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="82.625" /> + <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="75.5" /> + <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="0.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="17.125" /> + <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="16.25" /> + <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="10" /> + <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="9" PointY="62.25" /> + <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="8.25" PointY="15.625" /> + <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="33.25" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="9" PointY="40" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="13.5" PointY="16" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="15.75" PointY="14.75" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="5.25" PointY="24.625" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="2.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="25.125" /> + <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="3.75" PointY="75.125" /> + <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="62.375" /> + <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="9.875" /> + <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="8.25" PointY="78.375" /> + <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="6.75" PointY="58.5" /> + <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="9" PointY="57.875" /> + <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="69.625" /> + <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="87.375" /> + <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="27.375" /> + <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="7" /> + <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="43.375" /> + <EntityTypeShape EntityType="RemoteModel.GBD" Width="1.5" PointX="0.75" PointY="39.875" /> + <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="2.75" PointY="4.75" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="1.5" PointY="86" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="3.75" PointY="70.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="7.5" PointY="97" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="9.75" PointY="82.625" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="1.5" PointY="90" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="3.75" PointY="80.875" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="9.5" PointY="66.875" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="11.75" PointY="68.625" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="6.5" PointY="63" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="8.75" PointY="71" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="87" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="6.75" PointY="82.625" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="78.375" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="8.5" PointY="93" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="10.75" PointY="78.75" /> + <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="9" PointY="2.125" /> + <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="11.25" PointY="38.375" /> + <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="19.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="17" /> + <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="30.375" /> + <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="1.625" /> + <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="16.875" /> + <EntityTypeShape EntityType="RemoteModel.LUB" Width="1.5" PointX="0.75" PointY="36.625" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="4.75" PointY="6.75" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="47.125" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="3.75" PointY="66.25" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="6" PointY="66.25" /> + <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="55.75" /> + <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="24.5" /> + <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="21" /> + <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="13.25" /> + <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="9" PointY="44.375" /> + <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="3.75" PointY="60.25" /> + <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="8.5" /> + <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="48.125" /> + <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="51.125" /> + <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="14.75" PointY="5" /> + <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="17" PointY="5.125" /> + <EntityTypeShape EntityType="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Width="1.5" PointX="14" PointY="1" /> + <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="14.625" /> + <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="8.25" PointY="20.375" /> + <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="12.375" /> + <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="11.5" /> + <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="5.75" PointY="9.75" /> + <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="15.75" PointY="20.625" /> + <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="21" /> + <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="10.75" /> + <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="11.25" PointY="29" /> + <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="21" /> + <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="14.25" PointY="24.875" /> + <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="9" PointY="28.625" /> + <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="51.125" /> + <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="11.75" PointY="4.75" /> + <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="16.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="49.625" /> + <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="16.75" PointY="8.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="17.75" PointY="12.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="19.75" PointY="10.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="20.75" PointY="13.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="20.75" PointY="18.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="21.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="34" /> + <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="35.5" /> + <EntityTypeShape EntityType="RemoteModel.WASHING_TEST_MATERIALS" Width="1.5" PointX="11.75" PointY="1.5" /> + <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="6" /> <AssociationConnector Association="RemoteModel.FK_ACTION_LOGS_USERS" /> <AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" /> <AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" /> diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs index 997ac4b13..299f1bb4f 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs @@ -2799,6 +2799,8 @@ namespace Tango.Integration.Operation ticket.Spool.BackingRate = rmlSpool.BackingRate != null ? rmlSpool.BackingRate.Value : ticket.Spool.BackingRate; ticket.Spool.BottomBackingRate = rmlSpool.BottomBackingRate != null ? rmlSpool.BottomBackingRate.Value : ticket.Spool.BottomBackingRate; ticket.Spool.BtsrSpoolTension = rmlSpool.BtsrSpoolTension != null ? rmlSpool.BtsrSpoolTension.Value : ticket.Spool.BtsrSpoolTension; + ticket.Spool.StartOffsetPulses = rmlSpool.StartOffsetPulses != null ? rmlSpool.StartOffsetPulses.Value : ticket.Spool.StartOffsetPulses; + ticket.Spool.SegmentOffsetPulses = rmlSpool.SegmentOffsetPulses != null ? rmlSpool.SegmentOffsetPulses.Value : ticket.Spool.SegmentOffsetPulses; } //Override spool parameters from Machine Spool calibration @@ -2806,6 +2808,10 @@ namespace Tango.Integration.Operation if (machineSpool != null) { ticket.Spool.LimitSwitchStartPointOffset = machineSpool.LimitSwitchStartPointOffset != null ? machineSpool.LimitSwitchStartPointOffset.Value : ticket.Spool.LimitSwitchStartPointOffset; + ticket.Spool.StartOffsetPulses = machineSpool.StartOffsetPulses != null ? machineSpool.StartOffsetPulses.Value : ticket.Spool.StartOffsetPulses; + ticket.Spool.BackingRate = machineSpool.BackingRate != null ? machineSpool.BackingRate.Value : ticket.Spool.BackingRate; + ticket.Spool.SegmentOffsetPulses = machineSpool.SegmentOffsetPulses != null ? machineSpool.SegmentOffsetPulses.Value : ticket.Spool.SegmentOffsetPulses; + ticket.Spool.BottomBackingRate = machineSpool.BottomBackingRate != null ? machineSpool.BottomBackingRate.Value : ticket.Spool.BottomBackingRate; } //Thread Parameters |
