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 { /// /// 查询所有参数配置项 /// /// public ISugarQueryable QueryParaConfigs() { try { return db.Queryable(); } catch (Exception ex) { LogHelper.Error(ex, "执行ParaConfigService下QueryParaConfigs时异常"); return null; } } /// /// 查询有效参数配置项 /// /// public ISugarQueryable QueryActiveParaConfigs() { try { return db.Queryable().Where(m => m.IsActive); } catch (Exception ex) { LogHelper.Error(ex, "执行ParaConfigService下QueryActiveParaConfigs时异常"); return null; } } /// /// 根据参数类别查询有效参数配置项 /// /// /// public List QueryActiveParaConfigsByParaCategory(string paraCategory) { try { return db.Queryable() .InnerJoin((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; } } /// /// 根据产品型号查询有效参数配置项 /// /// /// public ISugarQueryable QueryActiveParaConfigsByProductType(string productType) { try { return db.Queryable().Where(m => m.ProductType == productType && m.IsActive); } catch (Exception ex) { LogHelper.Error(ex, "执行ParaConfigService下QueryActiveParaConfigsByProductType时异常"); return null; } } /// /// 根据产品型号查询参数配置项 /// /// /// public ISugarQueryable QueryParaConfigsByProductType(string productType) { try { return db.Queryable().Where(m => m.ProductType == productType); } catch (Exception ex) { LogHelper.Error(ex, "执行ParaConfigService下QueryParaConfigsByProductType时异常"); return null; } } /// /// 新增参数配置项 /// /// /// 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); } } /// /// 批量保存参数配置项 /// /// 产品型号 /// /// public (bool isOk, string msg) SaveParaConfigs(string productType, List t_ParaConfigs) { var result = db.UseTran(() => { var delRows = db.Deleteable().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, "操作成功!"); } } }