|
@@ -22,6 +22,7 @@ using static OASystem.API.OAMethodLib.GeneralMethod;
|
|
using TypeInfo = OASystem.Domain.ViewModels.Statistics.TypeInfo;
|
|
using TypeInfo = OASystem.Domain.ViewModels.Statistics.TypeInfo;
|
|
using System.Net.NetworkInformation;
|
|
using System.Net.NetworkInformation;
|
|
using System.ComponentModel.Design;
|
|
using System.ComponentModel.Design;
|
|
|
|
+using NetTaste;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
namespace OASystem.API.Controllers
|
|
{
|
|
{
|
|
@@ -2241,33 +2242,54 @@ namespace OASystem.API.Controllers
|
|
private async Task<decimal> GroupSales(int companyId,int groupPickupUserId,string beginDt,string endDt)
|
|
private async Task<decimal> GroupSales(int companyId,int groupPickupUserId,string beginDt,string endDt)
|
|
{
|
|
{
|
|
decimal sales = 0.00M;
|
|
decimal sales = 0.00M;
|
|
-
|
|
|
|
- //相关人员userId
|
|
|
|
- List<int> userId = new List<int>();
|
|
|
|
string userSqlWhere = "";
|
|
string userSqlWhere = "";
|
|
if (companyId > 0) userSqlWhere += string.Format($" And CompanyId={companyId}");
|
|
if (companyId > 0) userSqlWhere += string.Format($" And CompanyId={companyId}");
|
|
if (groupPickupUserId > 0) userSqlWhere += string.Format($" And Id={groupPickupUserId}");
|
|
if (groupPickupUserId > 0) userSqlWhere += string.Format($" And Id={groupPickupUserId}");
|
|
- string userSql = string.Format($" Select * From Sys_Users Where Isdel = 0 {userSqlWhere}");
|
|
|
|
- userId = await _sqlSugar.SqlQueryable<Sys_Users>(userSql).Select(it => it.Id).ToListAsync();
|
|
|
|
-
|
|
|
|
- //团组信息
|
|
|
|
- string groupSql = string.Format($"Select * From Grp_DelegationInfo Where Isdel = 0 And VisitDate Between '{beginDt}' And '{endDt}'");
|
|
|
|
- if (userId.Count > 0) groupSql = $"{groupSql} And JietuanOperator In ({string.Join(",", userId)})";
|
|
|
|
- var groupIds = await _sqlSugar.SqlQueryable<Grp_DelegationInfo>(groupSql).Select(it => it.Id).ToListAsync();
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- //销售额 = 收款账单.账单模块 + 收款账单.成本预算模块 + 收款账单.分摊费用 Fin_ForeignReceivables
|
|
|
|
- List<int> feeTypes = new List<int>() {
|
|
|
|
- 0 ,//- 账单模块
|
|
|
|
- 1 ,// - 成本预算模块
|
|
|
|
- 2 ,// - 分摊费用
|
|
|
|
- };
|
|
|
|
- var foreignReceivables = await _sqlSugar.Queryable<Fin_ForeignReceivables>().Where(it => it.IsDel == 0 && feeTypes.Contains(it.AddingWay) && groupIds.Contains(it.Diid)).ToListAsync();
|
|
|
|
- sales = foreignReceivables.Sum(it => it.ItemSumPrice * it.Rate);
|
|
|
|
|
|
+ string sql = string.Format($@"SELECT
|
|
|
|
+ SUM(Sales) AS Sales
|
|
|
|
+FROM
|
|
|
|
+ (
|
|
|
|
+ SELECT
|
|
|
|
+ YEAR(di.VisitDate) AS [Year],
|
|
|
|
+ (
|
|
|
|
+ SELECT
|
|
|
|
+ SUM(ItemSumPrice * Rate)
|
|
|
|
+ FROM
|
|
|
|
+ Fin_ForeignReceivables
|
|
|
|
+ WHERE
|
|
|
|
+ IsDel = 0
|
|
|
|
+ AND AddingWay IN (0, 1, 2)
|
|
|
|
+ AND di.Id = Diid
|
|
|
|
+ ) AS Sales
|
|
|
|
+ FROM
|
|
|
|
+ Grp_DelegationInfo di
|
|
|
|
+ WHERE
|
|
|
|
+ di.IsDel = 0
|
|
|
|
+ AND di.JietuanOperator IN (
|
|
|
|
+ SELECT
|
|
|
|
+ Id
|
|
|
|
+ FROM
|
|
|
|
+ Sys_Users
|
|
|
|
+ WITH
|
|
|
|
+ (NoLock)
|
|
|
|
+ WHERE
|
|
|
|
+ IsDel = 0 {userSqlWhere}
|
|
|
|
+ )
|
|
|
|
+ AND di.VisitDate BETWEEN '{beginDt}' AND '{endDt}'
|
|
|
|
+ ) temp");
|
|
|
|
+
|
|
|
|
+ var salesData = await _sqlSugar.SqlQueryable<SalesView>(sql).FirstAsync();
|
|
|
|
+
|
|
|
|
+ sales = salesData?.Sales ?? 0.00M;
|
|
|
|
|
|
return sales;
|
|
return sales;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private class SalesView
|
|
|
|
+ {
|
|
|
|
+ public decimal Sales { get; set; }
|
|
|
|
+ }
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 市场部销售额
|
|
/// 市场部销售额
|
|
/// 团组列表
|
|
/// 团组列表
|