namespace Yw.Application
{
///
/// HealthMultiEvaluationModelBinding
///
[Route("Health/Multi/Evaluation/Model/Binding/Logic")]
[ApiDescriptionSettings("Health", Name = "综合评价模型绑定(业务)", Order = 800)]
public class HealthMultiEvaluationModelBinding_LogicController : IDynamicApiController
{
///
/// 通过 BelongType 和 BelongID 获取
///
[Route("GetByBelongTypeAndBelongID@V1.0")]
[HttpGet]
public List GetByBelongTypeAndBelongID([FromQuery][Required] BelongInput input)
{
var belongType = input.BelongType;
var belongId = input.BelongID;
var allEquipmentList = new Service.Equipment().GetByBelongTypeAndBelongID(belongType, belongId);
allEquipmentList = allEquipmentList?.Where(x => x.ParentIds.Count < 1).ToList();
if (allEquipmentList == null || allEquipmentList.Count < 1)
{
return default;
}
var allEquipmentIds = allEquipmentList.Select(x => x.ID).Distinct().ToList();
var bindingList = new Service.HealthMultiEvaluationModelBinding().GetValidByEquipmentIds(allEquipmentIds);
var modelIds = bindingList?.Select(x => x.ModelID).Distinct().ToList();
var modelList = new Service.HealthMultiEvaluationModel().GetByIds(modelIds);
var vmList = new List();
foreach (var equipment in allEquipmentList)
{
var binding = bindingList?.Find(x => x.EquipmentID == equipment.ID);
Model.HealthMultiEvaluationModel model = null;
if (binding != null)
{
model = modelList?.Find(x => x.ID == binding.ModelID);
}
var vm = new HealthMultiEvaluationBindingEquipmentLogicDto(equipment, binding, model);
vmList.Add(vm);
}
return vmList;
}
}
}