using Admin.Core.Common; using Admin.Core.IRepository; using Admin.Core.IService; using Admin.Core.Model; using Admin.Core.Model.Model_New; using Admin.Core.Model.ViewModels; using Admin.Core.Service; using log4net; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Linq; using System.Reflection.Emit; using System.Threading.Tasks; namespace Admin.Core.IService { /// <summary> /// SysUserInfoServices /// </summary> public class SysUserInfoServices : BaseServices<SysUserInfo>, ISysUserInfoServices { private readonly IBaseRepository<SysUserInfo> _dal; private readonly ISysUserInfoRepository _sysUserInfoRepository; public SysUserInfoServices(IBaseRepository<SysUserInfo> dal, ISysUserInfoRepository sysUserInfoRepository) { this._dal = dal; base.BaseDal = dal; _sysUserInfoRepository = sysUserInfoRepository; } public async Task<List<CurrentTeamTimeView>> GetTeamData() { return await _sysUserInfoRepository.GetTeamData(); } public async Task<CurrentTeamTimeView> GetTeamData(DateTime nowDate) { var list = await _sysUserInfoRepository.GetTeamData(); if (list.Count() == 0) return null; CurrentTeamTimeView view = list.SingleOrDefault(d => d.StartTime <= nowDate && nowDate <= d.EndTime); if (view != null) return view; else return null; } /// <summary> /// 根据工位获取所有值 /// </summary> /// <param name="code"></param> /// <returns></returns> public async Task<ProductInfoView> GetStationData(string code) { string productLineCode = Appsettings.app("StationInfo", "ProductLineCode"); var list = await _sysUserInfoRepository.GetStationData(code); if (list == null) return null; var obj = list.SingleOrDefault(d => d.ProductLineCode == "productLineCode"); return obj; } /// <summary> /// 根据产线查询 公司、产线、工序、工位 /// </summary> /// <param name="productLineCode"></param> /// <returns></returns> public async Task<ProductLineInfoView> GetProductLineInfo(string productLineCode) { var list = await _sysUserInfoRepository.GetProductLineInfo(productLineCode); if (list == null) return null; var obj = list.SingleOrDefault(d => d.ProductlineCode == productLineCode); return obj; } /// <summary> /// 统计前后板数据 /// </summary> /// <param name="productLineCode"></param> /// <returns></returns> public async Task<List<SheetMetalTypeDataView>> GetSheetMetalTypeData(string productLineCode) { return await _sysUserInfoRepository.GetSheetMetalTypeData(productLineCode); } public async Task<List<SheetMetaHourDataView>> GetSheetMetaHourData(string productLineCode) { return await _sysUserInfoRepository.GetSheetMetaHourData(productLineCode); } public int UpdateSapPlan(string sapCode) { return _sysUserInfoRepository.UpdateSapPlan(sapCode); } /// <summary> /// 获取夹具状态 /// </summary> /// <returns></returns> public Task<List<ModeStatusView>> StatisticalModelStatus() { return _sysUserInfoRepository.StatisticalModelStatus(); } } }