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 | 121 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 111 insertions(+), 10 deletions(-) diff --git a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs index a9a3a13..d1a91ae 100644 --- a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs +++ b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs @@ -47,12 +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.WordStartTime >= DateTime.Now.Date.AddDays(-30)); + // 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)); @@ -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; + } + + } } @@ -156,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; @@ -223,23 +260,45 @@ 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 && (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 +314,7 @@ } } - + 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) { @@ -286,6 +345,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 +546,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,14 +638,14 @@ 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 , 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 ) + .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)) @@ -578,6 +665,7 @@ IsShenPi = c.IsShenPi, WorkCount = c.WorkCount, Suppliername = d.Suppliername, + OrderBiddingId = c.OrderBiddingId, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -631,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) { @@ -703,6 +797,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>(); @@ -721,6 +816,7 @@ 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); @@ -766,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) { @@ -822,7 +923,7 @@ var order = await orderRes.GetByIdAsync(orderBidding.OrderId); - if (order == null || order.OrderStatus > 1 || order.IsDeleted == true || order.IsEn == false ) + if (order == null || order.OrderStatus > 1 || order.IsDeleted == true)// || order.IsEn == false { throw Oops.Oh("璇ユ嫑宸ョ姸鎬佸凡鏃犳硶鎵撳崱纭锛�"); } -- Gitblit v1.9.1