From 9ff87793beacf5069c374b6e6274fa651179a7f3 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 25 九月 2024 13:27:33 +0800
Subject: [PATCH] 提交

---
 cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs |   87 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 70 insertions(+), 17 deletions(-)

diff --git a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
index 76f27a1..ab236aa 100644
--- a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
+++ b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
@@ -6,6 +6,7 @@
 using EzTencentCloud;
 using Furion.LinqBuilder;
 using MapsterMapper;
+using Microsoft.IdentityModel.Tokens;
 using Org.BouncyCastle.Asn1.X509;
 using SqlSugar.Extensions;
 using System;
@@ -51,6 +52,7 @@
             Expression<Func<Order, bool>> expression = t => true;
 
             expression = expression.And(t => t.IsDeleted == false && t.IsEn == true && t.OrderStatus == 0);
+            expression = expression.And(t => t.WordStartTime >= DateTime.Now.Date.AddDays(-30));
             if (!string.IsNullOrEmpty(page.OrderName))
             {
                 expression = expression.And(t => t.OrderName.Contains(page.OrderName));
@@ -68,6 +70,7 @@
             var orderRepository = new BaseRepository<Order>();
 
             var orderBiddingRepository = new BaseRepository<OrderBidding>();
+            var userCompanyRepository = new BaseRepository<UserCompany>();
 
             var data = await orderRepository.Context.Queryable<Order>()
                     .Where(expression)
@@ -81,6 +84,11 @@
                 {
                     var orderBiddings = await orderBiddingRepository.CountAsync(x => x.OrderId == orderDto.Id && x.IsSelected == true && x.IsEn == true && x.IsDeleted == false);
                     orderDto.WorderCounted = orderBiddings;
+                    var userCompany = await userCompanyRepository.GetFirstAsync(x => x.UserId == orderDto.OrderUserId && x.IsDeleted == false && x.IsEn == true);
+                    if (userCompany != null)
+                    {
+                        orderDto.OrderComName = userCompany.Suppliername;
+                    }
                 }
 
             }
@@ -134,6 +142,7 @@
             
 
             var orderBiddingRepository = new BaseRepository<OrderBidding>();
+            var userCompanyRepository = new BaseRepository<UserCompany>();
 
             var data = await orderRepository.Context.Queryable<Order>()
                     .Where(expression)
@@ -170,6 +179,11 @@
                             orderDto.IsSelectedName = "鏈‘璁�";
                         }
                     }
+                    var userCompany = await userCompanyRepository.GetFirstAsync(x => x.UserId == orderDto.OrderUserId && x.IsDeleted == false && x.IsEn == true);
+                    if (userCompany != null)
+                    {
+                        orderDto.OrderComName = userCompany.Suppliername;
+                    }
                 }
 
             }
@@ -204,6 +218,7 @@
             OrderDto orderDto = new OrderDto();
             var orderRes = new BaseRepository<Order>();
             var orderBiddingRes = new BaseRepository<OrderBidding>();
+            var userWorkerRes = new BaseRepository<UserWorker>();
             var userRes = new BaseRepository<User>();
             var order = await orderRes.GetByIdAsync(orderid);
             orderDto = _mapper.Map<OrderDto>(order);
@@ -248,10 +263,15 @@
                     }
 
                     var user = await userRes.GetByIdAsync(orderBiddingDto.WorkerUserId);
+                   
                     if (user != null)
                     {
-                        orderBiddingDto.WorkerName = user.name;
                         orderBiddingDto.WorkerAvatar = user.Avatar;
+                    }
+                    var userWorker = await userWorkerRes.GetFirstAsync(x => x.UserId == orderBiddingDto.WorkerUserId && x.IsEn == true && x.IsDeleted == false);
+                    if (userWorker != null)
+                    {
+                        orderBiddingDto.WorkerName = userWorker.name;
                     }
 
                 }
@@ -519,17 +539,21 @@
 
             var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>();
 
-            var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail>((a, b ,c) =>
+            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
+                 JoinType.Inner, b.Id == c.OrderBiddingId ,
+                  JoinType.Inner, a.OrderUserId == d.UserId 
                 ))
-                     .Where((a, b, c) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false
-                     && b.IsSelected == true && b.WorkerUserId == userid)
-                      .WhereIF(page.WordDate.HasValue, (a, b, c) => (c.WorkDate == page.WordDate))
-                      .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c) => (c.IsShenPi == 2))
-                        .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c) => (c.IsShenPi < 2))
-                        .OrderByDescending((a, b, c) => c.WorkDate)
-                      .Select((a, b, c) => new OrderDakaDto
+                     .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 && b.WorkerUserId == userid && d.IsEn == true && d.IsDeleted == false )
+                      .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))
+                      .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c, d) => (c.IsShenPi == 2))
+                        .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c, d) => (c.IsShenPi < 2))
+                         .WhereIF(!string.IsNullOrEmpty(page.Suppliername), (a, b, c, d) =>d.Suppliername.Contains(page.Suppliername))
+                        .OrderByDescending((a, b, c, d) => c.WorkDate)
+                      .Select((a, b, c, d) => new OrderDakaDto
                       {
                           OrderBiddingDetailId = c.Id,
                           OrderName = a.OrderName,
@@ -540,10 +564,28 @@
                           TodaySalary = c.TodaySalary,
                           IsShenPi = c.IsShenPi,
                           WorkCount = c.WorkCount,
-
+                          Suppliername = d.Suppliername,
                       })
                      
                     .ToPageListAsync(page.PageIndex, page.PageSize, total);
+
+
+
+
+            var heji =  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,
+                 JoinType.Inner, a.OrderUserId == 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 && b.WorkerUserId == userid && d.IsEn == true && d.IsDeleted == false)
+                     .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))
+                     .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c, d) => (c.IsShenPi == 2))
+                       .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c, d) => (c.IsShenPi < 2))
+                        .WhereIF(!string.IsNullOrEmpty(page.Suppliername), (a, b, c, d) => d.Suppliername.Contains(page.Suppliername))
+                     .Sum((a, b, c, d) => c.TodaySalary);
 
             if (data != null && data.Count > 0)
             {
@@ -617,7 +659,7 @@
             result.PageIndex = page.PageIndex;
             result.PageSize = page.PageSize;
             result.TotalCount = total;
-
+            result.Heji = heji ?? 0;
             return result;
         }
 
@@ -649,7 +691,7 @@
             var orderBiddingDetailRes = new BaseRepository<OrderBiddingDetail>();
             var OrderBiddingDetailCheckRes = new BaseRepository<OrderBiddingDetailCheck>();
             var userRes = new BaseRepository<User>();
-
+            var userWorkerRes = new BaseRepository<UserWorker>();
 
             var orderBiddingDetail = await orderBiddingDetailRes.GetByIdAsync(dakaDetailDto.OrderBiddingDetailId);
             var orderBidding = await orderBiddingRes.GetByIdAsync(orderBiddingDetail.OrderBiddingId);
@@ -671,10 +713,13 @@
             var user = await userRes.GetByIdAsync(orderDakaMingxiDto.WorkerUserId);
             if (user != null)
             {
-                orderDakaMingxiDto.WorkerUserName = user.name;
                 orderDakaMingxiDto.WorkerUserAvatar = user.Avatar;
             }
-               
+            var userWorker = await userWorkerRes.GetFirstAsync(x => x.UserId == orderDakaMingxiDto.WorkerUserId && x.IsEn == true && x.IsDeleted == false);
+            if (userWorker != null)
+            {
+                orderDakaMingxiDto.WorkerUserName = userWorker.name;
+            }
 
 
             switch (orderDakaMingxiDto.IsShenPi)
@@ -773,8 +818,16 @@
 
             orderBiddingDetail.WorkTime = dakaDto.WorkTime;
             orderBiddingDetail.WorkCount = dakaDto.WorkCount;
-            orderBiddingDetail.TodaySalary = dakaDto.TodaySalary;
-            orderBiddingDetail.IsShenPi = 1;
+            if(order.WorkerType == (int)WorkerTypes.count)
+            {
+                orderBiddingDetail.TodaySalary = dakaDto.WorkCount * order.WorkPrice;
+            }
+            else
+            {
+                orderBiddingDetail.TodaySalary = dakaDto.TodaySalary;
+            }
+           
+            orderBiddingDetail.IsShenPi = (int)IsShenPis.tijiao;
             orderBiddingDetail.UpDataBy = NickName;
             orderBiddingDetail.UpDataTime = DateTime.Now;
             //orderBiddingDetail.CreateBy = NickName;

--
Gitblit v1.9.1