|
@@ -237,7 +237,7 @@ namespace OASystem.API.Controllers
|
|
Left Join Sys_SetData sd2 On ccp.PayDId = sd2.Id
|
|
Left Join Sys_SetData sd2 On ccp.PayDId = sd2.Id
|
|
Left Join Sys_SetData sd3 On ccp.CTDId = sd3.Id
|
|
Left Join Sys_SetData sd3 On ccp.CTDId = sd3.Id
|
|
Left Join Sys_Users u On ccp.CreateUserId = u.Id
|
|
Left Join Sys_Users u On ccp.CreateUserId = u.Id
|
|
- Where ccp.IsDel = 0 And ccp.CTable = 1015 {1} And ccp.DiId = {0} Order By CreateTime", _dto.DiId ,_dto.isAudit ? "And ccp.IsAuditGM = 1 And ccp.IsPay = 1 " : " ");
|
|
|
|
|
|
+ Where ccp.IsDel = 0 And ccp.CTable = 1015 {1} And ccp.DiId = {0} Order By CreateTime", _dto.DiId, _dto.isAudit ? "And ccp.IsAuditGM = 1 And ccp.IsPay = 1 " : " ");
|
|
|
|
|
|
List<Gsd_ExtraCostsView> _ExtraCostsViews = await _sqlSugar.SqlQueryable<Gsd_ExtraCostsView>(_ecSql).ToListAsync();
|
|
List<Gsd_ExtraCostsView> _ExtraCostsViews = await _sqlSugar.SqlQueryable<Gsd_ExtraCostsView>(_ecSql).ToListAsync();
|
|
|
|
|
|
@@ -426,7 +426,7 @@ namespace OASystem.API.Controllers
|
|
Left Join Sys_SetData sd5 On hr.GovernmentRentCurrency = sd5.Id
|
|
Left Join Sys_SetData sd5 On hr.GovernmentRentCurrency = sd5.Id
|
|
Left Join Sys_SetData sd6 On hr.CityTaxCurrency = sd6.Id
|
|
Left Join Sys_SetData sd6 On hr.CityTaxCurrency = sd6.Id
|
|
Where hr.IsDel = 0 And ccp.IsDel = 0 And ccp.CTable = 76 {1} And ccp.PayMoney<> 0 And hr.DiId = {0}
|
|
Where hr.IsDel = 0 And ccp.IsDel = 0 And ccp.CTable = 76 {1} And ccp.PayMoney<> 0 And hr.DiId = {0}
|
|
- Order By CheckInDate Asc", _dto.DiId , _dto.isAudit ? "And ccp.IsAuditGM = 1" : " ");
|
|
|
|
|
|
+ Order By CheckInDate Asc", _dto.DiId, _dto.isAudit ? "And ccp.IsAuditGM = 1" : " ");
|
|
|
|
|
|
groupHotelFeeViews = await _sqlSugar.SqlQueryable<GroupHotelFeeView>(hotelFeeSql).ToListAsync();
|
|
groupHotelFeeViews = await _sqlSugar.SqlQueryable<GroupHotelFeeView>(hotelFeeSql).ToListAsync();
|
|
|
|
|
|
@@ -463,7 +463,7 @@ namespace OASystem.API.Controllers
|
|
是否由地接支付:{isFeeMark1} <br/>";
|
|
是否由地接支付:{isFeeMark1} <br/>";
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
var breakfastData = groupHotelContentFeeViews.Find(it => it.HrId == item.HrId && it.PriceType == 2); //早餐
|
|
var breakfastData = groupHotelContentFeeViews.Find(it => it.HrId == item.HrId && it.PriceType == 2); //早餐
|
|
|
|
|
|
item.BreakfastPrice = breakfastData?.Price ?? 0.00M;
|
|
item.BreakfastPrice = breakfastData?.Price ?? 0.00M;
|
|
@@ -501,7 +501,7 @@ namespace OASystem.API.Controllers
|
|
卡类型:{_setDatas.Find(it => it.Id == landTaxData?.CTDId)?.Name} <br/>
|
|
卡类型:{_setDatas.Find(it => it.Id == landTaxData?.CTDId)?.Name} <br/>
|
|
是否由地接支付:{isFeeMark3} <br/>";
|
|
是否由地接支付:{isFeeMark3} <br/>";
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
var cityTaxData = groupHotelContentFeeViews.Find(it => it.HrId == item.HrId && it.PriceType == 4); //城市税
|
|
var cityTaxData = groupHotelContentFeeViews.Find(it => it.HrId == item.HrId && it.PriceType == 4); //城市税
|
|
|
|
|
|
item.CityTax = cityTaxData?.Price ?? 0.00M;
|
|
item.CityTax = cityTaxData?.Price ?? 0.00M;
|
|
@@ -537,7 +537,7 @@ namespace OASystem.API.Controllers
|
|
//item.RoomPrice = item.CardPrice;
|
|
//item.RoomPrice = item.CardPrice;
|
|
item.RoomPriceCurrency = item.PaymentCurrency;
|
|
item.RoomPriceCurrency = item.PaymentCurrency;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
HotelCNYTotalPrice += item.CNYPrice;
|
|
HotelCNYTotalPrice += item.CNYPrice;
|
|
item.PayMoney = item.PayMoney.ConvertToDecimal1();
|
|
item.PayMoney = item.PayMoney.ConvertToDecimal1();
|
|
item.CNYPrice = item.CNYPrice.ConvertToDecimal1();
|
|
item.CNYPrice = item.CNYPrice.ConvertToDecimal1();
|
|
@@ -2157,7 +2157,7 @@ namespace OASystem.API.Controllers
|
|
List<int> companyIds = companyData.Select(it => it.id).ToList();
|
|
List<int> companyIds = companyData.Select(it => it.id).ToList();
|
|
|
|
|
|
List<int> pickGroupUserIds = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0)
|
|
List<int> pickGroupUserIds = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0)
|
|
- .Select(it => it.JietuanOperator )
|
|
|
|
|
|
+ .Select(it => it.JietuanOperator)
|
|
.ToList();
|
|
.ToList();
|
|
|
|
|
|
//var jobData = _sqlSugar.Queryable<Sys_JobPost>().Where(it => it.IsDel == 0 && companyIds.Contains(it.CompanyId) && (it.JobName.Contains("经理") || it.JobName.Contains("主管")))
|
|
//var jobData = _sqlSugar.Queryable<Sys_JobPost>().Where(it => it.IsDel == 0 && companyIds.Contains(it.CompanyId) && (it.JobName.Contains("经理") || it.JobName.Contains("主管")))
|
|
@@ -2177,7 +2177,7 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
var dtData = new List<dynamic>();
|
|
var dtData = new List<dynamic>();
|
|
int dt = DateTime.Now.Year;
|
|
int dt = DateTime.Now.Year;
|
|
- for (int y = dt; y >= dt-4; y--)
|
|
|
|
|
|
+ for (int y = dt; y >= dt - 4; y--)
|
|
{
|
|
{
|
|
//季度
|
|
//季度
|
|
var quarterDatas = new List<dynamic>();
|
|
var quarterDatas = new List<dynamic>();
|
|
@@ -2208,7 +2208,7 @@ namespace OASystem.API.Controllers
|
|
}
|
|
}
|
|
|
|
|
|
//quarterData = new { name = "第二季度", beginDt = $"{y}-04-01", endDt = $"{y}-06-30", monthData = monthDatas };
|
|
//quarterData = new { name = "第二季度", beginDt = $"{y}-04-01", endDt = $"{y}-06-30", monthData = monthDatas };
|
|
- quarterData = new { name = "第二季度", monthData = monthDatas };
|
|
|
|
|
|
+ quarterData = new { name = "第二季度", monthData = monthDatas };
|
|
}
|
|
}
|
|
else if (q == 2)
|
|
else if (q == 2)
|
|
{
|
|
{
|
|
@@ -2234,7 +2234,7 @@ namespace OASystem.API.Controllers
|
|
//quarterData = new { name = "第四季度", beginDt = $"{y}-10-01", endDt = $"{y}-12-31", monthData = monthDatas };
|
|
//quarterData = new { name = "第四季度", beginDt = $"{y}-10-01", endDt = $"{y}-12-31", monthData = monthDatas };
|
|
quarterData = new { name = "第四季度", monthData = monthDatas };
|
|
quarterData = new { name = "第四季度", monthData = monthDatas };
|
|
}
|
|
}
|
|
- quarterDatas.Add(quarterData);
|
|
|
|
|
|
+ quarterDatas.Add(quarterData);
|
|
}
|
|
}
|
|
|
|
|
|
dtData.Add(new
|
|
dtData.Add(new
|
|
@@ -2294,8 +2294,8 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
- string beginDt = $"{_dto.BeginDt} 00:00:00",endDt = $"{_dto.EndDt} 23:59:59";
|
|
|
|
-
|
|
|
|
|
|
+ string beginDt = $"{_dto.BeginDt} 00:00:00", endDt = $"{_dto.EndDt} 23:59:59";
|
|
|
|
+
|
|
return Ok(JsonView(true, "操作成功!", await GroupSales(_dto.CompanyId, _dto.GroupPickupUserId, beginDt, endDt)));
|
|
return Ok(JsonView(true, "操作成功!", await GroupSales(_dto.CompanyId, _dto.GroupPickupUserId, beginDt, endDt)));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2308,7 +2308,7 @@ namespace OASystem.API.Controllers
|
|
List<int> userIds = new List<int>();
|
|
List<int> userIds = new List<int>();
|
|
var userDatas = await _sqlSugar.Queryable<Sys_Users>()
|
|
var userDatas = await _sqlSugar.Queryable<Sys_Users>()
|
|
.InnerJoin<Sys_Company>((u, c) => u.CompanyId == c.Id)
|
|
.InnerJoin<Sys_Company>((u, c) => u.CompanyId == c.Id)
|
|
- .Where((u, c) => u.IsDel == 0 && pickGroupIds.Contains( u.Id))
|
|
|
|
|
|
+ .Where((u, c) => u.IsDel == 0 && pickGroupIds.Contains(u.Id))
|
|
.Select((u, c) => new { u.Id, u.CompanyId, u.CnName })
|
|
.Select((u, c) => new { u.Id, u.CompanyId, u.CnName })
|
|
.ToListAsync();
|
|
.ToListAsync();
|
|
|
|
|
|
@@ -2333,7 +2333,7 @@ namespace OASystem.API.Controllers
|
|
/// <param name="beginDt"></param>
|
|
/// <param name="beginDt"></param>
|
|
/// <param name="endDt"></param>
|
|
/// <param name="endDt"></param>
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
- private async Task<SalesYOYView> GroupSales(int companyId, int groupPickupUserId,string beginDt, string endDt)
|
|
|
|
|
|
+ private async Task<SalesYOYView> GroupSales(int companyId, int groupPickupUserId, string beginDt, string endDt)
|
|
{
|
|
{
|
|
decimal thisSales = 0.00M, lastSales = 0.00M, yoy = 1.00M;
|
|
decimal thisSales = 0.00M, lastSales = 0.00M, yoy = 1.00M;
|
|
|
|
|
|
@@ -2392,10 +2392,10 @@ FROM
|
|
|
|
|
|
var salesData = await _sqlSugar.SqlQueryable<SalesView>(salesSql).ToListAsync();
|
|
var salesData = await _sqlSugar.SqlQueryable<SalesView>(salesSql).ToListAsync();
|
|
|
|
|
|
- thisSales = salesData.Where(x => x.Name.Equals("ThisSales")).First()?.Sales ?? 0;
|
|
|
|
- lastSales = salesData.Where(x => x.Name.Equals("LastSales")).First()?.Sales ?? 0;
|
|
|
|
|
|
+ thisSales = salesData.Where(x => x.Name.Equals("ThisSales")).First()?.Sales ?? 0;
|
|
|
|
+ lastSales = salesData.Where(x => x.Name.Equals("LastSales")).First()?.Sales ?? 0;
|
|
|
|
|
|
- if (lastSales != 0 && thisSales != 0) yoy = (thisSales - lastSales) / lastSales;
|
|
|
|
|
|
+ if (lastSales != 0 && thisSales != 0) yoy = (thisSales - lastSales) / lastSales;
|
|
|
|
|
|
return new SalesYOYView() {
|
|
return new SalesYOYView() {
|
|
thisYearSales = thisSales.ToString("#0.00"),
|
|
thisYearSales = thisSales.ToString("#0.00"),
|
|
@@ -2554,7 +2554,7 @@ FROM
|
|
string userSql = "";
|
|
string userSql = "";
|
|
if (userIds.Count > 0)
|
|
if (userIds.Count > 0)
|
|
{
|
|
{
|
|
- userSql = string.Format(@$" AND JietuanOperator IN ({string.Join(",",userIds)})");
|
|
|
|
|
|
+ userSql = string.Format(@$" AND JietuanOperator IN ({string.Join(",", userIds)})");
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -2574,7 +2574,7 @@ FROM
|
|
|
|
|
|
string sql = "";
|
|
string sql = "";
|
|
|
|
|
|
- if (_dto.StatisticsType == 1 )
|
|
|
|
|
|
+ if (_dto.StatisticsType == 1)
|
|
{
|
|
{
|
|
sql = string.Format(@$"Select
|
|
sql = string.Format(@$"Select
|
|
sd.[Name],
|
|
sd.[Name],
|
|
@@ -2629,7 +2629,7 @@ Group By [Name]
|
|
Order By Count Desc");
|
|
Order By Count Desc");
|
|
var clientGradeData = await _sqlSugar.SqlQueryable<MarketingSalesGroupStatisticsView>(sql2).ToListAsync();
|
|
var clientGradeData = await _sqlSugar.SqlQueryable<MarketingSalesGroupStatisticsView>(sql2).ToListAsync();
|
|
return Ok(JsonView(true, "操作成功!", new {
|
|
return Ok(JsonView(true, "操作成功!", new {
|
|
- customerTypeData= customerTypeData,
|
|
|
|
|
|
+ customerTypeData = customerTypeData,
|
|
clientGradeData = clientGradeData
|
|
clientGradeData = clientGradeData
|
|
}));
|
|
}));
|
|
|
|
|
|
@@ -2681,7 +2681,7 @@ Order By Count Desc");
|
|
if (userIds.Count > 0)
|
|
if (userIds.Count > 0)
|
|
{
|
|
{
|
|
userSql = string.Format(@$" AND JietuanOperator IN ({string.Join(",", userIds)})");
|
|
userSql = string.Format(@$" AND JietuanOperator IN ({string.Join(",", userIds)})");
|
|
- }else return Ok(JsonView(true, "操作成功!", new List<object> { }, 0));
|
|
|
|
|
|
+ } else return Ok(JsonView(true, "操作成功!", new List<object> { }, 0));
|
|
|
|
|
|
string sql = string.Format(@$"Select
|
|
string sql = string.Format(@$"Select
|
|
ROW_NUMBER() Over(Order By Count(*) Desc) As RowNumber,
|
|
ROW_NUMBER() Over(Order By Count(*) Desc) As RowNumber,
|
|
@@ -2886,7 +2886,7 @@ Order By Count Desc");
|
|
if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, MsgTips.CheckAuth));
|
|
if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, MsgTips.CheckAuth));
|
|
#endregion
|
|
#endregion
|
|
#endregion
|
|
#endregion
|
|
- return Ok(await _visitingClientsRep._List(_dto.PortType,_dto.PageIndex,_dto.PageSize,_dto.DiId,_dto.Search));
|
|
|
|
|
|
+ return Ok(await _visitingClientsRep._List(_dto.PortType, _dto.PageIndex, _dto.PageSize, _dto.DiId, _dto.Search));
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -2930,8 +2930,8 @@ Order By Count Desc");
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
public async Task<IActionResult> PostMarketingSalesVCDel(MarketingSalesVCDelDto _dto)
|
|
public async Task<IActionResult> PostMarketingSalesVCDel(MarketingSalesVCDelDto _dto)
|
|
{
|
|
{
|
|
-
|
|
|
|
- return Ok(await _visitingClientsRep._Del(_dto.Id,_dto.UserId));
|
|
|
|
|
|
+
|
|
|
|
+ return Ok(await _visitingClientsRep._Del(_dto.Id, _dto.UserId));
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -2979,7 +2979,7 @@ Order By Count Desc");
|
|
public async Task<IActionResult> DailypaymentTypeInit(DailypaymentTypeInitDto _dto)
|
|
public async Task<IActionResult> DailypaymentTypeInit(DailypaymentTypeInitDto _dto)
|
|
{
|
|
{
|
|
#region 参数验证
|
|
#region 参数验证
|
|
- if (_dto.PortType < 1 || _dto.PortType > 3) return Ok(JsonView(false, msg:MsgTips.Port));
|
|
|
|
|
|
+ if (_dto.PortType < 1 || _dto.PortType > 3) return Ok(JsonView(false, msg: MsgTips.Port));
|
|
|
|
|
|
PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
#region 页面操作权限验证
|
|
#region 页面操作权限验证
|
|
@@ -3057,9 +3057,9 @@ Order By Count Desc");
|
|
var res = await RedisRepository.RedisFactory
|
|
var res = await RedisRepository.RedisFactory
|
|
.CreateRedisRepository()
|
|
.CreateRedisRepository()
|
|
.StringSetAsync(
|
|
.StringSetAsync(
|
|
- key:"DailypaymentTypeData",
|
|
|
|
|
|
+ key: "DailypaymentTypeData",
|
|
_dto.TypeIds,
|
|
_dto.TypeIds,
|
|
- timeout:null );
|
|
|
|
|
|
+ timeout: null);
|
|
|
|
|
|
if (!res) return Ok(JsonView(false, "操作失败"));
|
|
if (!res) return Ok(JsonView(false, "操作失败"));
|
|
|
|
|
|
@@ -3092,7 +3092,7 @@ Order By Count Desc");
|
|
}
|
|
}
|
|
return Ok(JsonView(false, sb.ToString()));
|
|
return Ok(JsonView(false, sb.ToString()));
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
|
|
|
|
PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
#region 页面操作权限验证
|
|
#region 页面操作权限验证
|
|
@@ -3107,12 +3107,12 @@ Order By Count Desc");
|
|
DateTime _beginDt = Convert.ToDateTime($"{_dto.BeginDt} 00:00:00"),
|
|
DateTime _beginDt = Convert.ToDateTime($"{_dto.BeginDt} 00:00:00"),
|
|
_endDt = Convert.ToDateTime($"{_dto.EndDt} 23:59:59");
|
|
_endDt = Convert.ToDateTime($"{_dto.EndDt} 23:59:59");
|
|
|
|
|
|
- string sqlWhere = string.Format(@" And dfp.CreateTime Between '{0}' And '{1}'",_beginDt,_endDt);
|
|
|
|
|
|
+ string sqlWhere = string.Format(@" And dfp.CreateTime Between '{0}' And '{1}'", _beginDt, _endDt);
|
|
|
|
|
|
var dailypaymentTypeData = await RedisRepository.RedisFactory
|
|
var dailypaymentTypeData = await RedisRepository.RedisFactory
|
|
.CreateRedisRepository()
|
|
.CreateRedisRepository()
|
|
.StringGetAsync<List<int>>("DailypaymentTypeData") ?? new List<int>();
|
|
.StringGetAsync<List<int>>("DailypaymentTypeData") ?? new List<int>();
|
|
-
|
|
|
|
|
|
+
|
|
string sql = string.Format(@"
|
|
string sql = string.Format(@"
|
|
Select
|
|
Select
|
|
dfp.Id,
|
|
dfp.Id,
|
|
@@ -3138,7 +3138,7 @@ Left Join Sys_SetData sd2 On dfp.PriceTypeId = sd2.Id
|
|
Where dfp.IsDel = 0 And dfp.IsPay = 1
|
|
Where dfp.IsDel = 0 And dfp.IsPay = 1
|
|
", sqlWhere);//--Order By dfp.CreateTime Desc
|
|
", sqlWhere);//--Order By dfp.CreateTime Desc
|
|
|
|
|
|
-
|
|
|
|
|
|
+
|
|
if (_dto.Type == 1) //data
|
|
if (_dto.Type == 1) //data
|
|
{
|
|
{
|
|
RefAsync<int> total = 0;
|
|
RefAsync<int> total = 0;
|
|
@@ -3178,7 +3178,7 @@ Where dfp.IsDel = 0 And dfp.IsPay = 1
|
|
.ToPageListAsync(
|
|
.ToPageListAsync(
|
|
pageNumber: 1,
|
|
pageNumber: 1,
|
|
pageSize: 99999
|
|
pageSize: 99999
|
|
- ) ;
|
|
|
|
|
|
+ );
|
|
|
|
|
|
_sqlSugar.ThenMapper(_view, x =>
|
|
_sqlSugar.ThenMapper(_view, x =>
|
|
{
|
|
{
|
|
@@ -3199,10 +3199,10 @@ Where dfp.IsDel = 0 And dfp.IsPay = 1
|
|
x.ContentStr = str;
|
|
x.ContentStr = str;
|
|
});
|
|
});
|
|
|
|
|
|
- if (_view.Count > 0 )
|
|
|
|
|
|
+ if (_view.Count > 0)
|
|
{
|
|
{
|
|
//DataTable dt = GeneralMethod.
|
|
//DataTable dt = GeneralMethod.
|
|
- DataTable dt = CommonFun.GetDataTableFromIList(_view );
|
|
|
|
|
|
+ DataTable dt = CommonFun.GetDataTableFromIList(_view);
|
|
dt.TableName = $"_view";
|
|
dt.TableName = $"_view";
|
|
decimal total = _view.Sum(x => x.SumPrice);
|
|
decimal total = _view.Sum(x => x.SumPrice);
|
|
WorkbookDesigner designer = new WorkbookDesigner();
|
|
WorkbookDesigner designer = new WorkbookDesigner();
|
|
@@ -3213,10 +3213,10 @@ Where dfp.IsDel = 0 And dfp.IsPay = 1
|
|
|
|
|
|
designer.Process();
|
|
designer.Process();
|
|
|
|
|
|
- string fileName = $"DailyPayment/日付报表{ DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx";
|
|
|
|
|
|
+ string fileName = $"DailyPayment/日付报表{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx";
|
|
designer.Workbook.Save(AppSettingsHelper.Get("ExcelBasePath") + fileName);
|
|
designer.Workbook.Save(AppSettingsHelper.Get("ExcelBasePath") + fileName);
|
|
string rst = AppSettingsHelper.Get("ExcelBaseUrl") + AppSettingsHelper.Get("ExcelFtpPath") + fileName;
|
|
string rst = AppSettingsHelper.Get("ExcelBaseUrl") + AppSettingsHelper.Get("ExcelFtpPath") + fileName;
|
|
- return Ok(JsonView(true, "操作成功", new { url = rst })) ;
|
|
|
|
|
|
+ return Ok(JsonView(true, "操作成功", new { url = rst }));
|
|
}
|
|
}
|
|
|
|
|
|
return Ok(JsonView(true, ",暂无数据"));
|
|
return Ok(JsonView(true, ",暂无数据"));
|
|
@@ -3232,7 +3232,7 @@ Where dfp.IsDel = 0 And dfp.IsPay = 1
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
#region 统计模块
|
|
#region 统计模块
|
|
-
|
|
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 同比
|
|
/// 同比
|
|
/// 营业额(今年和去年的)、成本支出(今年和去年的)、毛利润(今年和去年的)
|
|
/// 营业额(今年和去年的)、成本支出(今年和去年的)、毛利润(今年和去年的)
|
|
@@ -3244,10 +3244,10 @@ Where dfp.IsDel = 0 And dfp.IsPay = 1
|
|
public async Task<IActionResult> StatisticsYOY(YOYDto _dto)
|
|
public async Task<IActionResult> StatisticsYOY(YOYDto _dto)
|
|
{
|
|
{
|
|
//同比增长率 = (本期 - 同期) / 同期 * 100%;
|
|
//同比增长率 = (本期 - 同期) / 同期 * 100%;
|
|
- if (_dto.Year < 1) return Ok(JsonView(false,"操作失败"));
|
|
|
|
|
|
+ if (_dto.Year < 1) return Ok(JsonView(false, "操作失败"));
|
|
|
|
|
|
|
|
|
|
- string beginDt = $"{_dto.Year-1}-01-01 00:00:00",
|
|
|
|
|
|
+ string beginDt = $"{_dto.Year - 1}-01-01 00:00:00",
|
|
endDt = $"{_dto.Year}-12-31 23:59:59";
|
|
endDt = $"{_dto.Year}-12-31 23:59:59";
|
|
|
|
|
|
string sql = string.Format(@"
|
|
string sql = string.Format(@"
|
|
@@ -3439,7 +3439,7 @@ WHERE
|
|
AND di.VisitDate BETWEEN '{0}' AND '{1}'
|
|
AND di.VisitDate BETWEEN '{0}' AND '{1}'
|
|
ORDER BY
|
|
ORDER BY
|
|
di.VisitDate
|
|
di.VisitDate
|
|
-", beginDt,endDt);
|
|
|
|
|
|
+", beginDt, endDt);
|
|
|
|
|
|
var data = await _sqlSugar.SqlQueryable<StatisticsYOYView>(sql).ToListAsync();
|
|
var data = await _sqlSugar.SqlQueryable<StatisticsYOYView>(sql).ToListAsync();
|
|
|
|
|
|
@@ -3475,7 +3475,7 @@ ORDER BY
|
|
grossProfitYOYData = grossProfitYOYData.OrderBy(x => x.Month).ToList();
|
|
grossProfitYOYData = grossProfitYOYData.OrderBy(x => x.Month).ToList();
|
|
|
|
|
|
|
|
|
|
- return Ok(JsonView(true,"操作成功!", new { salesYOYData = salesYOYData, costYOYData = costYOYData, grossProfitYOYData = grossProfitYOYData }));
|
|
|
|
|
|
+ return Ok(JsonView(true, "操作成功!", new { salesYOYData = salesYOYData, costYOYData = costYOYData, grossProfitYOYData = grossProfitYOYData }));
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -3550,7 +3550,7 @@ WHERE
|
|
|
|
|
|
if (!string.IsNullOrEmpty(code))
|
|
if (!string.IsNullOrEmpty(code))
|
|
{
|
|
{
|
|
- if (i == cityNum-1)
|
|
|
|
|
|
+ if (i == cityNum - 1)
|
|
{
|
|
{
|
|
cityName += threeCodeData.Find(x => x.Three.Equals(code))?.City ?? "";
|
|
cityName += threeCodeData.Find(x => x.Three.Equals(code))?.City ?? "";
|
|
}
|
|
}
|
|
@@ -3582,7 +3582,7 @@ WHERE
|
|
foreach (var item in monthData)
|
|
foreach (var item in monthData)
|
|
{
|
|
{
|
|
string groupName = groupNames.Find(x => item.DIId == x.Id)?.GroupName ?? "";
|
|
string groupName = groupNames.Find(x => item.DIId == x.Id)?.GroupName ?? "";
|
|
- aitTicketInfos.Add(new AitTicketInfo(item.DIId,groupName,item.ClientNum));
|
|
|
|
|
|
+ aitTicketInfos.Add(new AitTicketInfo(item.DIId, groupName, item.ClientNum));
|
|
}
|
|
}
|
|
var aitTicketInfosGroupBy = aitTicketInfos.GroupBy(x => x.Id);
|
|
var aitTicketInfosGroupBy = aitTicketInfos.GroupBy(x => x.Id);
|
|
|
|
|
|
@@ -3598,7 +3598,7 @@ WHERE
|
|
|
|
|
|
linkGroupIds = linkGroupIds.Distinct().ToList();
|
|
linkGroupIds = linkGroupIds.Distinct().ToList();
|
|
|
|
|
|
- airTicketNumData.Add(new AirTicketReturnView(_dto.Year, monthIndex, airticket_quantity, aitTicketInfos1,linkGroupIds));
|
|
|
|
|
|
+ airTicketNumData.Add(new AirTicketReturnView(_dto.Year, monthIndex, airticket_quantity, aitTicketInfos1, linkGroupIds));
|
|
|
|
|
|
//机票城市处理
|
|
//机票城市处理
|
|
//城市处理
|
|
//城市处理
|
|
@@ -3712,7 +3712,7 @@ WHERE
|
|
AND hr.CheckInDate BETWEEN CONVERT(datetime,'{0}') AND CONVERT(datetime,'{1}')
|
|
AND hr.CheckInDate BETWEEN CONVERT(datetime,'{0}') AND CONVERT(datetime,'{1}')
|
|
ORDER BY
|
|
ORDER BY
|
|
hr.CheckInDate
|
|
hr.CheckInDate
|
|
-", beginDt,endDt);
|
|
|
|
|
|
+", beginDt, endDt);
|
|
|
|
|
|
var data = await _sqlSugar.SqlQueryable<StatisticsHotelView>(sql).ToListAsync();
|
|
var data = await _sqlSugar.SqlQueryable<StatisticsHotelView>(sql).ToListAsync();
|
|
|
|
|
|
@@ -3734,9 +3734,9 @@ ORDER BY
|
|
otherRoomCount = g1.Sum(x => x.OtherRoomCount),
|
|
otherRoomCount = g1.Sum(x => x.OtherRoomCount),
|
|
})
|
|
})
|
|
.ToList(),
|
|
.ToList(),
|
|
- linkGroupIds = g.Select(x => x.DIId).Distinct().ToList()
|
|
|
|
|
|
+ linkGroupIds = g.Select(x => x.DIId).Distinct().ToList()
|
|
|
|
|
|
- })
|
|
|
|
|
|
+ })
|
|
.OrderByDescending(x => x.BookingRoomNum)
|
|
.OrderByDescending(x => x.BookingRoomNum)
|
|
.Take(10)
|
|
.Take(10)
|
|
.ToList();
|
|
.ToList();
|
|
@@ -3783,9 +3783,9 @@ WHERE
|
|
var groupByData = data.GroupBy(x => x.Country)
|
|
var groupByData = data.GroupBy(x => x.Country)
|
|
.Select(g => new
|
|
.Select(g => new
|
|
{
|
|
{
|
|
- Country = g.Key,
|
|
|
|
- TimeNum = g.Count(),
|
|
|
|
- LinkGroupIds = g.Select(x => x.DIId).ToList()
|
|
|
|
|
|
+ Country = g.Key,
|
|
|
|
+ TimeNum = g.Count(),
|
|
|
|
+ LinkGroupIds = g.Select(x => x.DIId).ToList()
|
|
|
|
|
|
})
|
|
})
|
|
.OrderByDescending(x => x.TimeNum)
|
|
.OrderByDescending(x => x.TimeNum)
|
|
@@ -3873,11 +3873,11 @@ WHERE
|
|
|
|
|
|
var groupInfos1 = groupInfos.GroupBy(x => x.ClientName);
|
|
var groupInfos1 = groupInfos.GroupBy(x => x.ClientName);
|
|
|
|
|
|
- var view = groupInfos1.Select(x =>
|
|
|
|
- new {
|
|
|
|
- clienName = x.Key,
|
|
|
|
- clientUnit = x.FirstOrDefault()?.ClientUnit ?? "",
|
|
|
|
- visitsNum = x.Count()
|
|
|
|
|
|
+ var view = groupInfos1.Select(x =>
|
|
|
|
+ new {
|
|
|
|
+ clienName = x.Key,
|
|
|
|
+ clientUnit = x.FirstOrDefault()?.ClientUnit ?? "",
|
|
|
|
+ visitsNum = x.Count()
|
|
}
|
|
}
|
|
)
|
|
)
|
|
.OrderByDescending(x => x.visitsNum)
|
|
.OrderByDescending(x => x.visitsNum)
|
|
@@ -3906,10 +3906,10 @@ WHERE
|
|
_endDt = Convert.ToDateTime(endDt);
|
|
_endDt = Convert.ToDateTime(endDt);
|
|
|
|
|
|
var groupInfos = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
var groupInfos = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
- .LeftJoin<Sys_SetData>((di,sd) => di.TeamDid == sd.Id)
|
|
|
|
|
|
+ .LeftJoin<Sys_SetData>((di, sd) => di.TeamDid == sd.Id)
|
|
.Where((di, sd) => di.IsDel == 0)
|
|
.Where((di, sd) => di.IsDel == 0)
|
|
.Where((di, sd) => di.VisitDate >= _beginDt && di.VisitDate <= _endDt)
|
|
.Where((di, sd) => di.VisitDate >= _beginDt && di.VisitDate <= _endDt)
|
|
- .Select((di, sd) => new {
|
|
|
|
|
|
+ .Select((di, sd) => new {
|
|
Id = di.Id,
|
|
Id = di.Id,
|
|
GroupTypeId = di.TeamDid,
|
|
GroupTypeId = di.TeamDid,
|
|
GroupTypeName = sd.Name,
|
|
GroupTypeName = sd.Name,
|
|
@@ -3938,14 +3938,12 @@ WHERE
|
|
/// </summary>
|
|
/// </summary>
|
|
/// <param name="_dto"></param>
|
|
/// <param name="_dto"></param>
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
- [HttpPost("StatisticsCooperativeCustomerType")]
|
|
|
|
|
|
+ [HttpPost("StatisticsGroupInfo")]
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
public async Task<IActionResult> StatisticsGroupInfo(YOYDto _dto)
|
|
public async Task<IActionResult> StatisticsGroupInfo(YOYDto _dto)
|
|
{
|
|
{
|
|
-
|
|
|
|
if (_dto.Year < 1) return Ok(JsonView(false, "操作失败"));
|
|
if (_dto.Year < 1) return Ok(JsonView(false, "操作失败"));
|
|
|
|
|
|
-
|
|
|
|
string beginDt = $"{_dto.Year}-01-01 00:00:00",
|
|
string beginDt = $"{_dto.Year}-01-01 00:00:00",
|
|
endDt = $"{_dto.Year}-12-31 23:59:59";
|
|
endDt = $"{_dto.Year}-12-31 23:59:59";
|
|
DateTime _beginDt = Convert.ToDateTime(beginDt),
|
|
DateTime _beginDt = Convert.ToDateTime(beginDt),
|
|
@@ -3954,12 +3952,15 @@ WHERE
|
|
var groupInfos = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
var groupInfos = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
.Where(x => x.IsDel == 0)
|
|
.Where(x => x.IsDel == 0)
|
|
.Where(x => x.VisitDate >= _beginDt && x.VisitDate <= _endDt)
|
|
.Where(x => x.VisitDate >= _beginDt && x.VisitDate <= _endDt)
|
|
- .Select(x => new {
|
|
|
|
|
|
+ .Select(x => new StatisticsGroupInfoEntity
|
|
|
|
+ {
|
|
Id = x.Id,
|
|
Id = x.Id,
|
|
- x.VisitDate,
|
|
|
|
|
|
+ VisitDate = x.VisitDate,
|
|
Month = x.VisitDate.Month,
|
|
Month = x.VisitDate.Month,
|
|
- x.VisitPNumber
|
|
|
|
|
|
+ VisitPNumber = x.VisitPNumber
|
|
})
|
|
})
|
|
|
|
+ .MergeTable()
|
|
|
|
+ .OrderBy(x => new { x.Month })
|
|
.ToListAsync();
|
|
.ToListAsync();
|
|
|
|
|
|
|
|
|
|
@@ -3976,6 +3977,28 @@ WHERE
|
|
.ToList();
|
|
.ToList();
|
|
return Ok(JsonView(true, "操作成功!", view));
|
|
return Ok(JsonView(true, "操作成功!", view));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public class StatisticsGroupInfoEntity
|
|
|
|
+ {
|
|
|
|
+ public int Id { get; set; }
|
|
|
|
+ public DateTime VisitDate { get; set; }
|
|
|
|
+ public int Month { get; set; }
|
|
|
|
+ public int Quarter
|
|
|
|
+ {
|
|
|
|
+ get
|
|
|
|
+ {
|
|
|
|
+ int quarter = 0;
|
|
|
|
+ if (Month < 1 || Month > 12) return quarter;
|
|
|
|
+ if (Month >= 1 && Month <= 3) quarter = 1;
|
|
|
|
+ else if (Month >= 4 && Month <= 6) quarter = 2;
|
|
|
|
+ else if (Month >= 7 && Month <= 9) quarter = 3;
|
|
|
|
+ else if (Month >= 10 && Month <= 12) quarter = 4;
|
|
|
|
+ return quarter;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ public int VisitPNumber { get; set; }
|
|
|
|
+ }
|
|
|
|
+
|
|
#endregion
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
}
|