Commit ad4e9676 by 纪旭 韦

三张绩效发放表添加搜索功能,顺便修复实发绩效对比分页失效

parent 81a6b18e
...@@ -361,7 +361,7 @@ public IActionResult WholeHospitalGrantSummaryDownload([FromBody] HospitalGrantS ...@@ -361,7 +361,7 @@ public IActionResult WholeHospitalGrantSummaryDownload([FromBody] HospitalGrantS
throw new PerformanceException("请输入正确的时间"); throw new PerformanceException("请输入正确的时间");
var (a,list) = _computeService.GetAllComputeViewByDateAndTotal("view_allot_sign_emp", bdate, edate.AddMonths(1), request.GroupBy, request.SumBy); var (a,list) = _computeService.GetAllComputeViewByDateAndTotal("view_allot_sign_emp", request);
if (null == list) if (null == list)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
...@@ -477,7 +477,7 @@ public IActionResult WholeHospitalAccountingGrantSummaryDownload([FromBody] Hosp ...@@ -477,7 +477,7 @@ public IActionResult WholeHospitalAccountingGrantSummaryDownload([FromBody] Hosp
throw new PerformanceException("请输入正确的时间"); throw new PerformanceException("请输入正确的时间");
var (a,list) = _computeService.GetAllComputeViewByDateAndTotal("view_allot_sign_dept", bdate, edate.AddMonths(1), request.GroupBy, request.SumBy); var (a,list) = _computeService.GetAllComputeViewByDateAndTotal("view_allot_sign_dept", request);
if (null == list) if (null == list)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
...@@ -592,7 +592,7 @@ public IActionResult WholeHospitalFinanceGrantSummaryDownload([FromBody] Hospita ...@@ -592,7 +592,7 @@ public IActionResult WholeHospitalFinanceGrantSummaryDownload([FromBody] Hospita
throw new PerformanceException("请输入正确的时间"); throw new PerformanceException("请输入正确的时间");
var (a, list) = _computeService.GetAllComputeViewByDateAndTotal("view_allot_sign_emp_finance", bdate, edate.AddMonths(1), request.GroupBy, request.SumBy); var (a, list) = _computeService.GetAllComputeViewByDateAndTotal("view_allot_sign_emp_finance", request);
if (null == list) if (null == list)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
}, },
"AppConnection": { "AppConnection": {
//"PerformanceConnectionString": "server=112.124.13.17;database=db_performance;uid=suvalue;pwd=suvalue2016;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;", //"PerformanceConnectionString": "server=112.124.13.17;database=db_performance;uid=suvalue;pwd=suvalue2016;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"PerformanceConnectionString": "server=192.168.18.166;database=db_test_liangzhou;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;", "PerformanceConnectionString": "server=192.168.18.166;database=db_performance_screen;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"HangfireConnectionString": "server=192.168.18.166;database=db_hangfire;uid=root;pwd=1234qwer;port=3306;allow user variables=true;", "HangfireConnectionString": "server=192.168.18.166;database=db_hangfire;uid=root;pwd=1234qwer;port=3306;allow user variables=true;",
"RedisConnectionString": "116.62.245.55:6379,defaultDatabase=2" "RedisConnectionString": "116.62.245.55:6379,defaultDatabase=2"
}, },
......
...@@ -65,8 +65,8 @@ public abstract class BeginEndTimeDown ...@@ -65,8 +65,8 @@ public abstract class BeginEndTimeDown
public class BeginEndTime : BeginEndTimeDown public class BeginEndTime : BeginEndTimeDown
{ {
public int CurrentPage { get; set; } public int CurrentPage { get; set; } = 0;
public int PageSize { get; set; } public int PageSize { get; set; } = 0;
} }
public class HospitalGrantSummary : BeginEndTime public class HospitalGrantSummary : BeginEndTime
...@@ -95,9 +95,5 @@ public class GetPage ...@@ -95,9 +95,5 @@ public class GetPage
public int TotalCount { get; set; } public int TotalCount { get; set; }
} }
public class QueryComputeByDateGetTotal: GetPage }
{
public List<dynamic> Data { get; set; }
public decimal TotalData { get; set; }}
}
...@@ -60,7 +60,7 @@ public new PageList<per_employee> GetEntitiesForPaging(int pageNumber, int pageS ...@@ -60,7 +60,7 @@ public new PageList<per_employee> GetEntitiesForPaging(int pageNumber, int pageS
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="searchQuery"></param> /// <param name="searchQuery"></param>
/// <returns></returns> /// <returns></returns>
public DtoModels.Comparison<view_check_emp> CheckEmployeeRealGiveFeeDiff(int allotId, string searchQuery) public DtoModels.Comparison<view_check_emp> CheckEmployeeRealGiveFeeDiff(ComparisonPagingRequest request)
{ {
var queryData = @" var queryData = @"
SELECT SELECT
...@@ -73,7 +73,7 @@ public DtoModels.Comparison<view_check_emp> CheckEmployeeRealGiveFeeDiff(int all ...@@ -73,7 +73,7 @@ public DtoModels.Comparison<view_check_emp> CheckEmployeeRealGiveFeeDiff(int all
) TAB ) TAB
WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm OR if(@searchQuery='','',JobNumber) LIKE @parm OR if(@searchQuery='','',EmployeeName) LIKE @parm WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm OR if(@searchQuery='','',JobNumber) LIKE @parm OR if(@searchQuery='','',EmployeeName) LIKE @parm
GROUP BY HospitalId,Year,Month,AllotID,UnitType,AccountingUnit,JobNumber GROUP BY HospitalId,Year,Month,AllotID,UnitType,AccountingUnit,JobNumber
ORDER BY HospitalId,Year,Month,ABS(SUM(RealGiveFeeExecl) - SUM(RealGiveFeeCompute)) DESC ORDER BY HospitalId,Year,Month,ABS(SUM(RealGiveFeeExecl) - SUM(RealGiveFeeCompute)) DESC LIMIT @pageSize OFFSET @pageIndex
"; ";
var queryCount = @" var queryCount = @"
...@@ -82,27 +82,27 @@ public DtoModels.Comparison<view_check_emp> CheckEmployeeRealGiveFeeDiff(int all ...@@ -82,27 +82,27 @@ public DtoModels.Comparison<view_check_emp> CheckEmployeeRealGiveFeeDiff(int all
SELECT * FROM view_check_emp_employee WHERE AllotId = @allotId UNION ALL SELECT * FROM view_check_emp_employee WHERE AllotId = @allotId UNION ALL
SELECT * FROM view_check_emp_logistics WHERE AllotId = @allotId SELECT * FROM view_check_emp_logistics WHERE AllotId = @allotId
) TAB ) TAB
WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm OR if(@searchQuery='','',JobNumber) LIKE @parm OR if(@searchQuery='','',EmployeeName) LIKE @parm WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm OR if(@searchQuery='','',JobNumber) LIKE @parm OR if(@searchQuery='','',EmployeeName) LIKE @parm
"; ";
return new DtoModels.Comparison<view_check_emp>() return new DtoModels.Comparison<view_check_emp>()
{ {
Datas = DapperQuery<view_check_emp>(queryData, new { allotId, searchQuery, parm = $"%{searchQuery}%" })?.ToList() ?? new List<view_check_emp>(), Datas = DapperQuery<view_check_emp>(queryData, new { pageIndex = request.PageIndex-1, pageSize = request.PageSize, allotId = request.AllotId, searchQuery = request.SearchQuery, parm = $"%{request.SearchQuery}%" })?.ToList() ?? new List<view_check_emp>(),
TotalCount = DapperQuery<int>(queryCount, new { allotId, searchQuery, parm = $"%{searchQuery}%" })?.FirstOrDefault() ?? 0, TotalCount = DapperQuery<int>(queryCount, new { allotId = request.AllotId, searchQuery = request.SearchQuery, parm = $"%{request.SearchQuery}%" })?.FirstOrDefault() ?? 0,
}; };
} }
/// <summary> /// <summary>
/// 科室实发绩效比对 /// 科室实发绩效比对
/// </summary> /// </summary>
public DtoModels.Comparison<view_check_emp> CheckAccountingUnitRealGiveFeeDiff(int allotId, string searchQuery) public DtoModels.Comparison<view_check_emp> CheckAccountingUnitRealGiveFeeDiff(ComparisonPagingRequest request)
{ {
var queryData = @" var queryData = @"
SELECT *,IFNULL(RealGiveFeeExecl,0) - IFNULL(RealGiveFeeCompute,0) AS Diff FROM ( SELECT *,IFNULL(RealGiveFeeExecl,0) - IFNULL(RealGiveFeeCompute,0) AS Diff FROM (
SELECT * FROM view_check_dept_account WHERE AllotId = @allotId UNION ALL SELECT * FROM view_check_dept_account WHERE AllotId = @allotId UNION ALL
SELECT * FROM view_check_dept_specialunit WHERE AllotId = @allotId SELECT * FROM view_check_dept_specialunit WHERE AllotId = @allotId
) TAB ) TAB
WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm
ORDER BY HospitalId,Year,Month,ABS(DIFF) DESC ORDER BY HospitalId,Year,Month,ABS(DIFF) DESC LIMIT @pageSize OFFSET @pageIndex
"; ";
var queryCount = @" var queryCount = @"
...@@ -110,12 +110,12 @@ public DtoModels.Comparison<view_check_emp> CheckAccountingUnitRealGiveFeeDiff(i ...@@ -110,12 +110,12 @@ public DtoModels.Comparison<view_check_emp> CheckAccountingUnitRealGiveFeeDiff(i
SELECT * FROM view_check_dept_account WHERE AllotId = @allotId UNION ALL SELECT * FROM view_check_dept_account WHERE AllotId = @allotId UNION ALL
SELECT * FROM view_check_dept_specialunit WHERE AllotId = @allotId SELECT * FROM view_check_dept_specialunit WHERE AllotId = @allotId
) TAB ) TAB
WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm WHERE if(@searchQuery='','',AccountingUnit) LIKE @parm
"; ";
return new DtoModels.Comparison<view_check_emp>() return new DtoModels.Comparison<view_check_emp>()
{ {
Datas = DapperQuery<view_check_emp>(queryData, new { allotId, searchQuery, parm = $"%{searchQuery}%" })?.ToList() ?? new List<view_check_emp>(), Datas = DapperQuery<view_check_emp>(queryData, new { pageIndex = request.PageIndex-1, pageSize = request.PageSize,allotId = request.AllotId, searchQuery = request.SearchQuery, parm = $"%{request.SearchQuery}%" })?.ToList() ?? new List<view_check_emp>(),
TotalCount = DapperQuery<int>(queryCount, new { allotId, searchQuery, parm = $"%{searchQuery}%" })?.FirstOrDefault() ?? 0, TotalCount = DapperQuery<int>(queryCount, new { allotId = request.AllotId, searchQuery = request.SearchQuery, parm = $"%{request.SearchQuery}%" })?.FirstOrDefault() ?? 0,
}; };
} }
......
...@@ -403,45 +403,61 @@ public List<dynamic> QueryCompute(int allotId, string viewName) ...@@ -403,45 +403,61 @@ public List<dynamic> QueryCompute(int allotId, string viewName)
return DapperQuery<dynamic>(sql, new { allotId })?.ToList(); return DapperQuery<dynamic>(sql, new { allotId })?.ToList();
} }
public List<dynamic> QueryComputeByDate(string viewName, DateTime beginTime, DateTime endTime) public List<dynamic> QueryComputeByDate(string viewName, DateTime beginTime, DateTime endTime,params string[] item)
{ {
var sql = $@"SELECT * FROM {viewName} var sql = $@"SELECT * FROM {viewName}
where STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') >= @beginTime where STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') >= @beginTime
and STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') < @endTime"; and STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') < @endTime";
if (item != null && item.Length != 0 && !(item.Length > 0 && item[0] == ""))
sql = $@"SELECT {string.Join(",", item)} FROM {viewName}
where STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') >= @beginTime
and STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') < @endTime";
return DapperQuery<dynamic>(sql, new { beginTime = beginTime.ToString("yyyy-MM-dd"), endTime = endTime.ToString("yyyy-MM-dd") }).ToList(); return DapperQuery<dynamic>(sql, new { beginTime = beginTime.ToString("yyyy-MM-dd"), endTime = endTime.ToString("yyyy-MM-dd") }).ToList();
} }
public (int count, List<dynamic> data) QueryComputeByDateAndTotal(string viewName, DateTime beginTime, DateTime endTime, List<string> groupBy, List<string> sumBy, int pageNumber, int pageSize) public (int count, List<dynamic> data) QueryComputeByDateAndTotal(string viewName, HospitalGrantSummary request)
{ {
if (!new string[] { "view_allot_sign_dept", "view_allot_sign_emp", "view_allot_sign_emp_finance" }.Contains(viewName)) return (0, new List<dynamic>()); if (!new string[] { "view_allot_sign_dept", "view_allot_sign_emp", "view_allot_sign_emp_finance" }.Contains(viewName)) return (0, new List<dynamic>());
var sql = $@" SELECT * FROM {viewName} where STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') >= @beginTime var sql = $@" SELECT * FROM {viewName} where STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') >= @beginTime
and STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') < @endTime "; and STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') < @endTime and hospitalid = {request.HospitalId}";
Dictionary<string, List<string>> dict = new Dictionary<string, List<string>> Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>
{ {
{ "view_allot_sign_dept_group", new List<string>{ "hospitalid", "allotid", "year", "month", "unittype", "accountingunit" } },
{ "view_allot_sign_dept_sum", new List<string>{ "perforfee", "workloadfee", "assessbeforeotherfee", "perfortotal", "scoringaverage", "extra", "medicineextra", "materialsextra", "assesslaterotherfee", "assesslaterperfortotal", "adjustfactor", "adjustlaterotherfee", "aprperforamount", "hideaprotherperforamount", "assesslatermanagementfee", "realgivefee" } },
{ "view_allot_sign_emp_group", new List<string>{ "hospitalid", "year", "month", "source", "allotid", "secondid", "states", "unittype", "accountingunit", "isshowmanage", "employeename", "jobnumber", "jobtitle", "emp_unittype", "emp_accountingunit", "bankcard", "batch", "jobcategory", "duty", "titleposition" } }, { "view_allot_sign_emp_group", new List<string>{ "hospitalid", "year", "month", "source", "allotid", "secondid", "states", "unittype", "accountingunit", "isshowmanage", "employeename", "jobnumber", "jobtitle", "emp_unittype", "emp_accountingunit", "bankcard", "batch", "jobcategory", "duty", "titleposition" } },
{ "view_allot_sign_emp_sum", new List<string>{ "perforsumfee", "performanagementfee", "nightworkperfor", "adjustlaterotherfee", "otherperfor", "hideotherperfor", "shouldgivefee", "reservedratiofee", "realgivefee" } }, { "view_allot_sign_emp_sum", new List<string>{ "perforsumfee", "performanagementfee", "nightworkperfor", "adjustlaterotherfee", "otherperfor", "hideotherperfor", "shouldgivefee", "reservedratiofee", "realgivefee" } },
{ "view_allot_sign_dept_group", new List<string>{ "hospitalid", "allotid", "year", "month", "unittype", "accountingunit" } },
{ "view_allot_sign_dept_sum", new List<string>{ "perforfee", "workloadfee", "assessbeforeotherfee", "perfortotal", "scoringaverage", "extra", "medicineextra", "materialsextra", "assesslaterotherfee", "assesslaterperfortotal", "adjustfactor", "adjustlaterotherfee", "aprperforamount", "hideaprotherperforamount", "assesslatermanagementfee", "realgivefee" } },
{ "view_allot_sign_emp_finance_group", new List<string>{ "hospitalid", "year", "month", "allotid", "jobnumber", "employeename", "jobtitle", "unittype", "accountingunit", "bankcard", "jobcategory", "duty", "titleposition" } }, { "view_allot_sign_emp_finance_group", new List<string>{ "hospitalid", "year", "month", "allotid", "jobnumber", "employeename", "jobtitle", "unittype", "accountingunit", "bankcard", "jobcategory", "duty", "titleposition" } },
{ "view_allot_sign_emp_finance_sum", new List<string>{ "perforsumfee", "performanagementfee", "nightworkperfor", "adjustlaterotherfee", "otherperfor", "hideotherperfor", "shouldgivefee", "reservedratiofee", "realgivefee" } }, { "view_allot_sign_emp_finance_sum", new List<string>{ "perforsumfee", "performanagementfee", "nightworkperfor", "adjustlaterotherfee", "otherperfor", "hideotherperfor", "shouldgivefee", "reservedratiofee", "realgivefee" } },
}; };
if (request.GroupBy == null || !request.GroupBy.Any(t => !string.IsNullOrEmpty(t))) request.GroupBy = dict[viewName + "_group"];
if (request.SumBy == null || !request.SumBy.Any(t => !string.IsNullOrEmpty(t))) request.SumBy = dict[viewName + "_sum"];
if (request.Search != null && request.Search.Any(w => !string.IsNullOrEmpty(w.Title) && !string.IsNullOrEmpty(w.Value)))
{
var where = request.Search.Where(w => !string.IsNullOrEmpty(w.Title) && !string.IsNullOrEmpty(w.Value)).Select(t => $"{t.Title} like '%{t.Value}%'");
sql += " and " + string.Join(" and ", where);
}
if (groupBy == null || !groupBy.Any(t => !string.IsNullOrEmpty(t))) groupBy = dict[viewName + "_group"]; if (!string.IsNullOrEmpty(request.SortBy))
sql += $" order by {request.SortBy} ";
if (sumBy == null || !sumBy.Any(t => !string.IsNullOrEmpty(t))) sumBy = dict[viewName + "_sum"];
sql = $"select {string.Join(",", groupBy)}, {string.Join(",", sumBy.Select(t => $"sum({t}) {t}"))} from ({sql}) tab group by {string.Join(",", groupBy)}"; sql = $"select {string.Join(",", request.GroupBy)}, {string.Join(",", request.SumBy.Select(t => $"sum({t}) {t}"))} from ({sql}) tab group by {string.Join(",", request.GroupBy)}";
if (pageNumber != 0 && pageSize != 0) if (request.CurrentPage != 0 && request.PageSize != 0)
sql = $@" select count(1) count from ({sql}) tab; sql = $@" select count(1) count from ({sql}) tab;
select * from ({sql}) tab limit {pageSize} offset {(pageNumber - 1)};"; select * from ({sql}) tab limit {request.PageSize} offset {(request.CurrentPage - 1)};";
else else
sql = $@" select 0 as count;{sql}"; sql = $@" select 0 as count;{sql}";
var queryMulti = context.Database.GetDbConnection().QueryMultiple(sql, new { beginTime, endTime }); var queryMulti = context.Database.GetDbConnection().QueryMultiple(sql, new { beginTime = request.BeginTime, endTime = request.EndTime },commandTimeout : 60*5);
var count = queryMulti.ReadFirstOrDefault<int>(); var count = queryMulti.ReadFirstOrDefault<int>();
var data = queryMulti.Read<dynamic>()?.ToList(); var data = queryMulti.Read<dynamic>()?.ToList();
......
...@@ -2087,12 +2087,13 @@ public List<dynamic> GetAllComputeViewByDate(string viewName, DateTime beginTime ...@@ -2087,12 +2087,13 @@ public List<dynamic> GetAllComputeViewByDate(string viewName, DateTime beginTime
return reportRepository.QueryComputeByDate(viewName, beginTime, endTime); return reportRepository.QueryComputeByDate(viewName, beginTime, endTime);
} }
public (int count, List<dynamic> data) GetAllComputeViewByDateAndTotal(string viewName, DateTime beginTime, DateTime endTime, List<string> groupBy, List<string> sumBy, int pageNumber = 0, int pageSize = 0) public (int count, List<dynamic> data) GetAllComputeViewByDateAndTotal(string viewName, HospitalGrantSummary request)
{ {
return reportRepository.QueryComputeByDateAndTotal(viewName, beginTime, endTime, groupBy, sumBy, pageNumber, pageSize);
return reportRepository.QueryComputeByDateAndTotal(viewName, request);
} }
public QueryComputeByDateGetTotal GetPerformanceSummary(HospitalGrantSummary request, string ViewName) public QueryComputeByDateGetPage GetPerformanceSummary(HospitalGrantSummary request, string ViewName)
{ {
DateTime bdate = DateTime.Now; DateTime bdate = DateTime.Now;
DateTime edate = DateTime.Now; DateTime edate = DateTime.Now;
...@@ -2100,22 +2101,15 @@ public QueryComputeByDateGetTotal GetPerformanceSummary(HospitalGrantSummary req ...@@ -2100,22 +2101,15 @@ public QueryComputeByDateGetTotal GetPerformanceSummary(HospitalGrantSummary req
string.IsNullOrEmpty(request.EndTime) || !DateTime.TryParse(request.EndTime, out edate)) string.IsNullOrEmpty(request.EndTime) || !DateTime.TryParse(request.EndTime, out edate))
throw new PerformanceException("请输入正确的时间"); throw new PerformanceException("请输入正确的时间");
decimal TotalData = 0; request.EndTime = Convert.ToDateTime(request.EndTime).AddMonths(1).ToString();
var (TotalCount, datas) = reportRepository.QueryComputeByDateAndTotal(ViewName, request);
var (TotalCount, datas) = GetAllComputeViewByDateAndTotal(ViewName, bdate, edate.AddMonths(1), request.GroupBy, request.SumBy, request.CurrentPage, request.PageSize);
if (null == datas) if (null == datas)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
foreach (var item in SumDatas(datas)) var list = new QueryComputeByDateGetPage
{
TotalData += item.Value;
}
var list = new QueryComputeByDateGetTotal
{ {
Data = datas, Data = datas,
TotalData = TotalData, TotalData = SumDatas(reportRepository.QueryComputeByDate(ViewName, Convert.ToDateTime(request.BeginTime), Convert.ToDateTime(request.EndTime), request.GroupBy.Union(request.SumBy).ToArray())),
TotalCount = TotalCount, TotalCount = TotalCount,
TotalPages = (int)Math.Ceiling((double)TotalCount / request.PageSize), TotalPages = (int)Math.Ceiling((double)TotalCount / request.PageSize),
CurrentPage = request.CurrentPage, CurrentPage = request.CurrentPage,
...@@ -2154,7 +2148,7 @@ public QueryComputeByDateGetPage GetAllComputeViewByDate(string viewName, BeginE ...@@ -2154,7 +2148,7 @@ public QueryComputeByDateGetPage GetAllComputeViewByDate(string viewName, BeginE
return new QueryComputeByDateGetPage return new QueryComputeByDateGetPage
{ {
Data = list, Data = list,
TotalData = SumDatas(list), TotalData = SumDatas(reportRepository.QueryComputeByDate(viewName,Convert.ToDateTime(request.BeginTime), Convert.ToDateTime(request.EndTime))),
TotalCount = count, TotalCount = count,
TotalPages = (int)Math.Ceiling((double)list.Count() / request.PageSize), TotalPages = (int)Math.Ceiling((double)list.Count() / request.PageSize),
CurrentPage = request.CurrentPage, CurrentPage = request.CurrentPage,
......
...@@ -197,12 +197,28 @@ public string AllComputerViewReportByDate(int hospitalId, List<dynamic> dynamics ...@@ -197,12 +197,28 @@ public string AllComputerViewReportByDate(int hospitalId, List<dynamic> dynamics
var title = (beginTime.AddMonths(1).Date == endTime.Date) var title = (beginTime.AddMonths(1).Date == endTime.Date)
? $"{beginTime.ToString("yyyy年MM月")}{hospital.HosName}医院 --- {name}" ? $"{beginTime.ToString("yyyy年MM月")}{hospital.HosName}医院 --- {name}"
: $"{beginTime.ToString("yyyy年MM月")}{endTime.ToString("yyyy年MM月")}{hospital.HosName}医院 --- {name}"; : $"{beginTime.ToString("yyyy年MM月")}{endTime.AddMonths(-1).ToString("yyyy年MM月")}{hospital.HosName}医院 --- {name}";
return AllComputerDown(hospital, dynamics, route, title, name, headlist); return AllComputerDown(hospital, dynamics, route, title, name, headlist);
} }
public string AllComputerDown(sys_hospital hospital, List<dynamic> dynamics, string route, string title, string name, params string[] headlist) public string AllComputerDown(sys_hospital hospital, List<dynamic> dynamics, string route, string title, string name, params string[] headlist)
{ {
var ser = JsonHelper.Serialize(dynamics);
var dict = JsonHelper.Deserialize<List<Dictionary<string, object>>>(ser);
var data = new List<Dictionary<string, object>>();
foreach (var obj in dict)
{
Dictionary<string, object> nobj = new Dictionary<string, object>();
foreach (var item in obj)
{
nobj[item.Key.ToLower()] = item.Value;
}
data.Add(nobj);
}
var headList = _computeService.CustomColumnHeaders(hospital.ID, route, headlist).Where(w => w.States == 1).ToList(); var headList = _computeService.CustomColumnHeaders(hospital.ID, route, headlist).Where(w => w.States == 1).ToList();
var dpath = Path.Combine(evn.ContentRootPath, "Files", "PerformanceRelease", $"{hospital.ID}"); var dpath = Path.Combine(evn.ContentRootPath, "Files", "PerformanceRelease", $"{hospital.ID}");
FileHelper.CreateDirectory(dpath); FileHelper.CreateDirectory(dpath);
string filepath = Path.Combine(dpath, $"{hospital.HosName}-{name}-{DateTime.Now:yyyyMMdd}"); string filepath = Path.Combine(dpath, $"{hospital.HosName}-{name}-{DateTime.Now:yyyyMMdd}");
...@@ -225,11 +241,11 @@ public string AllComputerDown(sys_hospital hospital, List<dynamic> dynamics, str ...@@ -225,11 +241,11 @@ public string AllComputerDown(sys_hospital hospital, List<dynamic> dynamics, str
} }
for (int col = 0; col < headList.Count; col++) for (int col = 0; col < headList.Count; col++)
{ {
for (int row = 0; row < dynamics.Count(); row++) for (int row = 0; row < data.Count(); row++)
{ {
var data = dynamics.ElementAt(row); var temp = data.ElementAt(row);
var temp = (IDictionary<string, object>)data; var low = temp.Keys.ToString().ToLower();
var value = temp[headList[col].Name]; var value = temp[headList[col].Name.ToLower()];
worksheet.Cells[row + 3, col + 1].Value = value; worksheet.Cells[row + 3, col + 1].Value = value;
} }
...@@ -272,6 +288,7 @@ public string AllComputerDown(sys_hospital hospital, List<dynamic> dynamics, str ...@@ -272,6 +288,7 @@ public string AllComputerDown(sys_hospital hospital, List<dynamic> dynamics, str
return filepath; return filepath;
} }
public static List<(string, Func<ComputeResponse, object>, Func<List<ComputeResponse>, decimal>)> AllCompute { get; } = new List<(string, Func<ComputeResponse, object>, Func<List<ComputeResponse>, decimal>)> public static List<(string, Func<ComputeResponse, object>, Func<List<ComputeResponse>, decimal>)> AllCompute { get; } = new List<(string, Func<ComputeResponse, object>, Func<List<ComputeResponse>, decimal>)>
{ {
("来源",t=>t.Source,null), ("来源",t=>t.Source,null),
......
...@@ -1133,12 +1133,12 @@ public ComparisonResponse<DtoModels.Comparison<view_check_emp>> GetComparison(Co ...@@ -1133,12 +1133,12 @@ public ComparisonResponse<DtoModels.Comparison<view_check_emp>> GetComparison(Co
if (request.ViewName == "view_check_dept") if (request.ViewName == "view_check_dept")
{ {
result.Heads = ComparisonConfig.DeptHeads; result.Heads = ComparisonConfig.DeptHeads;
result.Datas = peremployeeRepository.CheckAccountingUnitRealGiveFeeDiff(request.AllotId, request.SearchQuery); result.Datas = peremployeeRepository.CheckAccountingUnitRealGiveFeeDiff(request);
} }
else if (request.ViewName == "view_check_emp") else if (request.ViewName == "view_check_emp")
{ {
result.Heads = ComparisonConfig.EmpHeads; result.Heads = ComparisonConfig.EmpHeads;
result.Datas = peremployeeRepository.CheckEmployeeRealGiveFeeDiff(request.AllotId, request.SearchQuery); result.Datas = peremployeeRepository.CheckEmployeeRealGiveFeeDiff(request);
} }
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment