2023-03-03 16:07:50 +08:00
|
|
|
|
/*******************************************************************************
|
2024-11-14 09:01:55 +08:00
|
|
|
|
* Copyright © 2020 WaterCloud.Framework 版权所有
|
|
|
|
|
* Author: WaterCloud
|
|
|
|
|
* Description: WaterCloud快速开发平台
|
|
|
|
|
* Website:
|
2023-03-03 16:07:50 +08:00
|
|
|
|
*********************************************************************************/
|
|
|
|
|
|
|
|
|
|
using SqlSugar;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using HT.Cloud.Domain.SystemOrganize;
|
|
|
|
|
|
|
|
|
|
namespace HT.Cloud.Service.SystemOrganize
|
|
|
|
|
{
|
2024-11-14 09:01:55 +08:00
|
|
|
|
public class OrganizeService : BaseService<OrganizeEntity>, IDenpendency
|
|
|
|
|
{
|
|
|
|
|
public OrganizeService(ISqlSugarClient context) : base(context)
|
|
|
|
|
{
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
|
2024-11-14 09:01:55 +08:00
|
|
|
|
public async Task<List<OrganizeExtend>> GetList()
|
|
|
|
|
{
|
|
|
|
|
var query = GetQuery();
|
|
|
|
|
return await query.Where(a => a.F_DeleteMark == false).ToListAsync();
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
|
2024-11-14 09:01:55 +08:00
|
|
|
|
public async Task<List<OrganizeExtend>> GetLookList()
|
|
|
|
|
{
|
|
|
|
|
var query = GetQuery().Where(a => a.F_DeleteMark == false);
|
|
|
|
|
query = GetDataPrivilege("a", "", query);
|
|
|
|
|
return await query.OrderBy(a => a.F_SortCode).ToListAsync();
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
|
2024-11-14 09:01:55 +08:00
|
|
|
|
public async Task<OrganizeExtend> GetLookForm(string keyValue)
|
|
|
|
|
{
|
|
|
|
|
var data = await GetQuery().FirstAsync(a => a.F_Id == keyValue);
|
|
|
|
|
return GetFieldsFilterData(data);
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
|
2024-11-14 09:01:55 +08:00
|
|
|
|
public async Task<OrganizeExtend> GetForm(string keyValue)
|
|
|
|
|
{
|
|
|
|
|
var data = await GetQuery().FirstAsync(a => a.F_Id == keyValue);
|
|
|
|
|
return data;
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
|
|
|
|
|
|
2024-11-14 09:01:55 +08:00
|
|
|
|
private ISugarQueryable<OrganizeExtend> GetQuery()
|
|
|
|
|
{
|
|
|
|
|
var query = repository.Db.Queryable<OrganizeEntity, UserEntity>((a, b) => new JoinQueryInfos(
|
|
|
|
|
JoinType.Left, a.F_ManagerId == b.F_Id
|
|
|
|
|
)).Where(a => a.F_DeleteMark == false)
|
|
|
|
|
.Select((a, b) => new OrganizeExtend
|
|
|
|
|
{
|
|
|
|
|
F_Id = a.F_Id.SelectAll(),
|
|
|
|
|
F_ManagerName = b.F_RealName
|
|
|
|
|
}).MergeTable();
|
|
|
|
|
return query;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task DeleteForm(string keyValue)
|
|
|
|
|
{
|
|
|
|
|
if (await repository.IQueryable(a => a.F_ParentId.Equals(keyValue)).AnyAsync())
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("删除失败!操作的对象包含了下级数据。");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (await repository.Db.Queryable<UserEntity>().Where(a => a.F_CompanyId == keyValue).AnyAsync() || await repository.Db.Queryable<UserEntity>().Where(a => a.F_OrganizeId == keyValue).AnyAsync())
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("组织使用中,无法删除");
|
|
|
|
|
}
|
|
|
|
|
await repository.Delete(a => a.F_Id == keyValue);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task SubmitForm(OrganizeEntity organizeEntity, string keyValue)
|
|
|
|
|
{
|
|
|
|
|
if (!string.IsNullOrEmpty(keyValue))
|
|
|
|
|
{
|
|
|
|
|
organizeEntity.Modify(keyValue);
|
|
|
|
|
await repository.Update(organizeEntity);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
organizeEntity.F_AllowDelete = false;
|
|
|
|
|
organizeEntity.F_AllowEdit = false;
|
|
|
|
|
organizeEntity.F_DeleteMark = false;
|
|
|
|
|
organizeEntity.Create();
|
|
|
|
|
await repository.Insert(organizeEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
}
|