|
|
|
|
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
|
|
|
|
|
{
|
|
|
|
|
return db.Queryable<T_ParaConfig>().Where(m => m.ProductType == productType && m.IsActive);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogHelper.Error(ex, "执行ParaConfigService下QueryActiveParaConfigsByProductType时异常");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <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, "操作成功!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|