From 08a02f3c7990c563e6c770c1957e929377a3083f Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 19 二月 2025 13:39:33 +0800 Subject: [PATCH] 删除投递 --- cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 172 insertions(+), 8 deletions(-) diff --git a/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs b/cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs index 41ba18e..843f03c 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> @@ -360,6 +450,62 @@ return res; } + + + /// <summary> + /// 鍏徃鍒犻櫎涓�涓姇閫掔殑宸ヤ汉 + /// </summary> + /// <returns></returns> + [Authorize] + [HttpPost] + public async Task<bool> saveDeltoudi(QueRenDto queRenDto) + { + + 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 orderBidding = await orderBiddingRes.GetByIdAsync(queRenDto.OrderBiddingId); + if (orderBidding == null || orderBidding.IsEn != true || orderBidding.IsDeleted == true) + { + throw Oops.Oh("璇ユ姇閫掑凡缁忔棤鏁堬紒"); + } + //if (orderBidding.IsSelected == true) + //{ + // throw Oops.Oh("璇ユ姇閫掑凡缁忓鏍革紝涓嶈兘涓嶅綍鐢紒"); + //} + + //var order = await orderRes.GetByIdAsync(orderBidding.OrderId); + //if (order == null || order.OrderStatus > 0) + //{ + // throw Oops.Oh("璇ユ嫑宸ョ姸鎬佸凡缁忔棤娉曟姇閫掞紒"); + //} + + + + + + bool res; + + orderBidding.IsDeleted = true; + //orderBidding.Selectedtime = DateTime.Now; + orderBidding.UpDataBy = NickName; + orderBidding.UpDataTime = DateTime.Now; + + + res = await orderBiddingRes.UpdateAsync(orderBidding); + + + + return res; + } /// <summary> @@ -455,7 +601,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 +609,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 +629,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); @@ -535,10 +683,18 @@ } } - + //褰撳墠鏈夋晥鐨勫伐浠� + 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; + } //濡傛灉褰撳ぉ杩樻病鏈夊~鍐欑敵璇凤紝鍒欒绠楀伐浣滄椂闂村拰宸ヨ祫 if (dakaDto.IsShenPi == 0) { + + dakaDto.WorkTime = hours + (minutes / 60); if (dakaDto.WorkerType == 0) { @@ -563,7 +719,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; } @@ -632,6 +788,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