|
@@ -868,7 +868,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
{
|
|
|
var data = await _orderApplication.VisitAndOrgSatisfactionStatistics(dto);
|
|
|
|
|
|
- var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
{
|
|
|
OrgName = "区县合计",
|
|
|
TotalSumCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.TotalSumCount),
|
|
@@ -918,46 +918,46 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
[HttpPost("visit-org-satisfaction-statistics/_export")]
|
|
|
public async Task<FileStreamResult> VisitAndOrgSatisfactionStatisticsExport([FromBody] ExportExcelDto<PagedKeywordSonRequest> dto)
|
|
|
{
|
|
|
- List<VisitAndOrgSatisfactionStatisticsDto> data = await _orderApplication.VisitAndOrgSatisfactionStatistics(dto.QueryDto);
|
|
|
- var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
- {
|
|
|
- OrgName = "区县合计",
|
|
|
- TotalSumCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.TotalSumCount),
|
|
|
- VerySatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.VerySatisfiedCount),
|
|
|
- SatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.SatisfiedCount),
|
|
|
- RegardedAsSatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
- DefaultSatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.DefaultSatisfiedCount),
|
|
|
- NoSatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoSatisfiedCount),
|
|
|
- NoEvaluateCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoEvaluateCount),
|
|
|
- NoPutThroughCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoPutThroughCount),
|
|
|
- };
|
|
|
- var citySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
- {
|
|
|
- OrgName = "市直合计",
|
|
|
- TotalSumCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.TotalSumCount),
|
|
|
- VerySatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.VerySatisfiedCount),
|
|
|
- SatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.SatisfiedCount),
|
|
|
- RegardedAsSatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
- DefaultSatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.DefaultSatisfiedCount),
|
|
|
- NoSatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoSatisfiedCount),
|
|
|
- NoEvaluateCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoEvaluateCount),
|
|
|
- NoPutThroughCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoPutThroughCount),
|
|
|
- };
|
|
|
- var sumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
- {
|
|
|
- OrgName = "总计",
|
|
|
- TotalSumCount = data.Sum(x => x.TotalSumCount),
|
|
|
- VerySatisfiedCount = data.Sum(x => x.VerySatisfiedCount),
|
|
|
- SatisfiedCount = data.Sum(x => x.SatisfiedCount),
|
|
|
- RegardedAsSatisfiedCount = data.Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
- DefaultSatisfiedCount = data.Sum(x => x.DefaultSatisfiedCount),
|
|
|
- NoSatisfiedCount = data.Sum(x => x.NoSatisfiedCount),
|
|
|
- NoEvaluateCount = data.Sum(x => x.NoEvaluateCount),
|
|
|
- NoPutThroughCount = data.Sum(x => x.NoPutThroughCount),
|
|
|
- };
|
|
|
- data.Add(countySumModel);
|
|
|
- data.Add(citySumModel);
|
|
|
- data.Add(sumModel);
|
|
|
+ List<VisitAndOrgSatisfactionStatisticsDto> data = await _orderApplication.VisitAndOrgSatisfactionStatistics(dto.QueryDto);
|
|
|
+ var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ {
|
|
|
+ OrgName = "区县合计",
|
|
|
+ TotalSumCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.TotalSumCount),
|
|
|
+ VerySatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.VerySatisfiedCount),
|
|
|
+ SatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.SatisfiedCount),
|
|
|
+ RegardedAsSatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
+ DefaultSatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.DefaultSatisfiedCount),
|
|
|
+ NoSatisfiedCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoSatisfiedCount),
|
|
|
+ NoEvaluateCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoEvaluateCount),
|
|
|
+ NoPutThroughCount = data.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoPutThroughCount),
|
|
|
+ };
|
|
|
+ var citySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ {
|
|
|
+ OrgName = "市直合计",
|
|
|
+ TotalSumCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.TotalSumCount),
|
|
|
+ VerySatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.VerySatisfiedCount),
|
|
|
+ SatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.SatisfiedCount),
|
|
|
+ RegardedAsSatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
+ DefaultSatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.DefaultSatisfiedCount),
|
|
|
+ NoSatisfiedCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoSatisfiedCount),
|
|
|
+ NoEvaluateCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoEvaluateCount),
|
|
|
+ NoPutThroughCount = data.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoPutThroughCount),
|
|
|
+ };
|
|
|
+ var sumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ {
|
|
|
+ OrgName = "总计",
|
|
|
+ TotalSumCount = data.Sum(x => x.TotalSumCount),
|
|
|
+ VerySatisfiedCount = data.Sum(x => x.VerySatisfiedCount),
|
|
|
+ SatisfiedCount = data.Sum(x => x.SatisfiedCount),
|
|
|
+ RegardedAsSatisfiedCount = data.Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
+ DefaultSatisfiedCount = data.Sum(x => x.DefaultSatisfiedCount),
|
|
|
+ NoSatisfiedCount = data.Sum(x => x.NoSatisfiedCount),
|
|
|
+ NoEvaluateCount = data.Sum(x => x.NoEvaluateCount),
|
|
|
+ NoPutThroughCount = data.Sum(x => x.NoPutThroughCount),
|
|
|
+ };
|
|
|
+ data.Add(countySumModel);
|
|
|
+ data.Add(citySumModel);
|
|
|
+ data.Add(sumModel);
|
|
|
dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
var dtos = data
|
|
|
.Select(stu => _mapper.Map(stu, typeof(VisitAndOrgSatisfactionStatisticsDto), dynamicClass))
|
|
@@ -982,8 +982,8 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
[HttpGet("visit-org-statisfaction-org-detail")]
|
|
|
public async Task<VisitAndOrgSatisfactionStatisticsResultDto> VisitAndOrgStatisfactionOrgDetail([FromQuery] PagedKeywordSonRequest dto)
|
|
|
{
|
|
|
- var list = await _orderApplication.VisitAndOrgStatisfactionOrgDetail(dto);
|
|
|
- var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ var list = await _orderApplication.VisitAndOrgStatisfactionOrgDetail(dto);
|
|
|
+ var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
{
|
|
|
OrgName = "区县合计",
|
|
|
TotalSumCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.TotalSumCount),
|
|
@@ -1025,93 +1025,93 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
return new VisitAndOrgSatisfactionStatisticsResultDto { DataList = list, CountySumModel = countySumModel, CitySumModel = citySumModel, SumModel = sumModel };
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 部门满意度统计导出
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("visit-org-statisfaction-org-detail/_export")]
|
|
|
- public async Task<FileStreamResult> VisitAndOrgStatisfactionOrgDetailExport([FromBody] ExportExcelDto<PagedKeywordSonRequest> dto)
|
|
|
- {
|
|
|
- var list = await _orderApplication.VisitAndOrgStatisfactionOrgDetail(dto.QueryDto);
|
|
|
- var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
- {
|
|
|
- OrgName = "区县合计",
|
|
|
- TotalSumCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.TotalSumCount),
|
|
|
- VerySatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.VerySatisfiedCount),
|
|
|
- SatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.SatisfiedCount),
|
|
|
- RegardedAsSatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
- DefaultSatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.DefaultSatisfiedCount),
|
|
|
- NoSatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoSatisfiedCount),
|
|
|
- NoEvaluateCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoEvaluateCount),
|
|
|
- NoPutThroughCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoPutThroughCount),
|
|
|
- };
|
|
|
- var citySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
- {
|
|
|
- OrgName = "市直合计",
|
|
|
- TotalSumCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.TotalSumCount),
|
|
|
- VerySatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.VerySatisfiedCount),
|
|
|
- SatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.SatisfiedCount),
|
|
|
- RegardedAsSatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
- DefaultSatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.DefaultSatisfiedCount),
|
|
|
- NoSatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoSatisfiedCount),
|
|
|
- NoEvaluateCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoEvaluateCount),
|
|
|
- NoPutThroughCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoPutThroughCount),
|
|
|
- };
|
|
|
- var sumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
- {
|
|
|
- OrgName = "总计",
|
|
|
- TotalSumCount = list.Sum(x => x.TotalSumCount),
|
|
|
- VerySatisfiedCount = list.Sum(x => x.VerySatisfiedCount),
|
|
|
- SatisfiedCount = list.Sum(x => x.SatisfiedCount),
|
|
|
- RegardedAsSatisfiedCount = list.Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
- DefaultSatisfiedCount = list.Sum(x => x.DefaultSatisfiedCount),
|
|
|
- NoSatisfiedCount = list.Sum(x => x.NoSatisfiedCount),
|
|
|
- NoEvaluateCount = list.Sum(x => x.NoEvaluateCount),
|
|
|
- NoPutThroughCount = list.Sum(x => x.NoPutThroughCount),
|
|
|
- };
|
|
|
- list.Add(countySumModel);
|
|
|
- list.Add(citySumModel);
|
|
|
- list.Add(sumModel);
|
|
|
- dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
- var dtos = list
|
|
|
- .Select(stu => _mapper.Map(stu, typeof(VisitAndOrgSatisfactionStatisticsDto), dynamicClass))
|
|
|
- .Cast<object>()
|
|
|
- .ToList();
|
|
|
-
|
|
|
- var stream = ExcelHelper.CreateStream(dtos);
|
|
|
-
|
|
|
- return ExcelStreamResult(stream, "部门满意度统计数据");
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 部门满意度明细
|
|
|
- /// </summary>
|
|
|
- /// <param name="StartDate"></param>
|
|
|
- /// <param name="EndDate"></param>
|
|
|
- /// <param name="OrgCode"></param>
|
|
|
- /// <param name="TypeId"></param>
|
|
|
- /// <param name="LineNum"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("visit-org-satisfaction-detail")]
|
|
|
+ /// <summary>
|
|
|
+ /// 部门满意度统计导出
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("visit-org-statisfaction-org-detail/_export")]
|
|
|
+ public async Task<FileStreamResult> VisitAndOrgStatisfactionOrgDetailExport([FromBody] ExportExcelDto<PagedKeywordSonRequest> dto)
|
|
|
+ {
|
|
|
+ var list = await _orderApplication.VisitAndOrgStatisfactionOrgDetail(dto.QueryDto);
|
|
|
+ var countySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ {
|
|
|
+ OrgName = "区县合计",
|
|
|
+ TotalSumCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.TotalSumCount),
|
|
|
+ VerySatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.VerySatisfiedCount),
|
|
|
+ SatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.SatisfiedCount),
|
|
|
+ RegardedAsSatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
+ DefaultSatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.DefaultSatisfiedCount),
|
|
|
+ NoSatisfiedCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoSatisfiedCount),
|
|
|
+ NoEvaluateCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoEvaluateCount),
|
|
|
+ NoPutThroughCount = list.Where(x => x.OrgType == EOrgType.County).Sum(x => x.NoPutThroughCount),
|
|
|
+ };
|
|
|
+ var citySumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ {
|
|
|
+ OrgName = "市直合计",
|
|
|
+ TotalSumCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.TotalSumCount),
|
|
|
+ VerySatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.VerySatisfiedCount),
|
|
|
+ SatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.SatisfiedCount),
|
|
|
+ RegardedAsSatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
+ DefaultSatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.DefaultSatisfiedCount),
|
|
|
+ NoSatisfiedCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoSatisfiedCount),
|
|
|
+ NoEvaluateCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoEvaluateCount),
|
|
|
+ NoPutThroughCount = list.Where(x => x.OrgType == EOrgType.City).Sum(x => x.NoPutThroughCount),
|
|
|
+ };
|
|
|
+ var sumModel = new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
+ {
|
|
|
+ OrgName = "总计",
|
|
|
+ TotalSumCount = list.Sum(x => x.TotalSumCount),
|
|
|
+ VerySatisfiedCount = list.Sum(x => x.VerySatisfiedCount),
|
|
|
+ SatisfiedCount = list.Sum(x => x.SatisfiedCount),
|
|
|
+ RegardedAsSatisfiedCount = list.Sum(x => x.RegardedAsSatisfiedCount),
|
|
|
+ DefaultSatisfiedCount = list.Sum(x => x.DefaultSatisfiedCount),
|
|
|
+ NoSatisfiedCount = list.Sum(x => x.NoSatisfiedCount),
|
|
|
+ NoEvaluateCount = list.Sum(x => x.NoEvaluateCount),
|
|
|
+ NoPutThroughCount = list.Sum(x => x.NoPutThroughCount),
|
|
|
+ };
|
|
|
+ list.Add(countySumModel);
|
|
|
+ list.Add(citySumModel);
|
|
|
+ list.Add(sumModel);
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+ var dtos = list
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(VisitAndOrgSatisfactionStatisticsDto), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+
|
|
|
+ return ExcelStreamResult(stream, "部门满意度统计数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 部门满意度明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="StartDate"></param>
|
|
|
+ /// <param name="EndDate"></param>
|
|
|
+ /// <param name="OrgCode"></param>
|
|
|
+ /// <param name="TypeId"></param>
|
|
|
+ /// <param name="LineNum"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("visit-org-satisfaction-detail")]
|
|
|
public async Task<PagedDto<OrderVisitDetailDto>> VisitAndOrgSatisfactionDetail([FromQuery] VisitAndOrgSatisfactionDetailDto dto)
|
|
|
{
|
|
|
var (total, items) = await _orderApplication.VisitAndOrgSatisfactionDetail(dto)
|
|
|
- .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
+ .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderVisitDetailDto>(total, _mapper.Map<IReadOnlyList<OrderVisitDetailDto>>(items));
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 部门满意度明细导出
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("visit-org-satisfaction-detail/_export")]
|
|
|
+ /// <summary>
|
|
|
+ /// 部门满意度明细导出
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("visit-org-satisfaction-detail/_export")]
|
|
|
public async Task<FileStreamResult> VisitAndOrgSatisfactionDetailExport([FromBody] ExportExcelDto<VisitAndOrgSatisfactionDetailDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.VisitAndOrgSatisfactionDetail(dto.QueryDto);
|
|
|
List<OrderVisitDetail> data;
|
|
|
if (dto.IsExportAll)
|
|
|
{
|
|
|
- data = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ data = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -1124,7 +1124,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
|
|
|
var dtos = dataDtos
|
|
|
- .Select(stu => _mapper.Map(stu, typeof(OrderVisitDetailDto), dynamicClass))
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(OrderVisitDetailDto), dynamicClass))
|
|
|
.Cast<object>()
|
|
|
.ToList();
|
|
|
|
|
@@ -1357,8 +1357,8 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
/// <summary>
|
|
|
/// 部门受理类型统计周期
|
|
|
/// </summary>
|
|
|
- /// <param name="StartDate"></param>
|
|
|
- /// <param name="EndDate"></param>
|
|
|
+ /// <param name="StartTime"></param>
|
|
|
+ /// <param name="EndTime"></param>
|
|
|
/// <param name="TypeCode">0:全部,1:中心,2:部门</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet("department_acceptance_type_statistics")]
|
|
@@ -1369,18 +1369,21 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
var IsCenter = _sessionContext.OrgIsCenter;
|
|
|
|
|
|
var orderData = await _orderRepository.Queryable()
|
|
|
- .Where(it => it.CreationTime >= StartTime && it.CreationTime <= EndTime && it.Status > EOrderStatus.WaitForAccept)
|
|
|
+ .Where(it => it.CreationTime >= StartTime && it.CreationTime <= EndTime && it.Status >= EOrderStatus.Filed)
|
|
|
.Select(it => new
|
|
|
{
|
|
|
OrgCode = IsCenter == true ? it.ActualHandleOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")) : it.ActualHandleOrgCode.Substring(0, _sessionContext.RequiredOrgId.Length + 3),
|
|
|
- it.AcceptTypeCode,
|
|
|
- it.FileDurationWorkday,
|
|
|
- it.AllDuration
|
|
|
+ AcceptTypeCode = it.AcceptTypeCode,
|
|
|
+ ProcessType = it.ProcessType,
|
|
|
+ AllTime = it.ProcessType == EProcessType.Zhiban ? it.CreationTimeHandleDurationWorkday : it.CenterToOrgHandleDurationWorkday
|
|
|
+
|
|
|
})
|
|
|
.MergeTable()
|
|
|
.LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id)
|
|
|
- .WhereIF(TypeCode == 1, (it, o) => it.OrgCode == "001")
|
|
|
- .WhereIF(TypeCode == 2, (it, o) => it.OrgCode != "001")
|
|
|
+ //.WhereIF(TypeCode == 1, (it, o) => it.OrgCode == "001")
|
|
|
+ //.WhereIF(TypeCode == 2, (it, o) => it.OrgCode != "001")
|
|
|
+ .WhereIF(TypeCode == 1, (it, o) => it.ProcessType == EProcessType.Zhiban)
|
|
|
+ .WhereIF(TypeCode == 2, (it, o) => it.ProcessType == EProcessType.Jiaoban)
|
|
|
.WhereIF(IsCenter == false, (it, o) => it.OrgCode.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
.GroupBy((it, o) => new
|
|
|
{
|
|
@@ -1392,156 +1395,44 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
{
|
|
|
OrgName = it.OrgCode == "001" ? "热线中心" : o.Name,
|
|
|
OrgCode = it.OrgCode,
|
|
|
- OrgType = (int)o.OrgType == 2 ? "区县部门" : "市直部门",
|
|
|
+ OrgType = o.OrgType == EOrgType.County ? "区县部门" : "市直部门",
|
|
|
ZxAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "10", 1, 0)),
|
|
|
- ZxAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "10" && it.AllDuration != null, it.AllDuration, 0)),
|
|
|
+ ZxAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "10" && it.AllTime != null, it.AllTime, 0)),
|
|
|
ZxAcceptanceTypeCode = "10",
|
|
|
|
|
|
JyAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "15", 1, 0)),
|
|
|
- JyAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "15" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ JyAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "15" && it.AllTime != null, it.AllTime, 0)),
|
|
|
JyAcceptanceTypeCode = "15",
|
|
|
|
|
|
QzAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "20", 1, 0)),
|
|
|
- QzAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "20" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ QzAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "20" && it.AllTime != null, it.AllTime, 0)),
|
|
|
QzAcceptanceTypeCode = "20",
|
|
|
|
|
|
ByAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "25", 1, 0)),
|
|
|
- ByAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "25" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ ByAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "25" && it.AllTime != null, it.AllTime, 0)),
|
|
|
ByAcceptanceTypeCode = "25",
|
|
|
|
|
|
JbAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "30", 1, 0)),
|
|
|
- JbAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "30" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ JbAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "30" && it.AllTime != null, it.AllTime, 0)),
|
|
|
JbAcceptanceTypeCode = "30",
|
|
|
|
|
|
TsAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "35", 1, 0)),
|
|
|
- TsAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "35" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ TsAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "35" && it.AllTime != null, it.AllTime, 0)),
|
|
|
TsAcceptanceTypeCode = "35",
|
|
|
|
|
|
QtAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40", 1, 0)),
|
|
|
- QtAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ QtAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40" && it.AllTime != null, it.AllTime, 0)),
|
|
|
QtAcceptanceTypeCode = "40",
|
|
|
|
|
|
YjAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "1", 1, 0)),
|
|
|
- YjAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "1" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ YjAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "1" && it.AllTime != null, it.AllTime, 0)),
|
|
|
YjAcceptanceTypeCode = "1"
|
|
|
})
|
|
|
.ToListAsync();
|
|
|
|
|
|
-
|
|
|
return orderData;
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 部门受理类型统计周期---子级
|
|
|
- /// </summary>
|
|
|
- /// <param name="StartDate"></param>
|
|
|
- /// <param name="EndDate"></param>
|
|
|
- /// <param name="TypeCode">0:全部,1:中心,2:部门</param>
|
|
|
- /// <param name="OrgCode"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("department_acceptance_type_child_statistics")]
|
|
|
- public async Task<object> DepartmentAcceptanceTypeChildStatistics(DateTime StartTime, DateTime EndTime, int TypeCode, string OrgCode)
|
|
|
- {
|
|
|
- EndTime = EndTime.AddDays(1).AddSeconds(-1);
|
|
|
-
|
|
|
- // var IsCenter = _sessionContext.OrgIsCenter;
|
|
|
-
|
|
|
- var orderData = await _orderRepository.Queryable()
|
|
|
- .Where(it => it.CreationTime >= StartTime && it.CreationTime <= EndTime && it.Status > EOrderStatus.WaitForAccept)// && it.Status >= EOrderStatus.Filed
|
|
|
- .WhereIF(OrgCode == "001", it => it.ActualHandleOrgCode == OrgCode)
|
|
|
- .WhereIF(OrgCode != "001", it => it.ActualHandleOrgCode.StartsWith(OrgCode))
|
|
|
-
|
|
|
- .Select(it => new
|
|
|
- {
|
|
|
- // OrgCode = OrgCode == "001" ? OrgCode : it.ActualHandleOrgCode.Substring(0, OrgCode.Length + 3),
|
|
|
- OrgCode = it.ActualHandleOrgCode == "001" ? it.ActualHandleOrgCode : it.ActualHandleOrgCode.Substring(0, OrgCode.Length + 3),
|
|
|
- it.AcceptTypeCode,
|
|
|
- it.FileDurationWorkday,
|
|
|
- it.AllDuration
|
|
|
- })
|
|
|
- .MergeTable()
|
|
|
- .LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id)
|
|
|
-
|
|
|
- .WhereIF(TypeCode == 1, (it, o) => it.OrgCode == "001")
|
|
|
- .WhereIF(TypeCode == 2, (it, o) => it.OrgCode != "001")
|
|
|
- //.WhereIF(IsCenter == false, (it, o) => it.OrgCode.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
-
|
|
|
- .GroupBy((it, o) => new
|
|
|
- {
|
|
|
- it.OrgCode,
|
|
|
- o.Name,
|
|
|
- o.OrgType
|
|
|
- })
|
|
|
- .Select((it, o) => new DepartmentAcceptanceTypeStatisticsDto
|
|
|
- {
|
|
|
- OrgName = it.OrgCode == "001" ? "热线中心" : o.Name,
|
|
|
- OrgCode = it.OrgCode,
|
|
|
- OrgType = (int)o.OrgType == 2 ? "区县部门" : "市直部门",
|
|
|
- ZxAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "10", 1, 0)),
|
|
|
- ZxAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "10" && it.AllDuration != null, it.AllDuration, 0)),
|
|
|
- ZxAcceptanceTypeCode = "10",
|
|
|
-
|
|
|
- JyAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "15", 1, 0)),
|
|
|
- JyAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "15" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
- JyAcceptanceTypeCode = "15",
|
|
|
-
|
|
|
- QzAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "20", 1, 0)),
|
|
|
- QzAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "20" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
- QzAcceptanceTypeCode = "20",
|
|
|
-
|
|
|
- ByAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "25", 1, 0)),
|
|
|
- ByAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "25" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
- ByAcceptanceTypeCode = "25",
|
|
|
-
|
|
|
- JbAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "30", 1, 0)),
|
|
|
- JbAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "30" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
- JbAcceptanceTypeCode = "30",
|
|
|
-
|
|
|
- TsAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "35", 1, 0)),
|
|
|
- TsAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "35" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
- TsAcceptanceTypeCode = "35",
|
|
|
-
|
|
|
- QtAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40", 1, 0)),
|
|
|
- QtAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
- QtAcceptanceTypeCode = "40"
|
|
|
- })
|
|
|
- .ToListAsync();
|
|
|
-
|
|
|
- var sumModel = new DepartmentAcceptanceTypeStatisticsDto
|
|
|
- {
|
|
|
- OrgName = "合计",
|
|
|
- ZxAllCount = orderData.Sum(x => x.ZxAllCount),
|
|
|
- ZxAllTimes = orderData.Sum(x => x.ZxAllTimes),
|
|
|
- ZxAcceptanceTypeCode = "10",
|
|
|
-
|
|
|
- JyAllCount = orderData.Sum(x => x.JyAllCount),
|
|
|
- JyAllTimes = orderData.Sum(x => x.JyAllTimes),
|
|
|
- JyAcceptanceTypeCode = "15",
|
|
|
-
|
|
|
- QzAllCount = orderData.Sum(x => x.QzAllCount),
|
|
|
- QzAllTimes = orderData.Sum(x => x.QzAllTimes),
|
|
|
- QzAcceptanceTypeCode = "20",
|
|
|
-
|
|
|
- ByAllCount = orderData.Sum(x => x.ByAllCount),
|
|
|
- ByAllTimes = orderData.Sum(x => x.ByAllTimes),
|
|
|
- ByAcceptanceTypeCode = "25",
|
|
|
-
|
|
|
- JbAllCount = orderData.Sum(x => x.JbAllCount),
|
|
|
- JbAllTimes = orderData.Sum(x => x.JbAllTimes),
|
|
|
- JbAcceptanceTypeCode = "30",
|
|
|
-
|
|
|
- TsAllCount = orderData.Sum(x => x.TsAllCount),
|
|
|
- TsAllTimes = orderData.Sum(x => x.TsAllTimes),
|
|
|
- TsAcceptanceTypeCode = "35",
|
|
|
-
|
|
|
- QtAllCount = orderData.Sum(x => x.QtAllCount),
|
|
|
- QtAllTimes = orderData.Sum(x => x.QtAllTimes),
|
|
|
- QtAcceptanceTypeCode = "40"
|
|
|
- };
|
|
|
- return new { DataList = orderData, SumModel = sumModel };
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 部门受理类型统计周期--明细列表
|
|
|
/// </summary>
|
|
@@ -1552,13 +1443,14 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
{
|
|
|
dto.EndTime = dto.EndTime.AddDays(1).AddSeconds(-1);
|
|
|
var (total, items) = await _orderRepository.Queryable()
|
|
|
- .Where(p => p.CreationTime >= dto.StartTime && p.CreationTime <= dto.EndTime && p.Status > EOrderStatus.WaitForAccept)//&& p.Status >= EOrderStatus.Filed
|
|
|
+ .Where(p => p.CreationTime >= dto.StartTime && p.CreationTime <= dto.EndTime && p.Status >= EOrderStatus.Filed)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == "001", p => p.ActualHandleOrgCode == dto.OrgCode)
|
|
|
+
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != "001" && _sessionContext.RequiredOrgId != dto.OrgCode, p => p.ActualHandleOrgCode.StartsWith(dto.OrgCode))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != "001" && _sessionContext.RequiredOrgId == dto.OrgCode, p => p.ActualHandleOrgCode == dto.OrgCode)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.AcceptTypeCode), p => p.AcceptTypeCode == dto.AcceptTypeCode)
|
|
|
- .WhereIF(dto.TypeCode == 1, p => p.ActualHandleOrgCode == "001")
|
|
|
- .WhereIF(dto.TypeCode == 2, p => p.ActualHandleOrgCode != "001")
|
|
|
+ .WhereIF(dto.TypeCode == 1, p => p.ProcessType == EProcessType.Zhiban)
|
|
|
+ .WhereIF(dto.TypeCode == 2, p => p.ProcessType == EProcessType.Jiaoban)
|
|
|
.OrderByDescending(d => d.CreationTime)
|
|
|
.ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
|