From 152f48ca3cae46bbffca3fa0af4bc9e8216fafff Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期五, 11 十月 2024 10:39:28 +0800 Subject: [PATCH] 两次打卡必须超过10分钟! --- cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 100 insertions(+), 4 deletions(-) diff --git a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs index a9a3a13..d246803 100644 --- a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs +++ b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs @@ -47,6 +47,13 @@ [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; @@ -89,6 +96,36 @@ { 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; + } + + } } @@ -223,6 +260,7 @@ 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); orderDto = _mapper.Map<OrderDto>(order); @@ -233,13 +271,30 @@ 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 && (x.IsSelected ==null || x.IsSelected !=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) { @@ -255,7 +310,7 @@ } } - + orderBiddings = orderBiddings.Where(x => (x.IsSelected == null || x.IsSelected != false)).ToList(); var orderBiddingDtos = _mapper.Map<List<OrderBiddingDto>>(orderBiddings); if(orderBiddingDtos != null&& orderBiddingDtos.Count > 0) { @@ -286,6 +341,23 @@ { 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; + } + + } } @@ -470,6 +542,17 @@ { 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()) { @@ -551,7 +634,7 @@ var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>(); - + 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 , @@ -578,6 +661,7 @@ IsShenPi = c.IsShenPi, WorkCount = c.WorkCount, Suppliername = d.Suppliername, + OrderBiddingId = c.OrderBiddingId, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -631,6 +715,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) { @@ -703,6 +793,7 @@ 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>(); @@ -766,7 +857,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) { -- Gitblit v1.9.1