/// <summary> /// 管理员重新发送凭证邮件 /// </summary> /// <param name="Id"></param> /// <returns></returns> public JsonResult ExpenseAccountantCheckSendEmail(string Id) { var retModel = new JsonReturnModel(); try { var expenseReimbursement = inn.newItem("b_ExpenseReimbursement", "get"); expenseReimbursement.setAttribute("id", Id); var result = expenseReimbursement.apply(); if (!result.isError()) { string b_RecordNo = result.getProperty("b_recordno"); string b_Employee = result.getProperty("b_employee"); if (!string.IsNullOrEmpty(b_RecordNo) && !string.IsNullOrEmpty(b_Employee)) { ExpenseReimbursementBll.ExpenseAccountantCheckSendEmail(inn, b_Employee, b_RecordNo); } } } catch (Exception ex) { retModel.AddError("errorMessage", ex.Message); } return(Json(retModel, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 导出凭证清单 /// </summary> /// <param name="searchValue"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="status"></param> /// <returns></returns> public FileResult ExportExpenseReimbursementByCondition(string searchValue, DateTime?startTime, DateTime?endTime, string status) { List <ApiExpenseReimbursementEntity> list = new List <ApiExpenseReimbursementEntity>(); int total = 0; var dataList = GetSearchExpenseReimbursementList(inn, Userinfo.Roles, out total, null, searchValue, startTime, endTime, status, Userinfo.UserName); if (dataList != null) { foreach (var item in dataList) { if (string.IsNullOrEmpty(item.status)) { item.status = "End"; } if (item.status == "Expense Accountant Creation" || item.status == "End") { List <ApiExpenseReimbursementEntity> datas = ExpenseReimbursementBll.SendExpenseAccountantCreation(inn, item.Id); if (datas != null) { List <ApiExpenseReimbursementEntity> newApiEntity = new List <ApiExpenseReimbursementEntity>(); foreach (var data in datas) { if (data.b_TaxRate > 0) { int rateInt = int.Parse((data.b_TaxRate.Value * double.Parse("100")).ToString()); TaxCodeTypeList?obj = EnumDescription.GetEnumByValue <TaxCodeTypeList>(rateInt); string textDescription = EnumDescription.GetFieldText(obj); //根据描述获取对应的科目 string subject = TaxCodeConfigureBll.GeTaxCodeConfigureByText(textDescription); data.DMBTR = data.b_TaxFreeAmount; ApiExpenseReimbursementEntity entity = new ApiExpenseReimbursementEntity(); entity.BUKRS = data.BUKRS; entity.XBLNR = data.XBLNR; entity.BLDAT = data.BLDAT; entity.BUDAT = data.BUDAT; entity.BKTXT = data.BKTXT; entity.NUMPG = data.NUMPG; entity.PROTYP = data.PROTYP; entity.POSID = data.POSID; entity.HKONT = subject; entity.DMBTR = data.b_Tax; entity.KOSTL = ""; entity.SGTXT = data.SGTXT; entity.AUFNR = data.AUFNR; newApiEntity.Add(data); newApiEntity.Add(entity); } else { newApiEntity.Add(data); } } //计算合计金额 ApiExpenseReimbursementEntity totalEntity = new ApiExpenseReimbursementEntity(); totalEntity.BUKRS = newApiEntity.First().BUKRS; totalEntity.XBLNR = newApiEntity.First().XBLNR; totalEntity.BLDAT = newApiEntity.First().BLDAT; totalEntity.BUDAT = newApiEntity.First().BUDAT; totalEntity.BKTXT = newApiEntity.First().b_StaffNo; totalEntity.HKONT = "2241999999"; totalEntity.DMBTR = newApiEntity.Select(x => x.DMBTR).Sum(); newApiEntity.Add(totalEntity); list.AddRange(newApiEntity); } } } } Stream ms = ExportExpenseReimbursementByData(list); return(File(ms, "application/vnd.ms-excel", "凭证清单" + ".xls")); }
/// <summary> /// 打印 /// </summary> /// <param name="id"></param> /// <returns></returns> public ViewResult Print(string id) { Item result = ExpenseReimbursementBll.GetExpenseReimbursementObjById(inn, id); //拆解数据 ExpenseReimbursementModel model = new ExpenseReimbursementModel(); model.Id = result.getProperty("id"); model.b_RecordNo = result.getProperty("b_recordno"); model.b_CompanyCode = result.getProperty("b_companycode"); model.b_ReimbursementPlace = result.getProperty("b_reimbursementplace"); model.b_IsBudgetary = result.getProperty("b_isbudgetary") == "1" ? true : false; model.b_Preparer = result.getProperty("b_preparer"); model.b_PreparerNo = result.getProperty("b_preparerno"); model.b_ApplicationDate = DateTime.Parse(result.getProperty("b_applicationdate")).ToString("yyyy-MM-dd"); model.b_Employee = result.getProperty("b_employee"); model.b_StaffNo = result.getProperty("b_staffno"); model.b_Position = result.getProperty("b_position"); model.b_Dept = result.getProperty("b_dept"); model.b_CostCenter = result.getProperty("b_costcenter"); model.b_Tel = result.getProperty("b_tel"); model.b_AdvancedAmount = !string.IsNullOrEmpty(result.getProperty("b_advancedamount")) ? decimal.Parse(result.getProperty("b_advancedamount")) : 0; model.b_TotalExpense = !string.IsNullOrEmpty(result.getProperty("b_totalexpense")) ? decimal.Parse(result.getProperty("b_totalexpense")) : 0; model.b_DueCompany = result.getProperty("b_duecompany"); model.b_IsHangUp = result.getProperty("b_ishangup") == "1" ? true : false; model.b_AmountInWords = result.getProperty("b_amountinwords"); model.b_TotalAmount = !string.IsNullOrEmpty(result.getProperty("b_totalamount")) ? decimal.Parse(result.getProperty("b_totalamount")) : 0; model.b_Type = result.getProperty("b_type"); model.b_AttachmentsQuantity = !string.IsNullOrEmpty(result.getProperty("b_attachmentsquantity")) ? int.Parse(result.getProperty("b_attachmentsquantity")) : 0; model.b_LineLeader = result.getProperty("b_lineleader"); model.b_DepartmentLeader = result.getProperty("b_departmentleader"); model.b_DivisionVP = result.getProperty("b_divisionvp"); model.OldRemark = result.getProperty("b_remark"); //报销明细 Item Relation = result.getRelationships("R_ReimbursementItem"); if (Relation.getItemCount() > 0) { model.ReimbursementItems = new List <ReimbursementItem>(); for (int i = 0; i < Relation.getItemCount(); i++) { Item ItemObJ = Relation.getItemByIndex(i).getRelatedItem(); ReimbursementItem itemModel = new ReimbursementItem(); itemModel.Id = ItemObJ.getProperty("id"); itemModel.b_Date = !string.IsNullOrEmpty(ItemObJ.getProperty("b_date")) ? DateTime.Parse(ItemObJ.getProperty("b_date")).ToString("yyyy-MM-dd") : ""; itemModel.b_CategoryNumber = ItemObJ.getProperty("b_categorynumber"); itemModel.b_ProjectName = ItemObJ.getProperty("b_projectname"); itemModel.b_BudgetNumber = ItemObJ.getProperty("b_budgetnumber"); itemModel.b_Currency = ItemObJ.getProperty("b_currency"); itemModel.b_Rate = !string.IsNullOrEmpty(ItemObJ.getProperty("b_rate")) ? float.Parse(ItemObJ.getProperty("b_rate")) : 0; itemModel.b_OriginalCurrency = !string.IsNullOrEmpty(ItemObJ.getProperty("b_originalcurrency")) ? decimal.Parse(ItemObJ.getProperty("b_originalcurrency")) : 0; itemModel.b_Count = !string.IsNullOrEmpty(ItemObJ.getProperty("b_count")) ? int.Parse(ItemObJ.getProperty("b_count")) : 0; itemModel.b_TaxRate = !string.IsNullOrEmpty(ItemObJ.getProperty("b_taxrate")) ? float.Parse(ItemObJ.getProperty("b_taxrate")) : 0; itemModel.b_Tax = !string.IsNullOrEmpty(ItemObJ.getProperty("b_tax")) ? decimal.Parse(ItemObJ.getProperty("b_tax")) : 0; itemModel.b_TaxFreeAmount = !string.IsNullOrEmpty(ItemObJ.getProperty("b_taxfreeamount")) ? decimal.Parse(ItemObJ.getProperty("b_taxfreeamount")) : 0; itemModel.b_CNYSubtotal = !string.IsNullOrEmpty(ItemObJ.getProperty("b_cnysubtotal")) ? decimal.Parse(ItemObJ.getProperty("b_cnysubtotal")) : 0; model.ReimbursementItems.Add(itemModel); } } //借款明细 Item loanItemRelation = result.getRelationships("R_LoanItem"); if (loanItemRelation.getItemCount() > 0) { model.LoanItems = new List <LoanItem>(); for (int i = 0; i < loanItemRelation.getItemCount(); i++) { Item ItemObJ = loanItemRelation.getItemByIndex(i).getRelatedItem(); LoanItem item = new LoanItem(); item.id = ItemObJ.getProperty("id"); item.b_LoanOrderNo = ItemObJ.getProperty("b_loanorderno"); item.b_Date = !string.IsNullOrEmpty(ItemObJ.getProperty("b_date")) ? DateTime.Parse(ItemObJ.getProperty("b_date")).ToString("yyyy-MM-dd") : ""; item.b_Borrower = ItemObJ.getProperty("b_borrower"); item.b_LoanAmount = !string.IsNullOrEmpty(ItemObJ.getProperty("b_loanamount")) ? decimal.Parse(ItemObJ.getProperty("b_loanamount")) : 0; item.b_LoanReason = ItemObJ.getProperty("b_loanreason"); model.LoanItems.Add(item); } } //日志信息 model.HistoryList = GetExpenseReimbursementHistoryList(id); foreach (var item in model.HistoryList) { item.Created_on = item.Create_onStr.GetValueOrDefault().ToString("yyyy-MM-dd HH:mm:ss"); } return(View("~/Views/ExpenseReimbursement/PrintExpenseReimbursement.cshtml", model)); }