222
schangxiang@126.com
2025-05-06 bbd8b2922a59500444f70f0c11b4c76f63bd07f9
222
已添加1个文件
已修改12个文件
556 ■■■■ 文件已修改
CommonDLL/CmsQueryExtensions.dll 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CommonDLL/CmsQueryExtensions.dll
Binary files differ
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs
@@ -1,4 +1,4 @@
using CmsQueryExtensions.Extension;
using CmsQueryExtensions.Extension;
using Volo.Abp.Application.Dtos;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
@@ -106,22 +106,22 @@
    /// <summary>
    /// å¤–径(单位:mm)
    /// </summary>
    public string OuterDiameter { get; set; }
        public decimal?  OuterDiameter { get; set; }
    /// <summary>
    /// å¤–径(单位:mm)-查询关系运算符 
    /// </summary>
    public SearchFilterModeEnum OuterDiameter_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        public SearchFilterModeEnum OuterDiameter_FilterMode { get; set; }= SearchFilterModeEnum.精准查询;
    /// <summary>
    /// å£åŽšï¼ˆå•ä½ï¼šmm)
    /// </summary>
    public string WallThickness { get; set; }
        public decimal?  WallThickness { get; set; }
    /// <summary>
    /// å£åŽšï¼ˆå•ä½ï¼šmm)-查询关系运算符 
    /// </summary>
    public SearchFilterModeEnum WallThickness_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        public SearchFilterModeEnum WallThickness_FilterMode { get; set; }= SearchFilterModeEnum.精准查询;
    /// <summary>
    /// æè´¨ï¼ˆå¦‚:304不锈钢)
@@ -136,12 +136,12 @@
    /// <summary>
    /// é•¿åº¦ï¼ˆå•位:m)
    /// </summary>
    public string Length { get; set; }
        public decimal?  Length { get; set; }
    /// <summary>
    /// é•¿åº¦ï¼ˆå•位:m)-查询关系运算符 
    /// </summary>
    public SearchFilterModeEnum Length_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        public SearchFilterModeEnum Length_FilterMode { get; set; }= SearchFilterModeEnum.精准查询;
    /// <summary>
    /// æ˜¯å¦ä¸ºä¸»æ”¯ç®¡
@@ -232,16 +232,6 @@
    /// æ˜¯å¦ç¦ç”¨-查询关系运算符 
    /// </summary>
    public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.精准查询;
    /// <summary>
    ///
    /// </summary>
    public string ConcurrencyStamp { get; set; }
    /// <summary>
    /// -查询关系运算符
    /// </summary>
    public SearchFilterModeEnum ConcurrencyStamp_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// 
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs
@@ -1,7 +1,7 @@
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
/// <summary>
/// WmsMaterial创建参数对象
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨åˆ›å»ºå‚数对象
/// </summary>
public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase
{
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs
@@ -1,10 +1,10 @@
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using Volo.Abp.Application.Dtos;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
/// <summary>
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯åˆ›å»ºæˆ–更新基类
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨åˆ›å»ºæˆ–更新基类
/// </summary>
public abstract class WmsMaterialCreateOrUpdateDtoBase : ExtensibleEntityDto
{
@@ -31,12 +31,12 @@
    /// <summary>
    /// ä¸»å•位(如:kg、m、个)
    /// </summary>
    public string PrimaryUnit { get; set; }
        public string? PrimaryUnit { get; set; }
    /// <summary>
    /// è§„æ ¼/标准(如:GB/T 8163-2018)
    /// </summary>
    public string Standard { get; set; }
        public string? Standard { get; set; }
    /// <summary>
    /// å¤–径(单位:mm)
@@ -51,7 +51,7 @@
    /// <summary>
    /// æè´¨ï¼ˆå¦‚:304不锈钢)
    /// </summary>
    public string MaterialQuality { get; set; }
        public string? MaterialQuality { get; set; }
    /// <summary>
    /// é•¿åº¦ï¼ˆå•位:m)
@@ -59,38 +59,61 @@
    public decimal Length { get; set; }
    /// <summary>
    /// æ˜¯å¦ä¸ºä¸»æ”¯ç®¡ï¼ˆtrue: ä¸»æ”¯ç®¡, false: éžä¸»æ”¯ç®¡ï¼‰
        /// æ˜¯å¦ä¸ºä¸»æ”¯ç®¡
    /// </summary>
    public YesNoEnum IsMainBranch { get; set; }
    /// <summary>
    /// ç”Ÿäº§å·¥åŽ‚
    /// </summary>
    public string Factory { get; set; }
        public string? Factory { get; set; }
    /// <summary>
    /// è¯ä¹¦ç¼–号(如:压力容器认证)
        /// è¯ä¹¦ç¼–号
    /// </summary>
    public string Certification { get; set; }
        public string? Certification { get; set; }
    /// <summary>
    /// å†—余字段1 - é¢„留扩展用途
    /// </summary>
    public string RedundantField1 { get; set; }
        public string? RedundantField1 { get; set; }
    /// <summary>
    /// å†—余字段2 - é¢„留扩展用途
    /// </summary>
    public string RedundantField2 { get; set; }
        public string? RedundantField2 { get; set; }
    /// <summary>
    /// å†—余字段3 - é¢„留扩展用途
    /// </summary>
    public string RedundantField3 { get; set; }
        public string? RedundantField3 { get; set; }
        /// <summary>
        /// æŽ’序
        /// </summary>
        public int Sort { get; set; }
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    public virtual string Remark { get; set; }
        public string? Remark { get; set; }
        /// <summary>
        /// æ˜¯å¦ç¦ç”¨
        /// </summary>
        public bool? IsDisabled { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string? CreatorId { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string? LastModifierId { get; set; }
    /// <summary>
    /// Initializes a new instance of the <see cref="WmsMaterialCreateOrUpdateDtoBase"/> class.
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs
@@ -1,11 +1,13 @@
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
/// <summary>
/// WmsMaterial数据参数对象
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨æ•°æ®å‚数对象
/// </summary>
public class WmsMaterialDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
{
@@ -34,7 +36,6 @@
             return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType);
        }
    }
    /// <summary>
    /// ç‰©æ–™ç±»åž‹ï¼ˆæžšä¸¾å€¼ï¼‰
    /// </summary>
@@ -50,16 +51,15 @@
            return GetEnumDescriptionUtil.GetEnumDescription(MaterialType);
        }
    }
    /// <summary>
    /// ä¸»å•位(如:kg、m、个)
    /// </summary>
    public string PrimaryUnit { get; set; }
        public string? PrimaryUnit { get; set; }
    /// <summary>
    /// è§„æ ¼/标准(如:GB/T 8163-2018)
    /// </summary>
    public string Standard { get; set; }
        public string? Standard { get; set; }
    /// <summary>
    /// å¤–径(单位:mm)
@@ -74,7 +74,7 @@
    /// <summary>
    /// æè´¨ï¼ˆå¦‚:304不锈钢)
    /// </summary>
    public string MaterialQuality { get; set; }
        public string? MaterialQuality { get; set; }
    /// <summary>
    /// é•¿åº¦ï¼ˆå•位:m)
@@ -82,7 +82,7 @@
    public decimal Length { get; set; }
    /// <summary>
    /// æ˜¯å¦ä¸ºä¸»æ”¯ç®¡ï¼ˆ1: ä¸»æ”¯ç®¡, 2: éžä¸»æ”¯ç®¡ï¼‰
        /// æ˜¯å¦ä¸ºä¸»æ”¯ç®¡
    /// </summary>
    public YesNoEnum IsMainBranch { get; set; }
@@ -96,50 +96,92 @@
            return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch);
        }
    }
    /// <summary>
    /// ç”Ÿäº§å·¥åŽ‚
    /// </summary>
    public string Factory { get; set; }
        public string? Factory { get; set; }
    /// <summary>
    /// è¯ä¹¦ç¼–号(如:压力容器认证)
        /// è¯ä¹¦ç¼–号
    /// </summary>
    public string Certification { get; set; }
        public string? Certification { get; set; }
    /// <summary>
    /// å†—余字段1 - é¢„留扩展用途
    /// </summary>
    public string RedundantField1 { get; set; }
        public string? RedundantField1 { get; set; }
    /// <summary>
    /// å†—余字段2 - é¢„留扩展用途
    /// </summary>
    public string RedundantField2 { get; set; }
        public string? RedundantField2 { get; set; }
    /// <summary>
    /// å†—余字段3 - é¢„留扩展用途
    /// </summary>
    public string RedundantField3 { get; set; }
        public string? RedundantField3 { get; set; }
    /// <summary>
    /// æŽ’序
    /// </summary>
    public virtual int Sort { get; set; }
        public int Sort { get; set; }
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    public virtual string Remark { get; set; }
        public string? Remark { get; set; }
    /// <summary>
    /// æ˜¯å¦ç¦ç”¨
    /// </summary>
    public virtual bool? IsDisabled { get; set; }
        public bool? IsDisabled { get; set; }
    /// <summary>
    /// å¹¶å‘戳
        ///
    /// </summary>
    public string ConcurrencyStamp { get; set; }
        public ExtraPropertyDictionary? ExtraProperties { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string? ConcurrencyStamp { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime CreationTime { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string? CreatorId { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? LastModificationTime { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string? LastModifierId { get; set; }
        /// <summary>
        ///
        /// </summary>
        public bool IsDeleted { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string? DeleterId { get; set; }
        /// <summary>
        ///
        /// </summary>
        public DateTime? DeletionTime { get; set; }
    /// <summary>
    /// Gets the export data.
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs
@@ -1,146 +1,129 @@
using MiniExcelLibs.Attributes;
using MiniExcelLibs.Attributes;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial
{
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
    /// <summary>
    /// WmsMaterial导出模型
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨å¯¼å‡ºæ¨¡åž‹
    /// </summary>
    public class MaterialExportModel
public  class WmsMaterialExportModel
    {
        /// <summary>
        /// ç‰©æ–™ç¼–码(唯一标识)
        /// </summary>
        /// <example>MAT-2023-001</example>
        [ExcelColumn(Name = "物料编码", Width = 25)]
        [ExcelColumn(Name = "物料编码(唯一标识)", Width = 25)]
        public string MaterialCode { get; set; }
        /// <summary>
        /// ç‰©æ–™åç§°
        /// </summary>
        /// <example>304不锈钢管</example>
        [ExcelColumn(Name = "物料名称", Width = 25)]
        public string MaterialName { get; set; }
        /// <summary>
        /// é‡‡è´­ç±»åž‹
        /// é‡‡è´­ç±»åž‹ï¼ˆæžšä¸¾å€¼ï¼‰
        /// </summary>
        /// <remarks>
        /// 0:标准采购 1:紧急采购 2:协议采购
        /// </remarks>
        /// <example>0</example>
        [ExcelColumn(Name = "采购类型", Width = 25)]
        [ExcelColumn(Name = "采购类型(枚举值)", Width = 25)]
        public PurchaseTypeEnum PurchaseType { get; set; }
        /// <summary>
        /// ç‰©æ–™ç±»åž‹
        /// ç‰©æ–™ç±»åž‹ï¼ˆæžšä¸¾å€¼ï¼‰
        /// </summary>
        /// <remarks>
        /// 1:原材料 2:半成品 3:成品
        /// </remarks>
        /// <example>1</example>
        [ExcelColumn(Name = "物料类型", Width = 25)]
        [ExcelColumn(Name = "物料类型(枚举值)", Width = 25)]
        public MaterialTypeEnum MaterialType { get; set; }
        /// <summary>
        /// ä¸»è®¡é‡å•位
        /// ä¸»å•位(如:kg、m、个)
        /// </summary>
        /// <example>kg</example>
        [ExcelColumn(Name = "主单位", Width = 25)]
        [ExcelColumn(Name = "主单位(如:kg、m、个)", Width = 25)]
        public string PrimaryUnit { get; set; }
        /// <summary>
        /// è§„æ ¼/技术标准
        /// è§„æ ¼/标准(如:GB/T 8163-2018)
        /// </summary>
        /// <example>GB/T 8163-2018</example>
        [ExcelColumn(Name = "规格/标准", Width = 25)]
        [ExcelColumn(Name = "规格/标准(如:GB/T 8163-2018)", Width = 25)]
        public string Standard { get; set; }
        /// <summary>
        /// å¤–径(单位:毫米)
        /// å¤–径(单位:mm)
        /// </summary>
        /// <example>50.5</example>
        [ExcelColumn(Name = "外径(mm)", Width = 25)]
        [ExcelColumn(Name = "外径(单位:mm)", Width = 25)]
        public decimal OuterDiameter { get; set; }
        /// <summary>
        /// å£åŽšï¼ˆå•ä½ï¼šæ¯«ç±³ï¼‰
        /// å£åŽšï¼ˆå•ä½ï¼šmm)
        /// </summary>
        /// <example>2.5</example>
        [ExcelColumn(Name = "壁厚(mm)", Width = 25)]
        [ExcelColumn(Name = "壁厚(单位:mm)", Width = 25)]
        public decimal WallThickness { get; set; }
        /// <summary>
        /// æè´¨è¯´æ˜Ž
        /// æè´¨ï¼ˆå¦‚:304不锈钢)
        /// </summary>
        /// <example>304不锈钢</example>
        [ExcelColumn(Name = "材质", Width = 25)]
        [ExcelColumn(Name = "材质(如:304不锈钢)", Width = 25)]
        public string MaterialQuality { get; set; }
        /// <summary>
        /// é•¿åº¦ï¼ˆå•位:米)
        /// é•¿åº¦ï¼ˆå•位:m)
        /// </summary>
        /// <example>6.0</example>
        [ExcelColumn(Name = "长度(m)", Width = 25)]
        [ExcelColumn(Name = "长度(单位:m)", Width = 25)]
        public decimal Length { get; set; }
        /// <summary>
        /// æ˜¯å¦ä¸»æ”¯ç®¡æ ‡è¯†
        /// æ˜¯å¦ä¸ºä¸»æ”¯ç®¡
        /// </summary>
        /// <example>true</example>
        [ExcelColumn(Name = "是否主支管", Width = 25)]
        [Description("是/否")]
        [ExcelColumn(Name = "是否为主支管", Width = 25)]
        public YesNoEnum IsMainBranch { get; set; }
        /// <summary>
        /// ç”Ÿäº§å·¥åŽ‚åç§°
        /// ç”Ÿäº§å·¥åŽ‚
        /// </summary>
        /// <example>上海第一工厂</example>
        [ExcelColumn(Name = "生产工厂", Width = 25)]
        public string Factory { get; set; }
        /// <summary>
        /// è®¤è¯è¯ä¹¦ç¼–号
        /// è¯ä¹¦ç¼–号
        /// </summary>
        /// <example>CER-2023-001</example>
        [ExcelColumn(Name = "证书编号", Width = 25)]
        public string Certification { get; set; }
        /// <summary>
        /// é¢„留扩展字段1
        /// å†—余字段1 - é¢„留扩展用途
        /// </summary>
        /// <remarks>
        /// å¯ç”¨äºŽä¸´æ—¶å­˜å‚¨ä¾›åº”商编码等扩展信息
        /// </remarks>
        [ExcelColumn(Name = "扩展字段1", Width = 25)]
        [ExcelColumn(Name = "冗余字段1 - é¢„留扩展用途", Width = 25)]
        public string RedundantField1 { get; set; }
        /// <summary>
        /// é¢„留扩展字段2
        /// å†—余字段2 - é¢„留扩展用途
        /// </summary>
        /// <remarks>
        /// å¯ç”¨äºŽä¸´æ—¶å­˜å‚¨æ‰¹æ¬¡å·ç­‰æ‰©å±•信息
        /// </remarks>
        [ExcelColumn(Name = "扩展字段2", Width = 25)]
        [ExcelColumn(Name = "冗余字段2 - é¢„留扩展用途", Width = 25)]
        public string RedundantField2 { get; set; }
        /// <summary>
        /// é¢„留扩展字段3
        /// å†—余字段3 - é¢„留扩展用途
        /// </summary>
        /// <remarks>
        /// å¯ç”¨äºŽä¸´æ—¶å­˜å‚¨è‡ªå®šä¹‰åˆ†ç±»ç­‰æ‰©å±•信息
        /// </remarks>
        [ExcelColumn(Name = "扩展字段3", Width = 25)]
        [ExcelColumn(Name = "冗余字段3 - é¢„留扩展用途", Width = 25)]
        public string RedundantField3 { get; set; }
        /// <summary>
        /// æŽ’序
        /// </summary>
        [ExcelColumn(Name = "排序", Width = 25)]
        public int Sort { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [ExcelColumn(Name = "备注",Width = 25)]
        public string Remark { get; set; }
        /// <summary>
        /// æ˜¯å¦ç¦ç”¨
        /// </summary>
        [ExcelColumn(Name = "是否禁用", Width = 25)]
        public bool? IsDisabled { get; set; }
        public Dictionary<string, object> GetExportData()
        {
@@ -153,5 +136,3 @@
            return exportData;
        }
    }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs
@@ -1,9 +1,8 @@
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
/// <summary>
/// WmsMaterial更新参数对象
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨æ›´æ–°å‚数对象
/// </summary>
public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp
{
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs
@@ -1,28 +1,28 @@

namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial
{
    /// <summary>
    /// WmsMaterials导入模型
    /// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨å¯¼å…¥æ¨¡åž‹
    /// </summary>
    public class WmsMaterialsImportModel
    {
        private List<WmsMaterialImportModel> _wmsmaterials = new();
        private List<WmsMaterialImportModel> _WmsMaterials = new();
        public List<WmsMaterialImportModel> WmsMaterials
        {
            get => _wmsmaterials;
            get => _WmsMaterials;
            set
            {
                _wmsmaterials = value;
                _WmsMaterials = value;
                var rowIndex = 2;
                _wmsmaterials?.ForEach(x => x.RowIndex = rowIndex++);
                _WmsMaterials?.ForEach(x => x.RowIndex = rowIndex++);
            }
        }
        /// <summary>
        /// WmsMaterial导入模型
        /// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨å¯¼å…¥æ¨¡åž‹
        /// </summary>
        public class WmsMaterialImportModel : MaterialExportModel
        public class WmsMaterialImportModel : WmsMaterialExportModel
        {
            /// <summary>
            /// è¡Œå·
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs
@@ -1,29 +1,29 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
using Volo.Abp.Application.Services;
namespace CMS.Plugin.HIAWms.Application.Contracts.Services;
/// <summary>
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯åº”用服务接口
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨åº”用服务接口
/// </summary>
public interface IWmsMaterialAppService : ICrudAppService<WmsMaterialDto, Guid, GetWmsMaterialInput, WmsMaterialCreateDto, WmsMaterialUpdateDto>
{
    /// <summary>
    /// å…‹éš†ç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// å…‹éš†ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="ids"></param>
    /// <returns></returns>
    Task<List<WmsMaterialDto>> CloneAsync(IEnumerable<Guid> ids);
    /// <summary>
    /// åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="ids"></param>
    /// <returns></returns>
    Task DeleteManyAsync(IEnumerable<Guid> ids);
    /// <summary>
    /// è°ƒæ•´æŽ’序物料基础信息
    /// è°ƒæ•´æŽ’序物料基础信息表
    /// </summary>
    /// <param name="id"></param>
    /// <param name="sort"></param>
@@ -31,14 +31,14 @@
    Task AdjustSortAsync(Guid id, int sort);
    /// <summary>
    /// å¯¼å…¥ç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// å¯¼å…¥ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task ImportAsync(WmsMaterialsImportModel input);
    /// <summary>
    /// å¯¼å‡ºç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// å¯¼å‡ºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
@@ -1,4 +1,4 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared;
using CMS.Plugin.HIAWms.Domain.Shared.Util;
@@ -15,33 +15,33 @@
namespace CMS.Plugin.HIAWms.Application.Implements;
/// <summary>
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯åº”用服务
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨åº”用服务
/// </summary>
public class WmsMaterialAppService : CMSPluginAppService, IWmsMaterialAppService
{
    private readonly IWmsMaterialRepository _wmsmaterialRepository;
    private readonly IWmsMaterialRepository wmsmaterialsRepository;
    /// <summary>
    /// Initializes a new instance of the <see cref="WmsMaterialAppService"/> class.
    /// </summary>
    /// <param name="wmsmaterialRepository">The task job repository.</param>
    public WmsMaterialAppService(IWmsMaterialRepository wmsmaterialRepository)
    /// <param name="WmsMaterialRepository">The task job repository.</param>
    public WmsMaterialAppService(IWmsMaterialRepository WmsMaterialRepository)
    {
        _wmsmaterialRepository = wmsmaterialRepository;
        wmsmaterialsRepository = WmsMaterialRepository;
    }
    /// <summary>
    /// èŽ·å–æŒ‡å®šç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// èŽ·å–æŒ‡å®šç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    public virtual async Task<WmsMaterialDto> GetAsync(Guid id)
    {
        return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await _wmsmaterialRepository.GetAsync(id));
        return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await wmsmaterialsRepository.GetAsync(id));
    }
    /// <summary>
    /// åˆ†é¡µèŽ·å–ç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// åˆ†é¡µèŽ·å–ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
@@ -61,8 +61,8 @@
        #endregion
        var count = await _wmsmaterialRepository.GetCountAsync(whereConditions);
        var list = await _wmsmaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
        var count = await wmsmaterialsRepository.GetCountAsync(whereConditions);
        var list = await wmsmaterialsRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
        return new PagedResultDto<WmsMaterialDto>(count, ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list));
    }
@@ -91,7 +91,7 @@
    }
    /// <summary>
    /// æ–°å»ºç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// æ–°å»ºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
@@ -100,31 +100,31 @@
    {
        await CheckCreateOrUpdateDtoAsync(input);
        var exist = await _wmsmaterialRepository.NameExistAsync(input.MaterialCode);
        var exist = await wmsmaterialsRepository.NameExistAsync(input.MaterialCode);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]);
        }
        var maxSort = await _wmsmaterialRepository.GetMaxSortAsync();
        var maxSort = await wmsmaterialsRepository.GetMaxSortAsync();
        var sort = input.Sort ?? maxSort;
        var wmsmaterial = ObjectMapper.Map<WmsMaterialCreateDto, WmsMaterial>(input);
        wmsmaterial.Sort = sort;
        input.MapExtraPropertiesTo(wmsmaterial, MappingPropertyDefinitionChecks.None);
        var insertObj = ObjectMapper.Map<WmsMaterialCreateDto, WmsMaterial>(input);
        insertObj.Sort = sort;
        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
        await _wmsmaterialRepository.InsertAsync(wmsmaterial);
        await wmsmaterialsRepository.InsertAsync(insertObj);
        if (input.Sort.HasValue && wmsmaterial.Sort != maxSort)
        if (input.Sort.HasValue && insertObj.Sort != maxSort)
        {
            await AdjustSortAsync(wmsmaterial.Id, wmsmaterial.Sort);
            await AdjustSortAsync(insertObj.Id, insertObj.Sort);
        }
        return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(wmsmaterial);
        return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(insertObj);
    }
    /// <summary>
    /// æ›´æ–°ç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// æ›´æ–°ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="id"></param>
    /// <param name="input"></param>
@@ -134,56 +134,63 @@
    {
        await CheckCreateOrUpdateDtoAsync(input);
        var wmsmaterial = await _wmsmaterialRepository.GetAsync(id);
        var exist = await _wmsmaterialRepository.NameExistAsync(input.MaterialCode, wmsmaterial.Id);
        var updateObj = await wmsmaterialsRepository.GetAsync(id);
        var exist = await wmsmaterialsRepository.NameExistAsync(input.MaterialCode, updateObj.Id);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]);
        }
        wmsmaterial.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
        input.MapExtraPropertiesTo(wmsmaterial, MappingPropertyDefinitionChecks.None);
        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
        wmsmaterial.MaterialName = input.MaterialName;
        wmsmaterial.PurchaseType = input.PurchaseType;
        wmsmaterial.MaterialType = input.MaterialType;
        wmsmaterial.PrimaryUnit = input.PrimaryUnit;
        wmsmaterial.Standard = input.Standard;
        wmsmaterial.OuterDiameter = input.OuterDiameter;
        wmsmaterial.WallThickness = input.WallThickness;
        wmsmaterial.MaterialQuality = input.MaterialQuality;
        wmsmaterial.Length = input.Length;
        wmsmaterial.IsMainBranch = input.IsMainBranch;
        wmsmaterial.Factory = input.Factory;
        wmsmaterial.Certification = input.Certification;
                updateObj.MaterialCode = input.MaterialCode;
        updateObj.MaterialName = input.MaterialName;
        updateObj.PurchaseType = input.PurchaseType;
        updateObj.MaterialType = input.MaterialType;
        updateObj.PrimaryUnit = input.PrimaryUnit;
        updateObj.Standard = input.Standard;
        updateObj.OuterDiameter = input.OuterDiameter;
        updateObj.WallThickness = input.WallThickness;
        updateObj.MaterialQuality = input.MaterialQuality;
        updateObj.Length = input.Length;
        updateObj.IsMainBranch = input.IsMainBranch;
        updateObj.Factory = input.Factory;
        updateObj.Certification = input.Certification;
        updateObj.RedundantField1 = input.RedundantField1;
        updateObj.RedundantField2 = input.RedundantField2;
        updateObj.RedundantField3 = input.RedundantField3;
        updateObj.Remark = input.Remark;
        updateObj.IsDisabled = input.IsDisabled;
        await _wmsmaterialRepository.UpdateAsync(wmsmaterial);
        return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(wmsmaterial);
        await wmsmaterialsRepository.UpdateAsync(updateObj);
        return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(updateObj);
    }
    /// <summary>
    /// å…‹éš†ç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// å…‹éš†ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="ids"></param>
    /// <returns></returns>
    public async Task<List<WmsMaterialDto>> CloneAsync(IEnumerable<Guid> ids)
    {
        //var wmsmaterials = new List<WmsMaterial>();
        //var wmsmaterialss = new List<WmsMaterial>();
        //if (ids != null)
        //{
        //    var sort = await _wmsmaterialRepository.GetMaxSortAsync();
        //    var sort = await wmsmaterialsRepository.GetMaxSortAsync();
        //    foreach (var id in ids)
        //    {
        //        var wmsmaterial = await _wmsmaterialRepository.FindAsync(id);
        //        if (wmsmaterial != null)
        //        var WmsMaterial = await wmsmaterialsRepository.FindAsync(id);
        //        if (WmsMaterial != null)
        //        {
        //            var name = wmsmaterial.Name + WmsMaterialConsts.CloneTag;
        //            var name = WmsMaterial.Name + WmsMaterialConsts.CloneTag;
        //            var notExist = false;
        //            while (!notExist)
        //            {
        //                var exist = await _wmsmaterialRepository.NameExistAsync(name);
        //                if (exist || wmsmaterials.Any(x => x.Name == name))
        //                var exist = await wmsmaterialsRepository.NameExistAsync(name);
        //                if (exist || wmsmaterialss.Any(x => x.Name == name))
        //                {
        //                    name += WmsMaterialConsts.CloneTag;
        //                    continue;
@@ -192,28 +199,28 @@
        //                notExist = true;
        //            }
        //            //wmsmaterial = await _wmsmaterialRepository.InsertAsync(wmsmaterial.Clone(GuidGenerator.Create(), name, sort++));
        //            wmsmaterials.Add(wmsmaterial);
        //            //WmsMaterial = await wmsmaterialsRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++));
        //            wmsmaterialss.Add(WmsMaterial);
        //        }
        //    }
        //}
        //return ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(wmsmaterials);
        //return ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(wmsmaterialss);
        return new List<WmsMaterialDto>();
    }
    /// <summary>
    /// åˆ é™¤å•个物料基础信息
    /// åˆ é™¤å•个物料基础信息表
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    public virtual Task DeleteAsync(Guid id)
    {
        return _wmsmaterialRepository.DeleteAsync(id);
        return wmsmaterialsRepository.DeleteAsync(id);
    }
    /// <summary>
    /// åˆ é™¤å¤šä¸ªç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// åˆ é™¤å¤šä¸ªç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="ids"></param>
    /// <returns></returns>
@@ -226,14 +233,14 @@
    }
    /// <summary>
    /// è°ƒæ•´æŽ’序物料基础信息
    /// è°ƒæ•´æŽ’序物料基础信息表
    /// </summary>
    /// <param name="id"></param>
    /// <param name="sort"></param>
    /// <returns></returns>
    public virtual async Task AdjustSortAsync(Guid id, int sort)
    {
        var list = await _wmsmaterialRepository.GetListAsync(null, nameof(WmsMaterial.Sort));
        var list = await wmsmaterialsRepository.GetListAsync(null, nameof(WmsMaterial.Sort));
        if (list != null && list.Any())
        {
            var initSort = 1;
@@ -260,11 +267,11 @@
            }
        }
        await _wmsmaterialRepository.UpdateManyAsync(list);
        await wmsmaterialsRepository.UpdateManyAsync(list);
    }
    /// <summary>
    /// å¯¼å…¥ç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// å¯¼å…¥ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
@@ -273,8 +280,8 @@
    {
        Check.NotNull(input, nameof(input));
        var wmsmaterialCreateDtos = new List<(int RowIndex, WmsMaterialCreateDto Item)>();
        var wmsmaterialUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialUpdateDto Item)>();
        var wmsmaterialsCreateDtos = new List<(int RowIndex, WmsMaterialCreateDto Item)>();
        var wmsmaterialsUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialUpdateDto Item)>();
        var importItems = input.WmsMaterials;
        if (importItems != null && importItems.Any())
@@ -305,10 +312,10 @@
                    throw new UserFriendlyException(errorMsg);
                }
                var oldWmsMaterial = await _wmsmaterialRepository.FindByNameAsync(impItem.MaterialCode);
                var oldWmsMaterial = await wmsmaterialsRepository.FindByNameAsync(impItem.MaterialCode);
                if (oldWmsMaterial != null)
                {
                    var wmsmaterialUpdateDto = new WmsMaterialUpdateDto
                    var wmsmaterialsUpdateDto = new WmsMaterialUpdateDto
                    {
                        MaterialCode = impItem.MaterialCode,
                        MaterialName = impItem.MaterialName,
@@ -326,11 +333,11 @@
                        Remark = impItem.Remark,
                    };
                    wmsmaterialUpdateDtos.Add((impItem.RowIndex, oldWmsMaterial.Id, wmsmaterialUpdateDto));
                    wmsmaterialsUpdateDtos.Add((impItem.RowIndex, oldWmsMaterial.Id, wmsmaterialsUpdateDto));
                }
                else
                {
                    var wmsmaterialCreateDto = new WmsMaterialCreateDto
                    var wmsmaterialsCreateDto = new WmsMaterialCreateDto
                    {
                        MaterialCode = impItem.MaterialCode,
                        MaterialName = impItem.MaterialName,
@@ -348,42 +355,42 @@
                        Remark = impItem.Remark,
                    };
                    wmsmaterialCreateDtos.Add((impItem.RowIndex, wmsmaterialCreateDto));
                    wmsmaterialsCreateDtos.Add((impItem.RowIndex, wmsmaterialsCreateDto));
                }
            }
        }
        // æ–°å¢ž
        foreach (var wmsmaterialDto in wmsmaterialCreateDtos)
        foreach (var wmsmaterialsDto in wmsmaterialsCreateDtos)
        {
            try
            {
                await CreateAsync(wmsmaterialDto.Item);
                await CreateAsync(wmsmaterialsDto.Item);
            }
            catch (Exception e)
            {
                var errorMsg = $"导入失败!配置,第{wmsmaterialDto.RowIndex}行:{e.Message},终止导入";
                var errorMsg = $"导入失败!配置,第{wmsmaterialsDto.RowIndex}行:{e.Message},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
        }
        // æ›´æ–°
        foreach (var wmsmaterialDto in wmsmaterialUpdateDtos)
        foreach (var wmsmaterialsDto in wmsmaterialsUpdateDtos)
        {
            try
            {
                await UpdateAsync(wmsmaterialDto.Id, wmsmaterialDto.Item);
                await UpdateAsync(wmsmaterialsDto.Id, wmsmaterialsDto.Item);
            }
            catch (Exception e)
            {
                var errorMsg = $"导入失败!配置,第{wmsmaterialDto.RowIndex}行:{e.Message},终止导入";
                var errorMsg = $"导入失败!配置,第{wmsmaterialsDto.RowIndex}行:{e.Message},终止导入";
                throw new UserFriendlyException(errorMsg);
            }
        }
    }
    /// <summary>
    /// å¯¼å‡ºç‰©æ–™åŸºç¡€ä¿¡æ¯
    /// å¯¼å‡ºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
@@ -404,7 +411,7 @@
        #endregion
        var list = await _wmsmaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
        var list = await wmsmaterialsRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
        var result = ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list);
        var sheets = new Dictionary<string, object>
@@ -417,16 +424,22 @@
    }
    /// <summary>
    /// æ ¡éªŒç‰©æ–™åŸºç¡€ä¿¡æ¯ï¼Œå½“新建或更新时
    /// æ ¡éªŒç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ï¼Œå½“新建或更新时
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    protected Task CheckCreateOrUpdateDtoAsync(WmsMaterialCreateOrUpdateDtoBase input)
    {
        Check.NotNull(input, nameof(input));
        Check.NotNullOrWhiteSpace(input.MaterialCode, "编号", WmsMaterialConsts.MaxCodeLength);
        Check.NotNullOrWhiteSpace(input.MaterialName, "名称", WmsMaterialConsts.MaxNameLength);
        Check.Length(input.Remark, "备注", WmsMaterialConsts.MaxRemarkLength);
                Check.NotNullOrWhiteSpace(input.MaterialCode, "物料编码(唯一标识)", 64);
        Check.NotNullOrWhiteSpace(input.MaterialName, "物料名称", 128);
        Check.NotNull(input.PurchaseType, "采购类型(枚举值)");
        Check.NotNull(input.MaterialType, "物料类型(枚举值)");
        Check.NotNull(input.OuterDiameter, "外径(单位:mm)");
        Check.NotNull(input.WallThickness, "壁厚(单位:mm)");
        Check.NotNull(input.Length, "长度(单位:m)");
        Check.NotNull(input.IsMainBranch, "是否为主支管");
        return Task.CompletedTask;
    }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs
@@ -1,16 +1,16 @@
using CmsQueryExtensions.Extension;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
using Volo.Abp.Domain.Repositories;
namespace CMS.Plugin.HIAWms.Domain.WmsMaterial;
/// <summary>
/// ç‰©æ–™åŸºç¡€æ•°æ®ä»“储
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ä»“储
/// </summary>
public interface IWmsMaterialRepository : IBasicRepository<WmsMaterial, Guid>
{
    /// <summary>
    /// æŒ‰ç…§åç§°æŸ¥æ‰¾ç‰©æ–™åŸºç¡€æ•°æ®
    /// æŒ‰ç…§åç§°æŸ¥æ‰¾ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="name"></param>
    /// <param name="cancellationToken"></param>
@@ -18,7 +18,7 @@
    Task<WmsMaterial> FindByNameAsync(string name, CancellationToken cancellationToken = default);
    /// <summary>
    /// éªŒè¯åç§°æ˜¯å¦å­˜åœ¨ç‰©æ–™åŸºç¡€æ•°æ®
    /// éªŒè¯åç§°æ˜¯å¦å­˜åœ¨ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="name"></param>
    /// <param name="id"></param>
@@ -26,13 +26,13 @@
    Task<bool> NameExistAsync(string name, Guid? id = null);
    /// <summary>
    /// èŽ·å–æœ€å¤§æŽ’åºç‰©æ–™åŸºç¡€æ•°æ®
    /// èŽ·å–æœ€å¤§æŽ’åºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <returns></returns>
    Task<int> GetMaxSortAsync();
    /// <summary>
    /// èŽ·å–åˆ†é¡µåˆ—è¡¨ç‰©æ–™åŸºç¡€æ•°æ®
    /// èŽ·å–åˆ†é¡µåˆ—è¡¨ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="sorting"></param>
@@ -44,7 +44,7 @@
    Task<List<WmsMaterial>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
    /// <summary>
    /// èŽ·å–æ€»æ•°ç‰©æ–™åŸºç¡€æ•°æ®
    /// èŽ·å–æ€»æ•°ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="cancellationToken"></param>
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
@@ -1,4 +1,4 @@
using CMS.Plugin.HIAWms.Domain.WmsMaterial;
using CMS.Plugin.HIAWms.Domain.WmsMaterial;
using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions;
using CmsQueryExtensions.Extension;
using Microsoft.EntityFrameworkCore;
@@ -11,7 +11,7 @@
namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories;
/// <summary>
/// ç‰©æ–™åŸºç¡€æ•°æ®ä»“储实现
/// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ä»“储实现
/// </summary>
public class EfCoreWmsMaterialRepository : EfCoreRepository<ICMSPluginDbContext, WmsMaterial, Guid>, IWmsMaterialRepository
{
@@ -25,7 +25,7 @@
    }
    /// <summary>
    /// æŒ‰ç…§åç§°æŸ¥æ‰¾ç‰©æ–™åŸºç¡€æ•°æ®
    /// æŒ‰ç…§åç§°æŸ¥æ‰¾ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="name"></param>
    /// <param name="cancellationToken"></param>
@@ -40,7 +40,7 @@
    }
    /// <summary>
    /// éªŒè¯åç§°æ˜¯å¦å­˜åœ¨ç‰©æ–™åŸºç¡€æ•°æ®
    /// éªŒè¯åç§°æ˜¯å¦å­˜åœ¨ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="materialCode"></param>
    /// <param name="id"></param>
@@ -51,7 +51,7 @@
    }
    /// <summary>
    /// èŽ·å–æœ€å¤§æŽ’åºç‰©æ–™åŸºç¡€æ•°æ®
    /// èŽ·å–æœ€å¤§æŽ’åºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <returns></returns>
    public async Task<int> GetMaxSortAsync()
@@ -69,7 +69,7 @@
    }
    /// <summary>
    /// èŽ·å–åˆ†é¡µåˆ—è¡¨ç‰©æ–™åŸºç¡€æ•°æ®
    /// èŽ·å–åˆ†é¡µåˆ—è¡¨ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="sorting"></param>
@@ -90,7 +90,7 @@
    }
    /// <summary>
    /// èŽ·å–æ€»æ•°ç‰©æ–™åŸºç¡€æ•°æ®
    /// èŽ·å–æ€»æ•°ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="whereConditions"></param>
    /// <param name="cancellationToken"></param>
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs
@@ -1,4 +1,4 @@
using Ao.Lang;
using Ao.Lang;
using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
@@ -13,7 +13,7 @@
namespace CMS.Plugin.HIAWms.Controller
{
    /// <summary>
    /// ç‰©æ–™åŸºç¡€ä¿¡æ¯æœåŠ¡
    /// ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨æœåŠ¡
    /// </summary>
    [ApiController]
    [TypeFilter(typeof(CMSLanguageFilter))]
@@ -23,19 +23,19 @@
    [Route("api/v{version:apiVersion}/HIAWms/[controller]")]
    public class WmsMaterialController : ControllerBase
    {
        private readonly IWmsMaterialAppService _wmsmaterialAppService;
        private readonly IWmsMaterialAppService _wmsmaterialsAppService;
        /// <summary>
        /// Initializes a new instance of the <see cref="WmsMaterialController"/> class.
        /// </summary>
        /// <param name="wmsmaterialAppService">The wmsmaterial application service.</param>
        public WmsMaterialController(IWmsMaterialAppService wmsmaterialAppService)
        /// <param name="wmsmaterialsAppService">The wmsmaterials application service.</param>
        public WmsMaterialController(IWmsMaterialAppService wmsmaterialsAppService)
        {
            _wmsmaterialAppService = wmsmaterialAppService;
            _wmsmaterialsAppService = wmsmaterialsAppService;
        }
        /// <summary>
        /// èŽ·å–ç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// èŽ·å–ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <param name="id">标识符.</param>
        /// <returns></returns>
@@ -43,11 +43,11 @@
        [Route("{id}")]
        public virtual Task<WmsMaterialDto> GetAsync(Guid id)
        {
            return _wmsmaterialAppService.GetAsync(id);
            return _wmsmaterialsAppService.GetAsync(id);
        }
        /// <summary>
        /// åˆ†é¡µèŽ·å–ç‰©æ–™åŸºç¡€ä¿¡æ¯çš„åˆ—è¡¨.
        /// åˆ†é¡µèŽ·å–ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨çš„åˆ—è¡¨.
        /// </summary>
        /// <param name="input">输入.</param>
        /// <returns></returns>
@@ -55,11 +55,11 @@
        [Route("Page")]
        public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialInput input)
        {
            return _wmsmaterialAppService.GetListAsync(input);
            return _wmsmaterialsAppService.GetListAsync(input);
        }
        /// <summary>
        /// åˆ›å»ºç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// åˆ›å»ºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <param name="input">输入.</param>
        /// <returns></returns>
@@ -67,11 +67,11 @@
        [HttpPost]
        public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input)
        {
            return _wmsmaterialAppService.CreateAsync(input);
            return _wmsmaterialsAppService.CreateAsync(input);
        }
        /// <summary>
        /// æ›´æ–°ç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// æ›´æ–°ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <param name="id">标识符.</param>
        /// <param name="input">输入.</param>
@@ -81,11 +81,11 @@
        [Route("{id}")]
        public virtual Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input)
        {
            return _wmsmaterialAppService.UpdateAsync(id, input);
            return _wmsmaterialsAppService.UpdateAsync(id, input);
        }
        /// <summary>
        /// å…‹éš†ç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// å…‹éš†ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <param name="ids">Id集合.</param>
        /// <returns></returns>
@@ -94,11 +94,11 @@
        [Route("Clone")]
        public virtual Task<List<WmsMaterialDto>> CloneAsync([FromBody] IEnumerable<Guid> ids)
        {
            return _wmsmaterialAppService.CloneAsync(ids);
            return _wmsmaterialsAppService.CloneAsync(ids);
        }
        /// <summary>
        /// åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <param name="id">标识符.</param>
        /// <returns></returns>
@@ -107,11 +107,11 @@
        [Route("{id}")]
        public virtual Task DeleteAsync(Guid id)
        {
            return _wmsmaterialAppService.DeleteAsync(id);
            return _wmsmaterialsAppService.DeleteAsync(id);
        }
        /// <summary>
        /// æ‰¹é‡åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// æ‰¹é‡åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <param name="ids">The ids.</param>
        /// <returns></returns>
@@ -119,11 +119,11 @@
        [HttpDelete]
        public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids)
        {
            return _wmsmaterialAppService.DeleteManyAsync(ids);
            return _wmsmaterialsAppService.DeleteManyAsync(ids);
        }
        /// <summary>
        /// è°ƒæ•´æŽ’序物料基础信息
        /// è°ƒæ•´æŽ’序物料基础信息表
        /// </summary>
        /// <param name="id">标识符.</param>
        /// <returns></returns>
@@ -131,11 +131,11 @@
        [Route("{id}/AdjustSort/{sort}")]
        public virtual Task AdjustSortAsync(Guid id, int sort)
        {
            return _wmsmaterialAppService.AdjustSortAsync(id, sort);
            return _wmsmaterialsAppService.AdjustSortAsync(id, sort);
        }
        /// <summary>
        /// å¯¼å…¥ç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// å¯¼å…¥ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <returns></returns>
        [Authorize]
@@ -148,23 +148,23 @@
            stream.Seek(0L, SeekOrigin.Begin);
            var sheetNames = stream.GetSheetNames();
            var wmsmaterialRows = sheetNames.Contains("配置") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "配置").ToList() : new();
            var wmsmaterialsRows = sheetNames.Contains("配置") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "配置").ToList() : new();
            if (!wmsmaterialRows.Any())
            if (!wmsmaterialsRows.Any())
            {
                throw new UserFriendlyException("请检查导入的表格");
            }
            await _wmsmaterialAppService.ImportAsync(new WmsMaterialsImportModel
            await _wmsmaterialsAppService.ImportAsync(new WmsMaterialsImportModel
            {
                WmsMaterials = wmsmaterialRows,
                WmsMaterials = wmsmaterialsRows,
            });
            return Ok();
        }
        /// <summary>
        /// å¯¼å‡ºç‰©æ–™åŸºç¡€ä¿¡æ¯
        /// å¯¼å‡ºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
        /// </summary>
        /// <returns></returns>
        [HttpGet]
@@ -172,7 +172,7 @@
        public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInput input)
        {
            input.MaxResultCount = int.MaxValue;
            var exportData = await _wmsmaterialAppService.ExportAsync(input);
            var exportData = await _wmsmaterialsAppService.ExportAsync(input);
            var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterial导出模板.xlsx");
            if (!System.IO.File.Exists(templatePath))
            {