From d86bc04d0b34f2b7d9ddbd30ee703b51d48876e8 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 05 二月 2025 09:51:15 +0800 Subject: [PATCH] 修改审核中员工排在前边 --- cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs | 306 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 258 insertions(+), 48 deletions(-) diff --git a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs index 74c4038..d1a91ae 100644 --- a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs +++ b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs @@ -3,9 +3,12 @@ using cylsg.Core; using cylsg.Model.OrderModel; using cylsg.Model.UserModel; +using EzTencentCloud; using Furion.LinqBuilder; using MapsterMapper; +using Microsoft.IdentityModel.Tokens; using Org.BouncyCastle.Asn1.X509; +using SqlSugar.Extensions; using System; using System.Collections.Generic; using System.Linq; @@ -26,11 +29,13 @@ private readonly ISystemService _systemService; private ISqlSugarClient _sqlSugarClient; private IMapper _mapper; - public OrderWorkerAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper) + private readonly ITencentCloudService _tencentCloudService; + public OrderWorkerAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper,ITencentCloudService tencentCloudService) { _systemService = systemService; _sqlSugarClient = sqlSugarClient; _mapper = mapper; + _tencentCloudService = tencentCloudService; } @@ -42,11 +47,19 @@ [HttpPost] public async Task<PageResult<OrderDto>> PostListPage(OrderPageSearch page) { + var UserID = App.User?.FindFirstValue("UserID"); + int userid = 0; + if (!string.IsNullOrEmpty(UserID)) + { + userid = int.Parse(UserID); + } + PageResult<OrderDto> result = new PageResult<OrderDto>(); Expression<Func<Order, bool>> expression = t => true; expression = expression.And(t => t.IsDeleted == false && t.IsEn == true && t.OrderStatus == 0); + // expression = expression.And(t => t.WordEndTime >= DateTime.Now.Date.AddDays(-30)); if (!string.IsNullOrEmpty(page.OrderName)) { expression = expression.And(t => t.OrderName.Contains(page.OrderName)); @@ -64,6 +77,7 @@ var orderRepository = new BaseRepository<Order>(); var orderBiddingRepository = new BaseRepository<OrderBidding>(); + var userCompanyRepository = new BaseRepository<UserCompany>(); var data = await orderRepository.Context.Queryable<Order>() .Where(expression) @@ -77,6 +91,41 @@ { var orderBiddings = await orderBiddingRepository.CountAsync(x => x.OrderId == orderDto.Id && x.IsSelected == true && x.IsEn == true && x.IsDeleted == false); orderDto.WorderCounted = orderBiddings; + var userCompany = await userCompanyRepository.GetFirstAsync(x => x.UserId == orderDto.OrderUserId && x.IsDeleted == false && x.IsEn == true); + if (userCompany != null) + { + orderDto.OrderComName = userCompany.Suppliername; + } + if (userid > 0) + { + var orderBidding = await orderBiddingRepository.GetFirstAsync(x => x.OrderId == orderDto.Id && x.WorkerUserId == userid && x.IsEn == true && x.IsDeleted == false); + if (orderBidding != null) + { + if (!orderBidding.IsSelected.HasValue) + { + orderDto.IsSelectedName = "瀹℃牳涓�"; + } + else if (orderBidding.IsSelected.Value == true) + { + orderDto.IsSelectedName = "宸茬‘璁�"; + } + else + { + orderDto.IsSelectedName = "涓嶅綍鐢�"; + } + + } + else + { + orderDto.IsSelectedName = null; + } + } + else + { + orderDto.IsSelectedName = null; + } + + } } @@ -130,6 +179,7 @@ var orderBiddingRepository = new BaseRepository<OrderBidding>(); + var userCompanyRepository = new BaseRepository<UserCompany>(); var data = await orderRepository.Context.Queryable<Order>() .Where(expression) @@ -143,7 +193,7 @@ { switch (orderDto.OrderStatus) { - case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "鍙戝竷"; break; + case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "鍙戝竷涓�"; break; case (int)OrderStatuses.zhaogongwanbi: orderDto.OrderStatusName = "鎷涘伐瀹屾瘯"; break; case (int)OrderStatuses.jiesuanwanbi: orderDto.OrderStatusName = "缁撶畻瀹屾瘯"; break; default: break; @@ -157,14 +207,23 @@ if (orderBidding != null) { orderDto.IsSelected = orderBidding.IsSelected; - if (orderDto.IsSelected.HasValue && orderDto.IsSelected.Value) + if (!orderDto.IsSelected.HasValue ) { - orderDto.IsSelectedName ="宸茬‘璁�"; + orderDto.IsSelectedName = "瀹℃牳涓�"; + } + else if(orderDto.IsSelected.Value) + { + orderDto.IsSelectedName = "宸茬‘璁�"; } else { - orderDto.IsSelectedName = "鏈‘璁�"; + orderDto.IsSelectedName = "涓嶅綍鐢�"; } + } + var userCompany = await userCompanyRepository.GetFirstAsync(x => x.UserId == orderDto.OrderUserId && x.IsDeleted == false && x.IsEn == true); + if (userCompany != null) + { + orderDto.OrderComName = userCompany.Suppliername; } } @@ -176,6 +235,7 @@ return result; } + @@ -199,55 +259,109 @@ OrderDto orderDto = new OrderDto(); var orderRes = new BaseRepository<Order>(); var orderBiddingRes = new BaseRepository<OrderBidding>(); + var userWorkerRes = new BaseRepository<UserWorker>(); + var orderBiddingWorkPriceRepository = new BaseRepository<OrderBiddingWorkPrice>(); var userRes = new BaseRepository<User>(); var order = await orderRes.GetByIdAsync(orderid); + if (order.IsDeleted == true) + { + throw Oops.Oh("璁㈠崟宸茬粡鍒犻櫎鏃犳硶鏌ョ湅锛�"); + } orderDto = _mapper.Map<OrderDto>(order); switch (orderDto.OrderStatus) { - case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "鍙戝竷"; break; + case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "鍙戝竷涓�"; break; case (int)OrderStatuses.zhaogongwanbi: orderDto.OrderStatusName = "鎷涘伐瀹屾瘯"; break; case (int)OrderStatuses.jiesuanwanbi: orderDto.OrderStatusName = "缁撶畻瀹屾瘯"; break; default: break; } - var orderBiddings = await orderBiddingRes.GetListAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false); + var orderBiddings = await orderBiddingRes.GetListAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false ); //&& (x.IsSelected ==null || x.IsSelected !=false) var IsSelected = orderBiddings.Count(x => x.IsSelected == true); orderDto.WorderCounted = IsSelected; var orderBidding = orderBiddings.Where(x => x.WorkerUserId == userid).FirstOrDefault(); if (orderBidding != null) { + var dangqianshijian = DateTime.Now.Date; + //褰撳墠鏈夋晥鐨勫伐浠� + var orderBiddingWorkPrices = await orderBiddingWorkPriceRepository.GetListAsync(x => x.OrderBiddingId == orderBidding.Id && x.IsEn == true && x.IsDeleted == false ); + + orderBiddingWorkPrices = orderBiddingWorkPrices.OrderByDescending(x => x.Id).ToList(); + orderDto.orderBiddingWorkPrices = orderBiddingWorkPrices; + var orderBiddingWorkPrice = orderBiddingWorkPrices.Where(x => x.EffectTime <= DateTime.Now.Date).FirstOrDefault(); + if (orderBiddingWorkPrice != null) + { + orderDto.WorkPriceDangqian = orderBiddingWorkPrice.WorkPrice; + } + else + { + orderDto.WorkPriceDangqian = orderDto.WorkPrice; + } + + orderDto.IsSelected = orderBidding.IsSelected; - if (orderDto.IsSelected.HasValue && orderDto.IsSelected.Value) + if (!orderDto.IsSelected.HasValue) + { + orderDto.IsSelectedName = "瀹℃牳涓�"; + } + else if (orderDto.IsSelected.Value) { orderDto.IsSelectedName = "宸茬‘璁�"; } else { - orderDto.IsSelectedName = "鏈‘璁�"; + orderDto.IsSelectedName = "涓嶅綍鐢�"; } } - + orderBiddings = orderBiddings.Where(x => (x.IsSelected == null || x.IsSelected != false)).OrderBy(x=>x.IsSelected).ToList(); var orderBiddingDtos = _mapper.Map<List<OrderBiddingDto>>(orderBiddings); if(orderBiddingDtos != null&& orderBiddingDtos.Count > 0) { foreach (var orderBiddingDto in orderBiddingDtos) { - if (orderBiddingDto.IsSelected.HasValue && orderBiddingDto.IsSelected.Value) + if (!orderBiddingDto.IsSelected.HasValue) + { + orderBiddingDto.IsSelectedName = "瀹℃牳涓�"; + } + else if (orderBiddingDto.IsSelected.Value) { orderBiddingDto.IsSelectedName = "宸茬‘璁�"; } else { - orderBiddingDto.IsSelectedName = "鏈‘璁�"; + orderBiddingDto.IsSelectedName = "涓嶅綍鐢�"; } + var user = await userRes.GetByIdAsync(orderBiddingDto.WorkerUserId); + if (user != null) { - orderBiddingDto.WorkerName = user.name; orderBiddingDto.WorkerAvatar = user.Avatar; } + var userWorker = await userWorkerRes.GetFirstAsync(x => x.UserId == orderBiddingDto.WorkerUserId && x.IsEn == true && x.IsDeleted == false); + if (userWorker != null) + { + orderBiddingDto.WorkerName = userWorker.name; + } + + //褰撳墠鏈夋晥鐨勫伐浠� + var orderBiddingWorkPrices = await orderBiddingWorkPriceRepository.GetListAsync(x => x.OrderBiddingId == orderBiddingDto.Id && x.IsEn == true && x.IsDeleted == false); + orderBiddingWorkPrices = orderBiddingWorkPrices.OrderByDescending(x => x.Id).ToList(); + orderBiddingDto.orderBiddingWorkPrices = orderBiddingWorkPrices; + var orderBiddingWorkPrice = orderBiddingWorkPrices.Where(x => x.EffectTime <= DateTime.Now.Date).FirstOrDefault(); + if (orderBiddingWorkPrice != null) + { + + orderBiddingDto.WorkPrice = orderBiddingWorkPrice.WorkPrice; + } + else + { + orderBiddingDto.WorkPrice = orderDto.WorkPrice; + } + + } } @@ -289,7 +403,7 @@ } var order = await orderRes.GetByIdAsync(baoMingDto.OrderId); - if (order == null || order.OrderStatus>0) + if (order == null || order.OrderStatus>0 || order.IsEn !=true ) { throw Oops.Oh("璇ユ嫑宸ョ姸鎬佸凡缁忔棤娉曟姇閫掞紒"); } @@ -319,7 +433,7 @@ OrderBidding orderBidding1 = new OrderBidding(); orderBidding1.WorkerUserId = userid; orderBidding1.OrderId = baoMingDto.OrderId; - orderBidding1.IsSelected = false; + orderBidding1.IsSelected = null; orderBidding1.UpDataBy = NickName; orderBidding1.UpDataTime = DateTime.Now; orderBidding1.CreateBy = NickName; @@ -354,6 +468,7 @@ var orderRes = new BaseRepository<Order>(); var orderBiddingDetailRes = new BaseRepository<OrderBiddingDetail>(); var OrderBiddingDetailCheckRes = new BaseRepository<OrderBiddingDetailCheck>(); + var userWorkerRes = new BaseRepository<UserWorker>(); var order = await orderRes.GetByIdAsync(baoMingDto.OrderId); if (order == null || order.OrderStatus > 1) { @@ -373,6 +488,11 @@ throw Oops.Oh("褰撳ぉ鐨勬墦鍗″凡缁忔彁浜わ紝涓嶈兘鎵撳崱锛�"); } orderBiddingDetailDto = _mapper.Map<OrderBiddingDetailDto>(orderBiddingDetail); + orderBiddingDetailDto.WorkerUserId = orderBidding.WorkerUserId; + var worker = await userWorkerRes.GetFirstAsync(x => x.UserId == orderBidding.WorkerUserId); + if(worker != null) + orderBiddingDetailDto.WorkerName = worker.name; + var orderBiddingDetailChecks = await OrderBiddingDetailCheckRes.GetListAsync(x => x.OrderBiddingDetailId == orderBiddingDetail.Id && x.IsDeleted == false && x.IsEn == true); orderBiddingDetailDto.orderBiddingDetailCheck = _mapper.Map<List<OrderBiddingDetailCheckDto>>(orderBiddingDetailChecks); } @@ -402,24 +522,65 @@ var orderBiddingDetailRes = new BaseRepository<OrderBiddingDetail>(); var OrderBiddingDetailCheckRes = new BaseRepository<OrderBiddingDetailCheck>(); - var orderBidding = await orderBiddingRes.GetByIdAsync(dakaDto.OrderBiddingId); + var order = await orderRes.GetByIdAsync(dakaDto.OrderId); + if (order == null || order.OrderStatus > 1) + { + throw Oops.Oh("璇ユ嫑宸ョ姸鎬佸凡鏃犳硶鎵撳崱锛�"); + } + + var orderBidding = await orderBiddingRes.GetFirstAsync(x => x.OrderId == dakaDto.OrderId && x.WorkerUserId == userid && x.IsSelected == true && x.IsEn == true && x.IsDeleted == false );//GetByIdAsync(dakaDto.OrderBiddingId); if (orderBidding == null || orderBidding.IsDeleted ==true || orderBidding.IsEn == false || orderBidding.IsSelected !=true ) { throw Oops.Oh("璇ユ姇閫掔姸鎬佹棤娉曟墦鍗★紒"); } - var order = await orderRes.GetByIdAsync(orderBidding.OrderId); - if (order == null || order.OrderStatus > 1) - { - throw Oops.Oh("璇ユ嫑宸ョ姸鎬佸凡鏃犳硶鎵撳崱锛�"); - } + bool res; var dateTime = DateTime.Now.Date; + if ( dateTime < order.WordStartTime.Value && dateTime > order.WordEndTime.Value ) + { + throw Oops.Oh("涓嶅湪鍏佽鎵撳崱鐨勬椂闂磋寖鍥达紒"); + } var orderBiddingDetail = await orderBiddingDetailRes.GetFirstAsync(x => x.OrderBiddingId == orderBidding.Id && x.WorkDate == dateTime && x.IsDeleted == false && x.IsEn == true); if (orderBiddingDetail!=null && orderBiddingDetail.IsShenPi>0) { throw Oops.Oh("璇ユ墦鍗¤褰曞凡缁忓鎵癸紝涓嶈兘鎵撳崱锛�"); } + if (orderBiddingDetail != null) + { + var orderBiddingDetailCheck1 = (await OrderBiddingDetailCheckRes.GetListAsync(x => x.OrderBiddingDetailId == orderBiddingDetail.Id && x.IsDeleted == false && x.IsEn == true )).OrderByDescending(x=>x.Checktime).FirstOrDefault(); + if (orderBiddingDetailCheck1 != null && orderBiddingDetailCheck1.Checktime >= DateTime.Now.AddMinutes(-10)) + { + throw Oops.Oh("涓ゆ鎵撳崱鏃堕棿涔嬮棿蹇呴』闂撮殧瓒呰繃10鍒嗛挓锛�"); + } + } + + + + //浜鸿劯璇嗗埆 + if (App.Configuration["VerifyFace:Enable"].ObjToBool()) + { + if (string.IsNullOrWhiteSpace(dakaDto.FaceImg)) + { + throw Oops.Oh("鏈瘑鍒汉鑴�"); + } + + var UserWorkRes = await new BaseRepository<UserWorker>().GetFirstAsync(x => x.UserId == userid); + if (UserWorkRes == null) + { + throw Oops.Oh("鍛樺伐鏈敞鍐屾垚宸ヤ汉"); + } + var faseres = _tencentCloudService.VerifyFace(dakaDto.FaceImg, UserWorkRes.IdCode); + + if (faseres.IsMatch != true) + { + throw Oops.Oh("涓嶆槸鏈汉"); + } + } + + + + if(orderBiddingDetail == null) { orderBiddingDetail = new OrderBiddingDetail(); @@ -477,18 +638,22 @@ var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>(); - - var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail>((a, b ,c) => + var orderBiddingWorkPriceRepository = new BaseRepository<OrderBiddingWorkPrice>(); + var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail ,UserCompany>((a, b ,c ,d) => new JoinQueryInfos(JoinType.Inner, a.Id == b.OrderId , - JoinType.Inner, b.Id == c.OrderBiddingId + JoinType.Inner, b.Id == c.OrderBiddingId , + JoinType.Inner, a.OrderUserId == d.UserId )) - .Where((a, b, c) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false - && b.IsSelected == true && b.WorkerUserId == userid) - .WhereIF(page.WordDate.HasValue, (a, b, c) => (c.WorkDate == page.WordDate)) - .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c) => (c.IsShenPi == 2)) - .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c) => (c.IsShenPi < 2)) - .OrderByDescending((a, b, c) => c.WorkDate) - .Select((a, b, c) => new OrderDakaDto + .Where((a, b, c, d) => a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false + && b.IsSelected == true && b.WorkerUserId == userid && d.IsEn == true && d.IsDeleted == false) //a.IsEn == true && + .WhereIF(page.WordDate.HasValue, (a, b, c, d) => (c.WorkDate == page.WordDate)) + .WhereIF(page.WordDateStart.HasValue, (a, b, c, d) => (c.WorkDate >= page.WordDateStart)) + .WhereIF(page.WordDateEnd.HasValue, (a, b, c, d) => (c.WorkDate <= page.WordDateEnd)) + .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c, d) => (c.IsShenPi == 2)) + .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c, d) => (c.IsShenPi < 2)) + .WhereIF(!string.IsNullOrEmpty(page.Suppliername), (a, b, c, d) =>d.Suppliername.Contains(page.Suppliername)) + .OrderByDescending((a, b, c, d) => c.WorkDate) + .Select((a, b, c, d) => new OrderDakaDto { OrderBiddingDetailId = c.Id, OrderName = a.OrderName, @@ -499,10 +664,29 @@ TodaySalary = c.TodaySalary, IsShenPi = c.IsShenPi, WorkCount = c.WorkCount, - + Suppliername = d.Suppliername, + OrderBiddingId = c.OrderBiddingId, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); + + + + + var heji = orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail, UserCompany>((a, b, c, d) => + new JoinQueryInfos(JoinType.Inner, a.Id == b.OrderId, + JoinType.Inner, b.Id == c.OrderBiddingId, + JoinType.Inner, a.OrderUserId == d.UserId + )) + .Where((a, b, c, d) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false + && b.IsSelected == true && b.WorkerUserId == userid && d.IsEn == true && d.IsDeleted == false) + .WhereIF(page.WordDate.HasValue, (a, b, c, d) => (c.WorkDate == page.WordDate)) + .WhereIF(page.WordDateStart.HasValue, (a, b, c, d) => (c.WorkDate >= page.WordDateStart)) + .WhereIF(page.WordDateEnd.HasValue, (a, b, c, d) => (c.WorkDate <= page.WordDateEnd)) + .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c, d) => (c.IsShenPi == 2)) + .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c, d) => (c.IsShenPi < 2)) + .WhereIF(!string.IsNullOrEmpty(page.Suppliername), (a, b, c, d) => d.Suppliername.Contains(page.Suppliername)) + .Sum((a, b, c, d) => c.TodaySalary); if (data != null && data.Count > 0) { @@ -535,6 +719,12 @@ //濡傛灉褰撳ぉ杩樻病鏈夊~鍐欑敵璇凤紝鍒欒绠楀伐浣滄椂闂村拰宸ヨ祫 if(dakaDto.IsShenPi == 0) { + //褰撳墠鏈夋晥鐨勫伐浠� + var orderBiddingWorkPrice = (await orderBiddingWorkPriceRepository.GetListAsync(x => x.OrderBiddingId == dakaDto.OrderBiddingId && x.IsEn == true && x.IsDeleted == false && x.EffectTime <= dakaDto.WorkDate)).OrderByDescending(x => x.Id).FirstOrDefault(); + if (orderBiddingWorkPrice != null) + { + dakaDto.WorkPrice = orderBiddingWorkPrice.WorkPrice; + } dakaDto.WorkTime = hours+(minutes/60); if(dakaDto.WorkerType == 0) { @@ -559,7 +749,7 @@ switch (dakaDto.WorkerType) { case (int)WorkerTypes.time: dakaDto.WorkerTypeName = "璁℃椂"; break; - case (int)WorkerTypes.count: dakaDto.WorkerTypeName = "璁′环"; break; + case (int)WorkerTypes.count: dakaDto.WorkerTypeName = "璁′欢"; break; default: break; } @@ -576,7 +766,7 @@ result.PageIndex = page.PageIndex; result.PageSize = page.PageSize; result.TotalCount = total; - + result.Heji = heji ?? 0; return result; } @@ -607,8 +797,9 @@ var orderRes = new BaseRepository<Order>(); var orderBiddingDetailRes = new BaseRepository<OrderBiddingDetail>(); var OrderBiddingDetailCheckRes = new BaseRepository<OrderBiddingDetailCheck>(); + var orderBiddingWorkPriceRepository = new BaseRepository<OrderBiddingWorkPrice>(); var userRes = new BaseRepository<User>(); - + var userWorkerRes = new BaseRepository<UserWorker>(); var orderBiddingDetail = await orderBiddingDetailRes.GetByIdAsync(dakaDetailDto.OrderBiddingDetailId); var orderBidding = await orderBiddingRes.GetByIdAsync(orderBiddingDetail.OrderBiddingId); @@ -625,15 +816,19 @@ orderDakaMingxiDto.WorkPrice = order.WorkPrice; orderDakaMingxiDto.TodaySalary = orderBiddingDetail.TodaySalary; orderDakaMingxiDto.IsShenPi = orderBiddingDetail.IsShenPi; + orderDakaMingxiDto.ShenPitime = orderBiddingDetail.ShenPitime; orderDakaMingxiDto.WorkCount = orderBiddingDetail.WorkCount; orderDakaMingxiDto.WorkerUserId = orderBidding.WorkerUserId; var user = await userRes.GetByIdAsync(orderDakaMingxiDto.WorkerUserId); if (user != null) { - orderDakaMingxiDto.WorkerUserName = user.name; orderDakaMingxiDto.WorkerUserAvatar = user.Avatar; } - + var userWorker = await userWorkerRes.GetFirstAsync(x => x.UserId == orderDakaMingxiDto.WorkerUserId && x.IsEn == true && x.IsDeleted == false); + if (userWorker != null) + { + orderDakaMingxiDto.WorkerUserName = userWorker.name; + } switch (orderDakaMingxiDto.IsShenPi) @@ -647,7 +842,7 @@ switch (orderDakaMingxiDto.WorkerType) { case (int)WorkerTypes.time: orderDakaMingxiDto.WorkerTypeName = "璁℃椂"; break; - case (int)WorkerTypes.count: orderDakaMingxiDto.WorkerTypeName = "璁′环"; break; + case (int)WorkerTypes.count: orderDakaMingxiDto.WorkerTypeName = "璁′欢"; break; default: break; } @@ -667,7 +862,12 @@ } } - + //褰撳墠鏈夋晥鐨勫伐浠� + var orderBiddingWorkPrice = (await orderBiddingWorkPriceRepository.GetListAsync(x => x.OrderBiddingId == orderBidding.Id && x.IsEn == true && x.IsDeleted == false && x.EffectTime <= orderDakaMingxiDto.WorkDate)).OrderByDescending(x => x.Id).FirstOrDefault(); + if (orderBiddingWorkPrice != null) + { + orderDakaMingxiDto.WorkPrice = orderBiddingWorkPrice.WorkPrice; + } orderDakaMingxiDto.WorkTime = hours + (minutes / 60); if (orderDakaMingxiDto.WorkerType == 0) { @@ -711,27 +911,37 @@ //var OrderBiddingDetailCheckRes = new BaseRepository<OrderBiddingDetailCheck>(); var orderBiddingDetail = await orderBiddingDetailRes.GetByIdAsync(dakaDto.OrderBiddingDetailId); + if (orderBiddingDetail == null || orderBiddingDetail.IsShenPi > 1 || orderBiddingDetail.IsDeleted == true || orderBiddingDetail.IsEn == false) + { + throw Oops.Oh("璇ユ墦鍗$姸鎬佸凡鏃犳硶鎵撳崱纭锛�"); + } var orderBidding = await orderBiddingRes.GetByIdAsync(orderBiddingDetail.OrderBiddingId); - var order = await orderRes.GetByIdAsync(orderBidding.OrderId); - if (orderBidding == null || orderBidding.IsDeleted == true || orderBidding.IsEn == false || orderBidding.IsSelected != true) { throw Oops.Oh("璇ユ姇閫掔姸鎬佹棤娉曟墦鍗$‘璁わ紒"); } - if (order == null || order.OrderStatus > 1) + var order = await orderRes.GetByIdAsync(orderBidding.OrderId); + + + if (order == null || order.OrderStatus > 1 || order.IsDeleted == true)// || order.IsEn == false { throw Oops.Oh("璇ユ嫑宸ョ姸鎬佸凡鏃犳硶鎵撳崱纭锛�"); } - if (orderBiddingDetail == null || orderBiddingDetail.IsShenPi > 1) - { - throw Oops.Oh("璇ユ墦鍗$姸鎬佸凡鏃犳硶鎵撳崱纭锛�"); - } + orderBiddingDetail.WorkTime = dakaDto.WorkTime; orderBiddingDetail.WorkCount = dakaDto.WorkCount; - orderBiddingDetail.TodaySalary = dakaDto.TodaySalary; - orderBiddingDetail.IsShenPi = 1; + if(order.WorkerType == (int)WorkerTypes.count) + { + orderBiddingDetail.TodaySalary = dakaDto.WorkCount * order.WorkPrice; + } + else + { + orderBiddingDetail.TodaySalary = dakaDto.TodaySalary; + } + + orderBiddingDetail.IsShenPi = (int)IsShenPis.tijiao; orderBiddingDetail.UpDataBy = NickName; orderBiddingDetail.UpDataTime = DateTime.Now; //orderBiddingDetail.CreateBy = NickName; -- Gitblit v1.9.1