|
@@ -10,6 +10,7 @@ using Prism.Commands;
|
|
using Prism.Events;
|
|
using Prism.Events;
|
|
using Prism.Mvvm;
|
|
using Prism.Mvvm;
|
|
using Prism.Services.Dialogs;
|
|
using Prism.Services.Dialogs;
|
|
|
|
+using SqlSugar;
|
|
using System;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Collections.ObjectModel;
|
|
@@ -49,7 +50,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
DeleteBeforeCommand = new DelegateCommand<Object>(DeleteBefore);
|
|
DeleteBeforeCommand = new DelegateCommand<Object>(DeleteBefore);
|
|
DeleteInCommand = new DelegateCommand<object>(DeleteIn);
|
|
DeleteInCommand = new DelegateCommand<object>(DeleteIn);
|
|
DeleteOutCommand = new DelegateCommand<object>(DeleteOut);
|
|
DeleteOutCommand = new DelegateCommand<object>(DeleteOut);
|
|
- BeforeConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
|
|
|
|
+ BeforeConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
InConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
InConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
OutConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
OutConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
GetConfigOption();
|
|
GetConfigOption();
|
|
@@ -79,14 +80,15 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
{
|
|
{
|
|
foreach (var item in getMsg)
|
|
foreach (var item in getMsg)
|
|
{
|
|
{
|
|
- Title = "修改方案";
|
|
|
|
|
|
+ Title = "编辑方案";
|
|
int id = Convert.ToInt32(item);
|
|
int id = Convert.ToInt32(item);
|
|
//根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
//根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
- var findresult=_basicPlcTestSchemeDtlService.Find(id);
|
|
|
|
- if(findresult != null)
|
|
|
|
|
|
+ var findEntity=_basicPlcTestSchemeDtlService.Find(id);
|
|
|
|
+ var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
|
|
|
|
+ if (findresult != null)
|
|
{
|
|
{
|
|
//根据方案id 在方案表中查找方案名 设备名
|
|
//根据方案id 在方案表中查找方案名 设备名
|
|
- int schID =Convert.ToInt32( findresult.scheme_id);
|
|
|
|
|
|
+ int schID =Convert.ToInt32( findresult.SchemeId);
|
|
var findSch=_basicPlcTestSchemeService.Find(schID);
|
|
var findSch=_basicPlcTestSchemeService.Find(schID);
|
|
if(findSch != null )
|
|
if(findSch != null )
|
|
{
|
|
{
|
|
@@ -94,10 +96,10 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
DeviceName = findSch.device_name;
|
|
DeviceName = findSch.device_name;
|
|
|
|
|
|
}
|
|
}
|
|
- TestName = findresult.item_name;
|
|
|
|
- //SelectTest = findresult.item_type;
|
|
|
|
|
|
+ TestName = findresult.ItemName;
|
|
|
|
+ SelectTest = findresult.ItemType;
|
|
//前置项解析
|
|
//前置项解析
|
|
- string preconStr = findresult.precondition.ToString();
|
|
|
|
|
|
+ string preconStr = findresult.Precondition.ToString();
|
|
JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
|
|
JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
|
|
BeforeSelectJudge = preconditionModel.ItemType;
|
|
BeforeSelectJudge = preconditionModel.ItemType;
|
|
SelectLogic = preconditionModel.ItemLogical;
|
|
SelectLogic = preconditionModel.ItemLogical;
|
|
@@ -113,7 +115,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
beforeConList.Add(basPlcItemConfigDto);
|
|
beforeConList.Add(basPlcItemConfigDto);
|
|
}
|
|
}
|
|
//输入项解析
|
|
//输入项解析
|
|
- string inStr = findresult.action.ToString();
|
|
|
|
|
|
+ string inStr = findresult.Action.ToString();
|
|
JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
|
|
JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
|
|
SelectInJudge = inModel.ItemType;
|
|
SelectInJudge = inModel.ItemType;
|
|
InSelectLogic = inModel.ItemLogical;
|
|
InSelectLogic = inModel.ItemLogical;
|
|
@@ -129,7 +131,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
InConList.Add(basPlcItemConfigDto);
|
|
InConList.Add(basPlcItemConfigDto);
|
|
}
|
|
}
|
|
//输出项解析
|
|
//输出项解析
|
|
- string outStr = findresult.judgement_result.ToString();
|
|
|
|
|
|
+ string outStr = findresult.JudgementResult.ToString();
|
|
JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
|
|
JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
|
|
SelectOutJudge = outModel.ItemType;
|
|
SelectOutJudge = outModel.ItemType;
|
|
OutSelectLogic = outModel.ItemLogical;
|
|
OutSelectLogic = outModel.ItemLogical;
|
|
@@ -335,33 +337,41 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
/// <param name="obj"></param>
|
|
/// <param name="obj"></param>
|
|
private void Sure(string obj)
|
|
private void Sure(string obj)
|
|
{
|
|
{
|
|
- var finsSche = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
|
|
- if( finsSche != null )
|
|
|
|
|
|
+ if(Title=="新增方案")
|
|
{
|
|
{
|
|
- MessageBoxResult boxResult = MessageBox.Show("测试方案名称已存在,请填写其他名称", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
|
- return;
|
|
|
|
|
|
+ var finsSche = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
|
|
+ if (finsSche != null)
|
|
|
|
+ {
|
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("测试方案名称已存在,请填写其他名称", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ //增加测试方案到数据库
|
|
|
|
+ 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);
|
|
}
|
|
}
|
|
- //增加测试方案到数据库
|
|
|
|
- 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);
|
|
|
|
|
|
+
|
|
//查找测试方案id
|
|
//查找测试方案id
|
|
var finsScheHave = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
var finsScheHave = _basicPlcTestSchemeService.FindByName(ScheduleName);
|
|
- long id = finsScheHave.scheme_id;
|
|
|
|
- AddDetailsToDb(id);
|
|
|
|
|
|
+ if(finsScheHave != null)
|
|
|
|
+ {
|
|
|
|
+ long id = finsScheHave.scheme_id;
|
|
|
|
+ //增加或修改方案明细表
|
|
|
|
+ AddOrEditDetailsToDb(id);
|
|
|
|
+ RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
|
|
|
|
+ }
|
|
|
|
|
|
- RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
|
|
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 方案明细添加到数据库
|
|
/// 方案明细添加到数据库
|
|
/// </summary>
|
|
/// </summary>
|
|
- private void AddDetailsToDb(long scheduleId)
|
|
|
|
|
|
+ private void AddOrEditDetailsToDb(long scheduleId)
|
|
{
|
|
{
|
|
//前置项json转化
|
|
//前置项json转化
|
|
string prefixJsonStr=ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
|
|
string prefixJsonStr=ModelToJsonToStr(BeforeSelectJudge, SelectLogic, BeforeDetail, BeforeConList);
|
|
@@ -374,18 +384,8 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
BasicPlcTestSchemeDtlDto schDtlDto = new BasicPlcTestSchemeDtlDto();
|
|
BasicPlcTestSchemeDtlDto schDtlDto = new BasicPlcTestSchemeDtlDto();
|
|
schDtlDto.SchemeId = scheduleId;
|
|
schDtlDto.SchemeId = scheduleId;
|
|
schDtlDto.ItemName = TestName;
|
|
schDtlDto.ItemName = TestName;
|
|
- switch (SelectTest)
|
|
|
|
- {
|
|
|
|
- case "前置项":
|
|
|
|
- schDtlDto.ItemType = 0;
|
|
|
|
- break;
|
|
|
|
- case "PLC点位测试项":
|
|
|
|
- schDtlDto.ItemType = 1;
|
|
|
|
- break;
|
|
|
|
- case "Robot动作测试":
|
|
|
|
- schDtlDto.ItemType = 2;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ schDtlDto.ItemType = SelectTest;
|
|
schDtlDto.Precondition = prefixJsonStr;
|
|
schDtlDto.Precondition = prefixJsonStr;
|
|
schDtlDto.PreconditionDescribe = BeforeDetail;
|
|
schDtlDto.PreconditionDescribe = BeforeDetail;
|
|
schDtlDto.Action = inJsonStr;
|
|
schDtlDto.Action = inJsonStr;
|
|
@@ -397,7 +397,36 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
schDtlDto.UpdateTime = DateTime.Now;
|
|
schDtlDto.UpdateTime = DateTime.Now;
|
|
schDtlDto.UpdateBy = Appsession.UserName;
|
|
schDtlDto.UpdateBy = Appsession.UserName;
|
|
bas_plc_test_scheme_dtl schDtlEntity = _mapper.Map<BasicPlcTestSchemeDtlDto, bas_plc_test_scheme_dtl>(schDtlDto);
|
|
bas_plc_test_scheme_dtl schDtlEntity = _mapper.Map<BasicPlcTestSchemeDtlDto, bas_plc_test_scheme_dtl>(schDtlDto);
|
|
- _basicPlcTestSchemeDtlService.Add(schDtlEntity);
|
|
|
|
|
|
+ if(Title=="新增方案")
|
|
|
|
+ {
|
|
|
|
+ _basicPlcTestSchemeDtlService.Add(schDtlEntity);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ if (Title == "编辑方案")
|
|
|
|
+ {
|
|
|
|
+ //修改 必须给主键SchemeDtlId值
|
|
|
|
+ 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)
|
|
|
|
+ {
|
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("更新成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ MessageBoxResult boxResult = MessageBox.Show("更新失败", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <summary>
|
|
/// mode转json
|
|
/// mode转json
|