using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace IStation.BLL
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class PumpCurveExMapping
|
{
|
#region Query
|
|
/// <summary>
|
/// 查询全部
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryAll(long projectId)
|
{
|
var mapping_list = new PumpCurveMapping().QueryAll(projectId);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId, mapping_list.Select(x => x.CurveId).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
return (from x in mapping_list join y in curve_list on x.CurveId equals y.Id select new Model.PumpCurveExMapping(y, x)).OrderBy(x => x.SortCode).ToList();
|
}
|
|
/// <summary>
|
/// 根据MappingID查询
|
/// </summary>
|
public Model.PumpCurveExMapping QueryByMappingId(long projectId, long MappingId)
|
{
|
var mapping = new PumpCurveMapping().QueryById(projectId,MappingId);
|
if (mapping == null)
|
return default;
|
var curve = new PumpCurve().QueryById(projectId,mapping.CurveId);
|
if (curve == null)
|
return default;
|
return new Model.PumpCurveExMapping(curve,mapping);
|
}
|
|
/// <summary>
|
/// 根据MappingIds查询
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryByMappingIds(long projectId, List<long> mappingIds)
|
{
|
if (mappingIds == null || mappingIds.Count() < 1)
|
return default;
|
var mapping_list = new PumpCurveMapping().QueryByIds(projectId,mappingIds);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId, mapping_list.Select(x => x.CurveId).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
return (from x in mapping_list join y in curve_list on x.CurveId equals y.Id select new Model.PumpCurveExMapping(y, x)).OrderBy(x => x.SortCode).ToList();
|
}
|
|
/// <summary>
|
/// 根据PumpId查询
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryByPumpId(long projectId, long pumpId)
|
{
|
var mapping_list = new PumpCurveMapping().QueryByPumpId(projectId,pumpId);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId,mapping_list.Select(x=>x.CurveID).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
return (from x in mapping_list join y in curve_list on x.CurveID equals y.Id select new Model.PumpCurveExMapping(y, x)).OrderBy(x => x.SortCode).ToList();
|
}
|
|
/// <summary>
|
/// 通过 PumpIds 获取
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryByPumpIds(long projectId, List<long> PumpIds)
|
{
|
if (PumpIds == null || PumpIds.Count() < 1)
|
return default;
|
var mapping_list = new PumpCurveMapping().QueryByPumpIds(projectId, PumpIds);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId, mapping_list.Select(x => x.CurveID).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
return (from x in mapping_list join y in curve_list on x.CurveID equals y.ID select new Model.PumpCurveExMapping(y, x)).OrderBy(x => x.SortCode).ToList();
|
}
|
|
/// <summary>
|
/// 通过 CurveID 获取
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryByCurveID(long projectId, long CurveID)
|
{
|
var mapping_list = new PumpCurveMapping().QueryByCurveID(projectId,CurveID);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId, mapping_list.Select(x => x.CurveID).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
return (from x in mapping_list join y in curve_list on x.CurveID equals y.ID select new Model.PumpCurveExMapping(y, x)).ToList();
|
}
|
|
/// <summary>
|
/// 通过 CurveIds 获取
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryByCurveIds(long projectId, List<long> CurveIds)
|
{
|
if (CurveIds == null || CurveIds.Count() < 1)
|
return default;
|
var mapping_list = new PumpCurveMapping().QueryByCurveIds(projectId, CurveIds);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId, mapping_list.Select(x => x.CurveID).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
return (from x in mapping_list join y in curve_list on x.CurveID equals y.ID select new Model.PumpCurveExMapping(y, x)).OrderBy(x => x.SortCode).ToList();
|
}
|
|
/// <summary>
|
/// 通过 PumpID 获取工作曲线
|
/// </summary>
|
public Model.PumpCurveExMapping QueryWorkingByPumpID(long projectId, long PumpID)
|
{
|
var mapping_list = new PumpCurveMapping().QueryByPumpID(projectId,PumpID);
|
var mapping = mapping_list?.Find(x => x.IsWorking);
|
if (mapping == null)
|
return default;
|
var curve = new PumpCurve().QueryByID(projectId,mapping.CurveID);
|
if (curve == null)
|
return default;
|
return new Model.PumpCurveExMapping(curve,mapping);
|
}
|
|
/// <summary>
|
/// 通过 PumpID 获取默认工作曲线
|
/// </summary>
|
public Model.PumpCurveExMapping QueryDefaultWorkingByPumpID(long projectId, long PumpID)
|
{
|
var mapping_list = new PumpCurveMapping().QueryByPumpID(projectId, PumpID);
|
var mapping = mapping_list?.Find(x => x.IsWorking);
|
if (mapping == null)
|
{
|
mapping = mapping_list?.FirstOrDefault();
|
}
|
if (mapping == null)
|
return default;
|
var curve = new PumpCurve().QueryByID(projectId, mapping.CurveID);
|
if (curve == null)
|
return default;
|
return new Model.PumpCurveExMapping(curve, mapping);
|
}
|
|
/// <summary>
|
/// 通过 PumpIds 获取工作曲线
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryWorkingByPumpIds(long projectId, List<long> PumpIds)
|
{
|
if (PumpIds == null || PumpIds.Count() < 1)
|
return default;
|
var mapping_list = new PumpCurveMapping().QueryByPumpIds(projectId,PumpIds);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId,mapping_list.Select(x=>x.CurveID).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
var vm_list = new List<Model.PumpCurveExMapping>();
|
foreach (var PumpID in PumpIds)
|
{
|
var mapping = mapping_list.Find(x => x.PumpID == PumpID && x.IsWorking);
|
if (mapping != null)
|
{
|
var curve = curve_list.Find(x=>x.ID==mapping.CurveID);
|
if (curve != null)
|
{
|
vm_list.Add(new Model.PumpCurveExMapping(curve,mapping));
|
}
|
}
|
}
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 PumpIds 获取默认工作曲线
|
/// </summary>
|
public List<Model.PumpCurveExMapping> QueryDefaultWorkingByPumpIds(long projectId, List<long> PumpIds)
|
{
|
if (PumpIds == null || PumpIds.Count() < 1)
|
return default;
|
var mapping_list = new PumpCurveMapping().QueryByPumpIds(projectId, PumpIds);
|
if (mapping_list == null || mapping_list.Count < 1)
|
return default;
|
var curve_list = new PumpCurve().QueryByIds(projectId, mapping_list.Select(x => x.CurveID).ToList());
|
if (curve_list == null || curve_list.Count < 1)
|
return default;
|
var vm_list = new List<Model.PumpCurveExMapping>();
|
foreach (var PumpID in PumpIds)
|
{
|
var mapping = mapping_list.Find(x => x.PumpID == PumpID && x.IsWorking);
|
if (mapping == null)
|
mapping = mapping_list.Find(x=>x.PumpID==PumpID);
|
if (mapping != null)
|
{
|
var curve = curve_list.Find(x => x.ID == mapping.CurveID);
|
if (curve != null)
|
{
|
vm_list.Add(new Model.PumpCurveExMapping(curve, mapping));
|
}
|
}
|
}
|
return vm_list;
|
}
|
|
|
#endregion
|
|
#region Insert
|
|
/// <summary>
|
/// 插入
|
/// </summary>
|
public long Insert(Model.PumpCurveExMapping model)
|
{
|
if (model == null)
|
return default;
|
if (model.projectId < 1)
|
return default;
|
var entity_curve = Model2CurveEntity(model);
|
var entity_mapping = Model2MappingEntity(model);
|
var dal = new DAL.PumpCurveMapping();
|
var mappingId = dal.InsertEx(entity_curve,entity_mapping);
|
if (mappingId > 0)
|
{
|
var mapping = new PumpCurveMapping().UpdateCorpCacheR(model.projectId, mappingId);
|
new PumpCurve().UpdateCorpCache(model.projectId, mapping.CurveID);
|
}
|
return mappingId;
|
}
|
|
/// <summary>
|
/// 批量插入
|
/// </summary>
|
public bool Inserts(IEnumerable<Model.PumpCurveExMapping> list)
|
{
|
if (list == null || list.Count() < 1)
|
return default;
|
var corpIds = list.Select(x => x.projectId).Distinct().ToList();
|
if (corpIds.Count != 1)
|
return default;
|
var dict = new Dictionary<Entity.PumpCurve, Entity.PumpCurveMapping>();
|
foreach (var model in list)
|
{
|
var entity_curve = Model2CurveEntity(model);
|
var entity_mapping = Model2MappingEntity(model);
|
dict.Add(entity_curve,entity_mapping);
|
}
|
var dal = new DAL.PumpCurveMapping();
|
var mappingIds = dal.InsertsREx(dict);
|
if (mappingIds != null && mappingIds.Count > 0)
|
{
|
var mapping_list= new PumpCurveMapping().UpdateCorpCacheR(corpIds[0], mappingIds);
|
new PumpCurve().UpdateCorpCache(corpIds[0], mapping_list.Select(x=>x.CurveID).Distinct().ToList());
|
return true;
|
}
|
return default;
|
|
}
|
|
#endregion
|
|
|
|
}
|
}
|