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/OrderCompanyAppService.cs | 86 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 1 deletions(-) diff --git a/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs b/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs index ef87818..9523d94 100644 --- a/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs +++ b/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs @@ -205,6 +205,7 @@ order.ContactPhone = orderDto.ContactPhone; order.WorkerType = orderDto.WorkerType; order.WorkPrice = orderDto.WorkPrice; + order.WorkPriceMax = orderDto.WorkPriceMax; order.OrderStatus = 0; order.IsEn = true; order.UpDataBy = NickName; @@ -259,6 +260,7 @@ var orderBiddingRes = new BaseRepository<OrderBidding>(); var orderRes = new BaseRepository<Order>(); + var orderBiddingWorkPriceRes = new BaseRepository<OrderBiddingWorkPrice>(); var orderBidding = await orderBiddingRes.GetByIdAsync(queRenDto.OrderBiddingId); if (orderBidding == null || orderBidding.IsEn != true || orderBidding.IsDeleted == true ) @@ -300,9 +302,82 @@ res = await orderRes.UpdateAsync(order); } + + //add 瀛樺偍宸ヤ汉鐨勫伐浠� + var orderBiddingWorkPrice = new OrderBiddingWorkPrice(); + orderBiddingWorkPrice.OrderBiddingId = queRenDto.OrderBiddingId; + orderBiddingWorkPrice.WorkPrice = order.WorkPrice; + orderBiddingWorkPrice.EffectTime = DateTime.Now.Date; + + + orderBiddingWorkPrice.UpDataBy = NickName; + orderBiddingWorkPrice.UpDataTime = DateTime.Now; + orderBiddingWorkPrice.CreateBy = NickName; + orderBiddingWorkPrice.CreateTime = DateTime.Now; + res = await orderBiddingWorkPriceRes.InsertAsync(orderBiddingWorkPrice); + return res; } + + + + + /// <summary> + /// 鍏徃淇敼宸ヤ汉宸ヤ环 + /// </summary> + /// <returns></returns> + [Authorize] + [HttpPost] + public async Task<bool> saveWorkPrice(WorkPriceDto workPriceDto) + { + + var UserID = App.User?.FindFirstValue("UserID"); + int userid = 0; + string NickName = App.User?.FindFirstValue("NickName"); + if (!string.IsNullOrEmpty(UserID)) + { + userid = int.Parse(UserID); + } + + var orderBiddingRes = new BaseRepository<OrderBidding>(); + var orderRes = new BaseRepository<Order>(); + var orderBiddingWorkPriceRes = new BaseRepository<OrderBiddingWorkPrice>(); + + var orderBidding = await orderBiddingRes.GetByIdAsync(workPriceDto.OrderBiddingId); + if (orderBidding == null || orderBidding.IsEn != true || orderBidding.IsDeleted == true) + { + throw Oops.Oh("璇ユ姇閫掑凡缁忔棤鏁堬紒"); + } + if (orderBidding.IsSelected != true) + { + throw Oops.Oh("璇ユ姇閫掓病鏈夌‘璁わ紝涓嶈兘淇敼宸ヤ环锛�"); + } + + + + + + + bool res; + + + + //add 瀛樺偍宸ヤ汉鐨勫伐浠� + var orderBiddingWorkPrice = new OrderBiddingWorkPrice(); + orderBiddingWorkPrice.OrderBiddingId = workPriceDto.OrderBiddingId; + orderBiddingWorkPrice.WorkPrice = workPriceDto.WorkPrice; + orderBiddingWorkPrice.EffectTime = DateTime.Now.Date.AddDays(1); + + + orderBiddingWorkPrice.UpDataBy = NickName; + orderBiddingWorkPrice.UpDataTime = DateTime.Now; + orderBiddingWorkPrice.CreateBy = NickName; + orderBiddingWorkPrice.CreateTime = DateTime.Now; + res = await orderBiddingWorkPriceRes.InsertAsync(orderBiddingWorkPrice); + + return res; + } /// <summary> @@ -455,7 +530,7 @@ RefAsync<int> total = 0; - + var orderBiddingWorkPriceRepository = new BaseRepository<OrderBiddingWorkPrice>(); var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>(); var userWorkerRes = new BaseRepository<UserWorker>(); var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail, UserWorker>((a, b, c, d) => @@ -486,6 +561,7 @@ WorkCount = c.WorkCount, WorkerUserId = b.WorkerUserId, WorkerUserName = d.name, + OrderBiddingId = c.OrderBiddingId, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -539,6 +615,14 @@ //濡傛灉褰撳ぉ杩樻病鏈夊~鍐欑敵璇凤紝鍒欒绠楀伐浣滄椂闂村拰宸ヨ祫 if (dakaDto.IsShenPi == 0) { + //褰撳墠鏈夋晥鐨勫伐浠� + var orderBiddingWorkPrices = await orderBiddingWorkPriceRepository.GetListAsync(x=>x.OrderBiddingId == dakaDto.OrderBiddingId && x.IsEn == true && x.IsDeleted == false && x.EffectTime <= dakaDto.WorkDate ); + var orderBiddingWorkPrice = orderBiddingWorkPrices.OrderByDescending(x => x.Id).FirstOrDefault(); + if (orderBiddingWorkPrice != null) + { + dakaDto.WorkPrice = orderBiddingWorkPrice.WorkPrice; + } + dakaDto.WorkTime = hours + (minutes / 60); if (dakaDto.WorkerType == 0) { -- Gitblit v1.9.1