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

  • A+
所属分类:.NET技术
摘要

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


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; }     }  }