Bladeren bron

修改bug

ltwork 1 jaar geleden
bovenliggende
commit
c32b1fd646

+ 1 - 1
BlankApp1/BlankApp1/App.config

@@ -2,7 +2,7 @@
 <configuration>
 	<appSettings>
 		<!--连接字符串 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="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 BizTestRecordDtlDto bizTestRecordDtlDto = new BizTestRecordDtlDto(); //测试方案明细表
         private const string TestMode = "自动测试";
-        private int delayTime = 20;
+        private int delayTime = 60;
         ManualResetEvent m = new ManualResetEvent(true); //实例化阻塞事件
         CancellationTokenSource tokensource = new CancellationTokenSource(); //声明令牌
         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
                             //状态status 没有赋值
-
+            DateTime finishTime = DateTime.Now;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.StartTestTime = startTime;
@@ -337,14 +337,19 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             bizTestRecordDtlDto.CreateBy = Appsession.UserName;
             bizTestRecordDtlDto.CreateTime = startTime;
             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);
             _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,
                             TestStatus = testStu,
                             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
                             //状态status 没有赋值
-
+            DateTime finishTime = DateTime.Now;
             bizTestRecordDtlDto.RecordId = recordId;
             bizTestRecordDtlDto.SchemeDtlId = schDetailId;
             bizTestRecordDtlDto.StartTestTime = startTime;
@@ -301,15 +301,21 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
             bizTestRecordDtlDto.CreateBy = Appsession.UserName;
             bizTestRecordDtlDto.CreateTime = startTime;
             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);
             _iBizTestRecordDtlService.Add(testRecordDtl);
 
-  
+            //跟新测试记录的_iBizTestRecord的完成时间
+            var findRecord = _iBizTestRecordService.Find((int)recordId);
+            if (findRecord != null)
+            {
+             
+                findRecord.finish_test_time = finishTime;
+                _iBizTestRecordService.Edit(findRecord);
+            }
+
         }
         /// <summary>
         /// 判定结果

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

@@ -126,7 +126,12 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                         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;
                             int countResult = 0;
@@ -176,16 +181,22 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                         {
                             deviceTestResult = "不通过";
                         }
+                        DateTime stDateTime = DateTime.Now;
+                        if(startDateTimes.Count != 0)
+                        {
+                            stDateTime = startDateTimes.Min();
+                        }
                         //这里不添加方案名称
                         allDeviceList.Add(new DeviceDtlWithResultModel()
                         {
+
                             ProjectId = deviceMsg.project_id,
                             DeviceId = deviceMsg.device_id,
                             DeviceNo = deviceMsg.device_no,
                             DeviceName = deviceMsg.device_name,
                             DeviceKindName = deviceKind,
                             ProjectName = projectName,
-                            StartTestTime = startDateTimes.Min(),//取最小时间
+                            StartTestTime = stDateTime,//取最小时间
                             TestResult = deviceTestResult
                         });
 

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

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

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

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

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

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

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

@@ -26,7 +26,7 @@
                     <DataGridTemplateColumn.CellTemplate>
                         <DataTemplate>
                             <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" >
                                 </TextBox>
                                 <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"