username@email.com
2024-10-08 d9a1f2e7ffce03e84a9548d7c99c81e1d34ac474
cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
@@ -170,13 +170,17 @@
                    if (orderBidding != null)
                    {
                        orderDto.IsSelected = orderBidding.IsSelected;
                        if (orderDto.IsSelected.HasValue && orderDto.IsSelected.Value)
                        if (!orderDto.IsSelected.HasValue  )
                        {
                            orderDto.IsSelectedName ="已确认";
                            orderDto.IsSelectedName = "审核中";
                        }
                        else if(orderDto.IsSelected.Value)
                        {
                            orderDto.IsSelectedName = "已确认";
                        }
                        else
                        {
                            orderDto.IsSelectedName = "未确认";
                            orderDto.IsSelectedName = "不录用";
                        }
                    }
                    var userCompany = await userCompanyRepository.GetFirstAsync(x => x.UserId == orderDto.OrderUserId && x.IsDeleted == false && x.IsEn == true);
@@ -219,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);
@@ -229,21 +234,42 @@
                case (int)OrderStatuses.jiesuanwanbi: orderDto.OrderStatusName = "结算完毕"; break;
                default: break;
            }
            var orderBiddings = await orderBiddingRes.GetListAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false);
            var orderBiddings = await orderBiddingRes.GetListAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false && (x.IsSelected ==null || x.IsSelected !=false) );
            var IsSelected = orderBiddings.Count(x => x.IsSelected == true);
            orderDto.WorderCounted = IsSelected;
           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 && orderDto.IsSelected.Value)
                if (!orderDto.IsSelected.HasValue)
                {
                    orderDto.IsSelectedName = "审核中";
                }
                else if (orderDto.IsSelected.Value)
                {
                    orderDto.IsSelectedName = "已确认";
                }
                else
                {
                    orderDto.IsSelectedName = "未确认";
                    orderDto.IsSelectedName = "不录用";
                }
            }
@@ -253,14 +279,19 @@
            {
                foreach (var  orderBiddingDto in orderBiddingDtos)
                {
                    if (orderBiddingDto.IsSelected.HasValue && orderBiddingDto.IsSelected.Value)
                    if (!orderBiddingDto.IsSelected.HasValue)
                    {
                        orderBiddingDto.IsSelectedName = "审核中";
                    }
                    else if (orderBiddingDto.IsSelected.Value)
                    {
                        orderBiddingDto.IsSelectedName = "已确认";
                    }
                    else
                    {
                        orderBiddingDto.IsSelectedName = "未确认";
                        orderBiddingDto.IsSelectedName = "不录用";
                    }
                    var user = await userRes.GetByIdAsync(orderBiddingDto.WorkerUserId);
                   
@@ -273,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;
                        }
                }
            }
@@ -314,7 +362,7 @@
            }
            var order = await orderRes.GetByIdAsync(baoMingDto.OrderId);
            if (order == null || order.OrderStatus>0)
            if (order == null || order.OrderStatus>0 || order.IsEn !=true )
            {
                throw Oops.Oh("该招工状态已经无法投递!");
            }
@@ -344,7 +392,7 @@
                OrderBidding orderBidding1 = new OrderBidding();
                orderBidding1.WorkerUserId = userid;
                orderBidding1.OrderId = baoMingDto.OrderId;
                orderBidding1.IsSelected = false;
                orderBidding1.IsSelected = null;
                orderBidding1.UpDataBy = NickName;
                orderBidding1.UpDataTime = DateTime.Now;
                orderBidding1.CreateBy = NickName;
@@ -538,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 ,
@@ -565,6 +613,7 @@
                          IsShenPi = c.IsShenPi,
                          WorkCount = c.WorkCount,
                          Suppliername = d.Suppliername,
                          OrderBiddingId = c.OrderBiddingId,
                      })
                     
                    .ToPageListAsync(page.PageIndex, page.PageSize, total);
@@ -618,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)
                        {
@@ -642,7 +697,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;
                    }
@@ -690,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>();
@@ -733,7 +789,7 @@
            switch (orderDakaMingxiDto.WorkerType)
            {
                case (int)WorkerTypes.time: orderDakaMingxiDto.WorkerTypeName = "计时"; break;
                case (int)WorkerTypes.count: orderDakaMingxiDto.WorkerTypeName = "计价"; break;
                case (int)WorkerTypes.count: orderDakaMingxiDto.WorkerTypeName = "计件"; break;
                default: break;
            }
@@ -753,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)
                {