2025-03-28 09:49:56 +08:00

158 lines
6.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using HZQR.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Reflection;
using System.Web.Http;
using System.Web.Http.Description;
using WebAPiDemo.GeneralMethod.Common;
using WebAPiDemo.GeneralMethod.Services;
using WebAPiDemo.Model;
using WebAPiDemo.Models;
using WebAPiDemo.Models.Common;
namespace WebAPiDemo.Controllers
{
public class ValuesController : BaseController
{
#region
/// <summary>
/// 获取月度车辆类型占比
/// </summary>
/// <param name="StatisticsMonth">统计月份,格式yyyyMM</param>
/// <param name="ServerpartIds">服务区内码集合,多个用,隔开</param>
/// <param name="ServerpartRegion">服务区方位</param>
/// <param name="InoutType">进出类型,默认0</param>
/// <returns>
/// 返参:
/// <br> VEHICLE_TYPE:车辆类型</br>
/// <br> VEHICLE_COUNT:车流量</br>
/// <br> STAY_TIMES:停留时长(s)</br>
/// </returns>
[Route("WebAPiDemo/GetMonthCartTypeList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg<CartCountAnalysisModel>))]
public IHttpActionResult GetMonthCartTypeList(string StatisticsMonth, string ServerpartIds = "",string ServerpartRegion="",int InoutType= 0)
{
string Parameter = "入参信息:统计月份【" + StatisticsMonth + "】,服务区内码【" + ServerpartIds + "】ServerpartRegion 【" + ServerpartRegion + "】 ,InoutType 【" + InoutType + "】";
//判断月度字段是否为空
if(string.IsNullOrWhiteSpace(StatisticsMonth))
{
return Ok(Method.Common.ReturnJson(200, "StatisticsMonth!"));
}
//判断服务区内码是否为空
if (string.IsNullOrWhiteSpace(ServerpartIds))
{
return Ok(Method.Common.ReturnJson(200, "ServerpartIds!"));
}
try
{
//实例化查询帮忙类
CartCountAnalysisHelper service = new CartCountAnalysisHelper();
//实例化一个查询类
PageCartCountAnalysisRequestDto pageRequestDto = new PageCartCountAnalysisRequestDto()
{
StatisticsMonth = StatisticsMonth,
ServerpartIds = ServerpartIds,
ServerpartRegion = ServerpartRegion,
InoutType = InoutType,
};
//获取获取月度车辆类型占比数据
var result = service.MonthCartTypeList(pageRequestDto);
//判断是否为空
if (result != null)
{
return Ok(Models.JsonMsg<List<CartCountAnalysisModel>>.Success(result, 100, "查询成功"));
}
else
{
return Ok(Method.Common.ReturnJson(200, "查询失败:无数据返回"));
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetMonthCartTypePageList");
return Ok(Method.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region
/// <summary>
/// 获取月度车辆归属地排行
/// </summary>
/// <param name="StatisticsMonth">统计月份</param>
/// <param name="ServerpartIds">服务区内码集合,多个用,隔开</param>
/// <param name="ServerpartRegion">服务区方位</param>
/// <param name="CartType">车辆类型</param>
/// <returns>
/// 返参:
/// <br> PROVINCE_COUNT:省内车流量</br>
/// <br> OUTPROVINCE_COUNT:省外车流量</br>
/// <br> Ttoal_COUNT:总车流量(s)</br>
/// <br> list:车辆归属地列表</br>
/// <br> LICENSE_PLATE:车牌归属地</br>
/// <br> VEHICLE_COUNT:车流量</br>
/// <br> STAY_TIMES:停留时长</br>
/// <br> VEHICLE_COUNT_RATIO:车流量占比</br>
/// </returns>
[Route("WebAPiDemo/GetMonthCartRank")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg<CartCountAnalysisModel>))]
public IHttpActionResult GetMonthCartRank(string StatisticsMonth, string ServerpartIds, string ServerpartRegion, string CartType = "")
{
string Parameter = "入参信息:统计月份【" + StatisticsMonth + "】,服务区内码【" + ServerpartIds + "】,服务区方位【" + ServerpartIds + "】, 车辆类型【" + CartType + "】";
//判断月度是否为空
if (string.IsNullOrWhiteSpace(StatisticsMonth))
{
return Ok(Method.Common.ReturnJson(200, "StatisticsMonth!"));
}
//判断服务区内码是否为空
if (string.IsNullOrWhiteSpace(ServerpartIds))
{
return Ok(Method.Common.ReturnJson(200, "ServerpartIds!"));
}
try
{
//实例化查询帮助类
CartCountAnalysisHelper service = new CartCountAnalysisHelper();
//调用业务代码,获取月度车辆归属地排行数据
var result = service.MonthCartRank(StatisticsMonth, ServerpartIds, ServerpartRegion, CartType);
if (result != null)
{
return Ok(Models.JsonMsg<CartCountAnalysisRankModel>.Success(result, 100, "查询成功"));
}
else
{
return Ok(Method.Common.ReturnJson(200, "查询失败:无数据返回"));
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetMonthCartRank");
return Ok(Method.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
}
}