Files
shgx_tz_mes_backend_sync/ZR.Service/System/SysDictService.cs

102 lines
3.4 KiB
C#
Raw Normal View History

2021-08-23 16:57:25 +08:00
using Infrastructure;
using Infrastructure.Attribute;
using System;
using System.Collections.Generic;
using System.Text;
using ZR.Model.System;
using ZR.Repository.System;
2021-09-16 19:35:17 +08:00
using ZR.Service.System.IService;
2021-08-23 16:57:25 +08:00
namespace ZR.Service.System
{
/// <summary>
/// 字典类型
/// </summary>
[AppService(ServiceType = typeof(ISysDictService), ServiceLifetime = LifeTime.Transient)]
public class SysDictService : BaseService<SysDictType>, ISysDictService
2021-09-06 15:56:53 +08:00
{
2021-09-27 08:06:09 +08:00
private SysDictRepository DictRepository;
2021-08-23 16:57:25 +08:00
private SysDictDataRepository DictDataRepository;
public SysDictService(SysDictRepository sysDictRepository, SysDictDataRepository dictDataRepository)
{
2021-09-27 08:06:09 +08:00
this.DictRepository = sysDictRepository;
2021-08-23 16:57:25 +08:00
this.DictDataRepository = dictDataRepository;
}
/// <summary>
/// 查询字段类型列表
/// </summary>
/// <param name="dictType">实体模型</param>
/// <returns></returns>
2021-09-06 12:14:52 +08:00
public List<SysDictType> SelectDictTypeList(SysDictType dictType, Model.PagerInfo pager)
2021-08-23 16:57:25 +08:00
{
2021-09-27 08:06:09 +08:00
return DictRepository.SelectDictTypeList(dictType, pager);
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 校验字典类型称是否唯一
/// </summary>
/// <param name="dictType">字典类型</param>
/// <returns></returns>
public string CheckDictTypeUnique(SysDictType dictType)
{
2021-09-27 08:06:09 +08:00
SysDictType sysDictType = DictRepository.GetFirst(f => f.DictType == dictType.DictType);
2021-08-23 16:57:25 +08:00
if (sysDictType != null && sysDictType.DictId != dictType.DictId)
{
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/// <summary>
/// 批量删除字典数据信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public int DeleteDictTypeByIds(long[] dictIds)
{
foreach (var dictId in dictIds)
{
2021-09-27 08:06:09 +08:00
SysDictType dictType = DictRepository.GetFirst(x => x.DictId == dictId);
if (DictRepository.Count(f => f.DictType == dictType.DictType) > 0)
2021-08-23 16:57:25 +08:00
{
throw new CustomException($"{dictType.DictName}已分配,不能删除");
}
}
2021-09-27 08:06:09 +08:00
int count = DictRepository.DeleteDictTypeByIds(dictIds);
2021-08-23 16:57:25 +08:00
//if (count > 0)
//{
// DictUtils.clearDictCache();
//}
return count;
}
/// <summary>
/// 插入字典类型
/// </summary>
/// <param name="sysDictType"></param>
/// <returns></returns>
public long InsertDictType(SysDictType sysDictType)
{
2021-09-27 08:06:09 +08:00
return DictRepository.InsertReturnEntity(sysDictType).DictId;
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 修改字典类型
/// </summary>
/// <param name="sysDictType"></param>
/// <returns></returns>
public int UpdateDictType(SysDictType sysDictType)
{
2021-09-27 08:06:09 +08:00
SysDictType oldDict = DictRepository.GetFirst(x => x.DictId == sysDictType.DictId);
2021-08-23 16:57:25 +08:00
if (sysDictType.DictType != oldDict.DictType)
{
//同步修改 dict_data表里面的DictType值
DictDataRepository.UpdateDictDataType(oldDict.DictType, sysDictType.DictType);
}
2021-09-27 08:06:09 +08:00
return DictRepository.UpdateDictType(sysDictType);
2021-08-23 16:57:25 +08:00
}
}
}