2020-10-30

abp(net core)+easyui+efcore实现仓储管理系统——出库管理之四(五十三)

在上一篇" abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十二) "文章中我们已经对应用层的一些功能进行了实现。接下来我们要在展示层来实现前端功能。

abp(net core)+easyui+efcore实现仓储管理系统目录

abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二)abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四)abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五)abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六)abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八)abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九)abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)

abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八)

abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理一 (十九) abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七) abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之十(三十六) abp(net core)+easyui+efcore实现仓储管理系统——入库管理之一(三十七) abp(net core)+easyui+efcore实现仓储管理系统——入库管理之三存储过程(三十九) abp(net core)+easyui+efcore实现仓储管理系统——入库管理之四(四十) abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十二(四十八) abp(net core)+easyui+efcore实现仓储管理系统——出库管理之一(四十九) abp(net core)+easyui+efcore实现仓储管理系统——出库管理之二(五十) abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十一) abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十二)

 

      今天我们来创建出库单的控制器代码。

 

八 创建OutStockController继承自TPLMSControllerBase

 

     1. 在Visual Studio 2017的"解决方案资源管理器"中,右键单击在领域层"ABP.TPLMS.Web.Mvc"项目中的Controller目录。 选择"添加" > "新建项…"。如下图。

 

 

 

     2. 在弹出对话框"添加新项-ABP.TPLMS.Web.Mvc"中选择"控制器类",然后在名称输入框中输入"OutStockController",然后点击"添加"按钮。

 

      3.在OutStockController.cs文件中输入如下代码,通过构造函数注入对应用服务的依赖。

using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Abp.Runtime.Validation;using Abp.Web.Models;using ABP.TPLMS.Controllers;using ABP.TPLMS.Helpers;using ABP.TPLMS.Models.InStock;using ABP.TPLMS.OutStocks;using ABP.TPLMS.OutStocks.Dto;using Microsoft.AspNetCore.Mvc; namespace ABP.TPLMS.Web.Controllers{ public class OutStockController : TPLMSControllerBase  {   private readonly IOutStockOrderAppService _outOODAppService;   private readonly IOutStockOrderDetailAppService _outOODAppDetService;      private const int MAX_COUNT = 1000;   public OutStockController(IOutStockOrderAppService InSOAppService
, IOutStockOrderDetailAppService InSODAppService) { _outOODAppService = InSOAppService; _outOODAppDetService = InSODAppService; } public IActionResult Index() { return View(); } [DontWrapResult] [HttpPost] public string List() { var page = Request.Form["page"].ToString(); var size = Request.Form["rows"].ToString(); int pageIndex = page == null ? 1 : int.Parse(page); int pageSize = size == null ? 20 : int.Parse(size); PagedOutStockResultRequestDto paged = new PagedOutStockResultRequestDto(); paged.MaxResultCount = MAX_COUNT; paged.SkipCount = ((pageIndex - 1) < 0 ? 0 : pageIndex - 1) * pageSize; paged.BeginTime = DateTime.Now.AddMonths(-1); paged.EndTime = DateTime.Now.AddDays(1); var query = _outOODAppService.GetAll(paged).GetAwaiter().GetResult(); var isoList = query.Items; int total = query.TotalCount; var json = JsonEasyUI(isoList, total); return json; } [DontWrapResult] public string GetDetail(string no) { PagedOutStockDetailResultRequestDto paged = new PagedOutStockDetailResultRequestDto(); paged.MaxResultCount = MAX_COUNT; paged.OutStockNo = no; var outDetailList = _outOODAppDetService.GetAll(paged).GetAwaiter().GetResult().Items; for (int i = 0; i < outDetailList.Count; i++) { outDetailList[i].SeqNo = i + 1; } var json = JsonEasyUI(outDetailList); return json; } [HttpPost] [DisableValidation] public ActionResult Add(OutStockOrderDto iso) { string result = "NO"; try { PagedOutStockResultRequestDto condition = new PagedOutStockResultRequestDto(); condition.No = iso.No; var outExists = _outOODAppService.GetAll(condition).GetAwaiter().GetResult(); if (outExists.TotalCount > 0) { return Content(result); } CreateUpdateOutStockOrderDto cuIso = ObjectMapper
.Map<CreateUpdateOutStockOrderDto>(iso); // TODO: Add logic here var obj = _outOODAppService.Create(cuIso); result = "OK"; } catch (Exception ex) { result = "NO"; } return Content(result); } //[DontWrapResult] [HttpPost] [DisableValidation] public string Update(OutStockOrderDto iso) { string result = "NO"; List<OutStockOrderDetailDto> list = new List<OutStockOrderDetailDto>(); try { string head = Request.Form["postdata"]; if (!string.IsNullOrEmpty(head)) { //把json字符串转换成对象 iso = JsonHelper.Instance.Deserialize<OutStockOrderDto>(head); } list = GetDetailDtos(); if (iso == null) { return "没有表头!"; } iso.OutStockOrderDetail = list; result = _outOODAppService.Save(iso); } catch { } if (result == "OK") { return "更新成功!"; } else return "更新失败!"; } private List<OutStockOrderDetailDto> GetDetailDtos() { List<OutStockOrderDetailDto> list = new List<OutStockOrderDetailDto>(); string deleted = Request.Form["deleted"]; string inserted = Request.Form["inserted"]; string updated = Request.Form["updated"]; // TODO: Add update logic here if (!string.IsNullOrEmpty(deleted)) { //把json字符串转换成对象 List<OutStockOrderDetailDto> listDeleted = JsonHelper.Instance
.Deserialize<List<OutStockOrderDetailDto>>(deleted); //TODO 下面就可以根据转换后的对象进行相应的操作了 if (listDeleted != null && listDeleted.Count > 0) { list.AddRange(listDeleted.ToArray()); } } if (!string.IsNullOrEmpty(inserted)) { //把json字符串转换成对象 List<OutStockOrderDetailDto> listInserted = JsonHelper.Instance
.Deserialize<List<OutStockOrderDetailDto>>(inserted); if (listInserted != null && listInserted.Count > 0) { list.AddRange(listInserted.ToArray()); } } if (!string.IsNullOrEmpty(updated)) { //把json字符串转换成对象 List<OutStockOrderDetailDto> listUpdated = JsonHelper.Instance
.Deserialize<List<OutStockOrderDetailDto>>(updated); if (listUpdated != null && listUpdated.Count > 0) { list.AddRange(listUpdated.ToArray()); } } return list; } [HttpPost] [DisableValidation] public ActionResult ImportInStockOrder(CargoModel isoder) { string result = "NO"; try { // TODO: 导入货物信息 result = _outOODAppService.ImportInStockDetail(isoder.Ids, isoder.No); } catch { } return Content(result); } [HttpPost] [DontWrapResult] public ActionResult Delete(string ids) { string result = "NO"; try { // TODO: Add Delete logic here bool flag = _outOODAppService.DeleteById(ids); if (flag) { result = "OK"; } } catch { } return Content(result); } }}

 

原文转载:http://www.shaoqun.com/a/484788.html

telegram:https://www.ikjzd.com/w/1734

汇通达:https://www.ikjzd.com/w/1758

环球易购:https://www.ikjzd.com/w/1034


在上一篇"abp(netcore)+easyui+efcore实现仓储管理系统——出库管理之三(五十二)"文章中我们已经对应用层的一些功能进行了实现。接下来我们要在展示层来实现前端功能。abp(netcore)+easyui+efcore实现仓储管理系统目录abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)abp(netcore)+easyui+efcor
pocket:https://www.ikjzd.com/w/1903
敦煌网站:https://www.ikjzd.com/w/189
如何看待跨境品牌化卖货趋势?:https://www.ikjzd.com/home/112434
飞机场到中山红博城怎么走?大涌红博城乘车指南?:http://tour.shaoqun.com/a/70338.html
美丽逍遥的长滩岛 - :http://tour.shaoqun.com/a/51419.html

No comments:

Post a Comment