Browse Source

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

leiy 1 year ago
parent
commit
3c4b4ad0f3

+ 92 - 72
OASystem/OASystem.Infrastructure/Repositories/CRM/NewClientDataRepository.cs

@@ -2,6 +2,7 @@
 using AutoMapper.Execution;
 using MySqlX.XDevAPI.Relational;
 using NPOI.OpenXmlFormats.Dml.Diagram;
+using NPOI.SS.Formula.Functions;
 using OASystem.Domain;
 using OASystem.Domain.Dtos;
 using OASystem.Domain.Dtos.CRM;
@@ -196,6 +197,11 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 int state = 0;
 
                 #region 负责人
+                if (dto.OperationUserId != 21)
+                {
+                    dto.Userid = dto.OperationUserId.ToString();
+                }
+
                 if (!string.IsNullOrWhiteSpace(dto.Userid))
                 {
                     string sql = string.Format(@"select u1.UsersId as UserId,u2.CnName,u1.NewClientDataId from Crm_ClientDataAndUser u1,Sys_Users u2 where u1.UsersId=u2.Id and u1.UsersId in ({0})  and u1.IsDel = 0", dto.Userid);
@@ -394,6 +400,74 @@ namespace OASystem.Infrastructure.Repositories.CRM
                     }
                 }
 
+                #region 下拉框初始化数据
+                //负责人下拉框
+                List<dynamic> _Users = new List<dynamic>();
+                List<Sys_Users> users = GetNewExistClient();
+                foreach (Sys_Users user in users)
+                {
+                    var data = new
+                    {
+                        Id = user.Id,
+                        Name = user.CnName
+                    };
+                    _Users.Add(data);
+                };
+                //省域数据
+                List<dynamic> _Province = new List<dynamic>();
+                List<Sys_SetData> province = _sqlSugar.Queryable<Sys_SetData>()
+                .Where(u => u.STid == 42 && u.IsDel == 0).ToList();
+                foreach (Sys_SetData item in province)
+                {
+                    var data = new
+                    {
+                        Id = item.Id,
+                        Name = item.Name
+                    };
+                    _Province.Add(data);
+                };
+                //客户级别数据
+                List<dynamic> _level = new List<dynamic>();
+                List<Sys_SetData> level = _sqlSugar.Queryable<Sys_SetData>()
+                .Where(u => u.STid == 33 && u.IsDel == 0).ToList();
+                foreach (Sys_SetData item in level)
+                {
+                    var data = new
+                    {
+                        Id = item.Id,
+                        Name = item.Name
+                    };
+                    _level.Add(data);
+                };
+                //客户类别
+                List<dynamic> _CustomerClass = new List<dynamic>();
+                List<Sys_SetData> CustomerClass = _sqlSugar.Queryable<Sys_SetData>()
+                .Where(u => u.STid == 37 && u.IsDel == 0).ToList();
+                foreach (Sys_SetData item in CustomerClass)
+                {
+                    var data = new
+                    {
+                        Id = item.Id,
+                        Name = item.Name
+                    };
+                    _CustomerClass.Add(data);
+                };
+                //业务分类 
+                List<dynamic> _ServiceClass = new List<dynamic>();
+                List<Sys_SetData> ServiceClass = _sqlSugar.Queryable<Sys_SetData>()
+                .Where(u => u.STid == 36 && u.IsDel == 0).ToList();
+                foreach (Sys_SetData item in ServiceClass)
+                {
+                    var data = new
+                    {
+                        Id = item.Id,
+                        Name = item.Name
+                    };
+                    _ServiceClass.Add(data);
+                };
+                #endregion
+                var groupNumber = await QueryNumberGroups();
+
                 if (NewClientDataView.Count > 0)
                 {
                     int count = NewClientDataView[0].countPage;
@@ -403,74 +477,6 @@ namespace OASystem.Infrastructure.Repositories.CRM
 
                     if (dto.PortType == 1)
                     {
-                        #region 下拉框初始化数据
-                        //负责人下拉框
-                        List<dynamic> _Users = new List<dynamic>();
-                        List<Sys_Users> users = _sqlSugar.Queryable<Sys_Users>()
-                        .Where(u => u.IsDel == 0).ToList();
-                        foreach (Sys_Users user in users)
-                        {
-                            var data = new
-                            {
-                                Id = user.Id,
-                                Name = user.CnName
-                            };
-                            _Users.Add(data);
-                        };
-                        //省域数据
-                        List<dynamic> _Province = new List<dynamic>();
-                        List<Sys_SetData> province = _sqlSugar.Queryable<Sys_SetData>()
-                        .Where(u => u.STid == 42 && u.IsDel == 0).ToList();
-                        foreach (Sys_SetData item in province)
-                        {
-                            var data = new
-                            {
-                                Id = item.Id,
-                                Name = item.Name
-                            };
-                            _Province.Add(data);
-                        };
-                        //客户级别数据
-                        List<dynamic> _level = new List<dynamic>();
-                        List<Sys_SetData> level = _sqlSugar.Queryable<Sys_SetData>()
-                        .Where(u => u.STid == 33 && u.IsDel == 0).ToList();
-                        foreach (Sys_SetData item in level)
-                        {
-                            var data = new
-                            {
-                                Id = item.Id,
-                                Name = item.Name
-                            };
-                            _level.Add(data);
-                        };
-                        //客户类别
-                        List<dynamic> _CustomerClass = new List<dynamic>();
-                        List<Sys_SetData> CustomerClass = _sqlSugar.Queryable<Sys_SetData>()
-                        .Where(u => u.STid == 37 && u.IsDel == 0).ToList();
-                        foreach (Sys_SetData item in CustomerClass)
-                        {
-                            var data = new
-                            {
-                                Id = item.Id,
-                                Name = item.Name
-                            };
-                            _CustomerClass.Add(data);
-                        };
-                        //业务分类 
-                        List<dynamic> _ServiceClass = new List<dynamic>();
-                        List<Sys_SetData> ServiceClass = _sqlSugar.Queryable<Sys_SetData>()
-                        .Where(u => u.STid == 36 && u.IsDel == 0).ToList();
-                        foreach (Sys_SetData item in ServiceClass)
-                        {
-                            var data = new
-                            {
-                                Id = item.Id,
-                                Name = item.Name
-                            };
-                            _ServiceClass.Add(data);
-                        };
-                        #endregion
-
                         foreach (var item in NewClientDataView)
                         {
                             List<AscribedUser> AscribedUser = await _sqlSugar.SqlQueryable<AscribedUser>
@@ -481,9 +487,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                           ("select  d2.Id,d2.Name,d1.NewClientDataId  from Crm_ClientDataAndBusiness d1,Sys_SetData d2 where d1.SetDataId=d2.Id and NewClientDataId=" + item.Id + "  AND d1.ISDEL = 0").ToListAsync();
                             item.AscribedDepartment = AscribedDepartment;
                         }
-
-                        var groupNumber = await QueryNumberGroups();
-
+                        
                         var Data = new
                         {
                             ClientTableData = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = NewClientDataView },
@@ -532,7 +536,17 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 }
                 else
                 {
-                    result = new Result() { Code = -1, Msg = "暂无数据!" };
+                    var Data = new
+                    {
+                        ClientTableData = new { pageCount = 0, totalPage = 0, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = NewClientDataView },
+                        Users = _Users,
+                        Province = _Province,
+                        level = _level,
+                        CustomerClass = _CustomerClass,
+                        ServiceClass = _ServiceClass,
+                        groupNumber = groupNumber.Data,
+                    };
+                    result = new Result() { Code = 0, Msg = "获取成功!",Data = Data };
                 }
 
             }
@@ -958,5 +972,11 @@ namespace OASystem.Infrastructure.Repositories.CRM
 
             return AcrionResult;
         }
+
+        public List<Sys_Users> GetNewExistClient()
+        {
+            string sql = "SELECT  * FROM  Sys_Users su  where su.id in (\r\n\t select distinct usersid from Crm_ClientDataAndUser WHERE  IsDel  = 0 \r\n) \r\n";
+            return _sqlSugar.SqlQueryable<Sys_Users>(sql).ToList();
+        }
     }
 }

+ 49 - 4
OASystem/OASystem.Infrastructure/Repositories/Financial/ProceedsReceivedRepository.cs

@@ -2,6 +2,7 @@
 using OASystem.Domain;
 using OASystem.Domain.Dtos.Financial;
 using OASystem.Domain.Entities.Financial;
+using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.ViewModels.Financial;
 using System;
 using System.Collections.Generic;
@@ -293,11 +294,11 @@ namespace OASystem.Infrastructure.Repositories.Financial
                             SectionTime = item.SectionTime,
                             Price = item.Price,
                             Currency = item.Currency,
-                            ReceivablesType= item.ReceivablesType,
+                            ReceivablesType = item.ReceivablesType,
                             Client = item.Client,
-                            CustomerName= item.CustomerName,
+                            CustomerName = item.CustomerName,
                             CustomerTel = item.CustomerTel,
-                            Remark= item.Remark
+                            Remark = item.Remark
                         });
                         if (!res)
                         {
@@ -306,7 +307,7 @@ namespace OASystem.Infrastructure.Repositories.Financial
                         }
                         updateCount++;
                     }
-                   _sqlSugar.CommitTran();
+                    _sqlSugar.CommitTran();
                     //updateCount = x.AsUpdateable.IgnoreColumns(p => new
                     //{
                     //    p.SectionTime,
@@ -321,8 +322,52 @@ namespace OASystem.Infrastructure.Repositories.Financial
                 }
                 result.Code = 0;
                 result.Msg = string.Format(@"操作成功!添加:{0}条;更新:{1};", addCount, updateCount);
+
+
+                //修改团组状态
+                int diId = dto.DiId;
+                decimal sum_fr = 0M;
+                decimal sum_pr = 0M;
+                decimal sum_refund = 0M; //收款退还
+                decimal sum_extra = 0M; //超支费用
+
+                //1.应收
+                string sql_fr = string.Format(@" Select * From Fin_ForeignReceivables Where IsDel=0 And Diid={0} ", diId);
+                List<Fin_ForeignReceivables> list_fr = _sqlSugar.SqlQueryable<Fin_ForeignReceivables>(sql_fr).ToList();
+                sum_fr = list_fr.Sum(s => s.ItemSumPrice);
+
+                //2.已收
+                string sql_pr = string.Format(@" Select * From Fin_ProceedsReceived Where IsDel=0 And Diid={0} ", diId);
+                List<Fin_ProceedsReceived> list_pr = _sqlSugar.SqlQueryable<Fin_ProceedsReceived>(sql_pr).ToList();
+                sum_pr = list_pr.Sum(s => s.Price);
+
+                //3.收款退还
+                string sql_other = string.Format(@"Select * From  Fin_PaymentRefundAndOtherMoney prao
+					  Inner Join Grp_CreditCardPayment ccp On prao.Id = ccp.CId
+					  Where ccp.CTable = 285 And ccp.IsPay = 1 And prao.IsDel = 0 And ccp.IsDel = 0 And prao.DiId = {0}", diId);
+                List<Grp_CreditCardPayment> list_other = _sqlSugar.SqlQueryable<Grp_CreditCardPayment>(sql_other).ToList();
+                sum_refund = list_other.Sum(s => s.RMBPrice);
+
+                //4.超支
+                string sql_extra = string.Format(@" Select c.* From Fin_GroupExtraCost f 
+                    Inner join Grp_CreditCardPayment c On f.Id = c.CId 
+                    Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId = {0} ", diId);
+                List<Grp_CreditCardPayment> list_extra = _sqlSugar.SqlQueryable<Grp_CreditCardPayment>(sql_extra).ToList();
+                sum_extra = list_extra.Sum(s => s.RMBPrice);
+
+                decimal balance = ((sum_fr + sum_extra) - (sum_pr - sum_refund));
+
+                if (balance <= 0)
+                {
+                    bool res = await UpdateAsync<Grp_DelegationInfo>(s => s.Id == dto.DiId, s => new Grp_DelegationInfo
+                    {
+                        IsSure = 1
+                    });
+                }
             }
 
+
+
             return result;
         }