Procházet zdrojové kódy

已收款项、应收报表 判断如果是市场部的人员进来的话 只显示自己的 其他的都显示全部的

leiy před 8 měsíci
rodič
revize
4f27a1b1a3

+ 16 - 31
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -506,22 +506,9 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> GetForeignReceivablesDataSources()
+        public async Task<IActionResult> GetForeignReceivablesDataSources(ForeignReceivablesDataSourcesDto dto)
         {
-            try
-            {
-                Result ffrData = await _ForForeignReceivablesRep.GetDataSource();
-                if (ffrData.Code != 0)
-                {
-                    return Ok(JsonView(false, ffrData.Msg));
-                }
-                return Ok(JsonView(true, ffrData.Msg, ffrData.Data));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, ex.Message));
-                throw;
-            }
+            return Ok(await _ForForeignReceivablesRep.GetDataSource(dto));
         }
 
         /// <summary>
@@ -731,21 +718,9 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> PostGroupReceivablesDataSource()
+        public async Task<IActionResult> PostGroupReceivablesDataSource(ForeignReceivablesDataSourcesDto dto)
         {
-            try
-            {
-                Result ffrData = await _ForForeignReceivablesRep.PostDataSource();
-                if (ffrData.Code != 0)
-                {
-                    return Ok(JsonView(false, ffrData.Msg));
-                }
-                return Ok(JsonView(true, ffrData.Msg, ffrData.Data));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, ex.Message));
-            }
+            return Ok(await _ForForeignReceivablesRep.PostDataSource(dto));
         }
 
         /// <summary>
@@ -1740,11 +1715,21 @@ namespace OASystem.API.Controllers
                 }
             }
 
-
             #endregion
 
+            //已收款项 判断如果是市场部的人员进来的话 只显示自己的 其他的都显示全部的
+            string userSqlWhere = "";
+            var userInfos = await _sqlSugar.Queryable<Sys_Users>()
+                                           .InnerJoin<Sys_Department>((u, d) => u.DepId == d.Id)
+                                           .Where((u, d) => u.IsDel == 0 && d.DepName.Contains("市场部") && u.Id == dto.CurrUserId)
+                                           .ToListAsync();
+
+           
+            if (userInfos.Count > 0) userSqlWhere = string.Format(@$" And JietuanOperator={dto.CurrUserId} ");
+
+
             //排序倒序
-            string sql = string.Format(@" select distinct fr.diid,di.TeamName,di.ClientUnit,di.VisitDate,di.CreateTime from Fin_ForeignReceivables fr join Grp_DelegationInfo di on fr.DIID = di.id  {0} Order By di.CreateTime Desc", sqlWhere);
+            string sql = string.Format(@$"select distinct fr.diid,di.TeamName,di.ClientUnit,di.VisitDate,di.CreateTime from Fin_ForeignReceivables fr join Grp_DelegationInfo di on fr.DIID = di.id {sqlWhere}  {userSqlWhere}  Order By di.CreateTime Desc");
 
             List<PostSyntheticalReceivableByDateRangeView> list_rst = _sqlSugar.SqlQueryable<PostSyntheticalReceivableByDateRangeView>(sql).ToList();
 

+ 6 - 0
OASystem/OASystem.Domain/Dtos/Financial/ForForeignReceivablesDto.cs

@@ -6,6 +6,12 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.Financial
 {
+
+    public class ForeignReceivablesDataSourcesDto
+    {
+        public int CurrUserId { get; set; }
+    }
+
     /// <summary>
     /// 财务模块
     /// 对外收款

+ 2 - 0
OASystem/OASystem.Domain/Dtos/Financial/PostSyntheticalReceivableByDateRangeDto.cs

@@ -8,6 +8,8 @@ namespace OASystem.Domain.Dtos.Financial
 {
     public class PostSyntheticalReceivableByDateRangeDto:PortDtoBase
     {
+        public int CurrUserId { get; set; }
+
         public string beginDt { get; set; }
         public string endDt { get; set; }
 

+ 1 - 0
OASystem/OASystem.Domain/Dtos/Statistics/MarketingSalesDto.cs

@@ -150,6 +150,7 @@ namespace OASystem.Domain.Dtos.Statistics
 
     public class MarketingSalesVCSaveDto: MarketingSalesUserPageFuncDtoBase
     {
+        public int DiId { get; set; }
         public List<VisitingClientsListView> Items { get; set; }
     }
 

+ 41 - 10
OASystem/OASystem.Infrastructure/Repositories/Financial/ForeignReceivablesRepository.cs

@@ -6,6 +6,7 @@ using OASystem.Domain.Dtos.Financial;
 using OASystem.Domain.Dtos.Groups;
 using OASystem.Domain.Entities.Financial;
 using OASystem.Domain.ViewModels.Financial;
+using OASystem.Domain.ViewModels.Groups;
 using OASystem.Infrastructure.Repositories.Groups;
 using OASystem.Infrastructure.Repositories.System;
 using SqlSugar;
@@ -42,19 +43,34 @@ namespace OASystem.Infrastructure.Repositories.Financial
         /// 收款账单 数据源
         /// </summary>
         /// <returns></returns>
-        public async Task<Result> GetDataSource()
+        public async Task<JsonView> GetDataSource(ForeignReceivablesDataSourcesDto dto)
         {
-            Result result = new() { Code = -2 };
+            JsonView result = new() { Code = StatusCodes.Status204NoContent };
+
+            //已收款项 判断如果是市场部的人员进来的话 只显示自己的 其他的都显示全部的
+            var userInfos = await _sqlSugar.Queryable<Sys_Users>()
+                                           .InnerJoin<Sys_Department>((u, d) => u.DepId == d.Id)
+                                           .Where((u, d) => u.IsDel == 0 && d.DepName.Contains("市场部") && u.Id == dto.CurrUserId)
+                                           .ToListAsync();
+
+            string sqlWhere = "";
+            if (userInfos.Count > 0) sqlWhere = string.Format(@$" And JietuanOperator={dto.CurrUserId} ");
 
-            var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
+            string sql = string.Format(@$"Select Id,TeamName GroupName From  Grp_DelegationInfo 
+                                             Where TeamName != '' And IsDel = 0 {sqlWhere} 
+                                             Order By Id Desc");
+
+            var _groupNameList = await _sqlSugar.SqlQueryable<GroupNameView>(sql).ToListAsync();
+
+            //var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
             var currencyData = await _setDataRep.GetSetDataBySTId(_setDataRep, 66); //币种
             var remittanceMethodData = await _setDataRep.GetSetDataBySTId(_setDataRep, 14); //汇款方式
 
-            result.Code = 0;
+            result.Code = StatusCodes.Status200OK;
             result.Msg = "成功!";
             result.Data = new
             {
-                GroupNameData = groupNameData.Data,
+                GroupNameData = _groupNameList,
                 CurrencyData = currencyData.Data,
                 RemittanceMethodData = remittanceMethodData.Data
             };
@@ -274,19 +290,34 @@ namespace OASystem.Infrastructure.Repositories.Financial
         /// 收款账单 数据源
         /// </summary>
         /// <returns></returns>
-        public async Task<Result> PostDataSource()
+        public async Task<JsonView> PostDataSource(ForeignReceivablesDataSourcesDto dto)
         {
-            Result result = new() { Code = -2 };
+            JsonView result = new() { Code = StatusCodes.Status204NoContent };
+
+            //已收款项 判断如果是市场部的人员进来的话 只显示自己的 其他的都显示全部的
+            var userInfos = await _sqlSugar.Queryable<Sys_Users>()
+                                           .InnerJoin<Sys_Department>((u, d) => u.DepId == d.Id)
+                                           .Where((u, d) => u.IsDel == 0 && d.DepName.Contains("市场部") && u.Id == dto.CurrUserId)
+                                           .ToListAsync();
+
+            string sqlWhere = "";
+            if (userInfos.Count > 0) sqlWhere = string.Format(@$" And JietuanOperator={dto.CurrUserId} ");
 
-            var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
+            string sql = string.Format(@$"Select Id,TeamName GroupName From  Grp_DelegationInfo 
+                                             Where TeamName != '' And IsDel = 0 {sqlWhere} 
+                                             Order By Id Desc");
+
+            var _groupNameList = await _sqlSugar.SqlQueryable<GroupNameView>(sql).ToListAsync();
+
+            //var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
             var currencyData = await _setDataRep.GetSetDataBySTId(_setDataRep, 66); //币种
             var remittanceMethodData = await _setDataRep.GetSetDataBySTId(_setDataRep, 14); //汇款方式
 
-            result.Code = 0;
+            result.Code = StatusCodes.Status200OK;
             result.Msg = "成功!";
             result.Data = new
             {
-                GroupNameData = groupNameData.Data,
+                GroupNameData = _groupNameList,
                 CurrencyData = currencyData.Data,
                 RemittanceMethodData = remittanceMethodData.Data
             };

+ 24 - 14
OASystem/OASystem.Infrastructure/Repositories/Groups/VisitingClientsRepository.cs

@@ -1,4 +1,5 @@
 using AutoMapper;
+using EyeSoft.Runtime.InteropServices;
 using OASystem.Domain;
 using OASystem.Domain.Dtos.Statistics;
 using OASystem.Domain.Entities.Groups;
@@ -102,24 +103,30 @@ Where vc.Isdel = 0 And vc.DiId = {diId}");
 
             if (_dto.PortType == 1 || _dto.PortType == 2 || _dto.PortType == 3)
             {
+                if (_dto.DiId < 1)
+                {
+                    return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };
+                }
+
+
+                //int diid = infos[0].DiId;
+                int userId = _dto.UserId;
+                //if (diid < 1) return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };
+
+                if (userId < 1) return new JsonView() { Code = (int)BusStatusCode.UserIdValueError, Msg = BusStatusCode.UserIdValueError.GetEnumDescription() };
+
+                //执行逻辑删除
+                var update = await _sqlSugar.Updateable<Grp_VisitingClients>()
+                                            .SetColumns(it => new Grp_VisitingClients() { IsDel = 1, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DeleteUserId = _dto.UserId })
+                                            .Where(it => it.DiId == _dto.DiId)
+                                            .ExecuteCommandAsync();
 
                 if (infos.Count > 0)
                 {
-                    infos.ForEach(it => {
+                    infos.ForEach(it =>
+                    {
                         it.CreateUserId = _dto.UserId;
                     });
-                    int diid = infos[0].DiId;
-                    int userId = _dto.UserId; 
-                    if (diid < 1) return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };
-                    
-                    if (userId < 1) return new JsonView() { Code = (int)BusStatusCode.UserIdValueError, Msg = BusStatusCode.UserIdValueError.GetEnumDescription() };
-
-
-                    //执行逻辑删除
-                    var update = await _sqlSugar.Updateable<Grp_VisitingClients>()
-                                                .SetColumns(it => new Grp_VisitingClients() { IsDel = 1, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DeleteUserId = userId })
-                                                .Where(it => it.DiId == diid)
-                                                .ExecuteCommandAsync();
 
                     //执行添加
                     var add = await _sqlSugar.Insertable(infos).ExecuteCommandAsync();
@@ -127,7 +134,10 @@ Where vc.Isdel = 0 And vc.DiId = {diId}");
                     if (add > 0) return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };
 
                 }
-                else new JsonView() { Code = (int)BusStatusCode.ItemsNotFound, Msg = BusStatusCode.ItemsNotFound.GetEnumDescription() };
+                else
+                {
+                  return  new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };
+                }
             }
             else return new JsonView() { Code = (int)BusStatusCode.PortTypeError, Msg = BusStatusCode.PortTypeError.GetEnumDescription() };