| cylsg/cylsg.Application/Orders/Dtos/OrderDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| cylsg/cylsg.Model/OrderModel/OrderBidding.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
cylsg/cylsg.Application/Orders/Dtos/OrderDto.cs
@@ -359,6 +359,12 @@ /// <summary> /// 是否半固定 /// </summary> public bool? IsGuding { get; set; } /// <summary> /// 历史工价 /// </summary> public List<OrderBiddingWorkPrice> orderBiddingWorkPrices { get; set; } @@ -390,6 +396,10 @@ /// </summary> public int OrderBiddingId { get; set; } /// <summary> /// 是否固定 /// </summary> public bool? IsGuding { get; set; } @@ -410,6 +420,23 @@ /// 是否收藏 /// </summary> public bool IsCollect { get; set; } } public class BangudingDto { /// <summary> /// 招工明细OrderBiddingId /// </summary> public int OrderBiddingId { get; set; } /// <summary> /// 是否固定 /// </summary> public bool IsGuding { get; set; } } @@ -670,6 +697,12 @@ public string Suppliername { get; set; } /// <summary> /// 是否灵活用工 /// </summary> public bool? IsGuding { get; set; } } cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs
@@ -307,7 +307,8 @@ orderBidding.Selectedtime = DateTime.Now; orderBidding.UpDataBy = NickName; orderBidding.UpDataTime = DateTime.Now; //是否是半固定临时工 orderBidding.IsGuding = queRenDto.IsGuding; res = await orderBiddingRes.UpdateAsync(orderBidding); @@ -330,6 +331,51 @@ orderBiddingWorkPrice.CreateBy = NickName; orderBiddingWorkPrice.CreateTime = DateTime.Now; res = await orderBiddingWorkPriceRes.InsertAsync(orderBiddingWorkPrice); return res; } /// <summary> /// 设置员工是半固定临时工是否是 /// </summary> /// <returns></returns> [Authorize] [HttpPost] public async Task<bool> GudingGongren(BangudingDto bangudingDto) { 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 orderBidding = await orderBiddingRes.GetByIdAsync(bangudingDto.OrderBiddingId); if (orderBidding == null || orderBidding.IsEn != true || orderBidding.IsDeleted == true) { throw Oops.Oh("该投递已经无效!"); } bool res; orderBidding.IsGuding = bangudingDto.IsGuding; orderBidding.UpDataBy = NickName; orderBidding.UpDataTime = DateTime.Now; res = await orderBiddingRes.UpdateAsync(orderBidding); return res; } @@ -651,6 +697,8 @@ var orderBiddingWorkPriceRepository = new BaseRepository<OrderBiddingWorkPrice>(); var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>(); var userWorkerRes = new BaseRepository<UserWorker>(); var orderBiddingRes = new BaseRepository<OrderBidding>(); var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail, UserWorker>((a, b, c, d) => new JoinQueryInfos(JoinType.Inner, a.Id == b.OrderId, JoinType.Inner, b.Id == c.OrderBiddingId, @@ -681,6 +729,7 @@ WorkerUserId = b.WorkerUserId, WorkerUserName = d.name, OrderBiddingId = c.OrderBiddingId, IsGuding = b.IsGuding, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -709,6 +758,10 @@ { int hours = 0; int minutes = 0; int jiabanhours = 0; int jiabanminutes = 0; var orderBiddingDetailChecks = await orderBiddingDetailCheckRepository.GetListAsync(x => x.OrderBiddingDetailId == dakaDto.OrderBiddingDetailId && x.IsEn == true && x.IsDeleted == false); string DakaMingxi = ""; for (int i = 0; i < orderBiddingDetailChecks.Count; i++) @@ -728,14 +781,37 @@ hours += timeDifference.Hours; minutes += timeDifference.Minutes; // 获取当前时间 DateTime now = DateTime.Now; // 创建一个表示晚上8点的时间(假定今天) DateTime eveningTime = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0); // 20:00:0 //计算是否为晚上8点后的加班时间 if (orderBiddingDetailChecks[i].Checktime.Value > eveningTime ) { var timeDifferencejiaban = orderBiddingDetailChecks[i].Checktime.Value - eveningTime; jiabanhours += timeDifferencejiaban.Hours; jiabanminutes += timeDifferencejiaban.Minutes; } } } var orderBidding = await orderBiddingRes.GetByIdAsync(dakaDto.OrderBiddingId); //当前有效的工价 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) { //如果为半固定的临时工,工价固定11块 if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true) { dakaDto.WorkPrice = 11; } else { dakaDto.WorkPrice = orderBiddingWorkPrice.WorkPrice; } } //如果当天还没有填写申请,则计算工作时间和工资 if (dakaDto.IsShenPi == 0) @@ -746,6 +822,13 @@ if (dakaDto.WorkerType == 0) { dakaDto.TodaySalary = dakaDto.WorkTime * dakaDto.WorkPrice; //如果为半固定的临时工,加班每个小时增加4块钱 if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true) { var jiabanshijian = jiabanhours + (jiabanminutes / 60); dakaDto.TodaySalary += (jiabanshijian * 4); } } else { cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
@@ -636,9 +636,10 @@ RefAsync<int> total = 0; var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>(); var orderBiddingWorkPriceRepository = new BaseRepository<OrderBiddingWorkPrice>(); var orderBiddingRes = new BaseRepository<OrderBidding>(); 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 , @@ -666,6 +667,7 @@ WorkCount = c.WorkCount, Suppliername = d.Suppliername, OrderBiddingId = c.OrderBiddingId, IsGuding = b.IsGuding, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -696,6 +698,10 @@ string DakaMingxi = ""; int hours = 0; int minutes = 0; int jiabanhours = 0; int jiabanminutes = 0; for (int i = 0; i < orderBiddingDetailChecks.Count; i++) { @@ -714,21 +720,49 @@ hours += timeDifference.Hours; minutes += timeDifference.Minutes; // 获取当前时间 DateTime now = DateTime.Now; // 创建一个表示晚上8点的时间(假定今天) DateTime eveningTime = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0); // 20:00:0 //计算是否为晚上8点后的加班时间 if (orderBiddingDetailChecks[i].Checktime.Value > eveningTime) { var timeDifferencejiaban = orderBiddingDetailChecks[i].Checktime.Value - eveningTime; jiabanhours += timeDifferencejiaban.Hours; jiabanminutes += timeDifferencejiaban.Minutes; } } } //如果当天还没有填写申请,则计算工作时间和工资 if(dakaDto.IsShenPi == 0) { var orderBidding = await orderBiddingRes.GetByIdAsync(dakaDto.OrderBiddingId); //当前有效的工价 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) { //如果为半固定的临时工,工价固定11块 if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true) { dakaDto.WorkPrice = 11; } else { dakaDto.WorkPrice = orderBiddingWorkPrice.WorkPrice; } } dakaDto.WorkTime = hours+(minutes/60); if(dakaDto.WorkerType == 0) { dakaDto.TodaySalary = dakaDto.WorkTime * dakaDto.WorkPrice; //如果为半固定的临时工,加班每个小时增加4块钱 if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true) { var jiabanshijian = jiabanhours + (jiabanminutes / 60); dakaDto.TodaySalary += (jiabanshijian * 4); } } else { cylsg/cylsg.Model/OrderModel/OrderBidding.cs
@@ -69,7 +69,7 @@ /// <summary> /// 是否固定 /// 是否固定 晚上8点之后15块 早八点到晚八点11块 /// </summary> [SugarColumn(ColumnDescription = "是否固定", IsNullable = true)] public bool? IsGuding { get; set; }