| 
					
				 | 
			
			
				@@ -1104,7 +1104,7 @@ namespace OASystem.API.Controllers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //企业利润-会务利润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// <summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ///  团组报表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ///  企业利润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ///  Details  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// </summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// <param name="_dto">团组列表请求dto</param> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1114,36 +1114,64 @@ namespace OASystem.API.Controllers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public async Task<IActionResult> PostCorporateProfit(PostCorporateProfitDto _dto) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /*  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             * 团组报表计算方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             * 当前总支出 = 团组支出.Sum() + 超支费用.Sum() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             * 应收金额 = 应收表.Sum() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             * 已收金额 = 已收表.Sum() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             * 应收利润(应收-支出) = 应收金额 - 收款退还 - 当前总支出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             * 已收利润(已收-支出) = 已收金额 - 收款退还 - 当前总支出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #region  参数验证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_dto.PageId < 1) _dto.PageId = 38; //团组报表页面Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (_dto.BusinessType > 3 && _dto.BusinessType < 1) return Ok(JsonView(false, "请输入有效的BusinessType参数,1 所有 2 团组 3 会务")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_dto.StatisticsType > 2 && _dto.StatisticsType < 1) return Ok(JsonView(false, "请输入有效的StatisticsType参数,1 月份 2 季度")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_dto.BusinessType > 3 && _dto.BusinessType < 1) return Ok(JsonView(false, "请输入有效的BusinessType参数,1 所有 2 团组 3 会务")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #region 页面操作权限验证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #endregion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            string beginDt = $"{_dto.Year}-01-01 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            string endDt = $"{_dto.Year}-12-31 59:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string sqlWhere = string.Empty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //起止时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string beginDt = $"{_dto.Year}-01-01 00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string endDt = $"{_dto.Year}-12-31 59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<int> diIds = new List<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sqlWhere = string.Format(@$" Where Isdel = 0 And CreateTime Between {beginDt} And {endDt}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //业务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<int> groupTypeId = new List<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_dto.BusinessType == 2) //团组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                groupTypeId.AddRange(new List<int>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    38,   //  政府团 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    39,   //  企业团 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    40,   //  散客团 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    1048  // 高校团 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if (_dto.BusinessType == 3) //会务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                groupTypeId.AddRange(new List<int>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   102,   // 未知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   248,   // 非团组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   302,   // 成都-会务活动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   691,   // 四川-会务活动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   762,   // 四川-赛事项目收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   1047   // 成都-赛事项目收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (groupTypeId.Count > 0 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sqlWhere += string.Format(@$" And TeamDid In ({string.Join(',', groupTypeId)})"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string sql = string.Format(@$"Select * From Grp_DelegationInfo {sqlWhere}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var groupInfos = await _sqlSugar.SqlQueryable<Grp_DelegationInfo>(sql).ToListAsync(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (groupInfos.Count < 1) return Ok(JsonView(false, "暂无相关团组!")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<int> diIds = groupInfos.Select(it => it.Id).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<CorporateProfit> corporateProfits = await CorporateProfit(diIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1151,15 +1179,15 @@ namespace OASystem.API.Controllers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #endregion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// <summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ///  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /// 计算团组利润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// </summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// <param name="diIds"></param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// <returns></returns> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private async Task< List<CorporateProfit>> CorporateProfit1(List<int> diIds) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private async Task<List<CorporateProfit>> CorporateProfit(List<int> diIds) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List < CorporateProfit > corporateProfits = new List<CorporateProfit>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<CorporateProfit> corporateProfits = new List<CorporateProfit>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (diIds.Count < 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return corporateProfits; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1167,6 +1195,16 @@ namespace OASystem.API.Controllers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #region 计算团组利润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /*  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            * 团组报表计算方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            * 当前总支出 = 团组支出.Sum() + 超支费用.Sum() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            * 应收金额 = 应收表.Sum() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            * 已收金额 = 已收表.Sum() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            * 应收利润(应收-支出) = 应收金额 - 收款退还 - 当前总支出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            * 已收利润(已收-支出) = 已收金额 - 收款退还 - 当前总支出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             string diIdStr = string.Join(",", diIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1503,7 +1541,8 @@ namespace OASystem.API.Controllers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _receivedProfit = _amountReceived - promTotalAmount - _totalExpenditure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var groupInfo = groupInfos.Find(it => it.Id == _diId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                corporateProfits.Add(new CorporateProfit() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                corporateProfits.Add(new CorporateProfit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     DiId = _diId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     TeamName = groupInfo?.TeamName ?? "Unkwnon", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     CreateDt = groupInfo?.CreateTime.ToString("yyyy-MM-dd") ?? "Unkwnon", 
			 |