/// <summary> /// 根据主键 预算数据数据 /// </summary> /// <returns>返回Json串</returns> public string GetBudgetMstInfo() { long id = Convert.ToInt64(System.Web.HttpContext.Current.Request.Params["id"]); //主表主键 string tabtype = System.Web.HttpContext.Current.Request.Params["tabtype"]; //Tab类型 switch (tabtype) { case "budgetmst": var findedresultmst = BudgetMstService.Find(id); FindedResult <PerformanceMstModel> resultmst = new FindedResult <PerformanceMstModel>(); PerformanceMstModel modelmst = new PerformanceMstModel(); if (findedresultmst.Data != null) { modelmst.YSMstPhId = findedresultmst.Data.PhId; modelmst.FProjCode = findedresultmst.Data.FProjCode; modelmst.FProjName = findedresultmst.Data.FProjName; modelmst.FDeclarationUnit = findedresultmst.Data.FDeclarationUnit; modelmst.FDeclarationUnit_EXName = findedresultmst.Data.FDeclarationUnit_EXName; modelmst.FDeclarationDept = findedresultmst.Data.FDeclarationDept; modelmst.FBudgetDept = findedresultmst.Data.FBudgetDept; modelmst.FBudgetDept_EXName = findedresultmst.Data.FBudgetDept_EXName; modelmst.FProjAttr = findedresultmst.Data.FProjAttr; modelmst.FDuration = findedresultmst.Data.FDuration; modelmst.FStartDate = findedresultmst.Data.FStartDate; modelmst.FEndDate = findedresultmst.Data.FEndDate; modelmst.FProjAmount = findedresultmst.Data.FBudgetAmount; modelmst.FIfPerformanceAppraisal = (int)findedresultmst.Data.FIfPerformanceAppraisal; modelmst.FIfKeyEvaluation = (int)findedresultmst.Data.FIfKeyEvaluation; modelmst.FMeetingTime = findedresultmst.Data.FMeetingTime; modelmst.FMeetiingSummaryNo = findedresultmst.Data.FMeetiingSummaryNo; modelmst.FExpenseCategory = findedresultmst.Data.FExpenseCategory; modelmst.FPerformType = findedresultmst.Data.FPerformType; } ; if (string.IsNullOrEmpty(findedresultmst.Data.FAccount)) { modelmst.FActualAmount = decimal.Round(0, 2);; } else { modelmst.FActualAmount = decimal.Round(decimal.Parse(BudgetMstService.GetSJFSSbyXMCode(findedresultmst.Data.FAccount, modelmst.FProjCode)), 2); } //modelmst.FActualAmount = decimal.Round(decimal.Parse(BudgetMstService.GetSJFSSbyXMCode(findedresultmst.Data.FAccount, modelmst.FProjCode)),2); modelmst.FBalanceAmount = decimal.Round(modelmst.FProjAmount - modelmst.FActualAmount, 2); modelmst.FImplRate = decimal.Round(modelmst.FActualAmount * 100 / modelmst.FProjAmount, 2); resultmst.Data = modelmst; resultmst.Status = findedresultmst.Status; resultmst.Msg = findedresultmst.Msg; return(DataConverterHelper.ResponseResultToJson(resultmst)); case "budgetdtlbudgetdtl": var mst = BudgetMstService.Find(id); var findedresultbudgetdtlbudgetdtl = BudgetMstService.FindBudgetDtlBudgetDtlByForeignKey(id); var listDtl = findedresultbudgetdtlbudgetdtl.Data; //组装model List <PerformanceDtlBuDtlModel> dtlList = new List <PerformanceDtlBuDtlModel>(); if (findedresultbudgetdtlbudgetdtl.Data.Count > 0) { foreach (var item in listDtl) { var index = dtlList.FindIndex(t => t.FDtlCode == item.FDtlCode); if (index != -1) { dtlList[index].FBudgetAmount += item.FAmount; } else { decimal FActualAmount = 0; if (string.IsNullOrEmpty(mst.Data.FAccount)) { FActualAmount = decimal.Round(0, 2);; } else { FActualAmount = decimal.Round(decimal.Parse(BudgetMstService.GetSJFSSbyMXCode(mst.Data.FAccount, item.FDtlCode)), 2); } //var FActualAmount = decimal.Round(decimal.Parse(BudgetMstService.GetSJFSSbyMXCode(mst.Data.FAccount, item.FDtlCode)),2); //((parseFloat(upDate.FActualAmount) / parseFloat(upDate.FBudgetAmount)) * 100).toFixed(2) var FImplRate = decimal.Round(FActualAmount * 100 / item.FBudgetAmount, 2); PerformanceDtlBuDtlModel model = new PerformanceDtlBuDtlModel() { DelPhid = item.PhId, FDtlCode = item.FDtlCode, FName = item.FName, FSourceOfFunds = item.FSourceOfFunds, FSourceOfFunds_EXName = item.FSourceOfFunds_EXName, FExpensesChannel_EXName = item.FExpensesChannel_EXName, FBudgetAmount = item.FBudgetAmount, FActualAmount = FActualAmount, FBalanceAmount = decimal.Round(item.FBudgetAmount - FActualAmount, 2), FImplRate = FImplRate }; dtlList.Add(model); } } } return(DataConverterHelper.EntityListToJson((IList <PerformanceDtlBuDtlModel>)dtlList, dtlList.Count)); case "performancedtltarimpl": var results = BudgetMstService.FindBudgetDtlPerformTargetByForeignKey(id); IList <PerformanceDtlTarImplModel> tarImplList = PerformanceMstService.ConvertData(results.Data); return(DataConverterHelper.EntityListToJson(tarImplList, tarImplList.Count)); default: FindedResult findedresultother = new FindedResult(); return(DataConverterHelper.ResponseResultToJson(findedresultother)); } }
/// <summary> /// 获取预算数据 /// </summary> /// <returns></returns> public string GetBudgetMstList() { //string clientJsonQuery = System.Web.HttpContext.Current.Request.Params["queryfilter"];//查询条件 //Dictionary<string, object> dicWhere = DataConverterHelper.ConvertToDic(clientJsonQuery);//查询条件转Dictionary var workType = System.Web.HttpContext.Current.Request.Params["workType"]; //业务种类(年初,年中,特殊)// c - 年初,z - 年中 var userId = System.Web.HttpContext.Current.Request.Params["userId"]; var ShowAll = System.Web.HttpContext.Current.Request.Params["ShowAll"]; var FBudgetDept = System.Web.HttpContext.Current.Request.Params["FBudgetDept"]; var dicWhereDept = new Dictionary <string, object>(); var dicWhere = new Dictionary <string, object>(); if (userId != null && !string.IsNullOrEmpty(userId)) { new CreateCriteria(dicWhereDept) .Add(ORMRestrictions <string> .Eq("Dwdm", userId)).Add(ORMRestrictions <string> .Eq("Dylx", "97")); //闭区间 var deptList = CorrespondenceSettingsService.Find(dicWhereDept); List <string> deptL = new List <string>(); for (var i = 0; i < deptList.Data.Count; i++) { deptL.Add(deptList.Data[i].Dydm); } new CreateCriteria(dicWhere).Add(ORMRestrictions <IList <String> > .In("FBudgetDept", deptL)); } if (ShowAll == "1") { new CreateCriteria(dicWhere).Add(ORMRestrictions <List <string> > .In("FApproveStatus", new List <string>() { "2", "3" })); } else { new CreateCriteria(dicWhere).Add(ORMRestrictions <string> .Eq("FApproveStatus", "3")); //审核通过 } if (!string.IsNullOrEmpty(FBudgetDept)) { new CreateCriteria(dicWhere).Add(ORMRestrictions <string> .Eq("FBudgetDept", FBudgetDept)); } new CreateCriteria(dicWhere) .Add(ORMRestrictions <Enum> .Eq("FIfPerformanceAppraisal", EnumYesNo.Yes)) //是否绩效评价 .Add(ORMRestrictions <int> .Eq("FLifeCycle", 0)) //版本标识 .Add(ORMRestrictions <string> .Eq("FMidYearChange", "0")); //单据调整判断 (0表示最新的数据) DataStoreParam storeparam = this.GetDataStoreParam(); var result = BudgetMstService.LoadWithPage(storeparam.PageIndex, storeparam.PageSize, dicWhere, new string[] { "NgInsertDt Desc", "NgUpdateDt Desc" }); foreach (var data in result.Results) { if (string.IsNullOrEmpty(data.FAccount)) { data.FActualAmount = decimal.Round(0, 2);; } else { data.FActualAmount = decimal.Round(decimal.Parse(BudgetMstService.GetSJFSSbyXMCode(data.FAccount, data.FProjCode)), 2); } //data.FActualAmount = decimal.Round(decimal.Parse(BudgetMstService.GetSJFSSbyXMCode(data.FAccount, data.FProjCode)),2); data.FBalanceAmount = decimal.Round(data.FProjAmount - data.FActualAmount, 2); data.FImplRate = decimal.Round(data.FActualAmount * 100 / data.FProjAmount, 2); } return(DataConverterHelper.EntityListToJson <BudgetMstModel>(result.Results, (Int32)result.TotalItems)); }