a622695a0cd6ea5aa63869f5c1a891e589909f48..ebda5e08f2c9e7a8c4fec39e59c2753c6bd45372
7 天以前 username@email.com
灵活用工工资计算,修改bug
ebda5e 对比 | 目录
7 天以前 小飞侠
no message
2ff9e2 对比 | 目录
3个文件已修改
79 ■■■■ 已修改文件
cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/Users/UserAppService.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/Orders/OrderCompanyAppService.cs
@@ -786,7 +786,7 @@
                            DateTime now = DateTime.Now;
                            // 创建一个表示晚上8点的时间(假定今天)
                            DateTime eveningTime = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0); // 20:00:0
                            DateTime eveningTime = new DateTime(orderBiddingDetailChecks[i].Checktime.Value.Year, orderBiddingDetailChecks[i].Checktime.Value.Month, orderBiddingDetailChecks[i].Checktime.Value.Day, 20, 0, 0); // 20:00:0
                            //计算是否为晚上8点后的加班时间
                            if (orderBiddingDetailChecks[i].Checktime.Value > eveningTime )
                            {
cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
@@ -724,7 +724,7 @@
                            DateTime now = DateTime.Now;
                            // 创建一个表示晚上8点的时间(假定今天)
                            DateTime eveningTime = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0); // 20:00:0
                            DateTime eveningTime = new DateTime(orderBiddingDetailChecks[i].Checktime.Value.Year, orderBiddingDetailChecks[i].Checktime.Value.Month, orderBiddingDetailChecks[i].Checktime.Value.Day, 20, 0, 0); // 20:00:0
                            //计算是否为晚上8点后的加班时间
                            if (orderBiddingDetailChecks[i].Checktime.Value > eveningTime)
                            {
@@ -885,6 +885,9 @@
                int hours = 0;
                int minutes = 0;
                int jiabanhours = 0;
                int jiabanminutes = 0;
                for (int i = 0; i < orderBiddingDetailChecks.Count; i++)
                {
 
@@ -894,18 +897,46 @@
                        hours += timeDifference.Hours;
                        minutes += timeDifference.Minutes;
                        // 获取当前时间
                        DateTime now = DateTime.Now;
                        // 创建一个表示晚上8点的时间(假定今天)
                        DateTime eveningTime = new DateTime(orderBiddingDetailChecks[i].Checktime.Value.Year, orderBiddingDetailChecks[i].Checktime.Value.Month, orderBiddingDetailChecks[i].Checktime.Value.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 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;
                    //如果为半固定的临时工,工价固定11块
                    if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true)
                    {
                        orderDakaMingxiDto.WorkPrice = 11;
                    }
                    else
                    {
                        orderDakaMingxiDto.WorkPrice = orderBiddingWorkPrice.WorkPrice;
                    }
                }
                orderDakaMingxiDto.WorkTime = hours + (minutes / 60);
                if (orderDakaMingxiDto.WorkerType == 0)
                {
                    orderDakaMingxiDto.TodaySalary = orderDakaMingxiDto.WorkTime * orderDakaMingxiDto.WorkPrice;
                    //如果为半固定的临时工,加班每个小时增加4块钱
                    if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true)
                    {
                        var jiabanshijian = jiabanhours + (jiabanminutes / 60);
                        orderDakaMingxiDto.TodaySalary += (jiabanshijian * 4);
                    }
                }
                else
                {
cylsg/cylsg.Application/Users/UserAppService.cs
@@ -73,21 +73,25 @@
                    IsGuDing = true;
                }
            }
            userDto.userWorker.IsLingHuoYongGong = IsGuDing;
            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0 );
            userDto.userWorker.Balance =ab < 0 ? 0 : ab;
            if (IsGuDing)
            if (userDto.userWorker != null)
                userDto.userWorker.IsLingHuoYongGong = IsGuDing;
            decimal ab = (userDto.userWorker?.TiXianZonge ?? 0) - (userDto.userWorker?.YiTiXianJine ?? 0);
            if (userDto.userWorker != null)
            {
                userDto.userWorker.AvailableBalance = (ab-300)<0 ? 0 : (ab - 300);
                userDto.userWorker.Balance = ab < 0 ? 0 : ab;
                if (IsGuDing)
                {
                    userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
                }
                else
                    userDto.userWorker.AvailableBalance = userDto.userWorker?.Balance ?? 0;
            }
            else
                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;
            var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
            if (userCompany != null)
@@ -336,19 +340,23 @@
                    IsGuDing = true;
                }
            }
            if(userDto.userWorker != null)
            userDto.userWorker.IsLingHuoYongGong = IsGuDing;
          
            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0);
            userDto.userWorker.Balance = ab < 0 ? 0 : ab;
            if (IsGuDing)
            decimal ab = (userDto.userWorker?.TiXianZonge ?? 0) - (userDto.userWorker?.YiTiXianJine ?? 0);
            if (userDto.userWorker != null)
            {
                userDto.userWorker.Balance = ab < 0 ? 0 : ab;
                if (IsGuDing)
                {
                userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
                    userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
                }
                else
                    userDto.userWorker.AvailableBalance = userDto.userWorker?.Balance ?? 0;
            }
            else
                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;