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; } } }