From d9a1f2e7ffce03e84a9548d7c99c81e1d34ac474 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 08 十月 2024 15:56:41 +0800 Subject: [PATCH] 区间工价,历史工价 --- cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs | 89 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 75 insertions(+), 14 deletions(-) diff --git a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs index ab236aa..732f88e 100644 --- a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs +++ b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs @@ -170,13 +170,17 @@ 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); @@ -219,6 +223,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); @@ -229,21 +234,42 @@ 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 = "涓嶅綍鐢�"; } } @@ -253,14 +279,19 @@ { 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); @@ -273,6 +304,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; + } + + } } @@ -314,7 +362,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("璇ユ嫑宸ョ姸鎬佸凡缁忔棤娉曟姇閫掞紒"); } @@ -344,7 +392,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; @@ -538,7 +586,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 , @@ -565,6 +613,7 @@ IsShenPi = c.IsShenPi, WorkCount = c.WorkCount, Suppliername = d.Suppliername, + OrderBiddingId = c.OrderBiddingId, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -618,6 +667,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) { @@ -642,7 +697,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; } @@ -690,6 +745,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>(); @@ -733,7 +789,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; } @@ -753,7 +809,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