using System.Data; using System.Data.SqlClient; using System.Dynamic; using System.Text; using Gs.Toolbox; using Gs.Toolbox.ApiCore.Abstract.Mvc; using Gs.Toolbox.ApiCore.Common.Mvc; using Gs.Toolbox.ApiCore.Group; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using static Gs.Toolbox.UtilityHelper; namespace Gs.JJGZ; [ApiGroup(ApiGroupNames.JJGZ)] public class MesJjgzReportController : IRomteService { private readonly IHttpContextAccessor _http; private readonly string _userCode, _userGuid, _orgFids; public MesJjgzReportController(IHttpContextAccessor httpContextAccessor) { _http = httpContextAccessor; (_userCode, _userGuid, _orgFids) = GetUserGuidAndOrgGuid(_http); } /// /// 月度出勤 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto GetYQCQList([FromBody] dynamic model) { string lineNo = model.lineNo ?? ""; string beginDate = model.beginDate ?? DateTime.Now.AddMonths(-1).ToString(); string endDate = model.endDate ?? DateTime.Now.ToString(); dynamic m = new ExpandoObject(); m.list = new List(); SqlParameter[] parameters = { new("@lineNo", lineNo), new("@beginDate", beginDate), new("@endDate", endDate) }; var dset = new DataSet(); try { dset = DbHelperSQL.RunProcedure("report_YDCQ", parameters, "0"); if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) { //var dr = dset.Tables[0].Rows[0]; //m = dr.RowToDynamic(); var _tb = dset.Tables[0].TableToDynamicList(); m.list = _tb; } } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } if (m != null) return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); return ReturnDto.QuickReturn(m, ReturnCode.Default, "读取失败!"); } /// /// 月度工资 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto GetYDGZList([FromBody] dynamic model) { string date = model.date ?? DateTime.Now.AddMonths(-1).ToString(); string orgId = model.orgId; dynamic m = new ExpandoObject(); m.list = new List(); SqlParameter[] parameters = { new("@inputOrgId", orgId), new("@inputDate", date) }; var dset = new DataSet(); try { dset = DbHelperSQL.RunProcedure("report_YDGZ", parameters, "0"); if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) { //var dr = dset.Tables[0].Rows[0]; //m = dr.RowToDynamic(); var _tb = dset.Tables[0].TableToDynamicList(); m.list = _tb; } } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } if (m != null) return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); return ReturnDto.QuickReturn(m, ReturnCode.Default, "读取失败!"); } /// /// 详细 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetListPageJJMX([FromBody] dynamic model) { int currentPage = model.currentPage; int everyPageSize = model.everyPageSize; string sortName = model.sortName; string keyWhere = model.keyWhere; SqlParameter[] parameters = { new("@inCurrentPage", currentPage), new("@inEveryPageSize", everyPageSize), new("@inSortName", sortName), new("@inSortOrder", ""), new("@inQueryWhere", keyWhere), new("@inFid", ""), new("@inP1", ""), new("@inP2", ""), new("@inP3", ""), new("@inP4", "") }; var dset = new DataSet(); var _pglist = new PageList { total = 0, everyPageSize = 0, pages = 0, list = new List() }; try { dset = DbHelperSQL.RunProcedure("report_jjmx", parameters, "0"); if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) //有数据 { var intTotal = int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString()); var pages = intTotal % everyPageSize != 0 ? intTotal / everyPageSize + 1 : intTotal / everyPageSize; _pglist.total = intTotal; _pglist.everyPageSize = everyPageSize; _pglist.pages = pages; var _dy = dset.Tables[0].TableToDynamicList(); _pglist.list = _dy; } } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } return ReturnDto>.QuickReturn(_pglist, ReturnCode.Success, "读取成功"); } }