166 lines
6.0 KiB
C#
166 lines
6.0 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using WX.CRM.BLL.Util;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.IBLL.Base;
|
||
using WX.CRM.Model.Entity;
|
||
using WX.CRM.Model.Enum;
|
||
|
||
namespace WX.CRM.BLL.Base
|
||
{
|
||
public class BAS_EXCELIMPORTLOG_BL : IBAS_EXCELIMPORTLOG, IBAS_EXCELIMPORTLOG_Q
|
||
{
|
||
/// <summary>
|
||
/// 数据插入
|
||
/// </summary>
|
||
/// <param name="errors">错误信息</param>
|
||
/// <param name="entry">模型</param>
|
||
/// <returns></returns>
|
||
public decimal Create(ref ValidationErrors errors, BAS_EXCELIMPORTLOG entry)
|
||
{
|
||
try
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
entry.IMPORTID = new SEQUENCES_BL().Seq_base_get(PKIDType.LargeTable);
|
||
db.BAS_EXCELIMPORTLOG.Add(entry);
|
||
db.SaveChanges();
|
||
return entry.IMPORTID;
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
//DbEntityValidationException 查看验证失败具体的字段
|
||
errors.Add(ex.Message);
|
||
return 0;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 修改状态
|
||
/// </summary>
|
||
/// <param name="errors">错误信息</param>
|
||
/// <param name="importId">导入批次</param>
|
||
/// <param name="doneStatus">状态值</param>
|
||
/// <returns></returns>
|
||
public bool UpdateDoneStatus(ref ValidationErrors errors, decimal importId, decimal doneStatus)
|
||
{
|
||
try
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
var entry = db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId);
|
||
entry.DONESTATUS = doneStatus;
|
||
return db.SaveChanges().GetResult();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
errors.Add(ex.Message);
|
||
return false;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 删除excel导入日志
|
||
/// </summary>
|
||
/// <param name="errors">错误信息</param>
|
||
/// <param name="importId">批次ID</param>
|
||
/// <returns></returns>
|
||
public bool Delete(ref ValidationErrors errors, decimal importId)
|
||
{
|
||
try
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
var entry = db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId);
|
||
if (entry == null)
|
||
return false;
|
||
db.BAS_EXCELIMPORTLOG.Remove(entry);
|
||
return db.SaveChanges().GetResult();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
errors.Add(ex.Message);
|
||
return false;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 获取单个导入文件日志信息
|
||
/// </summary>
|
||
/// <param name="importId"></param>
|
||
/// <returns></returns>
|
||
public BAS_EXCELIMPORTLOG GetModel(decimal importId)
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
return db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId);
|
||
}
|
||
}
|
||
public void UpdateDateTime(TimeSpan span, decimal importId, int typeId)
|
||
{
|
||
try
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
var entry = db.BAS_EXCELIMPORTLOG.FirstOrDefault(m => m.IMPORTID == importId);
|
||
if (typeId == 1)
|
||
{
|
||
entry.EXTINFO1 = span.TotalSeconds.ToString();//导入时间
|
||
}
|
||
else if (typeId == 2)
|
||
{
|
||
entry.EXTINFO2 = span.TotalSeconds.ToString();//计算时间
|
||
}
|
||
else if (typeId == 3)
|
||
{
|
||
entry.EXTINFO3 = span.TotalSeconds.ToString();//生成业务时间
|
||
}
|
||
db.SaveChanges();
|
||
}
|
||
}
|
||
catch (Exception ex) { LogHelper.Error("记录导入时间出{importId:" + importId + "typeId:" + typeId + "}:" + ex.ToString()); }
|
||
}
|
||
|
||
#region 获取分页数据列表
|
||
/// <summary>
|
||
/// 分页获取列表
|
||
/// </summary>
|
||
/// <param name="pager">分页信息</param>
|
||
/// <param name="doneStatus">状态</param>
|
||
/// <param name="excelType">导入类型</param>
|
||
/// <param name="stime">开始时间</param>
|
||
/// <param name="etime">结束时间</param>
|
||
/// <returns></returns>
|
||
public List<BAS_EXCELIMPORTLOG> GetList(ref Pager pager, string doneStatus, string excelType, string stime, string etime)
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
var queryData = db.BAS_EXCELIMPORTLOG.AsQueryable();
|
||
if (!string.IsNullOrWhiteSpace(doneStatus))
|
||
{
|
||
decimal _doneStatus = Convert.ToDecimal(doneStatus);
|
||
queryData = queryData.Where(m => m.DONESTATUS == _doneStatus);
|
||
}
|
||
if (!string.IsNullOrWhiteSpace(excelType))
|
||
{
|
||
queryData = queryData.Where(m => m.EXCELTYPE == excelType);
|
||
}
|
||
DateTime date1;
|
||
if (!string.IsNullOrWhiteSpace(stime) && DateTime.TryParse(stime, out date1))
|
||
queryData = queryData.Where(m => m.CTIME >= date1);
|
||
DateTime date2;
|
||
if (!string.IsNullOrWhiteSpace(etime) && DateTime.TryParse(etime, out date2))
|
||
{
|
||
date2 = date2.AddDays(1);
|
||
queryData = queryData.Where(m => m.CTIME < date2);
|
||
}
|
||
queryData = queryData.OrderByDescending(m => m.CTIME);
|
||
PagerUtil.SetPager<BAS_EXCELIMPORTLOG>(ref queryData, ref pager);
|
||
return queryData.ToList();
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|