|
@@ -1,9 +1,7 @@
|
|
|
using AutoMapper;
|
|
|
using BizService;
|
|
|
-using BlankApp1.Events;
|
|
|
using Model.Dto;
|
|
|
using Model.Entities;
|
|
|
-using NetTaste;
|
|
|
using Newtonsoft.Json;
|
|
|
using NLog;
|
|
|
using PLCTool.Common;
|
|
@@ -11,11 +9,9 @@ using Prism.Commands;
|
|
|
using Prism.Events;
|
|
|
using Prism.Mvvm;
|
|
|
using Prism.Services.Dialogs;
|
|
|
-using SqlSugar;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Collections.ObjectModel;
|
|
|
-using System.IdentityModel.Tokens.Jwt;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
@@ -23,7 +19,7 @@ using System.Windows;
|
|
|
|
|
|
namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
{
|
|
|
- public class AddPlanViewModel : BindableBase, IDialogAware
|
|
|
+ public class AddOrEditSchViewModel : BindableBase, IDialogAware
|
|
|
{
|
|
|
private readonly IDialogService _dialog;
|
|
|
private readonly IEventAggregator _aggregator;
|
|
@@ -33,15 +29,15 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
private readonly IMapper _mapper;
|
|
|
private readonly ILogger _logger;
|
|
|
private List<OptionConfigDto> _optionConfigs;
|
|
|
- public AddPlanViewModel(IDialogService dialog, IEventAggregator aggregator, IOptionConfigService optionConfigService,IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService,IMapper mapper,ILogger logger)
|
|
|
+ public AddOrEditSchViewModel(IDialogService dialog, IEventAggregator aggregator, IOptionConfigService optionConfigService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService, IMapper mapper)
|
|
|
{
|
|
|
_dialog = dialog;
|
|
|
_aggregator = aggregator;
|
|
|
- _optionConfigService= optionConfigService;
|
|
|
- _basicPlcTestSchemeService= basicPlcTestSchemeService;
|
|
|
- _basicPlcTestSchemeDtlService= basicPlcTestSchemeDtlService;
|
|
|
+ _optionConfigService = optionConfigService;
|
|
|
+ _basicPlcTestSchemeService = basicPlcTestSchemeService;
|
|
|
+ _basicPlcTestSchemeDtlService = basicPlcTestSchemeDtlService;
|
|
|
_mapper = mapper;
|
|
|
- _logger = logger;
|
|
|
+ //_logger = logger;
|
|
|
CloseCommand = new DelegateCommand(Close);
|
|
|
SureCommand = new DelegateCommand<string>(Sure);
|
|
|
ResetCommand = new DelegateCommand<string>(ResetMethod);
|
|
@@ -85,69 +81,81 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
Title = "编辑方案";
|
|
|
int id = Convert.ToInt32(item);
|
|
|
//根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
- var findEntity=_basicPlcTestSchemeDtlService.Find(id);
|
|
|
+ var findEntity = _basicPlcTestSchemeDtlService.Find(id);
|
|
|
var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
|
|
|
if (findresult != null)
|
|
|
{
|
|
|
//根据方案id 在方案表中查找方案名 设备名
|
|
|
- int schID =Convert.ToInt32( findresult.SchemeId);
|
|
|
- var findSch=_basicPlcTestSchemeService.Find(schID);
|
|
|
- if(findSch != null )
|
|
|
+ int schID = Convert.ToInt32(findresult.SchemeId);
|
|
|
+ var findSch = _basicPlcTestSchemeService.Find(schID);
|
|
|
+ if (findSch != null)
|
|
|
{
|
|
|
ScheduleName = findSch.scheme_name;
|
|
|
DeviceName = findSch.device_name;
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
TestName = findresult.ItemName;
|
|
|
SelectTest = findresult.ItemType;
|
|
|
//前置项解析
|
|
|
string preconStr = findresult.Precondition.ToString();
|
|
|
- JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
|
|
|
- BeforeSelectJudge = preconditionModel.ItemType;
|
|
|
- SelectLogic = preconditionModel.ItemLogical;
|
|
|
- BeforeDetail = preconditionModel.Description;
|
|
|
- BeforeConList.Clear();
|
|
|
- foreach(var detail in preconditionModel.DetailInfo)
|
|
|
+ if (!string.IsNullOrEmpty(preconStr))
|
|
|
{
|
|
|
- BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
- basPlcItemConfigDto.PlcItem=detail.PlcItem;
|
|
|
- basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
- basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
- basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
- beforeConList.Add(basPlcItemConfigDto);
|
|
|
+ JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
|
|
|
+ BeforeSelectJudge = preconditionModel.ItemType;
|
|
|
+ SelectLogic = preconditionModel.ItemLogical;
|
|
|
+ BeforeDetail = preconditionModel.Description;
|
|
|
+ BeforeConList.Clear();
|
|
|
+ foreach (var detail in preconditionModel.DetailInfo)
|
|
|
+ {
|
|
|
+ BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
+ beforeConList.Add(basPlcItemConfigDto);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//输入项解析
|
|
|
string inStr = findresult.Action.ToString();
|
|
|
- JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
|
|
|
- SelectInJudge = inModel.ItemType;
|
|
|
- InSelectLogic = inModel.ItemLogical;
|
|
|
- InDetail = inModel.Description;
|
|
|
- InConList.Clear();
|
|
|
- foreach (var detail in inModel.DetailInfo)
|
|
|
+ if (!string.IsNullOrEmpty(inStr))
|
|
|
{
|
|
|
- BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
- basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
- basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
- basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
- basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
- InConList.Add(basPlcItemConfigDto);
|
|
|
+ JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
|
|
|
+ SelectInJudge = inModel.ItemType;
|
|
|
+ InSelectLogic = inModel.ItemLogical;
|
|
|
+ InDetail = inModel.Description;
|
|
|
+ InConList.Clear();
|
|
|
+ foreach (var detail in inModel.DetailInfo)
|
|
|
+ {
|
|
|
+ BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
+ InConList.Add(basPlcItemConfigDto);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//输出项解析
|
|
|
string outStr = findresult.JudgementResult.ToString();
|
|
|
- JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
|
|
|
- SelectOutJudge = outModel.ItemType;
|
|
|
- OutSelectLogic = outModel.ItemLogical;
|
|
|
- OutDetail = outModel.Description;
|
|
|
- OutConList.Clear();
|
|
|
- foreach (var detail in outModel.DetailInfo)
|
|
|
+ if(!string.IsNullOrEmpty(outStr))
|
|
|
{
|
|
|
- BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
- basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
- basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
- basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
- basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
- OutConList.Add(basPlcItemConfigDto);
|
|
|
+ JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
|
|
|
+ SelectOutJudge = outModel.ItemType;
|
|
|
+ OutSelectLogic = outModel.ItemLogical;
|
|
|
+ OutDetail = outModel.Description;
|
|
|
+ OutConList.Clear();
|
|
|
+ foreach (var detail in outModel.DetailInfo)
|
|
|
+ {
|
|
|
+ BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
+ OutConList.Add(basPlcItemConfigDto);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -339,12 +347,12 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
/// <param name="obj"></param>
|
|
|
private void Sure(string obj)
|
|
|
{
|
|
|
- if(Title=="新增方案")
|
|
|
+ if (Title == "新增方案")
|
|
|
{
|
|
|
var finsSche = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
|
if (finsSche != null)
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
MessageBoxResult boxResult = MessageBox.Show("测试方案名称已存在,请填写其他名称", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
return;
|
|
|
}
|
|
@@ -359,10 +367,10 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
bas_plc_test_scheme schEntity = _mapper.Map<BasicPlcTestSchemeDto, bas_plc_test_scheme>(schDto);
|
|
|
_basicPlcTestSchemeService.Add(schEntity);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//查找测试方案id
|
|
|
var finsScheHave = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
|
- if(finsScheHave != null)
|
|
|
+ if (finsScheHave != null)
|
|
|
{
|
|
|
long id = finsScheHave.scheme_id;
|
|
|
//增加或修改方案明细表
|
|
@@ -377,7 +385,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
private void AddOrEditDetailsToDb(long scheduleId)
|
|
|
{
|
|
|
//前置项json转化
|
|
|
- string prefixJsonStr=ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
|
|
|
+ string prefixJsonStr = ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
|
|
|
//输入项json转化
|
|
|
string inJsonStr = ModelToJsonToStr(SelectInJudge, InSelectLogic, InDetail, InConList);
|
|
|
//输出项json转化
|
|
@@ -387,7 +395,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
BasicPlcTestSchemeDtlDto schDtlDto = new BasicPlcTestSchemeDtlDto();
|
|
|
schDtlDto.SchemeId = scheduleId;
|
|
|
schDtlDto.ItemName = TestName;
|
|
|
-
|
|
|
+
|
|
|
schDtlDto.ItemType = SelectTest;
|
|
|
schDtlDto.Precondition = prefixJsonStr;
|
|
|
schDtlDto.PreconditionDescribe = BeforeDetail;
|
|
@@ -400,14 +408,14 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
schDtlDto.UpdateTime = DateTime.Now;
|
|
|
schDtlDto.UpdateBy = Appsession.UserName;
|
|
|
bas_plc_test_scheme_dtl schDtlEntity = _mapper.Map<BasicPlcTestSchemeDtlDto, bas_plc_test_scheme_dtl>(schDtlDto);
|
|
|
- if(Title=="新增方案")
|
|
|
+ if (Title == "新增方案")
|
|
|
{
|
|
|
|
|
|
- bool isAddSucc=_basicPlcTestSchemeDtlService.Add(schDtlEntity);
|
|
|
+ bool isAddSucc = _basicPlcTestSchemeDtlService.Add(schDtlEntity);
|
|
|
if (isAddSucc)
|
|
|
{
|
|
|
_logger.Info($"新增方案成功。方案名{ScheduleName},测试项{TestName}");
|
|
|
- MessageBoxResult boxResult = MessageBox.Show("更新成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("更新成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -420,13 +428,13 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
if (Title == "编辑方案")
|
|
|
{
|
|
|
//修改 必须给主键SchemeDtlId值
|
|
|
- var schDtl=_basicPlcTestSchemeDtlService.FindSchDtlIdBySchIdAndItem(scheduleId, TestName);
|
|
|
- if(schDtl != null)
|
|
|
+ var schDtl = _basicPlcTestSchemeDtlService.FindSchDtlIdBySchIdAndItem(scheduleId, TestName);
|
|
|
+ if (schDtl != null)
|
|
|
{
|
|
|
schDtlDto.SchemeDtlId = schDtl.scheme_dtl_id;
|
|
|
bas_plc_test_scheme_dtl schDtlEntityEdit = _mapper.Map<BasicPlcTestSchemeDtlDto, bas_plc_test_scheme_dtl>(schDtlDto);
|
|
|
- bool isSucc=_basicPlcTestSchemeDtlService.Edit(schDtlEntityEdit);
|
|
|
- if(isSucc)
|
|
|
+ bool isSucc = _basicPlcTestSchemeDtlService.Edit(schDtlEntityEdit);
|
|
|
+ if (isSucc)
|
|
|
{
|
|
|
_logger.Info($"更新方案成功。方案名{ScheduleName},测试项{TestName}");
|
|
|
MessageBoxResult boxResult = MessageBox.Show("更新成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
@@ -438,10 +446,10 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// mode转json
|
|
@@ -452,7 +460,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
/// <param name="conList"></param>
|
|
|
/// <returns></returns>
|
|
|
|
|
|
- private string ModelToJsonToStr(string itemType,string itemLogical,string description, ObservableCollection<BasPlcItemConfigDto> conList)
|
|
|
+ private string ModelToJsonToStr(string itemType, string itemLogical, string description, ObservableCollection<BasPlcItemConfigDto> conList)
|
|
|
{
|
|
|
JsonModel prefixJsonModel = new JsonModel();
|
|
|
prefixJsonModel.ItemType = itemType;
|
|
@@ -478,7 +486,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
/// <param name="obj"></param>
|
|
|
private void ResetMethod(string obj)
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
@@ -505,7 +513,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
/// 输入项
|
|
|
/// </summary>
|
|
|
public DelegateCommand<Object> DeleteInCommand { set; get; }
|
|
|
-
|
|
|
+
|
|
|
public DelegateCommand<Object> EditInCommand { set; get; }
|
|
|
|
|
|
/// <summary>
|
|
@@ -547,7 +555,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
/// <summary>
|
|
|
/// 测试项类型
|
|
|
/// </summary>
|
|
|
- private List<string> testKinds=new List<string>();
|
|
|
+ private List<string> testKinds = new List<string>();
|
|
|
public List<string> TestKinds
|
|
|
{
|
|
|
get { return testKinds; }
|
|
@@ -565,7 +573,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
/// <summary>
|
|
|
/// 判定类型(前置项)
|
|
|
/// </summary>
|
|
|
- private List<string> beforeJudgeKinds=new List<string>();
|
|
|
+ private List<string> beforeJudgeKinds = new List<string>();
|
|
|
public List<string> BeforeJudgeKinds
|
|
|
{
|
|
|
get { return beforeJudgeKinds; }
|
|
@@ -698,4 +706,3 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|