|
@@ -60,6 +60,9 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
UpCommand = new DelegateCommand<object>(DataUp);
|
|
|
DownCommand = new DelegateCommand<object>(DataDown);
|
|
|
SaveAllSchCommand = new DelegateCommand<object>(SaveAllSch);
|
|
|
+ EditDetailCommand = new DelegateCommand<object>(DataGridSelectChange);
|
|
|
+
|
|
|
+
|
|
|
BeforeConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
|
InConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
|
OutConList = new ObservableCollection<BasPlcItemConfigDto>();
|
|
@@ -69,7 +72,8 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
GetConfigOption();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -95,7 +99,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
public void OnDialogOpened(IDialogParameters parameters)
|
|
|
{
|
|
|
//编辑
|
|
|
- var getMsg = parameters.GetValues<long>("Key");
|
|
|
+ var getMsg = parameters.GetValues<string>("Key");
|
|
|
///值不为空,表示修改,为空表示新增
|
|
|
if (getMsg != null)
|
|
|
{
|
|
@@ -105,92 +109,20 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
{
|
|
|
|
|
|
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)
|
|
|
+ ScheduleName= item.ToString();
|
|
|
+ //获取已经有的测试项
|
|
|
+ GetExistSchs();
|
|
|
+ //展示第一个测试项详情
|
|
|
+ var findSch=_basicPlcTestSchemeService.FindByNameAndType(ScheduleName, DeviceKindName);
|
|
|
+ if(findSch != null)
|
|
|
{
|
|
|
- //根据方案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;
|
|
|
- DeviceKindName = bas_Plc_Test_Scheme.devicekind_name;
|
|
|
-
|
|
|
- }
|
|
|
- TestName = findresult.ItemName;
|
|
|
- SelectTest = findresult.ItemType;
|
|
|
- //前置项解析
|
|
|
- string preconStr = findresult.Precondition.ToString();
|
|
|
- if (!string.IsNullOrEmpty(preconStr))
|
|
|
- {
|
|
|
- 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 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))
|
|
|
- {
|
|
|
- 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);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ long schID = findSch.scheme_id;
|
|
|
+ int schDtlId=(int)_basicPlcTestSchemeDtlService.FindAllBySchId(schID)?.OrderBy(x => x.scheme_dtl_id)?.First()?.scheme_dtl_id;
|
|
|
+
|
|
|
+ schDtlMainId = schDtlId;//全局变量赋值,测试方案明细id
|
|
|
+ GetDetaiMsg(schDtlId);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
@@ -201,10 +133,122 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ var getMsg2 = parameters.GetValues<string>("Key2");
|
|
|
+ if(getMsg2 != null )
|
|
|
+ {
|
|
|
+ foreach (var item in getMsg2)
|
|
|
+ {
|
|
|
+ DeviceKindName = item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 测试方案明细主键ID 查找测试方案id 及方案名
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="schDtlId"></param>
|
|
|
+ private void GetDetaiMsg(int schDtlId)
|
|
|
+ {
|
|
|
+ //根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
|
|
|
+ var findEntity = _basicPlcTestSchemeDtlService.Find(schDtlId);
|
|
|
+ var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
|
|
|
+ if (findresult != null)
|
|
|
+ {
|
|
|
+ //根据方案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;
|
|
|
+ DeviceKindName = bas_Plc_Test_Scheme.devicekind_name;
|
|
|
+
|
|
|
+ }
|
|
|
+ TestName = findresult.ItemName;
|
|
|
+ SelectTest = findresult.ItemType;
|
|
|
+ //前置项解析
|
|
|
+ string preconStr = findresult.Precondition.ToString();
|
|
|
+ if (!string.IsNullOrEmpty(preconStr))
|
|
|
+ {
|
|
|
+ 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 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))
|
|
|
+ {
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
#region 私有方法
|
|
|
+ /// <summary>
|
|
|
+ /// 选中datadagridView某一行
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="obj"></param>
|
|
|
+ private void DataGridSelectChange(object obj)
|
|
|
+ {
|
|
|
+ int schDtlId = Convert.ToInt32(obj);
|
|
|
+ schDtlMainId = schDtlId;//全局变量赋值,测试方案明细id
|
|
|
+ GetDetaiMsg(schDtlId);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 保存所有测试项
|
|
|
/// </summary>
|
|
@@ -299,7 +343,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
DeviceKindName = findSche.devicekind_name;
|
|
|
long schID = findSche.scheme_id;
|
|
|
//查找此方案下的所有的测试项,并增加到表格
|
|
|
- var schDtls = _basicPlcTestSchemeDtlService.QueryList()?.FindAll(x => x.scheme_id == schID);
|
|
|
+ var schDtls = _basicPlcTestSchemeDtlService.QueryList()?.FindAll(x => x.scheme_id == schID)?.OrderBy(x=>x.scheme_dtl_id);
|
|
|
foreach (var unit in schDtls)
|
|
|
{
|
|
|
string itemType = string.Empty;
|
|
@@ -317,7 +361,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
}
|
|
|
SchProjectList.Add(new SelectItemModel
|
|
|
{
|
|
|
- Id = unit.scheme_dtl_id,
|
|
|
+ SchDtlId = unit.scheme_dtl_id,
|
|
|
ItemName = unit.item_name,
|
|
|
ItemType = itemType,
|
|
|
}); ;
|
|
@@ -333,7 +377,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
private void DataDown(object obj)
|
|
|
{
|
|
|
int id = Convert.ToInt32(obj);
|
|
|
- var findScheExist = SchProjectList.FirstOrDefault(x => x.Id == id);
|
|
|
+ var findScheExist = SchProjectList.FirstOrDefault(x => x.SchDtlId == id);
|
|
|
if (findScheExist != null)
|
|
|
{
|
|
|
|
|
@@ -357,7 +401,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
private void DataUp(object obj)
|
|
|
{
|
|
|
int id = Convert.ToInt32(obj);
|
|
|
- var findScheExist = SchProjectList.FirstOrDefault(x => x.Id == id);
|
|
|
+ var findScheExist = SchProjectList.FirstOrDefault(x => x.SchDtlId == id);
|
|
|
if (findScheExist != null)
|
|
|
{
|
|
|
|
|
@@ -882,6 +926,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
public DelegateCommand<object> DownCommand { set; get; }
|
|
|
public DelegateCommand<object> UpCommand { set; get; }
|
|
|
public DelegateCommand<object> SaveAllSchCommand { set; get; }
|
|
|
+ public DelegateCommand<object> EditDetailCommand { set; get; }
|
|
|
|
|
|
#endregion
|
|
|
#region 变量绑定
|