ソースを参照

修改测试方案名

ltwork 1 年間 前
コミット
7b2bde6043

+ 4 - 1
BlankApp1/BizService/BizTestRecordService.cs

@@ -13,7 +13,10 @@ namespace BizService
         {
             return base.GetFirst(x => ((x.device_id == deviceId) &&(x.scheme_name == schName)));
         }
-
+        public List<biz_test_record> FindRecorddBySchname(string schName)
+        {
+            return base.GetList(x => ((x.scheme_name == schName)));
+        }
         public List<biz_test_record> FindRecordByDeviceId(long deviceId)
         {
             return base.GetList(x => ((x.device_id == deviceId)));

+ 1 - 1
BlankApp1/BizService/IBizTestRecordService.cs

@@ -14,7 +14,7 @@ namespace BizService
         /// <param name="schemeId"></param>
         /// <returns></returns>
         public biz_test_record FindRecorddByDeviceIdAndSchname(long deviceId,string schName);
-
+        public List<biz_test_record> FindRecorddBySchname(string schName);
         public List<biz_test_record> FindRecordByDeviceId(long deviceId);
     }
 }

+ 2 - 1
BlankApp1/BlankApp1/ViewModels/BasicConfigViewModel/BaseConfigViewModel.cs

@@ -203,10 +203,11 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
             //测试方案名称和设备类型
             string schemeName = (string)multiObj[0];
             string deviceKindName = (string)multiObj[1];
+            long schemeId = (long)multiObj[2];
             NavigationParameters parm = new NavigationParameters();
             parm.Add("Key", schemeName);
             parm.Add("Key2", deviceKindName);
-
+            parm.Add("Key3", schemeId);
             _regionManager.Regions["ContentRegion"].RequestNavigate("EditSchView", async callback =>
             {
                 if (callback.Result == true)

+ 40 - 8
BlankApp1/BlankApp1/ViewModels/BasicConfigViewModel/EditSchViewModel.cs

@@ -33,14 +33,16 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
         private readonly IBasicPlcTestSchemeService _basicPlcTestSchemeService;
         private readonly IBasicPlcTestSchemeDtlService _basicPlcTestSchemeDtlService;
         private readonly IBasicDeviceKindService _iBasicDeviceKindService;
+        private readonly IBizTestRecordService _bizTestRecordService;
         private readonly IMapper _mapper;
         private readonly ILogger _logger;
         private List<OptionConfigDto> _optionConfigs;
         private bas_plc_test_scheme bas_Plc_Test_Scheme;//测试方案
-        private int schDtlMainId = 0;//测试方案明细主键id
+        private long schIdGlobal = 0;//测试方案主键id
+        private string schNameBefore;//修改前测试方案名称
         public event Action<NavigationResult> RequestClose;
         public ObservableCollection<SelectItemModel> allSchProjectList = new ObservableCollection<SelectItemModel>(); //所有测试项
-        public EditSchViewModel(IDialogService dialog, IEventAggregator aggregator, IRegionManager regionManager, IOptionConfigService optionConfigService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService, IBasicDeviceKindService iBasicDeviceKindService, IMapper mapper, ILogger logger)
+        public EditSchViewModel(IDialogService dialog, IEventAggregator aggregator, IRegionManager regionManager, IOptionConfigService optionConfigService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService, IBasicDeviceKindService iBasicDeviceKindService,IBizTestRecordService bizTestRecordService, IMapper mapper, ILogger logger)
         {
             _dialog = dialog;
             _aggregator = aggregator;
@@ -49,6 +51,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
             _basicPlcTestSchemeService = basicPlcTestSchemeService;
             _basicPlcTestSchemeDtlService = basicPlcTestSchemeDtlService;
             _iBasicDeviceKindService = iBasicDeviceKindService;
+            _bizTestRecordService= bizTestRecordService;
             _mapper = mapper;
             _logger = logger;
             CloseCommand = new DelegateCommand(Close);
@@ -135,7 +138,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
 
 
         #region idialog接口实现
-        public string Title { set; get; } = "新增方案";
+        public string Title { set; get; } 
 
         #endregion
 
@@ -243,12 +246,31 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                     }
 
                 }
-                MessageBox.Show("保存成功!", "确认", MessageBoxButton.OK, MessageBoxImage.Information);
-                //发布消息
-                _aggregator.GetEvent<ChangeEvent>().Publish("Change");
-                _regionManager.Regions["ContentRegion"].RequestNavigate("BaseConfigView");
-                SendLogToDis($"修改测试方案,方案名称为{ScheduleName}");
+               
             }
+            //修改方案名
+            else
+            {
+                var findScheMsg = _basicPlcTestSchemeService.Find((int)schIdGlobal);
+                if(findScheMsg != null)
+                {
+                    findScheMsg.scheme_name = ScheduleName;
+                    _basicPlcTestSchemeService.Edit(findScheMsg);
+                    //查看测试记录中是否有这个 方案,有的话再改名
+                    var finAll=_bizTestRecordService.FindRecorddBySchname(schNameBefore);
+                    foreach(var item in finAll)
+                    {
+                        item.scheme_name = ScheduleName;
+                        item.record_name = ScheduleName + "_record";
+                        _bizTestRecordService.Edit(item);
+                    }
+                }
+            }
+            MessageBox.Show("保存成功!", "确认", MessageBoxButton.OK, MessageBoxImage.Information);
+            //发布消息
+            _aggregator.GetEvent<ChangeEvent>().Publish("Change");
+            _regionManager.Regions["ContentRegion"].RequestNavigate("BaseConfigView");
+            SendLogToDis($"修改测试方案,方案名称为{ScheduleName}");
         }
       
         /// <summary>
@@ -424,6 +446,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
 
                         Title = "编辑方案";
                         ScheduleName = item.ToString();
+                        schNameBefore = item.ToString();
                         //获取已经有的测试项
                         GetExistSchs();
                      
@@ -446,6 +469,15 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                     DeviceKindName = item;
                 }
             }
+            ///方案id
+            var getMsg3 = navigationContext.Parameters.GetValues<long>("Key3");
+            if (getMsg3 != null)
+            {
+                foreach (var item in getMsg3)
+                {
+                    schIdGlobal = item;
+                }
+            }
         }
 
         public bool IsNavigationTarget(NavigationContext navigationContext)

+ 1 - 0
BlankApp1/BlankApp1/Views/BasicConfigView/BaseConfigView.xaml

@@ -93,6 +93,7 @@
                                         <MultiBinding Converter="{ StaticResource ResourceKey=TwoParConverter}">
                                             <Binding Path="SchemeName"  ></Binding>
                                             <Binding Path="DeviceKindName"></Binding>
+                                            <Binding Path="SchemeId"></Binding>
                                         </MultiBinding>
                                     </Button.CommandParameter>
                                     <StackPanel Orientation="Horizontal">

+ 1 - 1
BlankApp1/BlankApp1/Views/BasicConfigView/EditSchView.xaml

@@ -63,7 +63,7 @@
                     </StackPanel>
                     <StackPanel Orientation="Horizontal">
                         <TextBlock Text="测试方案名称:"  Style="{StaticResource NormalTextBlockStyle}" Margin="10,0,5,0"/>
-                        <TextBox  Height="28" Width="120" Text="{Binding ScheduleName}" >
+                        <TextBox  Height="28" Width="160" Text="{Binding ScheduleName}" >
                         </TextBox>
                     </StackPanel>
                 <Button  Content="取消" Width="80"  Margin="5,0"  Command="{Binding CancelCommand}" Style="{StaticResource NormalButtonStyle}" DockPanel.Dock="Right" Background="#EC808D" />