コード例 #1
0
        /// <summary>
        /// 根据用款计划的主键获取相关数据集合
        /// </summary>
        /// <param name="phid">主键</param>
        /// <returns></returns>
        public ExpenseAllModel GetExpenseAllModel(long phid)
        {
            ExpenseAllModel        expenseAll  = new ExpenseAllModel();
            ExpenseMstModel        expenseMst  = new ExpenseMstModel();
            List <ExpenseDtlModel> expenseDtls = new List <ExpenseDtlModel>();
            List <ExpenseHxModel>  expenseHxes = new List <ExpenseHxModel>();
            var expenses = this.ExpenseMstRule.Find(t => t.PhId == phid);

            if (expenses != null && expenses.Count > 0)
            {
                RichHelpDac helpdac = new RichHelpDac();
                helpdac.CodeToName <ExpenseMstModel>(expenses, "FDeclarationunit", "FDeclarationunit_EXName", "sb_orglist", "");
                helpdac.CodeToName <ExpenseMstModel>(expenses, "FDeclarationDept", "FDeclarationDept_EXName", "dept4ocode", "");
                helpdac.CodeToName <ExpenseMstModel>(expenses, "FBudgetDept", "FBudgetDept_EXName", "ys_orglist", "");
                helpdac.CodeToName <ExpenseMstModel>(expenses, "FExpenseCategory", "FExpenseCategory_EXName", "GHExpenseCategory", "");
                helpdac.CodeToName <ExpenseMstModel>(expenses, "FApprover", "FApprover_EXName", "fg3_user", "");
                expenseMst = expenses[0];
                if (expenseMst.FApprovestatus != "3")
                {
                    throw new Exception("已审批的单据才能进行核销!");
                }
                if (expenseMst.FIfpurchase == 1 || expenseMst.FLifeCycle != 0)
                {
                    throw new Exception("作废据不能进行核销!");
                }
                decimal returnAllAmount = 0;
                decimal payAllAmount    = 0;
                expenseDtls = this.ExpenseDtlRule.Find(t => t.MstPhid == phid).ToList(); //明细数据也就是额度返回的数据
                if (expenseDtls != null && expenseDtls.Count > 0)
                {
                    //RichHelpDac helpdac = new RichHelpDac();
                    helpdac.CodeToName <ExpenseDtlModel>(expenseDtls, "FBudgetaccounts", "FBudgetaccounts_EXName", "GHBudgetAccounts", "");
                    helpdac.CodeToName <ExpenseDtlModel>(expenseDtls, "FExpenseschannel", "FExpenseschannel_EXName", "GHExpensesChannel", "");
                    helpdac.CodeToName <ExpenseDtlModel>(expenseDtls, "FSourceoffunds", "FSourceoffunds_EXName", "GHSourceOfFunds", "");
                    foreach (var dtl in expenseDtls)
                    {
                        returnAllAmount = returnAllAmount + dtl.FAmount;
                        payAllAmount    = payAllAmount + dtl.FAmount;
                    }
                }
                expenseHxes = this.ExpenseHxRule.Find(t => t.MstPhid == phid).ToList();//核销明细数据
                if (expenseHxes != null && expenseHxes.Count > 0)
                {
                    foreach (var hx in expenseHxes)
                    {
                        returnAllAmount = returnAllAmount - hx.FAmount;
                    }
                }
                expenseAll.ExpenseMst      = expenseMst;
                expenseAll.ExpenseDtls     = expenseDtls;
                expenseAll.ExpenseHxs      = expenseHxes;
                expenseAll.ReturnAllAmount = returnAllAmount;
                expenseAll.PayAllAmount    = payAllAmount;
            }
            else
            {
                throw new Exception("此用款计划数据不存在!");
            }
            return(expenseAll);
        }
コード例 #2
0
        public string GetExpenseMstInfo([FromUri] long id)
        {
            ExpenseAllModel ExpenseAll = new ExpenseAllModel();

            ExpenseAll.ExpenseMst  = ExpenseMstService.Find(id).Data;
            ExpenseAll.ExpenseDtls = ExpenseMstService.FindExpenseDtlByForeignKey(id).Data.ToList();
            ExpenseAll.ExpenseHxs  = ExpenseMstService.FindExpenseHxByForeignKey(id).Data.ToList();
            //用款计划对应的附件
            var qtAttachments = this.QtAttachmentService.Find(t => t.RelPhid == id && t.BTable == "YS3_EXPENSEMST").Data;

            if (qtAttachments != null && qtAttachments.Count > 0)
            {
                ExpenseAll.QtAttachments = qtAttachments.ToList();
            }
            return(DataConverterHelper.SerializeObject(ExpenseAll));
        }