98 lines
3.5 KiB
C#
98 lines
3.5 KiB
C#
using langguanApi.Extensions.AutoDI;
|
||
using langguanApi.Model;
|
||
using Mapster;
|
||
using System.Linq.Expressions;
|
||
|
||
namespace langguanApi.Service
|
||
{
|
||
/// <summary>
|
||
/// OrganizedService
|
||
/// </summary>
|
||
[ServiceInjection(InjectionType.Transient)]
|
||
public class OrganizedService : BaseService<Organized>
|
||
{
|
||
private readonly DeviceService _deviceService;
|
||
public OrganizedService(IConfiguration config, DeviceService device) : base(config, nameof(Organized))
|
||
{
|
||
_deviceService = device;
|
||
}
|
||
/// <summary>
|
||
/// Add 工序
|
||
/// </summary>
|
||
/// <param name="input"></param>
|
||
/// <returns></returns>
|
||
public async Task<ApiResult> Add(OrganizedDto input)
|
||
{
|
||
var entity = input.Adapt<Organized>();
|
||
await CreateAsync(entity);
|
||
return new ApiResult() { code = 0 };
|
||
}
|
||
/// <summary>
|
||
/// Update
|
||
/// </summary>
|
||
/// <param name="input"></param>
|
||
/// <returns></returns>
|
||
public async Task<ApiResult> Update(OrganizedUpdateDto input)
|
||
{
|
||
var entity = input.Adapt<Organized>();
|
||
await UpdateAsync(input.Id, entity);
|
||
return new ApiResult() { code = 0 };
|
||
}
|
||
/// <summary>
|
||
/// Delete
|
||
/// </summary>
|
||
/// <param name="ids"></param>
|
||
/// <returns></returns>
|
||
public async Task<ApiResult> Delete(IEnumerable<string> ids)
|
||
{
|
||
if (ids.Any())
|
||
{
|
||
foreach (var id in ids)
|
||
{
|
||
await RemoveAsync(id);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return new ApiResult() { code = 1, msg = "请选择要删除的记录" };
|
||
}
|
||
return new ApiResult() { code = 0 };
|
||
}
|
||
/// <summary>
|
||
/// ListAndDevice
|
||
/// </summary>
|
||
/// <param name="OrganizedType">1,有组织,2无组织</param>
|
||
/// <returns></returns>
|
||
public async Task<ApiResult> ListAndDevice(int OrganizedType = 1)
|
||
{
|
||
Expression<Func<Organized, bool>> exp = filter => filter.OrganizedType == OrganizedType && filter.IsDelete == false;
|
||
var result = (await base.GetListWithExp(exp)).OrderByDescending(x => x.Order).ToList();
|
||
List<OrganizedByDeviceDto> list = new List<OrganizedByDeviceDto>();
|
||
var devices = await _deviceService.GetDeviceByOrgids(result.Select(s => s.Id));
|
||
foreach (var item in result)
|
||
{
|
||
list.Add(new OrganizedByDeviceDto
|
||
{
|
||
Items = devices.Where(s => s.OrgId == item.Id).ToList(),
|
||
Order = item.Order,
|
||
Name = item.Name,
|
||
OrganizedType = item.OrganizedType,
|
||
Id = item.Id,
|
||
});
|
||
}
|
||
return new ApiResult() { code = 0, data = list };
|
||
}
|
||
/// <summary>
|
||
/// List
|
||
/// </summary>
|
||
/// <param name="OrganizedType">1,有组织,2无组织</param>
|
||
/// <returns></returns>
|
||
public async Task<ApiResult> List(int OrganizedType = 1)
|
||
{
|
||
Expression<Func<Organized, bool>> exp = filter => filter.OrganizedType == OrganizedType && filter.IsDelete == false;
|
||
var result = (await base.GetListWithExp(exp)).OrderByDescending(x => x.Order).ToList();
|
||
return new ApiResult() { code = 0, data = result };
|
||
}
|
||
}
|
||
}
|