Browse Source

修改bug

ltwork 1 year ago
parent
commit
c32b1fd646

+ 1 - 1
BlankApp1/BlankApp1/App.config

@@ -2,7 +2,7 @@
 <configuration>
 <configuration>
 	<appSettings>
 	<appSettings>
 		<!--连接字符串 SQL Server-->
 		<!--连接字符串 SQL Server-->
-		<add key="MySql" value="Data Source=localhost;Database=plc_point_db;User Id='root';Password='521125';port=3306;charset=utf8mb4;"/>
+		<add key="MySql" value="Data Source=localhost;Database=plc_point_db2;User Id='root';Password='521125';port=3306;charset=utf8mb4;"/>
 		<add key="PLCIp" value="192.168.0.20"/>
 		<add key="PLCIp" value="192.168.0.20"/>
 		<add key="PLCPort" value="9600"/>
 		<add key="PLCPort" value="9600"/>
 
 

+ 11 - 6
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/AutoTestViewModel.cs

@@ -48,7 +48,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
         private long selctStartDetailId = 0; //当前选择的第一个方案明细id
         private long selctStartDetailId = 0; //当前选择的第一个方案明细id
         private BizTestRecordDtlDto bizTestRecordDtlDto = new BizTestRecordDtlDto(); //测试方案明细表
         private BizTestRecordDtlDto bizTestRecordDtlDto = new BizTestRecordDtlDto(); //测试方案明细表
         private const string TestMode = "自动测试";
         private const string TestMode = "自动测试";
-        private int delayTime = 20;
+        private int delayTime = 60;
         ManualResetEvent m = new ManualResetEvent(true); //实例化阻塞事件
         ManualResetEvent m = new ManualResetEvent(true); //实例化阻塞事件
         CancellationTokenSource tokensource = new CancellationTokenSource(); //声明令牌
         CancellationTokenSource tokensource = new CancellationTokenSource(); //声明令牌
         public AutoTestViewModel(IDialogService dialog, IEventAggregator aggregator, IOptionConfigService optionConfigService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService, IBizTestRecordService iBizTestRecordService, IBizTestRecordDtlService iBizTestRecordDtlService, IMapper mapper, ILogger logger)
         public AutoTestViewModel(IDialogService dialog, IEventAggregator aggregator, IOptionConfigService optionConfigService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService, IBizTestRecordService iBizTestRecordService, IBizTestRecordDtlService iBizTestRecordDtlService, IMapper mapper, ILogger logger)
@@ -326,7 +326,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             }
             }
             testStatus = 99;//测试状态赋值为99
             testStatus = 99;//测试状态赋值为99
                             //状态status 没有赋值
                             //状态status 没有赋值
-
+            DateTime finishTime = DateTime.Now;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.StartTestTime = startTime;
             bizTestRecordDtlDto.StartTestTime = startTime;
@@ -337,14 +337,19 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             bizTestRecordDtlDto.CreateBy = Appsession.UserName;
             bizTestRecordDtlDto.CreateBy = Appsession.UserName;
             bizTestRecordDtlDto.CreateTime = startTime;
             bizTestRecordDtlDto.CreateTime = startTime;
             bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
             bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
-            bizTestRecordDtlDto.UpdateTime = DateTime.Now;
-            //更新时间
-            bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
-            bizTestRecordDtlDto.UpdateTime = DateTime.Now;
+            bizTestRecordDtlDto.UpdateTime = finishTime;
+           
 
 
             var testRecordDtl = _mapper.Map<BizTestRecordDtlDto, biz_test_record_dtl>(bizTestRecordDtlDto);
             var testRecordDtl = _mapper.Map<BizTestRecordDtlDto, biz_test_record_dtl>(bizTestRecordDtlDto);
             _iBizTestRecordDtlService.Add(testRecordDtl);
             _iBizTestRecordDtlService.Add(testRecordDtl);
+            //跟新测试记录的_iBizTestRecord的完成时间
+            var findRecord = _iBizTestRecordService.Find((int)recordId);
+            if (findRecord != null)
+            {
 
 
+                findRecord.finish_test_time = finishTime;
+                _iBizTestRecordService.Edit(findRecord);
+            }
 
 
         }
         }
        
        

+ 1 - 1
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/DeviceTestViewModel.cs

@@ -327,7 +327,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                             SchemeId = sch.SchemeId,
                             SchemeId = sch.SchemeId,
                             TestStatus = testStu,
                             TestStatus = testStu,
                             CreateBy = sch.CreateBy,
                             CreateBy = sch.CreateBy,
-                            CreateTime = item.CreateTime,
+                            CreateTime = sch.CreateTime,
                         });
                         });
 
 
                     }
                     }

+ 12 - 6
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/ManualTestViewModel.cs

@@ -290,7 +290,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             }
             }
             testStatus = 99;//测试状态赋值为99
             testStatus = 99;//测试状态赋值为99
                             //状态status 没有赋值
                             //状态status 没有赋值
-
+            DateTime finishTime = DateTime.Now;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.StartTestTime = startTime;
             bizTestRecordDtlDto.StartTestTime = startTime;
@@ -301,15 +301,21 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             bizTestRecordDtlDto.CreateBy = Appsession.UserName;
             bizTestRecordDtlDto.CreateBy = Appsession.UserName;
             bizTestRecordDtlDto.CreateTime = startTime;
             bizTestRecordDtlDto.CreateTime = startTime;
             bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
             bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
-            bizTestRecordDtlDto.UpdateTime = DateTime.Now;
-            //更新时间
-            bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
-            bizTestRecordDtlDto.UpdateTime = DateTime.Now;
+            bizTestRecordDtlDto.UpdateTime = finishTime;
+           
         
         
             var testRecordDtl = _mapper.Map<BizTestRecordDtlDto, biz_test_record_dtl>(bizTestRecordDtlDto);
             var testRecordDtl = _mapper.Map<BizTestRecordDtlDto, biz_test_record_dtl>(bizTestRecordDtlDto);
             _iBizTestRecordDtlService.Add(testRecordDtl);
             _iBizTestRecordDtlService.Add(testRecordDtl);
 
 
-  
+            //跟新测试记录的_iBizTestRecord的完成时间
+            var findRecord = _iBizTestRecordService.Find((int)recordId);
+            if (findRecord != null)
+            {
+             
+                findRecord.finish_test_time = finishTime;
+                _iBizTestRecordService.Edit(findRecord);
+            }
+
         }
         }
         /// <summary>
         /// <summary>
         /// 判定结果
         /// 判定结果

+ 13 - 2
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/ProjectTestResultViewModel.cs

@@ -126,7 +126,12 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                         foreach (var sch in recordMsgs)
                         foreach (var sch in recordMsgs)
                         {
                         {
 
 
-                            long schId = (long)_basicPlcTestSchemeService.FindByNameAndType(sch.scheme_name, deviceKind)?.scheme_id;
+                            var plcTest = _basicPlcTestSchemeService.FindByNameAndType(sch.scheme_name, deviceKind);
+                            if(plcTest == null)
+                            {
+                                continue;
+                            }
+                            long schId = plcTest.scheme_id;
                             //计算测试结果
                             //计算测试结果
                             string testResult = string.Empty;
                             string testResult = string.Empty;
                             int countResult = 0;
                             int countResult = 0;
@@ -176,16 +181,22 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                         {
                         {
                             deviceTestResult = "不通过";
                             deviceTestResult = "不通过";
                         }
                         }
+                        DateTime stDateTime = DateTime.Now;
+                        if(startDateTimes.Count != 0)
+                        {
+                            stDateTime = startDateTimes.Min();
+                        }
                         //这里不添加方案名称
                         //这里不添加方案名称
                         allDeviceList.Add(new DeviceDtlWithResultModel()
                         allDeviceList.Add(new DeviceDtlWithResultModel()
                         {
                         {
+
                             ProjectId = deviceMsg.project_id,
                             ProjectId = deviceMsg.project_id,
                             DeviceId = deviceMsg.device_id,
                             DeviceId = deviceMsg.device_id,
                             DeviceNo = deviceMsg.device_no,
                             DeviceNo = deviceMsg.device_no,
                             DeviceName = deviceMsg.device_name,
                             DeviceName = deviceMsg.device_name,
                             DeviceKindName = deviceKind,
                             DeviceKindName = deviceKind,
                             ProjectName = projectName,
                             ProjectName = projectName,
-                            StartTestTime = startDateTimes.Min(),//取最小时间
+                            StartTestTime = stDateTime,//取最小时间
                             TestResult = deviceTestResult
                             TestResult = deviceTestResult
                         });
                         });
 
 

+ 18 - 6
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/ResultQueryViewModel.cs

@@ -278,7 +278,12 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     foreach ( var sch in recordMsgs)
                     foreach ( var sch in recordMsgs)
                     {
                     {
                         string testStatus = "已完成";
                         string testStatus = "已完成";
-                        long schId=(long)_basicPlcTestSchemeService.FindByNameAndType(sch.scheme_name, deviceKind)?.scheme_id;
+                        var plcTest = _basicPlcTestSchemeService.FindByNameAndType(sch.scheme_name, deviceKind);
+                        if(plcTest == null)
+                        {
+                            continue;
+                        }
+                        long schId= plcTest.scheme_id;
                         //计算测试结果
                         //计算测试结果
                         string testResult = string.Empty;
                         string testResult = string.Empty;
                         int countResult = 0;
                         int countResult = 0;
@@ -336,12 +341,12 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                             DeviceName = deviceMsg.device_name,
                             DeviceName = deviceMsg.device_name,
                             DeviceKindName = deviceKind,
                             DeviceKindName = deviceKind,
                             ProjectName = projectName,
                             ProjectName = projectName,
-                            StartTestTime =(DateTime) startDateTimes?.Min(),//取最小时间
-                            FinishTestTime = (DateTime)endDateTimes?.Max(),//取最大时间
+                            StartTestTime = sch.start_test_time.Value,//取最小时间
+                            FinishTestTime = sch.finish_test_time.Value,//取最大时间
                             TestResult = testResult,
                             TestResult = testResult,
                             SchemeName = sch.scheme_name,
                             SchemeName = sch.scheme_name,
                             SchemeId = schId,
                             SchemeId = schId,
-                            CreateTime = sch.start_test_time.Value,
+                            CreateTime = sch.create_time,
                             CreateBy=sch.create_by,
                             CreateBy=sch.create_by,
                             Remark=sch.remark,
                             Remark=sch.remark,
                             TestStatus=testStatus,
                             TestStatus=testStatus,
@@ -360,6 +365,13 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                     //只添加选择的项目
                     //只添加选择的项目
                     if (projectName == selectProjectName)
                     if (projectName == selectProjectName)
                     {
                     {
+                        DateTime startTi= DateTime.Now;
+                        if(startDateTimes.Count!=0)
+                        {
+                            startTi = startDateTimes.Min();//取最小时间
+                        }
+
+                      
                         //这里不添加方案名称
                         //这里不添加方案名称
                         allDeviceList.Add(new DeviceDtlWithResultModel()
                         allDeviceList.Add(new DeviceDtlWithResultModel()
                         {
                         {
@@ -369,7 +381,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                             DeviceName = deviceMsg.device_name,
                             DeviceName = deviceMsg.device_name,
                             DeviceKindName = deviceKind,
                             DeviceKindName = deviceKind,
                             ProjectName = projectName,
                             ProjectName = projectName,
-                            StartTestTime = startDateTimes.Min(),//取最小时间
+                            StartTestTime = startTi,//取最小时间
                             CreateTime=deviceMsg.create_time,
                             CreateTime=deviceMsg.create_time,
                             CreateBy=deviceMsg.create_by,
                             CreateBy=deviceMsg.create_by,
                             TestResult = deviceTestResult
                             TestResult = deviceTestResult
@@ -382,7 +394,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                             DeviceName = deviceMsg.device_name,
                             DeviceName = deviceMsg.device_name,
                             DeviceKindName = deviceKind,
                             DeviceKindName = deviceKind,
                             ProjectName = projectName,
                             ProjectName = projectName,
-                            StartTestTime = startDateTimes.Min(),//取最小时间
+                            StartTestTime = startTi,//取最小时间
                             CreateTime = deviceMsg.create_time,
                             CreateTime = deviceMsg.create_time,
                             CreateBy = deviceMsg.create_by,
                             CreateBy = deviceMsg.create_by,
                             TestResult = deviceTestResult
                             TestResult = deviceTestResult

+ 9 - 4
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/RetryTestViewModel.cs

@@ -295,7 +295,7 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             }
             }
             testStatus = 99;//测试状态赋值为99
             testStatus = 99;//测试状态赋值为99
                             //状态status 没有赋值
                             //状态status 没有赋值
-
+            DateTime finishTime = DateTime.Now;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.StartTestTime = startTime;
             bizTestRecordDtlDto.StartTestTime = startTime;
@@ -307,13 +307,18 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             bizTestRecordDtlDto.CreateTime = startTime;
             bizTestRecordDtlDto.CreateTime = startTime;
             bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
             bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
             bizTestRecordDtlDto.UpdateTime = DateTime.Now;
             bizTestRecordDtlDto.UpdateTime = DateTime.Now;
-            //更新时间
-            bizTestRecordDtlDto.UpdateBy = Appsession.UserName;
-            bizTestRecordDtlDto.UpdateTime = DateTime.Now;
+      
 
 
             var testRecordDtl = _mapper.Map<BizTestRecordDtlDto, biz_test_record_dtl>(bizTestRecordDtlDto);
             var testRecordDtl = _mapper.Map<BizTestRecordDtlDto, biz_test_record_dtl>(bizTestRecordDtlDto);
             _iBizTestRecordDtlService.Add(testRecordDtl);
             _iBizTestRecordDtlService.Add(testRecordDtl);
+            //跟新测试记录的_iBizTestRecord的完成时间
+            var findRecord = _iBizTestRecordService.Find((int)recordId);
+            if (findRecord != null)
+            {
 
 
+                findRecord.finish_test_time = finishTime;
+                _iBizTestRecordService.Edit(findRecord);
+            }
 
 
         }
         }
         /// <summary>
         /// <summary>

+ 14 - 4
BlankApp1/BlankApp1/ViewModels/StatisticsViewModel.cs

@@ -84,7 +84,7 @@ namespace BlankApp1.ViewModels
         {
         {
             allDeviceList.Clear();
             allDeviceList.Clear();
             conditionDevices.Clear();
             conditionDevices.Clear();
-          
+           
             //所有测试方案
             //所有测试方案
             var schlist = _basicPlcTestSchemeService.QueryList();
             var schlist = _basicPlcTestSchemeService.QueryList();
             var schDtoList = _mapper.Map<List<bas_plc_test_scheme>, List<BasicPlcTestSchemeDto>>(schlist);
             var schDtoList = _mapper.Map<List<bas_plc_test_scheme>, List<BasicPlcTestSchemeDto>>(schlist);
@@ -106,8 +106,13 @@ namespace BlankApp1.ViewModels
                     var recordMsgs = _iBizTestRecordService.FindRecordByDeviceId(deviceId);
                     var recordMsgs = _iBizTestRecordService.FindRecordByDeviceId(deviceId);
                     foreach (var sch in recordMsgs)
                     foreach (var sch in recordMsgs)
                     {
                     {
+                        long schId = 0;
+                        var plcTest = _basicPlcTestSchemeService.FindByNameAndType(sch.scheme_name, deviceKind);
+                        if(plcTest!=null)
+                        {
+                            schId = plcTest.scheme_id;
+                        }
 
 
-                        long schId = (long)_basicPlcTestSchemeService.FindByNameAndType(sch.scheme_name, deviceKind)?.scheme_id;
                         //计算测试结果
                         //计算测试结果
                         string testResult = string.Empty;
                         string testResult = string.Empty;
                         int countResult = 0;
                         int countResult = 0;
@@ -184,6 +189,11 @@ namespace BlankApp1.ViewModels
                     {
                     {
                         deviceTestResult = "不通过";
                         deviceTestResult = "不通过";
                     }
                     }
+                    DateTime startTi = DateTime.Now;
+                    if(startDateTimes.Count!=0)
+                    {
+                        startTi = startDateTimes.Min();
+                    }
                     //这里不添加方案名称
                     //这里不添加方案名称
                     allDeviceList.Add(new DeviceDtlWithResultModel()
                     allDeviceList.Add(new DeviceDtlWithResultModel()
                     {
                     {
@@ -193,7 +203,7 @@ namespace BlankApp1.ViewModels
                         DeviceName = deviceMsg.device_name,
                         DeviceName = deviceMsg.device_name,
                         DeviceKindName = deviceKind,
                         DeviceKindName = deviceKind,
                         ProjectName = projectName,
                         ProjectName = projectName,
-                        StartTestTime = startDateTimes.Min(),//取最小时间
+                        StartTestTime = startTi,//取最小时间
                         TestResult = deviceTestResult
                         TestResult = deviceTestResult
                     }); ;
                     }); ;
                     conditionDevices.Add(new DeviceDtlWithResultModel()
                     conditionDevices.Add(new DeviceDtlWithResultModel()
@@ -204,7 +214,7 @@ namespace BlankApp1.ViewModels
                         DeviceName = deviceMsg.device_name,
                         DeviceName = deviceMsg.device_name,
                         DeviceKindName = deviceKind,
                         DeviceKindName = deviceKind,
                         ProjectName = projectName,
                         ProjectName = projectName,
-                        StartTestTime = startDateTimes.Min(),//取最小时间
+                        StartTestTime = startTi,//取最小时间
                         TestResult = deviceTestResult
                         TestResult = deviceTestResult
                     });
                     });
                 }
                 }

+ 1 - 1
BlankApp1/BlankApp1/Views/MonitorManageView/PLCWriteView.xaml

@@ -26,7 +26,7 @@
                     <DataGridTemplateColumn.CellTemplate>
                     <DataGridTemplateColumn.CellTemplate>
                         <DataTemplate>
                         <DataTemplate>
                             <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                             <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
-                                <TextBox  Width="60" Text="{Binding PlcValue, Mode=OneWayToSource, UpdateSourceTrigger=LostFocus}"  HorizontalContentAlignment ="Left" Foreground="Black" Height="12" 
+                                <TextBox  Width="60" VerticalContentAlignment="Center" Text="{Binding PlcValue, Mode=OneWayToSource, UpdateSourceTrigger=LostFocus}"  HorizontalContentAlignment ="Left" Foreground="Black" MinHeight="20" Height="20" FontSize="10" Padding="0"
                                         Cursor="Hand" Margin="0,0,2,0" >
                                         Cursor="Hand" Margin="0,0,2,0" >
                                 </TextBox>
                                 </TextBox>
                                 <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
                                 <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"