From 5a72c00dca19dd6dd9be9db9e14f00f512f93f02 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 29 十月 2024 13:10:22 +0800 Subject: [PATCH] 小修改 --- cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 114 insertions(+), 6 deletions(-) diff --git a/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs b/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs index ef87818..ec6c8b1 100644 --- a/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs +++ b/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs @@ -101,14 +101,20 @@ { 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 orderBiddingRepository.CountAsync(x => x.OrderId == orderDto.Id && x.IsSelected == true && x.IsEn == true && x.IsDeleted == false); - orderDto.WorderCounted = orderBiddings; + var orderBidds = await orderBiddingRepository.GetListAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false); + + //var orderBiddings = await orderBiddingRepository.CountAsync(x => x.OrderId == orderDto.Id && x.IsSelected == true && x.IsEn == true && x.IsDeleted == false); + orderDto.WorderCounted = orderBidds.Count(x=> x.IsSelected == true); + //var orderBiddingbaomings = await orderBiddingRepository.CountAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false); + orderDto.BaoMingCount = orderBidds.Count; + // var orderBiddingbaomings = await orderBiddingRepository.CountAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false); + orderDto.WorkerDaiCount = orderBidds.Count(x => x.IsSelected == null); } @@ -205,6 +211,8 @@ order.ContactPhone = orderDto.ContactPhone; order.WorkerType = orderDto.WorkerType; order.WorkPrice = orderDto.WorkPrice; + order.WorkPriceMax = orderDto.WorkPriceMax; + order.Zixinganpai = orderDto.Zixinganpai; order.OrderStatus = 0; order.IsEn = true; order.UpDataBy = NickName; @@ -218,6 +226,14 @@ } else { + if (orderDto.OldId > 0) + { + //鍒犻櫎鏃х殑涓嬫灦璁㈠崟 + var order1 = await orderRes.GetByIdAsync(orderDto.OldId); + order1.IsDeleted = true; + res = await orderRes.UpdateAsync(order1); + } + var order = _mapper.Map<Order>(orderDto); order.UpDataBy = NickName; order.UpDataTime = DateTime.Now; @@ -259,6 +275,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 +317,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 +545,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) => @@ -463,8 +553,8 @@ JoinType.Inner, b.Id == c.OrderBiddingId, JoinType.Inner, b.WorkerUserId == 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 && userids.Contains(a.OrderUserId)) //a.OrderUserId == userid + .Where((a, b, c, d) => a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false + && b.IsSelected == true && userids.Contains(a.OrderUserId)) //a.OrderUserId == userid 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)) @@ -483,9 +573,11 @@ WorkPrice = a.WorkPrice, TodaySalary = c.TodaySalary, IsShenPi = c.IsShenPi, + ShenPitime = c.ShenPitime, WorkCount = c.WorkCount, WorkerUserId = b.WorkerUserId, WorkerUserName = d.name, + OrderBiddingId = c.OrderBiddingId, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -539,6 +631,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) { @@ -632,6 +732,14 @@ //{ // throw Oops.Oh("璇ユ嫑宸ョ姸鎬佸凡鏃犳硶鎵撳崱纭锛�"); //} + if (orderBiddingDetail.IsShenPi.HasValue && orderBiddingDetail.IsShenPi == (int)IsShenPis.yishenpi && orderBiddingDetail.ShenPitime.HasValue && orderBiddingDetail.ShenPitime <= DateTime.Now.AddMinutes(-5)) + { + throw Oops.Oh("瀹℃壒鏃堕棿宸茬粡瓒呰繃5鍒嗛挓锛屾棤娉曢噸鏂板鎵癸紒"); + } + + + + var res = false; try { -- Gitblit v1.9.1