FlexJobApi.Core/FlexJobApi.Core.xml
@@ -8712,6 +8712,11 @@ 查询结算任务分页列表数据 </summary> </member> <member name="P:FlexJobApi.Core.GetSettlementTaskUsersQueryResult.Detail"> <summary> 详情 </summary> </member> <member name="P:FlexJobApi.Core.GetSettlementTaskUsersQueryResult.Data"> <summary> 结算名单 @@ -10191,6 +10196,11 @@ Id </summary> </member> <member name="P:FlexJobApi.Core.SendInviteElectronSignSmsCommand.ContractTemplateId"> <summary> 合同模板Id </summary> </member> <member name="T:FlexJobApi.Core.StopElectronSignCommand"> <summary> 灵工解约 FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetSettlementTaskUsersQuery.cs
@@ -31,9 +31,15 @@ public class GetSettlementTaskUsersQueryResult { /// <summary> /// 详情 /// </summary> public GetSettlementTaskQueryResult Detail { get; set; } /// <summary> /// 结算名单 /// </summary> public List<GetSettlementTaskUsersQueryResultItem> Data { get; set; } /// <summary> /// 错误信息 /// </summary> FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml
@@ -43,7 +43,7 @@ 任务验收查询处理器 </summary> </member> <member name="M:FlexJobApi.FlexJobServer.Application.TaskCheckReceiveQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfoUser},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfoUserSubmit})"> <member name="M:FlexJobApi.FlexJobServer.Application.TaskCheckReceiveQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfoUser},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfoUserSubmit})"> <summary> 任务验收查询处理器 </summary> FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs
@@ -1,5 +1,7 @@ using FlexJobApi.Core; using Aop.Api.Domain; using FlexJobApi.Core; using Furion.DatabaseAccessor; using Furion.DistributedIDGenerator; using Furion.FriendlyException; using Mapster; using MediatR; @@ -9,6 +11,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using TaskInfo = FlexJobApi.Core.TaskInfo; namespace FlexJobApi.FlexJobServer.Application { @@ -18,6 +21,7 @@ public class TaskCheckReceiveQueryHandler( IRepository<TaskInfo> repTaskInfo, IRepository<TaskInfoUser> repTaskInfoUser, IRepository<User> repUser, IRepository<TaskInfoUserSubmit> repTaskInfoUserSubmit) : IRequestHandler<GetCheckReceiveTasksQuery, GetCheckReceiveTasksQueryResult>, IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult>, @@ -256,20 +260,77 @@ /// <returns></returns> public async Task<GetCheckReceiveTaskUserSubmitQueryResult> Handle(GetCheckReceiveTaskUserSubmitQuery request, CancellationToken cancellationToken) { var q = repTaskInfoUserSubmit.AsQueryable().AsNoTracking(); var logier = JwtUtils.GetCurrentLogier(); TaskInfoUserSubmit? entity = null; var q = repTaskInfoUserSubmit.AsQueryable(); if (request.SubmitId.HasValue) { q = q.Where(it => it.Id == request.SubmitId.Value); entity = await q.FirstOrDefaultAsync(); if (entity == null) { throw Oops.Oh(EnumErrorCodeType.s404, "提交信息"); } } else if (request.Date.HasValue && request.TaskInfoId.HasValue) { q = q.Where(it => it.Date.Date == request.Date.Value.Date && it.TaskInfoUser.TaskInfoId == request.TaskInfoId.Value); var taskUser = await repTaskInfoUser.AsQueryable().AsNoTracking() .Where(it => it.EnterpriseEmployee.UserId == logier.Id && it.TaskInfoId == request.TaskInfoId) .FirstOrDefaultAsync(); if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "任务"); q = q.Where(it => it.Date.Date == request.Date.Value.Date && it.TaskInfoUserId == taskUser.Id); entity = await q.FirstOrDefaultAsync(); if (entity == null) { entity = new TaskInfoUserSubmit { Id = IDGen.NextID(), TaskInfoUserId = taskUser.Id, Date = request.Date.Value.Date, CheckReceiveStatus = EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit, CreatedTime = DateTime.Now }; await repTaskInfoUserSubmit.InsertAsync(entity); } } else if (request.Date.HasValue && request.TaskInfoUserId.HasValue) { q = q.Where(it => it.Date.Date == request.Date.Value.Date && it.TaskInfoUserId == request.TaskInfoUserId.Value); q = q.Where(it => it.Date.Date == request.Date.Value.Date && it.TaskInfoUserId == request.TaskInfoUserId.Value); entity = await q.FirstOrDefaultAsync(); if (entity == null) { entity = new TaskInfoUserSubmit { Id = IDGen.NextID(), TaskInfoUserId = request.TaskInfoUserId.Value, Date = request.Date.Value.Date, CheckReceiveStatus = EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit, CreatedTime = DateTime.Now }; await repTaskInfoUserSubmit.InsertAsync(entity); } } var model = await q.GetDetail<TaskInfoUserSubmit, GetCheckReceiveTaskUserSubmitQueryResult>(); if (entity == null) { throw Oops.Oh(EnumErrorCodeType.s404, "提交信息"); } var model = new GetCheckReceiveTaskUserSubmitQueryResult { Id = entity.Id, Date = entity.Date, CreatedTime = entity.CreatedTime, }; model.TaskInfoUserEnterpriseEmployeeUser = await repUser.AsQueryable().AsNoTracking() .Where(it => it.EnterpriseEmployees.Any(ee => ee.TaskInfoUsers.Any(tu => tu.Id == entity.TaskInfoUserId))) .ProjectToType<GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser>() .FirstOrDefaultAsync(); model.Files = await repTaskInfoUserSubmit.Change<TaskInfoUserSubmitFile>().AsQueryable().AsNoTracking() .Where(it => it.SubmitId == model.Id) .Select(it => it.File) FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs
@@ -173,6 +173,11 @@ { var logier = JwtUtils.GetCurrentLogier(); var list = new GetSettlementTaskUsersQueryResult(); list.Detail = await TaskInfoRepository.GetQueryable(repTaskInfo, true, logier) .Where(it => it.Id == request.TaskInfoId) .GetDetail<TaskInfo, GetSettlementTaskQueryResult>(); var q = rep.AsQueryable().AsNoTracking() .Where(it => it.TaskInfoId == request.TaskInfoId); list.Data = q @@ -266,6 +271,10 @@ item.Bank = model.Bank; item.BankBranch = model.BankBranch; } if (model.TaskName != list.Detail.Name) { errors.Add("任务名称不一致"); } if (errors.IsNotNull()) { @@ -289,6 +298,13 @@ .Where(it => successList.Any(s => s.Identity == it.Identity)) .ToList(); } list.Detail.SettlementOrderStatus = EnumTaskSettlementOrderStatus.Wait; list.Detail.SettlementOrderName = request.SettlementOrderUrl.Substring(request.SettlementOrderUrl.LastIndexOf("/") + 1); list.Detail.SettlementOrderTime = DateTime.Now; list.Detail.SettlementStatus = EnumTaskSettlementStatus.Wait; list.Detail.SettlementAmount = list.Data.Sum(it => it.SettlementAmount ?? 0); list.Detail.ActualSettlementAmount = list.Data.Sum(it => it.ActualSettlementAmount ?? 0); } else { FlexJobApi.Web.Entry/appsettings.json
@@ -2,15 +2,17 @@ "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", "Environment": "Local", "ConnectionStrings": { //"FlexJobApi": "Server=120.26.58.240; Database=Dev_FlexJobApi; User=bole;Password=Bole1472589;Encrypt=false;", //"FlexJobApiLog": "Server=120.26.58.240; Database=Dev_FlexJobApiLog; User=bole;Password=Bole1472589;Encrypt=false;", //"HumanResources": "Server=120.26.58.240; Database=Dev_12333; User=bole;Password=Bole1472589;Encrypt=false;", "FlexJobApi": "Server=120.26.58.240; Database=Dev_FlexJobApi; User=bole;Password=Bole1472589;Encrypt=false;", "FlexJobApiLog": "Server=120.26.58.240; Database=Dev_FlexJobApiLog; User=bole;Password=Bole1472589;Encrypt=false;", "HumanResources": "Server=120.26.58.240; Database=Dev_12333; User=bole;Password=Bole1472589;Encrypt=false;", "SyncTarget": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_FlexJobApi; User=bole;Password=Blcs20@%27;Encrypt=false;" //"FlexJobApi": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_FlexJobApi; User=bole;Password=Blcs20@%27;Encrypt=false;", //"FlexJobApiLog": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_FlexJobApiLog; User=bole;Password=Blcs20@%27;Encrypt=false;", //"HumanResources": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_12333; User=bole;Password=Blcs20@%27;Encrypt=false;", //"SyncTarget": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_FlexJobApi; User=bole;Password=Blcs20@%27;Encrypt=false;" "FlexJobApi": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_FlexJobApi; User=bole;Password=Blcs20@%27;Encrypt=false;", "FlexJobApiLog": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_FlexJobApiLog; User=bole;Password=Blcs20@%27;Encrypt=false;", "HumanResources": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_12333; User=bole;Password=Blcs20@%27;Encrypt=false;", "SyncTarget": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333; Database=Pro_FlexJobApi; User=bole;Password=Blcs20@%27;Encrypt=false;" }, "Consul": { "Address": "http://localhost:8500/",