|
|
using ProductionSystem_Log;
|
|
|
using ProductionSystem_Model.DbModel.Para;
|
|
|
using ProductionSystem_Model.ViewModel.Response.Para;
|
|
|
using SqlSugar;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
namespace ProductionSystem_Service
|
|
|
{
|
|
|
public class ParaConfigService : DbContext
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 查询所有参数配置项
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ISugarQueryable<T_ParaConfig> QueryParaConfigs()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<T_ParaConfig>();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行ParaConfigService下QueryParaConfigs时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 查询有效参数配置项
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ISugarQueryable<T_ParaConfig> QueryActiveParaConfigs()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<T_ParaConfig>().Where(m => m.IsActive);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行ParaConfigService下QueryActiveParaConfigs时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据参数类别查询有效参数配置项
|
|
|
/// </summary>
|
|
|
/// <param name="paraCategory"></param>
|
|
|
/// <returns></returns>
|
|
|
public List<ParaConfigVM> QueryActiveParaConfigsByParaCategory(string paraCategory)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<T_ParaConfig>()
|
|
|
.InnerJoin<T_ParaColumnConfig>((a, b) =>a.ProductType==b.ProductType && a.ParaCode == b.ParaCode && a.ParaCategory == b.ParaCategory && a.IsActive && b.IsActive)
|
|
|
.WhereIF(!string.IsNullOrEmpty(paraCategory), a =>a.ParaCategory == paraCategory)
|
|
|
.Select((a, b) => new ParaConfigVM
|
|
|
{
|
|
|
Id = a.Id,
|
|
|
ParaCode = a.ParaCode,
|
|
|
ParaName = b.ParaName
|
|
|
}).ToList();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行ParaConfigService下QueryActiveParaConfigsByParaCategory时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据产品型号查询有效参数配置项
|
|
|
/// </summary>
|
|
|
/// <param name="productType"></param>
|
|
|
/// <returns></returns>
|
|
|
public ISugarQueryable<T_ParaConfig> QueryActiveParaConfigsByProductType(string productType)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
//var temp = db.Queryable<T_ParaConfig>().Where(m => m.ProductType == productType && m.IsActive);
|
|
|
return db.Queryable<T_ParaConfig>().Where(m => m.ProductType == productType && m.IsActive);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行ParaConfigService下QueryActiveParaConfigsByProductType时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
private ISugarQueryable<T_ParaConfig> QueryTargetValWithParaCodeByParaCategery(string paraCategory)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var temp = db.Queryable<T_ParaConfig>().Where(m => m.ParaCategory == paraCategory && m.IsActive);
|
|
|
return temp;
|
|
|
}catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行ParaConfigService下QueryTargetValWithParaCodeByParaCategery时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据参数种类查询有效参数配置项,例如传“BZ1”、“BZ2”
|
|
|
/// </summary>
|
|
|
/// <param name="paraCategory"></param>
|
|
|
/// <returns></returns>
|
|
|
public ParaTargetValVM GetParaTargetVal(string paraCategory)
|
|
|
{
|
|
|
ParaTargetValVM paraTargetVal = new ParaTargetValVM();
|
|
|
var paraConfig = QueryTargetValWithParaCodeByParaCategery(paraCategory).ToList();
|
|
|
for (int i = 0; i < paraConfig.Count; i++)
|
|
|
{
|
|
|
if(paraConfig[i].ParaCode == "STF1MS")
|
|
|
{
|
|
|
paraTargetVal.STF1TargetVal = paraConfig[i].TargetVal.ToString();
|
|
|
continue;
|
|
|
}
|
|
|
else if (paraConfig[i].ParaCode == "STF2MS")
|
|
|
{
|
|
|
paraTargetVal.STF2TargetVal = paraConfig[i].TargetVal.ToString();
|
|
|
continue;
|
|
|
}
|
|
|
else if (paraConfig[i].ParaCode == "DZPZF1")
|
|
|
{
|
|
|
paraTargetVal.PZF1TargetVal = paraConfig[i].TargetVal.ToString();
|
|
|
continue;
|
|
|
}
|
|
|
else if (paraConfig[i].ParaCode == "DZPZF2")
|
|
|
{
|
|
|
paraTargetVal.PZF2TargetVal = paraConfig[i].TargetVal.ToString();
|
|
|
continue;
|
|
|
}
|
|
|
else if (paraConfig[i].ParaCode == "SB1ZS")
|
|
|
{
|
|
|
paraTargetVal.SB1TargetVal = paraConfig[i].TargetVal.ToString();
|
|
|
continue;
|
|
|
}
|
|
|
else if (paraConfig[i].ParaCode == "SB2ZS")
|
|
|
{
|
|
|
paraTargetVal.SB2TargetVal = paraConfig[i].TargetVal.ToString();
|
|
|
continue;
|
|
|
}
|
|
|
else if (paraConfig[i].ParaCode == "SB3ZS")
|
|
|
{
|
|
|
paraTargetVal.SB3TargetVal = paraConfig[i].TargetVal.ToString();
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
return paraTargetVal;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据产品型号查询参数配置项
|
|
|
/// </summary>
|
|
|
/// <param name="productType"></param>
|
|
|
/// <returns></returns>
|
|
|
public ISugarQueryable<T_ParaConfig> QueryParaConfigsByProductType(string productType)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<T_ParaConfig>().Where(m => m.ProductType == productType);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行ParaConfigService下QueryParaConfigsByProductType时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 新增参数配置项
|
|
|
/// </summary>
|
|
|
/// <param name="t_ParaConfig"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) AddParaConfig(T_ParaConfig t_ParaConfig)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var row = db.Insertable(t_ParaConfig).ExecuteCommand();
|
|
|
return (row > 0, row > 0 ? "操作成功!" : "操作失败!");
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
var errorMsg = $"执行ParaConfigService下AddParaConfig时异常:{ex.Message}";
|
|
|
LogHelper.Error(ex, errorMsg);
|
|
|
return (false, errorMsg);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 批量保存参数配置项
|
|
|
/// </summary>
|
|
|
/// <param name="productType">产品型号</param>
|
|
|
/// <param name="t_ParaConfigs"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) SaveParaConfigs(string productType, List<T_ParaConfig> t_ParaConfigs)
|
|
|
{
|
|
|
var result = db.UseTran(() =>
|
|
|
{
|
|
|
var delRows = db.Deleteable<T_ParaConfig>().Where(m => m.ProductType == productType).ExecuteCommand();
|
|
|
var rows = db.Insertable(t_ParaConfigs).ExecuteCommand();
|
|
|
if (rows > 0 && rows == t_ParaConfigs.Count)
|
|
|
{
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
if (!result.Data) //返回值为false
|
|
|
{
|
|
|
return (false, "批量保存参数配置项时,操作失败!");
|
|
|
}
|
|
|
return (true, "操作成功!");
|
|
|
}
|
|
|
}
|
|
|
}
|