public async Task <JsonResult> Stop(StopOrderViewModel stopOrderViewModel) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary())); } var result = await ChangeStep(new string[] { stopOrderViewModel.OrderId }, OrderStatus.Delete); if (stopOrderViewModel.DesginAmount <= 0 && stopOrderViewModel.OtherAmount <= 0) { return(Json(result)); } var manager = new ReconciliationManager(User); var reconciliation = new Reconciliation { CustomerId = stopOrderViewModel.CustomerId, CustomerName = stopOrderViewModel.CustomerName, Amount = stopOrderViewModel.DesginAmount + stopOrderViewModel.OtherAmount, CompanyId = User.CompanyId, Type = ReconciliationType.Arrearage, Created = DateTime.Now, CreatorId = User.Id, Remark = $"{stopOrderViewModel.OrderId}消单," + (stopOrderViewModel.DesginAmount > 0 ? $"设计费用{stopOrderViewModel.DesginAmount}," : "") + (stopOrderViewModel.OtherAmount > 0 ? $"其他费用{ stopOrderViewModel.OtherAmount}" : "") }; await manager.CreateAsync(reconciliation); return(Json(result)); }
public async Task <FileStreamResult> Export() { var manager = new ReconciliationManager(User); var reconciliations = await manager.GetCustomerReconciliationsAsync(); var titles = new string[] { "序号", "日期", "付/欠款", "金额(元)", "备注" }; var result = Dickson.Web.Helper.ExcelHelp.Export(titles, "对账记录", ws => { var row = 2; int index = 1; foreach (var reconciliation in reconciliations) { ws.Cells[row, 1].Value = index; ws.Cells[row, 2].Value = reconciliation.Created.ToString(SaleManagentConstants.UI.DateStringFormat); ws.Cells[row, 3].Value = reconciliation.Type.GetDisplayName(); ws.Cells[row, 4].Value = reconciliation.Amount; ws.Cells[row, 5].Value = reconciliation.Remark; row++; index++; } ; }); return(result); }
public async Task <JsonResult> GetTotalSurplusArrearage(string customerId) { var manager = new ReconciliationManager(User); var result = await manager.GetTotalSurplusArrearageAsync(customerId); return(Json(true, string.Empty, result)); }
public async Task <ActionResult> List() { var manager = new ReconciliationManager(User); var reconciliations = await manager.GetCustomerReconciliationsAsync(); return(View(reconciliations)); }
public async Task <ActionResult> AccountStatistics(ReportQueryBaseDto reportQuery) { if (!Request.IsAjaxRequest()) { return(View(reportQuery)); } var manager = new ReconciliationManager(User); var list = await manager.GetAccountStatisticsAsync(reportQuery); return(Json(true, string.Empty, list)); }
public async Task <ActionResult> Edit(int id) { if (id <= 0) { return(Json(false, "参数错误")); } var manager = new ReconciliationManager(User); var reconciliation = await manager.GetReconciliationAsync(id); var reconciliationItemViewModel = new ReconciliationItemViewModel(reconciliation); return(View(reconciliationItemViewModel)); }
public async Task <JsonResult> Edit(ReconciliationItemViewModel request) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary())); } var manager = new ReconciliationManager(User); var reconciliation = await manager.GetReconciliationAsync(request.Id); reconciliation.Type = request.Type; reconciliation.Amount = request.Amount; reconciliation.Remark = request.Remark; var result = await manager.CreateAsync(reconciliation); return(Json(true, string.Empty, result)); }
public async Task <JsonResult> Delete(int id) { var manager = new ReconciliationManager(User); var reconciliation = await manager.GetReconciliationAsync(id); if (reconciliation == null) { return(Json(false, "对账记录不存在")); } if (reconciliation.Remark.Contains("出货")) { return(Json(false, "出货单的对账记录只能取消审核出货单,不能直接删除")); } var result = await manager.DeleteReconciliationAsync(reconciliation); return(Json(true, string.Empty, result));; }
public async Task <ActionResult> List(ReconciliationQueryRequest request) { if (!Request.IsAjaxRequest()) { return(View(request)); } var manager = new ReconciliationManager(User); var paging = await manager.GetReconciliationsAsync(request.Start, request.Take, request.GetReconciliationListQueryFilter()); var reconciliations = paging.List.Select(u => { return(new ReconciliationItemViewModel(u)); }); return(Json(true, string.Empty, new { paging.Total, List = reconciliations, })); }
public async Task <JsonResult> Add(ReconciliationItemViewModel request) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary())); } var manager = new ReconciliationManager(User); var reconciliation = new Reconciliation { CustomerId = request.CustomerId, CustomerName = request.CustomerName, Amount = request.Amount, CompanyId = User.CompanyId, Type = request.Type, Created = DateTime.Now, CreatorId = User.Id, Remark = request.Remark }; var result = await manager.CreateAsync(reconciliation); return(Json(true, string.Empty, result)); }
public async Task <FileStreamResult> AccountStatisticsExport(ReportQueryBaseDto reportQuery) { var manager = new ReconciliationManager(User); var accountStatistics = await manager.GetAccountStatisticsAsync(reportQuery); var titles = new string[] { "序号", "客户", "累积消费(元)", "当前欠款(元)" }; var result = Dickson.Web.Helper.ExcelHelp.Export(titles, "账目报表", ws => { var row = 2; int index = 1; foreach (var accountStatistic in accountStatistics) { ws.Cells[row, 1].Value = index; ws.Cells[row, 2].Value = accountStatistic.CustomerName; ws.Cells[row, 3].Value = accountStatistic.PaymentInQuery; ws.Cells[row, 4].Value = accountStatistic.SurplusArrearage; row++; index++; } ; }); return(result); }