|
@@ -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",
|