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/Order.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
cylsg/cylsg.Model/OrderModel/OrderBiddingWorkPrice.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
cylsg/cylsg.Application/Orders/Dtos/OrderDto.cs
@@ -173,6 +173,11 @@ /// </summary> public decimal? WorkPrice { get; set; } /// <summary> /// 工价 /// </summary> public decimal? WorkPriceMax { get; set; } /// <summary> /// 招工状态 @@ -194,9 +199,19 @@ public string IsSelectedName { get; set; } /// <summary> /// 当前工价 /// </summary> public decimal? WorkPriceDangqian { get; set; } /// <summary> /// 招工明细 /// </summary> public List<OrderBiddingDto> orderBidding { get; set; } /// <summary> /// 历史工价 /// </summary> public List<OrderBiddingWorkPrice> orderBiddingWorkPrices { get; set; } @@ -315,6 +330,16 @@ /// </summary> public decimal? Salary { get; set; } /// <summary> /// 工价 /// </summary> public decimal? WorkPrice { get; set; } /// <summary> /// 历史工价 /// </summary> public List<OrderBiddingWorkPrice> orderBiddingWorkPrices { get; set; } } @@ -345,6 +370,24 @@ } public class WorkPriceDto { /// <summary> /// 招工明细OrderBiddingId /// </summary> public int OrderBiddingId { get; set; } /// <summary> /// 工价 /// </summary> public decimal? WorkPrice { get; set; } } @@ -499,7 +542,13 @@ /// </summary> public int OrderBiddingDetailId { get; set; } /// <summary> /// 招工Id /// </summary> public int OrderBiddingId { get; set; } /// <summary> /// 招工名称 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) { cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
@@ -223,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); @@ -240,6 +241,23 @@ 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) { @@ -286,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; } } } @@ -551,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 , @@ -578,6 +613,7 @@ IsShenPi = c.IsShenPi, WorkCount = c.WorkCount, Suppliername = d.Suppliername, OrderBiddingId = c.OrderBiddingId, }) .ToPageListAsync(page.PageIndex, page.PageSize, total); @@ -631,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) { @@ -703,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>(); @@ -766,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) { cylsg/cylsg.Model/OrderModel/Order.cs
@@ -104,6 +104,12 @@ [SugarColumn(ColumnDescription = "工价", Length = 18, DecimalDigits = 2, IsNullable = true)] public decimal? WorkPrice { get; set; } /// <summary> /// 工价上限 /// </summary> [SugarColumn(ColumnDescription = "工价上限", Length = 18, DecimalDigits = 2, IsNullable = true)] public decimal? WorkPriceMax { get; set; } /// <summary> /// 招工状态 cylsg/cylsg.Model/OrderModel/OrderBiddingWorkPrice.cs
New file @@ -0,0 +1,45 @@ using cylsg.Core.Attributes; using cylsg.Core; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using SqlSugar; namespace cylsg.Model.OrderModel { /// <summary> /// 招工工人历史工价 /// </summary> [Description("招工工人历史工价")] [CoderFirst] public class OrderBiddingWorkPrice : BaseModel { /// <summary> /// 招工Id /// </summary> [SugarColumn(ColumnDescription = "招工Id", IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } /// <summary> /// 工人投递id /// </summary> [SugarColumn(ColumnDescription = "工人投递id")] public int OrderBiddingId { get; set; } /// <summary> /// 工价 /// </summary> [SugarColumn(ColumnDescription = "工价", Length = 18, DecimalDigits = 2, IsNullable = true)] public decimal? WorkPrice { get; set; } /// <summary> /// 生效时间 /// </summary> [SugarColumn(ColumnDescription = "生效时间", IsNullable = true)] public DateTime? EffectTime { get; set; } } }