using ProjectBase.Data.BaseDAL;
using ProjectBase.Data.Logs;
using SIMDP.DAL.IDALSQL;
using SIMDP.Model;
using System;
using System.Collections.Generic;
namespace SIMDP.BLL
{
///
/// MTOC_Data
///
public class BlMtocData : BaseBLL
{
private IDalMtocData dalData;
public BlMtocData() : base()
{
base.Init(this.GetType().FullName, System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);
dalData = baseDal as IDalMtocData;
}
///
/// 达到17行时,自动删除10行
///
///
///
public void AutoDelete(string pointer)
{
if (string.IsNullOrEmpty(pointer)) return;
// string deleteSql = " Id in(select top 15 Id from MTOC_Data order by Id)";
string sql1 = $"select top 1 id from mtoc_data where vin = '{pointer}'";
var strID = dalData.SqlValueList(sql1);
if (string.IsNullOrEmpty(strID)) return;
// string sql2 = $"Id in(select top 10 Id from MTOC_Data where Id < '{Convert.ToInt64(strID) - 10}' order by Id)";//前面留10个
string sql2 = $" Id < '{Convert.ToInt64(strID) - 10}'";//前面留10个
BLLFactory.Instance.DeleteByCondition(sql2);
}
public MoMtocData FindPointerModel(string pointer)
{
if (string.IsNullOrEmpty(pointer)) return null;
string sql = $"vin = '{pointer}'";
return dalData.FindSingle(sql);
}
public MoMtocData FindPointerNextModel(string pointer)
{
if (string.IsNullOrEmpty(pointer)) return null;
string sql1 = $"select top 1 id from mtoc_data where vin = '{pointer}'";
var strID = dalData.SqlValueList(sql1);
if (string.IsNullOrEmpty(strID)) return null;
string sql2 = $"select top 2 * from mtoc_data where id >= '{strID}'";
var listtt = dalData.GetList(sql2);
if (listtt.Count < 2) return null;
return listtt[1];
}
public List FindFromThis(string pointer, int length)
{
if (string.IsNullOrEmpty(pointer)) return null;
string sql1 = $"select top 1 id from mtoc_data where vin = '{pointer}'";
var strID = dalData.SqlValueList(sql1);
if (string.IsNullOrEmpty(strID)) return null;
string sql2 = $"select top {length} * from mtoc_data where id >= '{strID}'";
return dalData.GetList(sql2);
}
///
/// 截断表,将重置标识种子
///
///
public int TruncateTable()
{
string sql = "TRUNCATE TABLE MTOC_DATA";
return dalData.SqlExecute(sql);
}
}
}