using ProductionSystem_Log;
using ProductionSystem_Model.DbModel.System;
using ProductionSystem_Model.ViewModel;
using ProductionSystem_Model.ViewModel.Response.System;
using SqlSugar;
using System;
using System.Collections.Generic;
namespace ProductionSystem_Service
{
///
/// 数据字典
///
public class DicService : DbContext
{
///
/// 查询所有数据字典
///
///
public ISugarQueryable QueryDics()
{
try
{
return db.Queryable();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下QueryDics时异常");
return null;
}
}
///
/// 查询有效数据字典
///
///
public ISugarQueryable QueryActiveDics()
{
try
{
return db.Queryable().Where(m => m.IsActive);
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下QueryActiveDics时异常");
return null;
}
}
///
/// 根据Id查询数据字典
///
///
///
public Sys_Dic QueryDicById(string id)
{
try
{
return db.Queryable().First(m => m.Id == id);
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下QueryDicById时异常");
return null;
}
}
///
/// 根据编码查询有效数据字典
///
///
///
public Sys_Dic QueryActiveDicByCode(string code)
{
try
{
return db.Queryable().First(m => m.DicCode == code && m.IsActive);
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下QueryDicByCode时异常");
return null;
}
}
///
/// 根据数据字典类型编码查询所有数据字典
///
///
///
public List QueryDicsByDicTypeCode(string dicTypeCode)
{
try
{
return db.Queryable().Where(m => m.DicTypeCode == dicTypeCode).ToList();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下QueryDicByDicTypeCode时异常");
return null;
}
}
///
/// 根据数据字典类型编码查询有效数据字典
///
///
///
public List QueryActiveDicsByDicTypeCode(string dicTypeCode)
{
try
{
return db.Queryable().Where(m => m.DicTypeCode == dicTypeCode && m.IsActive).OrderBy(m => m.SortIndex).ToList();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下QueryDicByDicTypeCode时异常");
return null;
}
}
///
/// 根据数据字典类型编码查询有效数据字典
///
///
///
public List QueryActiveDicVmsByDicTypeCode(string dicTypeCode)
{
try
{
return db.Queryable()
.Where(m => m.DicTypeCode == dicTypeCode && m.IsActive)
.Select(m => new DicVM
{
Id = m.Id,
DicTypeCode = m.DicTypeCode,
DicCode = m.DicCode,
DicName = m.DicName,
SortIndex = m.SortIndex,
IsDefaultSelected = m.IsDefaultSelected,
StrIsDefaultSelected = m.IsDefaultSelected ? "是" : "否",
IsShowMain = m.IsShowMain,
StrIsShowMain = m.IsShowMain ? "是" : "否",
Remark = m.Remark,
IsActive = m.IsActive,
StrIsActive = m.IsActive ? "是" : "否"
}).OrderBy(m => m.SortIndex).ToList();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下QueryDicByDicTypeCode时异常");
return null;
}
}
///
/// 新增数据字典
///
///
///
public int AddDic(Sys_Dic dic)
{
try
{
return db.Insertable(dic).ExecuteCommand();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下AddDic时异常");
return -1;
}
}
///
/// 更新数据字典
///
///
///
public int UpdateDic(Sys_Dic dic)
{
try
{
return db.Updateable()
.SetColumns(c => c.DicTypeCode == dic.DicTypeCode)
.SetColumns(c => c.DicCode == dic.DicCode)
.SetColumns(c => c.DicName == dic.DicName)
.SetColumns(c => c.IsDefaultSelected == dic.IsDefaultSelected)
.SetColumns(c => c.SortIndex == dic.SortIndex)
.SetColumns(c => c.Remark == dic.Remark)
.SetColumns(c => c.IsActive == dic.IsActive)
.SetColumns(c => c.UpdatedTime == DateTime.Now)
.SetColumns(c => c.UpdatedBy == CurrentUser.UserName)
.Where(m => m.Id == dic.Id)
.ExecuteCommand();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下UpdateDic时异常");
return -1;
}
}
///
/// 根据Id集合更新数据字典状态
///
///
///
///
public int UpdateDicStatusByIds(List ids, bool? isActive = true)
{
try
{
return db.Updateable()
.SetColumns(c => c.IsActive == isActive)
.SetColumns(c => c.UpdatedTime == DateTime.Now)
.SetColumns(c => c.UpdatedBy == CurrentUser.UserName)
.Where(m => ids.Contains(m.Id))
.ExecuteCommand();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下UpdateDicStatusByIds时异常");
return -1;
}
}
///
/// 根据Id更新数据字典状态
///
///
///
///
public int UpdateDicStatusById(string id, bool? isActive = true)
{
try
{
return db.Updateable()
.SetColumns(c => c.IsActive == isActive)
.SetColumns(c => c.UpdatedTime == DateTime.Now)
.SetColumns(c => c.UpdatedBy == CurrentUser.UserName)
.Where(m => m.Id == id)
.ExecuteCommand();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行DicService下UpdateDicStatusById时异常");
return -1;
}
}
}
}