Browse Source

[MODIFY]修改测试bug

dev-zzj
zhaozhenjing 2 months ago
parent
commit
a40f4beea1
  1. 9
      src/2.services/ATS.NonCustodial.Application/Impl/Admins/UnitcodeService.cs
  2. 70
      src/2.services/ATS.NonCustodial.Application/Impl/Admins/UserService.cs
  3. 29
      src/2.services/ATS.NonCustodial.Application/Impl/Business/AppBusinessApplicationService.cs
  4. 7
      src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Admins/Unitcode/Output/UnitcodeListOutput.cs
  5. 4
      src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Admins/User/IUserService.cs
  6. 9
      src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Business/AppBusinessApplications/Output/AppBusinessApplicationGetDto.cs
  7. 2
      src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Business/AppBusinessApplications/Output/AppBusinessApplicationListDto.cs

9
src/2.services/ATS.NonCustodial.Application/Impl/Admins/UnitcodeService.cs

@ -299,6 +299,15 @@ namespace ATS.NonCustodial.Application.Impl.Admins
var entity = Mapper.Map<App_Unitcode>(input);
entity.Id = YitIdHelper.NextId();
entity.Limits = entity.Id.ToString();
if(input.ParentUnitCode.HasValue)
{
var rtn = await base.GetAsync<App_Unitcode, UnitcodeListOutput, long>(_appUnitcodeRepository, input.ParentUnitCode.Value);
entity.UnitLevel =(int.Parse(rtn.UnitLevel??"0")+1).ToString();
}
else
{
entity.UnitLevel = "1";
}
var App_Unitcode = await _appUnitcodeRepository.InsertAsync(entity);
//添加父级单位权限
if (entity.ParentUnitCode.HasValue)

70
src/2.services/ATS.NonCustodial.Application/Impl/Admins/UserService.cs

@ -1,5 +1,6 @@
using ATS.NonCustodial.Application.Base;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.AppDictionaries;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.AppDictionaries.Output;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Auth.Output;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Menu.Output;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Role.Output;
@ -12,7 +13,6 @@ using ATS.NonCustodial.Domain.Shared.OrmRepositories.Basic.EfCore;
using ATS.NonCustodial.DynamicApi;
using ATS.NonCustodial.DynamicApi.Attributes;
using ATS.NonCustodial.Shared.Common.Attributes;
using ATS.NonCustodial.Shared.Common.Auth;
using ATS.NonCustodial.Shared.Common.Constants;
using ATS.NonCustodial.Shared.Common.Dtos;
using ATS.NonCustodial.Shared.Common.Dtos.Query;
@ -27,10 +27,7 @@ using AutoMapper.QueryableExtensions;
using Castle.Components.DictionaryAdapter;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Routing;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Xml.Linq;
using Yitter.IdGenerator;
namespace ATS.NonCustodial.Application.Impl.Admins
@ -111,7 +108,7 @@ namespace ATS.NonCustodial.Application.Impl.Admins
[HttpGet]
public async Task<IResultOutput> GetuserroleAsync(long id)
{
var userrole = await _userRoleRepository.AsQueryable(false, true).Where(q=>q.RoleId== id).Select(q=>q.UserId).ToListAsync();
var userrole = await _userRoleRepository.AsQueryable(false, true).Where(q => q.RoleId == id).Select(q => q.UserId).ToListAsync();
return ResultOutput.Ok(userrole);
}
@ -134,16 +131,16 @@ namespace ATS.NonCustodial.Application.Impl.Admins
// select new {urpm}).ToListAsync();
var usermenulis = await _MenuRepository.AsQueryable(false, true).ToListAsync();
var menulist = Mapper.Map<List<MenuListOutput>>(usermenulis);
foreach (var item in menulist.Distinct().Where(q => q.pid == 0||q.pid==null).OrderBy(q=>q.sort).ToList())
foreach (var item in menulist.Distinct().Where(q => q.pid == 0 || q.pid == null).OrderBy(q => q.sort).ToList())
{
rtnlist.Add(new
{
Id=item.Id,
Id = item.Id,
name = item.menuName,
route = item.menuUrl,
icon=item.icon,
icon = item.icon,
iconName = item.iconName,
Sublevel= menulist.Where(q=>q.pid== item.Id).ToList().OrderBy(q=> q.sort).Select(q=>new { q.Id, name=q.menuName, route=q.menuUrl}).ToList()
Sublevel = menulist.Where(q => q.pid == item.Id).ToList().OrderBy(q => q.sort).Select(q => new { q.Id, name = q.menuName, route = q.menuUrl }).ToList()
});
}
return ResultOutput.Ok(rtnlist);
@ -159,20 +156,28 @@ namespace ATS.NonCustodial.Application.Impl.Admins
{
var rtnlist = new List<dynamic>();
//查找当前用户角色权限菜单
var usermenulist = await (from ur in _userRoleRepository.AsQueryable(false, true).Where(q=>q.UserId==User.Id)
var usermenulist = await (from ur in _userRoleRepository.AsQueryable(false, true).Where(q => q.UserId == User.Id)
join urp in _rolePermissionRepository.AsQueryable(false, true) on ur.RoleId equals urp.RoleId
join urpm in _MenuRepository.AsQueryable(false, true) on urp.PermissionId equals urpm.Id
select new App_Menu{ Id=urpm.Id, menuName=urpm.menuName, icon=urpm.icon, iconName=urpm.iconName, pid=urpm.pid, sort=urpm.sort,
select new App_Menu
{
Id = urpm.Id,
menuName = urpm.menuName,
icon = urpm.icon,
iconName = urpm.iconName,
pid = urpm.pid,
sort = urpm.sort,
route = urpm.route,
menuUrl =urpm.menuUrl }).ToListAsync();
menuUrl = urpm.menuUrl
}).ToListAsync();
var menulist = Mapper.Map<List<MenuListOutput>>(usermenulist);
if (User.Name.Contains("aks"))
{
var list = await _MenuRepository.AsQueryable(false, true).ToListAsync();
menulist = Mapper.Map<List<MenuListOutput>>(list);
var list = await _MenuRepository.AsQueryable(false, true).ToListAsync();
menulist = Mapper.Map<List<MenuListOutput>>(list);
}
menulist= menulist.Where((x, i) => menulist.FindIndex(s => s.Id == x.Id) == i).ToList();
foreach (var item in menulist.Distinct().Where((q,x) => q.pid == 0 || q.pid == null).OrderBy(q => q.sort).ToList())
menulist = menulist.Where((x, i) => menulist.FindIndex(s => s.Id == x.Id) == i).ToList();
foreach (var item in menulist.Distinct().Where((q, x) => q.pid == 0 || q.pid == null).OrderBy(q => q.sort).ToList())
{
rtnlist.Add(new
{
@ -180,7 +185,7 @@ namespace ATS.NonCustodial.Application.Impl.Admins
name = item.menuName,
route = item.menuUrl,
icon = item.icon,
routes=item.route,
routes = item.route,
iconName = item.iconName,
Sublevel = menulist.Distinct().Where(q => q.pid == item.Id).ToList().OrderBy(q => q.sort).Select(q => new { q.Id, name = q.menuName, route = q.menuUrl, routes = q.route }).ToList()
});
@ -196,7 +201,7 @@ namespace ATS.NonCustodial.Application.Impl.Admins
[HttpPost]
public async Task<IResultOutput> GetPageAsync(UserGetPageDto input)
{
var express = GetExpression(input, _userRepository.AsQueryable(false, true).Where(q=>!q.UserName.Contains("aks")));
var express = GetExpression(input, _userRepository.AsQueryable(false, true).Where(q => !q.UserName.Contains("aks")));
var pageData = await base.GetPageAsync<AppUser, UserGetPageDto, UserListOutput>(input, express);
var userIds = pageData.Data.Select(w => w.Id).ToList();
@ -336,7 +341,7 @@ namespace ATS.NonCustodial.Application.Impl.Admins
.FirstOrDefault(w => w.Id == userUpdateBasic.PositionId)
?.Name;
return ResultOutput.Ok(userUpdateBasic);
}
@ -416,13 +421,13 @@ namespace ATS.NonCustodial.Application.Impl.Admins
var userRole = await IsAdmin(null);
if (inputlist == null) return ResultOutput.Ok();
else
await _userRoleRepository.DeleteAsync(q=>q.RoleId== inputlist[0].RoleId);//删除所有用户角色
await _userRoleRepository.DeleteAsync(q => q.RoleId == inputlist[0].RoleId);//删除所有用户角色
foreach (var item in inputlist)
{
item.Id = YitIdHelper.NextId();
}
await _userRoleRepository.InsertAsync(Mapper.Map<List<UserRoleAddInput>,List<AppUserRole>>(inputlist));
await _userRoleRepository.InsertAsync(Mapper.Map<List<UserRoleAddInput>, List<AppUserRole>>(inputlist));
return ResultOutput.Ok();
}
@ -531,7 +536,7 @@ namespace ATS.NonCustodial.Application.Impl.Admins
w => w.DeptcodeId!,
w => w.Deptcodename!,
w => w.DataStatus)!);
if (input.RoleIds != null && input.RoleIds.Count() > 0)
if (input.RoleIds != null && input.RoleIds.Count() > 0)
{
await _userRoleRepository.DeleteAsync(a => a.UserId == user.Id && input.RoleIds.Contains(a.RoleId));
@ -837,14 +842,25 @@ namespace ATS.NonCustodial.Application.Impl.Admins
/// <summary>
/// 根据当前登录用户查询下拉列表
/// </summary>
/// <param name="isCourt">移交给检察院 0 移交法院 1</param>
/// <returns></returns>
public async Task<ResultOutput<List<KeyValueDto>>> GetUserSelectList()
public async Task<ResultOutput<List<KeyValueDto>>> GetUserSelectList(int isCourt = 0)
{
var userRoles = await this.IsAdmin(null);
var dataDict = await _appDictionaryService.GetListNoApiAsync("job_position");
// 安全地处理可能的空值
var codeList = dataDict?.FirstOrDefault()?.Dictionaries?
.Where(w => w.Code == (isCourt == 0 ? "inquisitor" : "judge"))
.ToList() ?? new List<DictionaryGetOutput>();
var rtn = await _userRepository.AsQueryable(false, true)
.Where(w => w.ChatPersonType != ChatPersonTypeEnum.SupervisedPerson && w.DataStatus != DataStatusEnum.Disable&&!w.UserName.Contains("_aks"))
// .WhereIf(!userRoles.IsAdmin, w => w.Id == User.Id) 2025 -10-20 段肖确认修改
.Where(w => w.ChatPersonType != ChatPersonTypeEnum.SupervisedPerson && w.DataStatus != DataStatusEnum.Disable && !w.UserName.Contains("_aks"))
.WhereIf(codeList.Count>0,w=> w.PositionId == codeList.FirstOrDefault().Id)
// .WhereIf(!userRoles.IsAdmin, w => w.Id == User.Id) 2025 -10-20 段肖确认修改
.Select(w => new KeyValueDto()
{
Id = w.Id,
@ -862,9 +878,9 @@ namespace ATS.NonCustodial.Application.Impl.Admins
public async Task<ResultOutput<List<KeyValueDto>>> GetNewUserSelectList()
{
var userRoles = await this.IsAdmin(null);
// var limits = User.UnitId;
// var limits = User.UnitId;
var rtn = await _userRepository.AsQueryable(false, true)
.Where(w => w.ChatPersonType != ChatPersonTypeEnum.SupervisedPerson && w.DataStatus != DataStatusEnum.Disable && !w.UserName.Contains("_aks")&& w.UnitId == User.UnitId)
.Where(w => w.ChatPersonType != ChatPersonTypeEnum.SupervisedPerson && w.DataStatus != DataStatusEnum.Disable && !w.UserName.Contains("_aks") && w.UnitId == User.UnitId)
.Select(w => new KeyValueDto()
{
Id = w.Id,

29
src/2.services/ATS.NonCustodial.Application/Impl/Business/AppBusinessApplicationService.cs

@ -100,6 +100,32 @@ namespace ATS.NonCustodial.Application.Impl.Business
public async Task<IResultOutput> GetAsync(long id)
{
var rtn = await base.GetAsync<AppBusinessApplication, AppBusinessApplicationGetDto, long>(_appBusinessApplicationRepository, id);
if (rtn != null&& User.PositionId !=0)
{
//获取用户职位
var position = await _appDictionaryService.GetDicByDicId(User.PositionId);
var caseDto = await base.GetWithDataAsync<AppCaseManagement, AppCaseManagementGetDto, long>(_appCaseManagementRepository, rtn.CaseId);
//当前案件状态和登录人员职位相匹配时,才能修改
var permissionGranted = (caseDto.CaseProgress, position.Code) switch
{
(CaseProgressEnum.Pending, "police") => true,
(CaseProgressEnum.InExecution, "police") => true,
(CaseProgressEnum.Examination, "inquisitor") => true,
(CaseProgressEnum.Hear, "judge") => true,
_ => false
};
if (permissionGranted)
{
rtn.ReviewPermission = "1";
}
else
{
rtn.ReviewPermission = "0";
}
}
return ResultOutput.Ok(rtn);
}
@ -128,7 +154,7 @@ namespace ATS.NonCustodial.Application.Impl.Business
//不同的申请,显示字段不一样
foreach (var item in rtn.Data)
{
var dic= await _appDictionaryService.GetDicByDicId(item.ApplicationTypeId);
var dic = await _appDictionaryService.GetDicByDicId(item.ApplicationTypeId);
if (dic.Code == "end_supervision")
{
@ -336,6 +362,7 @@ namespace ATS.NonCustodial.Application.Impl.Business
});
await _appBusinessApplicationRepository.UpdateAsync(dataList);
//当被监管人申请结束监管,判断此案件只有一个被监管人时,结束案件
foreach (var item in dataList)
{
var caseType = await _appDictionaryService.GetDicByDicId(item.ApplicationTypeId);

7
src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Admins/Unitcode/Output/UnitcodeListOutput.cs

@ -1,4 +1,6 @@
using ATS.NonCustodial.Domain.Shared.AggRootEntities;
using ATS.NonCustodial.Domain.Shared.Constants;
using System.ComponentModel.DataAnnotations;
namespace ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Unitcode.Output
{
@ -18,5 +20,10 @@ namespace ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Unitcode.Outp
/// 父级编码
/// </summary>
public long? ParentUnitCode { get; set; }
/// <summary>
/// 单位级别
/// </summary>
public string? UnitLevel { get; set; }
}
}

4
src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Admins/User/IUserService.cs

@ -218,8 +218,10 @@ namespace ATS.NonCustodial.Application.Contracts.Interfaces.Admins.User
/// 根据当前登录用户查询下拉列表
/// </summary>
/// <returns></returns>
Task<ResultOutput<List<KeyValueDto>>> GetUserSelectList();
Task<ResultOutput<List<KeyValueDto>>> GetUserSelectList(int isCourt = 0);
Task<ResultOutput<List<KeyValueDto>>> GetNewUserSelectList();
/// <summary>
/// 获取所有的管理员
/// </summary>

9
src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Business/AppBusinessApplications/Output/AppBusinessApplicationGetDto.cs

@ -17,6 +17,10 @@ namespace ATS.NonCustodial.Application.Contracts.Interfaces.Business.AppBusiness
/// </summary>
public AuditStatusEnum AuditStatus { get; set; }
/// <summary>
/// 案子Id
/// </summary>
public long CaseId { get; set; }
/// <summary>
/// 审核状态描述
/// </summary>
@ -81,5 +85,10 @@ namespace ATS.NonCustodial.Application.Contracts.Interfaces.Business.AppBusiness
/// 结束监管日期
/// </summary>
public DateTime? EndSupervisionDate { get; set; }
/// <summary>
/// 审核权限(1 有权限 0 无权限)
/// </summary>
public string? ReviewPermission { get; set; }
}
}

2
src/3.contracts/ATS.NonCustodial.Application.Contracts/Interfaces/Business/AppBusinessApplications/Output/AppBusinessApplicationListDto.cs

@ -91,7 +91,7 @@ namespace ATS.NonCustodial.Application.Contracts.Interfaces.Business.AppBusiness
public string? ApplicationDescription { get; set; }
/// <summary>
/// 审核权限(1 有权限 2 无权限)
/// 审核权限(1 有权限 0 无权限)
/// </summary>
public string? ReviewPermission { get; set; }
}

Loading…
Cancel
Save