abp(net core)+easyui+efcore实现仓储管理系统——出库管理之二(五十)
abp(net core)+easyui+efcore实现仓储管理系统目录
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八)
最近工作有点忙,已经有几个月没有更新了,计划在年前会把出库单管理写完。明年计划升级到Net Core 3.1或是net 5,具体看有没有空闲时间了。这就是最近的两个计划,不过有时候计划赶不上变化。
在上一篇文章中我们创建了出库单的实体类,并使用CodeFirst功能创建了数据库表,接下我们来创建一些有关与出库单有关的DTO类与查询分页类。
四、定义应用服务接口需要用到的DTO类
为了在进行查询出库单表头,我们需要创建, PagedOutStockResultRequestDto类,用来将查询条件数据传递到基础设施层.
1. 在Visual Studio 2017的“解决方案资源管理器”中,右键单击“ABP.TPLMS.Application”项目,在弹出菜单中选择“添加” > “新建文件夹”,并重命名为“OutStocks”
2. 使用鼠标右键单击我们刚才创建的“OutStocks”文件夹,在弹出菜单中选择“添加” > “新建文件夹”,并重命名为“Dto”。
3.右键单击“Dto”文件夹,然后选择“添加” > “类”。 将类命名为 PagedOutStockResultRequestDto,然后选择“添加”。代码如下。
using Abp.Application.Services.Dto;
using System;
using System.Collections.Generic;
using System.Text; namespace ABP.TPLMS.OutStocks.Dto
{ public class PagedOutStockResultRequestDto : PagedResultRequestDto
{ public string Keyword { get; set; }
public string InStockNo { get; set; }
public DateTime BeginTime { get; set; } DateTime m_EndTime; /// <summary>
/// 查询截止日期,如果当前时间小于100年前,就给一个默认日期(明天)
/// </summary>
public DateTime EndTime { get { if (m_EndTime < DateTime.Now.AddYears(-100)) return DateTime.Now.AddDays(1); else return m_EndTime; }
set
{
m_EndTime = value; }
} public string OwnerName { get; set; } public string No { get; set; }
}
}
4.右键单击“Dto”文件夹,然后选择“添加” > “类”。 将类命名为 PagedOutStockDetailResultRequestDto,然后选择“添加”。此类根据入库单单号与出库单单号查询出库单的明细数据。代码如下。
using Abp.Application.Services.Dto;
using System;
using System.Collections.Generic;
using System.Text; namespace ABP.TPLMS.OutStocks.Dto
{ public class PagedOutStockDetailResultRequestDto : PagedResultRequestDto
{ public string Keyword { get; set; } public string InStockNo { get; set; } public string OutStockNo { get; set; } }
}
5.右键单击“Dto”文件夹,然后选择“添加” > “类”。 将类命名为 OutStockOrderDto,然后选择“添加”。代码如下。
using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using ABP.TPLMS.Entitys;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text; namespace ABP.TPLMS.OutStocks.Dto
{ [AutoMapFrom(typeof(OutStockOrder))]
public class OutStockOrderDto : EntityDto<int>
{ public string No { get; set; } /// <summary>
/// 客户名称
/// </summary>
public string CustomerName { get; set; } /// <summary>
/// 车牌号
/// </summary>
public string VehicleNo { get; set; } /// <summary>
/// 客户代码
/// </summary>
public string CustomerCode { get; set; } /// <summary>
/// 收货人代码
/// </summary>
public string ConsigneeCode { get; set; } /// <summary>
/// 收货人
/// </summary>
public string Consignee { get; set; } /// <summary>
/// 收货人社会信用代码
/// </summary>
public string ConsigneeSCCD { get; set; } /// <summary>
/// 托运人,发货人
/// </summary>
public string Shipper { get; set; } /// <summary>
/// 托运人,发货人代码
/// </summary>
public string ShipperCode { get; set; } /// <summary>
/// 托运人,发货人社会信用代码
/// </summary>
public string ShipperSCCD { get; set; } /// <summary>
/// 通知人
/// </summary>
public string Notify { get; set; } /// <summary>
/// 通知人代码
/// </summary>
public string NotifyCode { get; set; } /// <summary>
/// 通知人社会信用代码
/// </summary>
public string NotifySCCD { get; set; } /// <summary>
/// 送货单号
/// </summary>
public string DeliveryNo { get; set; } /// <summary>
/// 仓库号
/// </summary>
public string WarehouseNo { get; set; } /// <summary>
/// 货主
/// </summary> [StringLength(MaxLength)]
public string OwnerName { get; set; } public decimal Gwt { get; set; }
public decimal Nwt { get; set; }
public int PackageQty { get; set; } /// <summary>
/// 理货时间
/// </summary>
public string TallyTime { get; set; } /// <summary>
/// 理货员
/// </summary> public string TallyClerk { get; set; }
public string Oper { get; set; } public int Status { get; set; }
public string OwnerCode { get; set; } /// <summary>
/// 预计出库时间
/// </summary>
public string PreOutStockTime { get; set; } /// <summary>
/// 审核人
/// </summary>
public string Checker { get; set; }
public string CheckTime { get; set; } public string Remark { get; set; } public DateTime CreationTime { get; set; }
public string LastUpdateTime { get; set; } public string LastOper { get; set; } public List<OutStockOrderDetailDto> OutStockOrderDetail { get; set; } }
}
6.右键单击“Dto”文件夹,然后选择“添加” > “类”。 将类命名为 CreateUpdateOutStockOrderDto,然后选择“添加”。代码如下。
using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using ABP.TPLMS.Entitys;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text; namespace ABP.TPLMS.OutStocks.Dto
{ [AutoMapTo(typeof(OutStockOrder))] public class CreateUpdateOutStockOrderDto : EntityDto<int>
{ public const int MaxLength = 255; [StringLength(50)] [Required] public string No { get; set; } /// <summary>
/// 客户名称
/// </summary> [StringLength(MaxLength)] public string CustomerName { get; set; } /// <summary>
/// 车牌号
/// </summary> public string VehicleNo { get; set; } /// <summary>
/// 客户代码
/// </summary>
[StringLength(50)] public string CustomerCode { get; set; } /// <summary>
/// 收货人代码
/// </summary>
[Required]
public string ConsigneeCode { get; set; } /// <summary>
/// 收货人
/// </summary>
[Required]
public string Consignee { get; set; } /// <summary>
/// 收货人社会信用代码
/// </summary>
public string ConsigneeSCCD { get; set; } /// <summary>
/// 托运人,发货人
/// </summary>
[Required]
public string Shipper { get; set; } /// <summary>
/// 托运人,发货人代码
/// </summary>
[Required]
public string ShipperCode { get; set; } /// <summary>
/// 托运人,发货人社会信用代码
/// </summary>
public string ShipperSCCD { get; set; } /// <summary>
/// 通知人
/// </summary>
public string Notify { get; set; } /// <summary>
/// 通知人代码
/// </summary>
public string NotifyCode { get; set; } /// <summary>
/// 通知人社会信用代码
/// </summary>
public string NotifySCCD { get; set; } /// <summary>
/// 送货单号
/// </summary>
public string DeliveryNo { get; set; } /// <summary>
/// 仓库号
/// </summary>
public string WarehouseNo { get; set; } /// <summary>
/// 货主
/// </summary>
[StringLength(MaxLength)]
[Required]
public string OwnerName { get; set; } public decimal Gwt { get; set; }
public decimal Nwt { get; set; }
public int PackageQty { get; set; } /// <summary>
/// 理货时间
/// </summary>
[StringLength(20)]
public string TallyTime { get; set; } /// <summary>
/// 理货员
/// </summary> [StringLength(50)]
public string TallyClerk { get; set; } [StringLength(50)]
public string Oper { get; set; }
public int Status { get; set; } [StringLength(50)]
public string OwnerCode { get; set; } /// <summary>
/// 预计出库时间
/// </summary>
[StringLength(20)] public string PreOutStockTime { get; set; } /// <summary>
/// 审核人
/// </summary>
[StringLength(50)] public string Checker { get; set; }
[StringLength(20)] public string CheckTime { get; set; }
[StringLength(1000)] public string Remark { get; set; }
public DateTime CreationTime { get; set; } [StringLength(20)]
public string LastUpdateTime { get; set; } [StringLength(50)] public string LastOper { get; set; } public List<CreateUpdateInStockOrderDetailDto> InStockOrderDetail { get; set; } } }
7. 重复上面的第3,4,5步,我们来创建OutStockDetailDto与CreateUpdateOutStockDetailDto。
7.1 OutStockDetailDto
using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;
using ABP.TPLMS.Entitys;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace ABP.TPLMS.OutStocks.Dto
{
[AutoMapFrom(typeof(OutStockOrderDetail))]
public class OutStockOrderDetailDto : EntityDto<int>
{
public int SupplierId { get; set; }
public string CargoCode { get; set; }
public string HSCode { get; set; }
public string CargoName { get; set; }
public string Spcf { get; set; }
public string Unit { get; set; }
/// <summary>
/// 目的国
/// </summary>
public string DestCountry { get; set; }
/// <summary>
/// 原产国
/// </summary>
public string Country { get; set; }
public string Brand { get; set; }
public string Curr { get; set; }
public string Package { get; set; }
public decimal Length { get; set; }
public decimal Width { get; set; }
public decimal Height { get; set; }
public decimal Vol { get; set; }
public decimal Price { get; set; }
public decimal TotalAmt { get; set; }
public decimal GrossWt { get; set; }
public decimal NetWt { get; set; }
public DateTime CreationTime { get; set; }
public string InStockNo { get; set; }
public int InStockOrderDetailId { get; set; }
public decimal Qty { get; set; }
public decimal LawfQty { get; set; }
public decimal SecdLawfQty { get; set; }
public string LawfUnit { get; set; }
public string SecdLawfUnit { get; set; }
public string Batch { get; set; }
public string Loc { get; set; }
}
}
7.2 CreateUpdateOutStockDetailDto
using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;
using ABP.TPLMS.Entitys;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace ABP.TPLMS.OutStocks.Dto
{
[AutoMapTo(typeof(OutStockOrderDetail))]
public class CreateUpdateOutStockOrderDetailDto : EntityDto<int>
{
public const int MaxLength = 255;
public int SupplierId { get; set; }
[MaxLength(50)]
public string CargoCode { get; set; }
[MaxLength(10)]
public string HSCode { get; set; }
[MaxLength(MaxLength)]
public string CargoName { get; set; }
[MaxLength(MaxLength)]
public string Spcf { get; set; }
[MaxLength(20)]
public string Unit { get; set; }
/// <summary>
/// 目的国
/// </summary>
[MaxLength(20)]
public string DestCountry { get; set; }
/// <summary>
/// 原产国
/// </summary>
[MaxLength(20)]
public string Country { get; set; }
[MaxLength(50)]
public string Brand { get; set; }
[MaxLength(20)]
public string Curr { get; set; }
[MaxLength(20)]
public string Package { get; set; }
public decimal Length { get; set; }
public decimal Width { get; set; }
public decimal Height { get; set; }
public decimal Vol { get; set; }
public decimal Price { get; set; }
public decimal TotalAmt { get; set; }
public decimal GrossWt { get; set; }
public decimal NetWt { get; set; }
public DateTime CreationTime { get; set; }
[MaxLength(20)]
public string InStockNo { get; set; }
public int InStockOrderDetailId { get; set; }
public decimal Qty { get; set; }
public decimal LawfQty { get; set; }
public decimal SecdLawfQty { get; set; }
[MaxLength(20)]
public string LawfUnit { get; set; }
[MaxLength(20)]
public string SecdLawfUnit { get; set; }
[MaxLength(20)]
public string Batch { get; set; }
public string Loc { get; set; }
}
}
abp(net core)+easyui+efcore实现仓储管理系统——出库管理之二(五十)的更多相关文章
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十一)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十二)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之四(五十三)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之五(五十四)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之六(五十五)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之七(五十六)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之八(五十七)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之一(四十九)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之九(四十五)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
随机推荐
- java初探(1)之秒杀项目总结
在开始总结之前,先记录一个刚看到的博客,编程规约.该博客记录了一些java开发上的规范,可以在编码的时候引入这些规范. 无论流行框架一直怎么改变,web开发中的三层架构一直属于理论的基础存在. 表现层 ...
- 跟着尚硅谷系统学习Docker-【day08】
day08-20200723 p32.docker 安装redis [ docker pull redis] [docker run -p 6397:6397 -v /tmp/mydocker ...
- 存储过程中拼接SQL语句
很多时候我们需要利用参数在存储过程中重新组织SQL语句,在存储过程中拼接的SQL语句只是一个字符串,不会被直接执行,所以加一个execute执行它就可以了.具体看如下演示代码: 代码: set ANS ...
- Linux:apache安装
1.查询是否已安装 rpm -qa httpd 如果已安装,先卸载 发现有依赖包,先把依赖卸载 或者加上--nodeps参数,不考虑依赖,直接卸载 rpm -e --nodeps httpd-2. ...
- MySQL 8 安装教程(个人版)+创建用户
Mysql 8的安装教程 解压到指定目录如:D:\WinInstall\mysql-8.0.19-winx64这时候你需要在根目录下创建两个文件,分别是data文件夹和my.ini文件,然后使用编辑器 ...
- jzoj 3431. 【GDOI2014模拟】网格
Description 某城市的街道呈网格状,左下角坐标为A(0, 0),右上角坐标为B(n, m),其中n >= m.现在从A(0, 0)点出发,只能沿着街道向正右方或者正上方行走,且不能经过 ...
- HTML标签语言一览表
<html> ● 文件声明 让浏览器知道这是 html 文件 <head> ● 开头 提供文件整体资讯 <title> ● 标题 定义文件标题,将显示于浏览顶端 & ...
- Eclipse安装Mat工具分析教程
一.关于Mat MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找内存泄露以及查看内存消耗情况.MAT是基于Eclipse开发的,是一款免费的性能分析工 ...
- Blocks(POJ 3734)
原题如下: Blocks Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8020 Accepted: 3905 Desc ...
- 第2课 - 搭建Lua开发环境
第2课 - 搭建Lua开发环境 1. Lua 的优点 (1)Lua 使用标准的 ANSI C 进行开发,可以无缝集成到宿主程序,且几乎支持所有平台. (2)Lua 是开源且免费的软件,以源码的方式直接 ...