sunpengfei
2 天以前 5b86cd10f893872da68c040adea52953eb25c4a0
feat:开发
6个文件已修改
121 ■■■■ 已修改文件
FlexJobApi.Core/FlexJobApi.Core.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetSettlementTaskUsersQuery.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Web.Entry/appsettings.json 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/",