Esempio n. 1
0
        /// <summary>
        /// 保存数据
        /// </summary>
        /// <returns>返回Json串</returns>
        public string Save()
        {
            string performancemstformData = System.Web.HttpContext.Current.Request.Form["performancemstformData"];
            //string performancedtlevalgridData = System.Web.HttpContext.Current.Request.Form["performancedtlevalgridData"];
            string performancedtltextcontformData = System.Web.HttpContext.Current.Request.Form["performancedtltextcontformData"];
            string performancedtlbudtlgridData    = System.Web.HttpContext.Current.Request.Form["performancedtlbudtlgridData"];
            string performancedtltarimplgridData  = System.Web.HttpContext.Current.Request.Form["performancedtltarimplgridData"];
            long   id = Convert.ToInt64(System.Web.HttpContext.Current.Request.Form["id"]);

            var performancemstforminfo = DataConverterHelper.JsonToEntity <PerformanceMstModel>(performancemstformData);
            //var performancedtlevalgridinfo = DataConverterHelper.JsonToEntity<PerformanceDtlEvalModel>(performancedtlevalgridData);
            var performancedtltextcontforminfo = DataConverterHelper.JsonToEntity <PerformanceDtlTextContModel>(performancedtltextcontformData);
            var performancedtlbudtlgridinfo    = DataConverterHelper.JsonToEntity <PerformanceDtlBuDtlModel>(performancedtlbudtlgridData);
            var performancedtltarimplgridinfo  = DataConverterHelper.JsonToEntity <PerformanceDtlTarImplModel>(performancedtltarimplgridData);
            var results = BudgetMstService.FindBudgetDtlPerformTargetByForeignKey(id);
            List <PerformanceDtlTarImplModel> performanceDtlTarImplModels = PerformanceMstService.ConvertSaveData(results.Data, performancedtltarimplgridinfo.AllRow);

            SavedResult <Int64> savedresult = new SavedResult <Int64>();

            try
            {
                savedresult = PerformanceMstService.SavePerformanceMst(performancemstforminfo.AllRow[0], performancedtltextcontforminfo.AllRow, performancedtlbudtlgridinfo.AllRow, performancedtltarimplgridinfo.AllRow);
            }
            catch (Exception ex)
            {
                savedresult.Status = ResponseStatus.Error;
                savedresult.Msg    = ex.Message.ToString();
            }
            return(DataConverterHelper.SerializeObject(savedresult));
        }
Esempio n. 2
0
 public string GetAmountOfMoney([FromUri] string xmPhid, [FromUri] long phid, [FromUri] PaymentModel payment)
 {
     try
     {
         if (string.IsNullOrEmpty(xmPhid))
         {
             //throw new Exception("项目主键不能为空!");
             Dictionary <string, object> dic        = new Dictionary <string, object>();
             List <BudgetMstModel>       budgetMsts = BudgetMstService.GetYsList(payment.FOrgphid, payment.FDepphid, payment.FYear);
             List <long> xmPhidList = budgetMsts.Select(x => x.PhId).ToList();
             var         result     = this.PaymentMstService.GetSummary2(xmPhidList);
             decimal     used       = 0;
             if (result.Count > 0)
             {
                 foreach (var res in result)
                 {
                     used = used + (decimal)res.Value;
                 }
             }
             decimal sum = 0;
             foreach (long a in xmPhidList)
             {
                 var  total = this.BudgetMstService.GetDxbzDtl(a, payment.FOrgphid);
                 Type type  = total.GetType();
                 sum += (decimal)type.GetProperty("FAmount").GetValue(total);
             }
             decimal surplus = sum - used;
             result.Add("Sum", sum);
             result.Add("Surplus", surplus);
             return(DataConverterHelper.SerializeObject(result));
         }
         else
         {
             Dictionary <string, object> dic = new Dictionary <string, object>();
             var     result = this.PaymentMstService.GetSummary(xmPhid, phid);
             decimal used   = 0;
             if (result.Count > 0)
             {
                 foreach (var res in result)
                 {
                     used = used + (decimal)res.Value;
                 }
             }
             var     total   = this.BudgetMstService.GetDxbzDtl(long.Parse(xmPhid), payment.FOrgphid);
             Type    type    = total.GetType();
             decimal sum     = (decimal)type.GetProperty("FAmount").GetValue(total);
             decimal surplus = sum - used;
             result.Add("Sum", sum);
             result.Add("Surplus", surplus);
             return(DataConverterHelper.SerializeObject(result));
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 根据预算phid判断是否可以引用
        /// </summary>
        /// <returns></returns>
        public string JudgeIfAllowRefence()
        {
            long id = Convert.ToInt64(System.Web.HttpContext.Current.Request.Params["id"]);  //预算表主键
            var  ys = BudgetMstService.Find(id).Data;

            if (ys.FIfPerformanceAppraisal == EnumYesNo.Yes)
            {
                //若需要绩效评价判断是否存在已上报的自评单据
                var dicWhere = new Dictionary <string, object>();
                new CreateCriteria(dicWhere).Add(ORMRestrictions <Int64> .Eq("YSMstPhId", id))
                .Add(ORMRestrictions <string> .Eq("FAuditStatus", "2"));
                var result = PerformanceMstService.Find(dicWhere).Data;
                if (result.Count == 0)
                {
                    return("false");
                }
            }
            return("true");
        }
Esempio n. 4
0
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <returns>返回Json串</returns>
        public string Delete()
        {
            long id = Convert.ToInt64(System.Web.HttpContext.Current.Request.Params["id"]);              //主表主键

            FindedResults <SourceOfFundsModel> sourceOfFunds = SourceOfFundsService.Find(t => t.PhId == id, "");
            string DM = sourceOfFunds.Data[0].DM;
            FindedResults <BudgetDtlBudgetDtlModel>  findedResults  = BudgetMstService.FindBudgeAccountByZJDM(DM);
            FindedResults <ProjectDtlBudgetDtlModel> findedResults2 = ProjectMstService.FindProjectDtlBudgetDtlMstByZJDM(DM);

            if (findedResults.Data.Count > 0 || findedResults2.Data.Count > 0)
            {
                findedResults.Status = "failure";
                findedResults.Msg    = "当前资金来源已被引用,无法删除!";
                return(DataConverterHelper.SerializeObject(findedResults));
            }

            var deletedresult = SourceOfFundsService.Delete <System.Int64>(id);

            return(DataConverterHelper.SerializeObject(deletedresult));
        }
Esempio n. 5
0
        /// <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));
            }
        }
Esempio n. 6
0
        /// <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));
        }