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

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

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

八 创建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);
} } }

abp(net core)+easyui+efcore实现仓储管理系统——出库管理之四(五十三)的更多相关文章

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

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

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

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  3. Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之七(五十六)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  4. Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之八(五十七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

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

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

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

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

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

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  8. abp(net core)+easyui+efcore实现仓储管理系统——出库管理之一(四十九)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  9. abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十三)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

随机推荐

  1. 刷题[安恒DASCTF2020四月春季赛]Ez unserialize

    解题思路 打开直接源码,没别的,审就完事了 代码审计 <?php show_source("index.php"); function write($data) { retu ...

  2. MySQL: 1、MySQL基础

    一.数据库基本概念 1.什么是数据库? 数据就是存储和管理数据库的仓库,本质上是一个文件系统,以文件的方式将数据保存再电脑上 2.为什么使用数据库? 使用数据库存储数据用户可以方便的对数据库中的数据进 ...

  3. 转载:python的format格式化输出

    https://www.cnblogs.com/chunlaipiupiupiu/p/7978669.html python中format函数   ---恢复内容开始--- python中format ...

  4. Centos-显示开机信息-dmesg

    dmesg 显示开机信息,开机时内核将开机信息存储在系统缓冲区(ring buffer)中,存储在 /var/log/dmesg文件中

  5. SpringBoot-05-web开发

    5. SpringBoot Web开发 5.1 web开发探究 简介 SpringBoot最大的特点就是自动装配! 使用SpringBoot的步骤: 创建一个SpringBoot应用,选择我们需要的模 ...

  6. SPI应用 用SPI总线读取气压传感器SCP1000的数据

    Using SPI to read a Barometric Pressure Sensor This example shows how to use the SPI (Serial Periphe ...

  7. javascript之判断数组的几种方法

    今天和小伙伴一起出去吃饭,有个小伙伴突然问我,你是前端是吧,问一下现在前端判断数组都有哪些方法,哈哈不知道是不是考我,当时没有说全,吃过饭后看了下自己以前的小笔记这里总结一下目前知道的所有对于数组的判 ...

  8. Word云(标签云)生成器控件。net Windows。形式在c#中

    下载demo - 37.1 KB 下载source code - 48.7 KB 背景 这种控制方式的灵感来自于一种名为Wordle的基于网络的免费单词云生成器.实际上,这个控件是我的项目http:/ ...

  9. Python 中 pip 工具的安装与使用

    pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具. Python 2 ...

  10. 还不会ida*算法?看完这篇或许能理解点。

    IDA* 算法分析 IDA* 本质上就是带有估价函数和迭代加深优化的dfs与,A * 相似A *的本质便是带 有估价函数的bfs,估价函数是什么呢?估价函数顾名思义,就是估计由目前状态达 到目标状态的 ...