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.

219 lines
8.3 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using SqlSugar;
using System;
using System.Collections.Generic;
using ZJ_BYD.Common;
using ZJ_BYD.Model;
using ZJ_BYD.Untils;
using ZJ_BYD.ViewModel;
namespace ZJ_BYD.DB
{
public class AheadParaHelper
{
public AheadParaHelper() : base()
{
}
/// <summary>
/// 查询所有前置参数
/// </summary>
/// <returns></returns>
public static ISugarQueryable<T_AheadPara> QueryAheadParas()
{
try
{
return DBHelper.sqlSugarDb.Queryable<T_AheadPara>();
}
catch (Exception ex)
{
var msg = ex == null ? "执行QueryAheadParas方法时异常" : ex.Message;
LogHelper.WriteLog($"执行QueryAheadParas方法时异常{msg}");
return null;
}
}
/// <summary>
/// 查询前置参数
/// </summary>
/// <param name="statonCode"></param>
/// <param name="category"></param>
/// <returns></returns>
public static ISugarQueryable<AheadVM> QueryAheadVM(string statonCode, string category)
{
try
{
return DBHelper.sqlSugarDb.Queryable<T_AheadPara>()
.Where(m=> m.StationCode == statonCode && m.Category == category && !m.IsDeleted)
.Select(m => new AheadVM
{
Id = m.Id,
StationCode = m.StationCode,
LastStationCode = m.LastStationCode,
PointCode = m.PointCode,
ResultColName = m.ResultColName,
});
}
catch (Exception ex)
{
var msg = ex == null ? "执行QueryAheadVM方法时异常" : ex.Message;
LogHelper.WriteLog($"执行QueryAheadVM方法时异常{msg}");
return null;
}
}
public static ISugarQueryable<AheadParaVM> QueryAheadParaVM(string keyWord = "", int id = 0)
{
try
{
return DBHelper.sqlSugarDb.Queryable<T_AheadPara>()
.InnerJoin<T_Station>((a, b) => a.LineCode == b.LineCode && a.LastStationCode == b.StationCode && a.Category == b.Category
&& !a.IsDeleted && !b.IsDeleted)
.InnerJoin<T_MaskCode>((a, b, c) => a.LineCode == c.LineCode && a.MachineTypeCode == c.ProductSfcCode)
.InnerJoin<T_Station>((a, b, c, d) => a.LineCode == d.LineCode && a.StationCode == d.StationCode && d.StationCode == Program.ActiveStatinCode)
.WhereIF(id > 0, (a, b, c, d) => a.Id == id)
.WhereIF(!string.IsNullOrWhiteSpace(keyWord), (a, b, c) => a.LastStationCode.ToLower().Contains(keyWord.ToLower())
|| b.StationName.ToLower().Contains(keyWord.ToLower())
|| a.PointCode.ToLower().Contains(keyWord.ToLower()))
.Select((a, b, c, d) => new AheadParaVM
{
Id = a.Id,
IpcId = a.IpcId,
LineCode = a.LineCode,
MachineTypeCode = a.MachineTypeCode,
LastStationCode = a.LastStationCode,
LastStationName = b.StationName,
Category = b.Category,
PointCode = a.PointCode,
ResultColName = a.ResultColName
});
}
catch (Exception ex)
{
var msg = ex == null ? "执行QueryAheadParaVM方法时异常" : ex.Message;
LogHelper.WriteLog($"执行QueryAheadParaVM方法时异常{msg}");
return null;
}
}
/// <summary>
/// 查询未删除的前置参数
/// </summary>
/// <returns></returns>
public static ISugarQueryable<T_AheadPara> QueryActiveAheadParas()
{
try
{
return DBHelper.sqlSugarDb.Queryable<T_AheadPara>().Where(m => !m.IsDeleted);
}
catch (Exception ex)
{
var msg = ex == null ? "执行QueryActiveAheadParas方法时异常" : ex.Message;
LogHelper.WriteLog($"执行QueryActiveAheadParas方法时异常{msg}");
return null;
}
}
/// <summary>
/// 根据Ids删除前置参数
/// 逻辑删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public static int DelAheadParaByIds(List<int> ids)
{
try
{
return DBHelper.sqlSugarDb.Updateable<T_AheadPara>()
.SetColumns(m => m.IsDeleted == true)
.SetColumns(m => m.UpdatedTime == DateTime.Now)
.SetColumns(m => m.UpdatedBy == CurrentUser.UserName)
.Where(m => ids.Contains(m.Id)).ExecuteCommand();
}
catch (Exception ex)
{
var msg = ex == null ? "执行DelAheadParaByIds方法时异常" : ex.Message;
LogHelper.WriteLog($"执行DelAheadParaByIds方法时异常{msg}");
return -1;
}
}
/// <summary>
/// 根据Ids物理删除前置参数
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public static int DoDelAheadParaByIds(List<int> ids)
{
try
{
return DBHelper.sqlSugarDb.Deleteable<T_AheadPara>().Where(m => ids.Contains(m.Id)).ExecuteCommand();
}
catch (Exception ex)
{
var msg = ex == null ? "执行DoDelAheadParaByIds方法时异常" : ex.Message;
LogHelper.WriteLog($"执行DoDelAheadParaByIds方法时异常{msg}");
return -1;
}
}
/// <summary>
/// 新增前置参数
/// </summary>
/// <param name="t_AheadPara"></param>
/// <returns></returns>
public static int AddAheadPara(T_AheadPara t_AheadPara)
{
try
{
return DBHelper.sqlSugarDb.Insertable(t_AheadPara).ExecuteCommand();
}
catch (Exception ex)
{
var msg = ex == null ? "执行AddAheadPara方法时异常" : ex.Message;
LogHelper.WriteLog($"执行AddAheadPara方法时异常{msg}");
return -1;
}
}
/// <summary>
/// 修改前置参数
/// </summary>
/// <param name="t_AheadPara"></param>
/// <returns></returns>
public static int UpdateAheadPara(T_AheadPara t_AheadPara)
{
try
{
return DBHelper.sqlSugarDb.Updateable(t_AheadPara).ExecuteCommand();
}
catch (Exception ex)
{
var msg = ex == null ? "执行UpdateAheadPara方法时异常" : ex.Message;
LogHelper.WriteLog($"执行UpdateAheadPara方法时异常{msg}");
return -1;
}
}
/// <summary>
/// 上工位参数(资源、工序)查询
/// </summary>
/// <param ></param>
/// <returns></returns>
public static string Query_Ahead(string stationcode_1, string productsfccode_1)
{
try
{
return DBHelper.sqlSugarDb.Queryable<T_AheadPara>().First(m => m.StationCode == stationcode_1 && SqlFunc.Replace(m.MachineTypeCode, "*", "") == SqlFunc.Substring(productsfccode_1, 0, SqlFunc.Length(SqlFunc.Replace(m.MachineTypeCode, "*", ""))))?.LastStationCode;
}
catch (Exception ex)
{
var msg = ex == null ? "执行Query_Ahead方法时异常" : ex.Message;
LogHelper.WriteLog($"执行Query_Ahead方法时异常{msg}");
return "";
}
}
}
}