|
@@ -24,18 +24,18 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
|
|
private readonly IBasicDeviceService _iBasicDeviceService;
|
|
private readonly IBasicDeviceService _iBasicDeviceService;
|
|
private readonly IBasicDeviceKindService _iBasicDeviceKindService;
|
|
private readonly IBasicDeviceKindService _iBasicDeviceKindService;
|
|
private readonly IBasicProjectService _iBasicProjectService;
|
|
private readonly IBasicProjectService _iBasicProjectService;
|
|
- private readonly IBasicPlcTestSchemeService _basicPlcTestSchemeService;
|
|
|
|
|
|
+ private readonly IBizTestRecordService _iBizTestRecordService;
|
|
private readonly IMapper _mapper;
|
|
private readonly IMapper _mapper;
|
|
private readonly IDialogService _dialog;
|
|
private readonly IDialogService _dialog;
|
|
private readonly ILogger _logger;
|
|
private readonly ILogger _logger;
|
|
-
|
|
|
|
private ObservableCollection<DeviceTestCardView> allProjectePicList = new ObservableCollection<DeviceTestCardView>();
|
|
private ObservableCollection<DeviceTestCardView> allProjectePicList = new ObservableCollection<DeviceTestCardView>();
|
|
- public ProjectTestViewModel(IBasicDeviceService iBasicDeviceService, IBasicDeviceKindService iBasicDeviceKindService, IBasicProjectService iBasicProjectService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IMapper mapper, IDialogService dialog, ILogger logger)
|
|
|
|
|
|
+ private int eachColumNum = 3; //每行展示卡片个数
|
|
|
|
+ public ProjectTestViewModel(IBasicDeviceService iBasicDeviceService, IBasicDeviceKindService iBasicDeviceKindService, IBasicProjectService iBasicProjectService, IBizTestRecordService iBizTestRecordService, IMapper mapper, IDialogService dialog, ILogger logger)
|
|
{
|
|
{
|
|
_iBasicDeviceService = iBasicDeviceService;
|
|
_iBasicDeviceService = iBasicDeviceService;
|
|
_iBasicDeviceKindService = iBasicDeviceKindService;
|
|
_iBasicDeviceKindService = iBasicDeviceKindService;
|
|
_iBasicProjectService = iBasicProjectService;
|
|
_iBasicProjectService = iBasicProjectService;
|
|
- _basicPlcTestSchemeService = basicPlcTestSchemeService;
|
|
|
|
|
|
+ _iBizTestRecordService = iBizTestRecordService;
|
|
_mapper = mapper;
|
|
_mapper = mapper;
|
|
_dialog = dialog;
|
|
_dialog = dialog;
|
|
_logger = logger;
|
|
_logger = logger;
|
|
@@ -79,45 +79,48 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
|
|
List<BasDeviceWithSchModel> allDeviceList = new List<BasDeviceWithSchModel>();//所有方案
|
|
List<BasDeviceWithSchModel> allDeviceList = new List<BasDeviceWithSchModel>();//所有方案
|
|
var devicelist = _iBasicDeviceService.QueryList();
|
|
var devicelist = _iBasicDeviceService.QueryList();
|
|
var allDeviceKinds = _mapper.Map<List<bas_device>, List<BasDeviceDto>>(devicelist);
|
|
var allDeviceKinds = _mapper.Map<List<bas_device>, List<BasDeviceDto>>(devicelist);
|
|
- //所有测试方案
|
|
|
|
- var schlist = _basicPlcTestSchemeService.QueryList();
|
|
|
|
- var schDtoList = _mapper.Map<List<bas_plc_test_scheme>, List<BasicPlcTestSchemeDto>>(schlist);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ //遍历设备类型
|
|
foreach (var item in allDeviceKinds)
|
|
foreach (var item in allDeviceKinds)
|
|
{
|
|
{
|
|
string deviceKind = _iBasicDeviceKindService.Find((int)item.DeviceKindId)?.devicekind_name;
|
|
string deviceKind = _iBasicDeviceKindService.Find((int)item.DeviceKindId)?.devicekind_name;
|
|
- //在测试方案中查找此设备类型的所有方案
|
|
|
|
- var schs = schDtoList.FindAll(x => x.DeviceKindName == deviceKind);
|
|
|
|
- //设备方案
|
|
|
|
- foreach (var sch in schs)
|
|
|
|
|
|
+ allDeviceList.Add(new BasDeviceWithSchModel()
|
|
{
|
|
{
|
|
- allDeviceList.Add(new BasDeviceWithSchModel()
|
|
|
|
- {
|
|
|
|
- ProjectId=item.ProjectId,
|
|
|
|
- DeviceId = item.DeviceId,
|
|
|
|
- DeviceNo = item.DeviceNo,
|
|
|
|
- DeviceName = item.DeviceName,
|
|
|
|
- DeviceKindName = _iBasicDeviceKindService.Find((int)item.DeviceKindId)?.devicekind_name,
|
|
|
|
- ProjectName = _iBasicProjectService.Find((int)item.ProjectId)?.project_name,
|
|
|
|
- SchemeName = sch.SchemeName,
|
|
|
|
- SchemeId = sch.SchemeId,
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+ ProjectId = item.ProjectId,
|
|
|
|
+ DeviceId = item.DeviceId,
|
|
|
|
+ DeviceNo = item.DeviceNo,
|
|
|
|
+ DeviceName = item.DeviceName,
|
|
|
|
+ DeviceKindName = _iBasicDeviceKindService.Find((int)item.DeviceKindId)?.devicekind_name,
|
|
|
|
+ ProjectName = _iBasicProjectService.Find((int)item.ProjectId)?.project_name,
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|
|
//所有的项目
|
|
//所有的项目
|
|
List<string> projectNames = allDeviceList.Select(x => x.ProjectName).Distinct().ToList();
|
|
List<string> projectNames = allDeviceList.Select(x => x.ProjectName).Distinct().ToList();
|
|
foreach (var project in projectNames)
|
|
foreach (var project in projectNames)
|
|
{
|
|
{
|
|
- int deviceCount = (int)allDeviceList.FindAll(x => x.ProjectName == project).Select(x => x.DeviceNo)?.Distinct().Count();
|
|
|
|
|
|
+ int noTestCount = 0;
|
|
|
|
+
|
|
|
|
+ var devices=allDeviceList?.FindAll(x => x.ProjectName == project)?.Select(x => x.DeviceId)?.Distinct();
|
|
|
|
+ //计算未测试的数量
|
|
|
|
+ foreach (var deviceid in devices)
|
|
|
|
+ {
|
|
|
|
+ var findResult = _iBizTestRecordService.FindRecordByDeviceId(deviceid);
|
|
|
|
+ if(findResult.Count==0)
|
|
|
|
+ {
|
|
|
|
+ noTestCount++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ int deviceCount = devices.Count();
|
|
|
|
+ //添加卡片
|
|
DeviceTestCardView deviceCard = new DeviceTestCardView();
|
|
DeviceTestCardView deviceCard = new DeviceTestCardView();
|
|
deviceCard.txtName.Text = project;
|
|
deviceCard.txtName.Text = project;
|
|
deviceCard.txtProjectNo.Text = _iBasicProjectService.FindByProjectName(project)?.project_no;
|
|
deviceCard.txtProjectNo.Text = _iBasicProjectService.FindByProjectName(project)?.project_no;
|
|
deviceCard.txtPProjectLeader.Text = _iBasicProjectService.FindByProjectName(project)?.project_leader;
|
|
deviceCard.txtPProjectLeader.Text = _iBasicProjectService.FindByProjectName(project)?.project_leader;
|
|
- deviceCard.txtDeviceCount.Text = deviceCount.ToString();
|
|
|
|
- deviceCard.txtNoTestCount.Text = deviceCount.ToString();
|
|
|
|
|
|
+ deviceCard.txtDeviceCount.Text = deviceCount.ToString() + " 台"; ;
|
|
|
|
+ deviceCard.txtNoTestCount.Text = noTestCount.ToString() + " 台";
|
|
//赋值
|
|
//赋值
|
|
allProjectePicList.Add(deviceCard);
|
|
allProjectePicList.Add(deviceCard);
|
|
}
|
|
}
|
|
@@ -126,13 +129,13 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
|
|
ProjectePicList.Add(item);
|
|
ProjectePicList.Add(item);
|
|
}
|
|
}
|
|
//计算行数
|
|
//计算行数
|
|
- if (projectNames.Count % 4 == 0)
|
|
|
|
|
|
+ if (projectNames.Count % eachColumNum == 0)
|
|
{
|
|
{
|
|
- RowsCount = projectNames.Count / 4;
|
|
|
|
|
|
+ RowsCount = projectNames.Count / eachColumNum;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- RowsCount = projectNames.Count / 4 + 1;
|
|
|
|
|
|
+ RowsCount = projectNames.Count / eachColumNum + 1;
|
|
}
|
|
}
|
|
if (RowsCount < 2)
|
|
if (RowsCount < 2)
|
|
{
|
|
{
|