You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AUCMA_SCADA/Admin.Core.Service/Service_New/CodeBindingRecordServices.cs

92 lines
3.4 KiB
C#

using Admin.Core.IRepository;
using Admin.Core.IService;
using Admin.Core.Model;
using log4net;
using Microsoft.IdentityModel.Logging;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Admin.Core.Service
{
public class CodeBindingRecordServices : BaseServices<CodeBindingRecord>, ICodeBindingRecordServices
{
#region 对象引用
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(CodeBindingRecordServices));
#endregion
private readonly IBaseRepository<CodeBindingRecord> _dal;
private ICodeBindingRecordRepository _codeBindingRecordRepository;
public CodeBindingRecordServices(IBaseRepository<CodeBindingRecord> dal, ICodeBindingRecordRepository codeBindingRecordRepository)
{
this._dal = dal;
base.BaseDal = dal;
_codeBindingRecordRepository = codeBindingRecordRepository;
}
/// <summary>
/// 时间段条件查询
/// </summary>
/// <returns></returns>
public async Task<List<CodeBindingRecord>> QueryAllByTime(string time1, string time2)
{
try
{
List<CodeBindingRecord> list = null;
if (string.IsNullOrEmpty(time1) && string.IsNullOrEmpty(time2))
{
list = await _codeBindingRecordRepository.QueryAsync();
}
else if (!string.IsNullOrEmpty(time1) && string.IsNullOrEmpty(time2))
{
DateTime BeginTime = Convert.ToDateTime(Convert.ToDateTime(time1).ToString("yyyy-MM-dd"));
list = await _codeBindingRecordRepository.QueryAsync(d => d.RecordTime1 >= BeginTime);
}
else if (string.IsNullOrEmpty(time1) && !string.IsNullOrEmpty(time2))
{
DateTime EndTime = Convert.ToDateTime(Convert.ToDateTime(time2).ToString("yyyy-MM-dd"));
list = await _codeBindingRecordRepository.QueryAsync(d => d.RecordTime2 <= EndTime);
}
else if (!string.IsNullOrEmpty(time1) && !string.IsNullOrEmpty(time2))
{
DateTime BeginTime = Convert.ToDateTime(Convert.ToDateTime(time1).ToString("yyyy-MM-dd"));
DateTime EndTime = Convert.ToDateTime(Convert.ToDateTime(time2).ToString("yyyy-MM-dd"));
list = await _codeBindingRecordRepository.QueryAsync(d => d.RecordTime1 >= BeginTime && d.RecordTime2 <= EndTime);
}
return list;
}
catch (Exception ex)
{
log.Error("时间段条件查询QueryAllByTime()出现异常:" + ex);
return null;
}
}
/// <summary>
/// 查询第一条数据
/// </summary>
/// <returns></returns>
public async Task<CodeBindingRecord> FirstAsync()
{
return _codeBindingRecordRepository.FirstAsync().Result;
}
/// <summary>
///查询条码2为null的数据并取最新的一条
/// </summary>
/// <returns></returns>
public async Task<List<CodeBindingRecord>> QueryByTime()
{
return await _codeBindingRecordRepository.QueryAsync(x => x.ProductCode == null, "RECORD_TIME1 DESC");
}
}
}