Browse Source

字符串类型标注配置 Excel下拉选项

集成Redis
马昊 2 years ago
parent
commit
94d97918c0
  1. 9
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/Inputs/ItemBasicImportInput.cs
  2. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemPacks/Inputs/ItemPackImportInput.cs
  3. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SupplierItems/Inputs/SupplierItemImportInput.cs
  4. 12
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/ExportAndImport/ClosedXmlExportImportService.cs

9
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/Inputs/ItemBasicImportInput.cs

@ -1,3 +1,4 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
@ -78,6 +79,10 @@ public class ItemBasicImportInput : SfsBaseDataImportInputBase
/// 类型
/// </summary>
[Display(Name = "类型")]
[ValueMapping("成品", "成品")]
[ValueMapping("原料", "原料")]
[ValueMapping("物料", "物料")]
[ValueMapping("半成品", "半成品")]
public string Type { get; set; }
/// <summary>
@ -121,6 +126,10 @@ public class ItemBasicImportInput : SfsBaseDataImportInputBase
[Display(Name = "ABC类")]
[Required(ErrorMessage = "{0}是必填项")]
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
[ValueMapping("A类", "A类")]
[ValueMapping("B类", "B类")]
[ValueMapping("C类", "C类")]
[ValueMapping("其他", "其他")]
public string AbcClass { get; set; }
/// <summary>

4
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemPacks/Inputs/ItemPackImportInput.cs

@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Basedata.Application.Contracts;
@ -27,6 +28,9 @@ public class ItemPackImportInput : SfsBaseDataImportInputBase
/// </summary>
[Display(Name = "包装类型")]
[StringLength(SfsEfCorePropertyConst.DescLength, ErrorMessage = "{0}最多输入{1}个字符")]
[ValueMapping("EA", "EA")]
[ValueMapping("Box", "Box")]
[ValueMapping("Pallet", "Pallet")]
public string PackType { get; set; }
/// <summary>

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SupplierItems/Inputs/SupplierItemImportInput.cs

@ -64,7 +64,7 @@ public class SupplierItemImportInput : SfsBaseDataImportInputBase
public decimal SupplierPackQty { get; set; }
/// <summary>
/// 供应商包装量
/// 供应商包装单位
/// </summary>
[Display(Name = "供应商包装数量单位")]
public string SupplierPackUom { get; set; }

12
be/Modules/Shared/src/Win_in.Sfs.Shared.Application/ExportAndImport/ClosedXmlExportImportService.cs

@ -109,6 +109,18 @@ public class ClosedXmlExportImportService : IExportImportService
cdv.List(validOptions, true);
}
if (propertyType.IsEnum == false && propertyType.Name != typeof(bool).Name)
{
var valueMappings = property.GetCustomAttributes<ValueMappingAttribute>()?.ToList();
if (valueMappings != null && valueMappings.Count > 0)
{
var cdv = ws.Column(i + 1).CreateDataValidation();
var options = valueMappings.Select(e => e.Name);
var validOptions = $"\"{string.Join(",", options)}\"";
cdv.List(validOptions, true);
}
}
SetCellStyle(cell, 1, i + 1, true, property.GetCustomAttributes<RequiredAttribute>().Any());
}

Loading…
Cancel
Save