|
@@ -81,97 +81,106 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
{
|
|
|
foreach (var item in getMsg)
|
|
|
{
|
|
|
- Title = "编辑方案";
|
|
|
- int id = Convert.ToInt32(item);
|
|
|
- schDtlMainId = id;//全局变量赋值,测试方案明细id
|
|
|
- //根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
- var findEntity = _basicPlcTestSchemeDtlService.Find(id);
|
|
|
- var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
|
|
|
- if (findresult != null)
|
|
|
+ try
|
|
|
{
|
|
|
- //根据方案id 在方案表中查找方案名 设备名
|
|
|
- int schID = Convert.ToInt32(findresult.SchemeId);
|
|
|
- //测试方案
|
|
|
- bas_Plc_Test_Scheme = _basicPlcTestSchemeService.Find(schID);
|
|
|
- if (bas_Plc_Test_Scheme != null)
|
|
|
- {
|
|
|
- ScheduleName = bas_Plc_Test_Scheme.scheme_name;
|
|
|
- DeviceName = bas_Plc_Test_Scheme.device_name;
|
|
|
|
|
|
- }
|
|
|
- TestName = findresult.ItemName;
|
|
|
- SelectTest = findresult.ItemType;
|
|
|
- //前置项解析
|
|
|
- string preconStr = findresult.Precondition.ToString();
|
|
|
- if (!string.IsNullOrEmpty(preconStr))
|
|
|
+ Title = "编辑方案";
|
|
|
+ int id = Convert.ToInt32(item);
|
|
|
+ schDtlMainId = id;//全局变量赋值,测试方案明细id
|
|
|
+ //根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
+ var findEntity = _basicPlcTestSchemeDtlService.Find(id);
|
|
|
+ var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
|
|
|
+ if (findresult != null)
|
|
|
{
|
|
|
- JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
|
|
|
- BeforeSelectJudge = preconditionModel.ItemType;
|
|
|
- SelectLogic = preconditionModel.ItemLogical;
|
|
|
- BeforeDetail = preconditionModel.Description;
|
|
|
- BeforeConList.Clear();
|
|
|
- foreach (var detail in preconditionModel.DetailInfo)
|
|
|
+ //根据方案id 在方案表中查找方案名 设备名
|
|
|
+ int schID = Convert.ToInt32(findresult.SchemeId);
|
|
|
+ //测试方案
|
|
|
+ bas_Plc_Test_Scheme = _basicPlcTestSchemeService.Find(schID);
|
|
|
+ if (bas_Plc_Test_Scheme != null)
|
|
|
{
|
|
|
- BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
- basPlcItemConfigDto.Id=detail.Id;
|
|
|
- basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
- basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
- basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
- basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
- basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
- BeforeConList.Add(basPlcItemConfigDto);
|
|
|
+ ScheduleName = bas_Plc_Test_Scheme.scheme_name;
|
|
|
+ DeviceName = bas_Plc_Test_Scheme.device_name;
|
|
|
+
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- //输入项解析
|
|
|
- string inStr = findresult.Action.ToString();
|
|
|
- if (!string.IsNullOrEmpty(inStr))
|
|
|
- {
|
|
|
- JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
|
|
|
- SelectInJudge = inModel.ItemType;
|
|
|
- InSelectLogic = inModel.ItemLogical;
|
|
|
- InDetail = inModel.Description;
|
|
|
- InConList.Clear();
|
|
|
- foreach (var detail in inModel.DetailInfo)
|
|
|
+ TestName = findresult.ItemName;
|
|
|
+ SelectTest = findresult.ItemType;
|
|
|
+ //前置项解析
|
|
|
+ string preconStr = findresult.Precondition.ToString();
|
|
|
+ if (!string.IsNullOrEmpty(preconStr))
|
|
|
{
|
|
|
- BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
- basPlcItemConfigDto.Id = detail.Id;
|
|
|
- basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
- basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
- basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
- basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
- basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
- InConList.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.Id = detail.Id;
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
+ basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
+ BeforeConList.Add(basPlcItemConfigDto);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- //输出项解析
|
|
|
- string outStr = findresult.JudgementResult.ToString();
|
|
|
- if(!string.IsNullOrEmpty(outStr))
|
|
|
- {
|
|
|
- JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
|
|
|
- SelectOutJudge = outModel.ItemType;
|
|
|
- OutSelectLogic = outModel.ItemLogical;
|
|
|
- OutDetail = outModel.Description;
|
|
|
- OutConList.Clear();
|
|
|
- foreach (var detail in outModel.DetailInfo)
|
|
|
+
|
|
|
+ //输入项解析
|
|
|
+ string inStr = findresult.Action.ToString();
|
|
|
+ if (!string.IsNullOrEmpty(inStr))
|
|
|
+ {
|
|
|
+ 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.Id = detail.Id;
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
+ basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
+ InConList.Add(basPlcItemConfigDto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //输出项解析
|
|
|
+ string outStr = findresult.JudgementResult.ToString();
|
|
|
+ if (!string.IsNullOrEmpty(outStr))
|
|
|
{
|
|
|
- BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
|
|
|
- basPlcItemConfigDto.Id = detail.Id;
|
|
|
- basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
- basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
- basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
- 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.Id = detail.Id;
|
|
|
+ basPlcItemConfigDto.PlcItem = detail.PlcItem;
|
|
|
+ basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
|
|
|
+ basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
|
|
|
+ basPlcItemConfigDto.PlcValue = detail.PlcValue;
|
|
|
+ basPlcItemConfigDto.Remark = detail.Remark;
|
|
|
+ OutConList.Add(basPlcItemConfigDto);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ _logger.LogError(ex.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
@@ -420,55 +429,62 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
MessageBox.Show("请填写结果项判定逻辑!", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- if (Title == "新增方案")
|
|
|
+ try
|
|
|
{
|
|
|
- var finsSche = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
|
- //测试方案中已有这个名称
|
|
|
- if (finsSche != null)
|
|
|
+ if (Title == "新增方案")
|
|
|
{
|
|
|
- long schID = finsSche.scheme_id;
|
|
|
- //在测试方案明细表中查找是否有这个测试方案和测试项
|
|
|
- var schDtl = _basicPlcTestSchemeDtlService.FindSchDtlIdBySchIdAndItem(schID, TestName);
|
|
|
- //在不为空,说明有这个测试方案和测试项了
|
|
|
- if (schDtl != null)
|
|
|
+ var finsSche = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
|
+ //测试方案中已有这个名称
|
|
|
+ if (finsSche != null)
|
|
|
{
|
|
|
- MessageBoxResult boxResult = MessageBox.Show("此测试方案名称已存在此测试项,请填写其他测试项!", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
- return;
|
|
|
+ long schID = finsSche.scheme_id;
|
|
|
+ //在测试方案明细表中查找是否有这个测试方案和测试项
|
|
|
+ var schDtl = _basicPlcTestSchemeDtlService.FindSchDtlIdBySchIdAndItem(schID, TestName);
|
|
|
+ //在不为空,说明有这个测试方案和测试项了
|
|
|
+ if (schDtl != null)
|
|
|
+ {
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("此测试方案名称已存在此测试项,请填写其他测试项!", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //增加测试方案到数据库
|
|
|
+ BasicPlcTestSchemeDto schDto = new BasicPlcTestSchemeDto();
|
|
|
+ schDto.SchemeName = ScheduleName;
|
|
|
+ schDto.DeviceName = DeviceName;
|
|
|
+ schDto.CreateBy = Appsession.UserName;
|
|
|
+ schDto.CreateTime = DateTime.Now;
|
|
|
+ schDto.UpdateTime = DateTime.Now;
|
|
|
+ schDto.UpdateBy = Appsession.UserName;
|
|
|
+ bas_plc_test_scheme schEntity = _mapper.Map<BasicPlcTestSchemeDto, bas_plc_test_scheme>(schDto);
|
|
|
+ _basicPlcTestSchemeService.Add(schEntity);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //增加测试方案到数据库
|
|
|
- BasicPlcTestSchemeDto schDto = new BasicPlcTestSchemeDto();
|
|
|
- schDto.SchemeName = ScheduleName;
|
|
|
- schDto.DeviceName = DeviceName;
|
|
|
- schDto.CreateBy = Appsession.UserName;
|
|
|
- schDto.CreateTime = DateTime.Now;
|
|
|
- schDto.UpdateTime = DateTime.Now;
|
|
|
- schDto.UpdateBy = Appsession.UserName;
|
|
|
- bas_plc_test_scheme schEntity = _mapper.Map<BasicPlcTestSchemeDto, bas_plc_test_scheme>(schDto);
|
|
|
- _basicPlcTestSchemeService.Add(schEntity);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //更新测试方案名称
|
|
|
- if (Title == "编辑方案")
|
|
|
- {
|
|
|
- if(bas_Plc_Test_Scheme!=null)
|
|
|
+ //更新测试方案名称
|
|
|
+ if (Title == "编辑方案")
|
|
|
{
|
|
|
- bas_Plc_Test_Scheme.scheme_name = ScheduleName;
|
|
|
- bas_Plc_Test_Scheme.device_name = DeviceName;
|
|
|
- _basicPlcTestSchemeService.Edit(bas_Plc_Test_Scheme);
|
|
|
+ if (bas_Plc_Test_Scheme != null)
|
|
|
+ {
|
|
|
+ bas_Plc_Test_Scheme.scheme_name = ScheduleName;
|
|
|
+ bas_Plc_Test_Scheme.device_name = DeviceName;
|
|
|
+ _basicPlcTestSchemeService.Edit(bas_Plc_Test_Scheme);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ _logger.LogError(ex.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
//查找测试方案id
|
|
|
var finsScheHave = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
|
if (finsScheHave != null)
|
|
@@ -511,49 +527,58 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
schDtlDto.UpdateBy = Appsession.UserName;
|
|
|
bas_plc_test_scheme_dtl schDtlEntity = _mapper.Map<BasicPlcTestSchemeDtlDto, bas_plc_test_scheme_dtl>(schDtlDto);
|
|
|
schDtlEntity.item_type = StrToItemType(schDtlDto.ItemType);
|
|
|
- if (Title == "新增方案")
|
|
|
+ try
|
|
|
{
|
|
|
-
|
|
|
- bool isAddSucc = _basicPlcTestSchemeDtlService.Add(schDtlEntity);
|
|
|
- if (isAddSucc)
|
|
|
+ if (Title == "新增方案")
|
|
|
{
|
|
|
- _logger.LogInformation($"新增方案成功。方案名{ScheduleName},测试项{TestName}");
|
|
|
- MessageBoxResult boxResult = MessageBox.Show("新增方案成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+
|
|
|
+ bool isAddSucc = _basicPlcTestSchemeDtlService.Add(schDtlEntity);
|
|
|
+ if (isAddSucc)
|
|
|
+ {
|
|
|
+ _logger.LogInformation($"新增方案成功。方案名{ScheduleName},测试项{TestName}");
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("新增方案成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("更新失败", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- MessageBoxResult boxResult = MessageBox.Show("更新失败", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if (Title == "编辑方案")
|
|
|
- {
|
|
|
- //修改 必须给主键SchemeDtlId值
|
|
|
- //var schDtl = _basicPlcTestSchemeDtlService.FindSchDtlIdBySchIdAndItem(scheduleId, TestName);
|
|
|
- // if (schDtl != null)
|
|
|
+ if (Title == "编辑方案")
|
|
|
{
|
|
|
- schDtlDto.SchemeDtlId = schDtlMainId;
|
|
|
- bas_plc_test_scheme_dtl schDtlEntityEdit = _mapper.Map<BasicPlcTestSchemeDtlDto, bas_plc_test_scheme_dtl>(schDtlDto);
|
|
|
- //ItemType 转化
|
|
|
- schDtlEntityEdit.item_type = StrToItemType(schDtlDto.ItemType);
|
|
|
- bool isSucc = _basicPlcTestSchemeDtlService.Edit(schDtlEntityEdit);
|
|
|
- if (isSucc)
|
|
|
- {
|
|
|
- _logger.LogInformation($"更新方案成功。方案名{ScheduleName},测试项{TestName}");
|
|
|
- MessageBoxResult boxResult = MessageBox.Show("更新成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
- }
|
|
|
- else
|
|
|
+ //修改 必须给主键SchemeDtlId值
|
|
|
+ //var schDtl = _basicPlcTestSchemeDtlService.FindSchDtlIdBySchIdAndItem(scheduleId, TestName);
|
|
|
+ // if (schDtl != null)
|
|
|
{
|
|
|
- MessageBoxResult boxResult = MessageBox.Show("更新失败", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
- return;
|
|
|
+ schDtlDto.SchemeDtlId = schDtlMainId;
|
|
|
+ bas_plc_test_scheme_dtl schDtlEntityEdit = _mapper.Map<BasicPlcTestSchemeDtlDto, bas_plc_test_scheme_dtl>(schDtlDto);
|
|
|
+ //ItemType 转化
|
|
|
+ schDtlEntityEdit.item_type = StrToItemType(schDtlDto.ItemType);
|
|
|
+ bool isSucc = _basicPlcTestSchemeDtlService.Edit(schDtlEntityEdit);
|
|
|
+ if (isSucc)
|
|
|
+ {
|
|
|
+ _logger.LogInformation($"更新方案成功。方案名{ScheduleName},测试项{TestName}");
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("更新成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("更新失败", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
+ catch(Exception ex)
|
|
|
+ {
|
|
|
+ _logger.LogError(ex.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
/// <summary>
|