From 44f6b5306f7927485c49d4655d370f4693cdabfd Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周二, 06 5月 2025 09:20:27 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs | 376 ++-- Weben_CMS专用代码生成器/Code/GenerateCode_WeiBen_CMS.csproj | 27 Weben_CMS专用代码生成器/Code/Const/SystemConst.cs | 6 Weben_CMS专用代码生成器/Code/Generate/Web/Controllers/File_Generate.cs | 27 Weben_CMS专用代码生成器/Code/Templete/Entity/Dto模板.txt | 7 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs | 92 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs | 214 +- Weben_CMS专用代码生成器/Code/Templete/AppService/IAppService模板.txt | 2 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterialSpecification.cs | 0 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs | 476 +++--- Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs | 89 + Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterial.cs | 4 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs | 27 Weben_CMS专用代码生成器/Code/Templete/Web/Controllers/EntityMode模板.txt | 275 ++++ CommonDLL/CmsQueryExtensions.dll | 0 Weben_CMS专用代码生成器/Code/Generate/AppService/AppService_Generate.cs | 2 Weben_CMS专用代码生成器/Code/Utility/CommonHelper.cs | 2 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs | 147 - Weben_CMS专用代码生成器/Code/Generate/Web/Index_Generate.cs | 27 Weben_CMS专用代码生成器/Code/Generate/Web/enum_Generate.cs | 27 Weben_CMS专用代码生成器/Code/Templete/Domain/IRepository模板.txt | 53 Weben_CMS专用代码生成器/Code/常用.txt | 9 Weben_CMS专用代码生成器/Code/Templete/EntityFrameworkCore/EfCoreRepository模板.txt | 113 + Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs | 34 Weben_CMS专用代码生成器/Code/Utility/ListHelper.cs | 37 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs | 5 Weben_CMS专用代码生成器/Code/Generate/EntityFrameworkCore/EfCoreRepository_Generate.cs | 27 Weben_CMS专用代码生成器/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs | 2 Weben_CMS专用代码生成器/Code/Generate/Web/Controllers/EntityMode_Generate.cs | 27 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs | 66 Weben_CMS专用代码生成器/Code/Generate/Entity/InputQueryModel_Generate.cs | 2 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs | 871 ++++++------ Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs | 189 +- Weben_CMS专用代码生成器/Code/Templete/Web/enum模板.txt | 15 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/EventHandlers/WmsMaterialEventHandler.cs | 2 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs | 2 Weben_CMS专用代码生成器/Code/Generate/Domain/IRepository_Generate.cs | 27 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialConsts.cs | 2 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterialDataSeedContributor.cs | 2 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialEto.cs | 2 Weben_CMS专用代码生成器/Code/Templete/Web/Controllers/File模板.txt | 31 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs | 308 ++- Weben_CMS专用代码生成器/Code/Templete/Web/index模板.txt | 14 Weben_CMS专用代码生成器/Code/Model/SystemCommonVar.cs | 2 /dev/null | 54 Weben_CMS专用代码生成器/Code/MainForm.cs | 73 + Weben_CMS专用代码生成器/Code/Model/GenerateCodeParam.cs | 10 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs | 53 Weben_CMS专用代码生成器/Code/MainForm.Designer.cs | 116 + Weben_CMS专用代码生成器/Code/Templete/Entity/ImportModel模板.txt | 2 Weben_CMS专用代码生成器/Code/Templete/AppService/AppService模板.txt | 70 51 files changed, 2,525 insertions(+), 1,522 deletions(-) diff --git a/CommonDLL/CmsQueryExtensions.dll b/CommonDLL/CmsQueryExtensions.dll new file mode 100644 index 0000000..0bf4b5e --- /dev/null +++ b/CommonDLL/CmsQueryExtensions.dll Binary files differ diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Const/SystemConst.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Const/SystemConst.cs" index 5fcf4a6..932857f 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Const/SystemConst.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Const/SystemConst.cs" @@ -16,5 +16,11 @@ /// 鍓嶇鐨勬枃浠跺す鍚嶇О /// </summary> public const string web_FolerName = @"\web\"; + + + /// <summary> + /// 鐗规畩瀛楁-鎵╁睍瀛楁 + /// </summary> + public const string pro_ExtraProperties = "ExtraProperties"; } } diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs" index dd5992e..2b27d03 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs" @@ -77,7 +77,7 @@ model.Description = dt.Rows[n]["Description"].ToString(); if (dt.Rows[n]["IsNullable"].ToString() != "") { - if ((dt.Rows[n]["IsNullable"].ToString() == "1") || (dt.Rows[n]["IsNullable"].ToString().ToLower() == "true")) + if ((dt.Rows[n]["IsNullable"].ToString() == "1") || (dt.Rows[n]["IsNullable"].ToString().ToLower() == "true") || (dt.Rows[n]["IsNullable"].ToString().ToLower() == "yes")) { model.IsNullable = true; } diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/AppService/AppService_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/AppService/AppService_Generate.cs" index d68d39d..3e94147 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/AppService/AppService_Generate.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/AppService/AppService_Generate.cs" @@ -21,7 +21,7 @@ CommonHelper.CommonReplaceStr(param, ref str); string attrString = ""; - List<ColumnModel> newColumnNameList = ListHelper.RemoveAttrForExport(param.ColumnNameList); + List<ColumnModel> newColumnNameList = ListHelper.RemoveAttrForUpdateMode(param.ColumnNameList); for (int i = 0; i < newColumnNameList.Count; ++i) { attrString += StructStrHelper.GenerateAttributeForUpdateModel(newColumnNameList[i], param); diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Domain/IRepository_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Domain/IRepository_Generate.cs" new file mode 100644 index 0000000..04ae3ff --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Domain/IRepository_Generate.cs" @@ -0,0 +1,27 @@ +锘� + +using GenerateCode_WeiBen_WMS.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GenerateCode_GEBrilliantFactory +{ + /// <summary> + /// 鐢熸垚鏌ヨ瀹炰綋绫� + /// </summary> + public class IRepository_Generate : BaseGenerate + { + public static string CreateText(GenerateCodeParam param) + { + var str = TextHelper.ReadText(@"Templete\Domain\IRepository妯℃澘.txt"); + CommonReplace(ref str); + + CommonHelper.CommonReplaceStr(param, ref str); + + + return str; + } + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/AddModel_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/AddModel_Generate.cs" deleted file mode 100644 index 87e7f8d..0000000 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/AddModel_Generate.cs" +++ /dev/null @@ -1,35 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace GenerateCode_GEBrilliantFactory -{ - /// <summary> - /// 鐢熸垚鏂板鍙傛暟瀹炰綋绫� - /// </summary> - public class AddModel_Generate : BaseGenerate - { - public static string CreateAddModelLText(string addEntityParam, - string ChinaComment, List<ColumnModel> columnNameList) - { - //var str = TextHelper.ReadText(@"Templete\Entity\AddModel妯℃澘.txt"); - var str = TextHelper.ReadText(@"Templete\Entity\InputModel妯℃澘.txt"); - CommonReplace(ref str); - str = str.Replace("$ChinaComment$", ChinaComment);//涓枃娉ㄩ噴 - - str = str.Replace("$AddEntityParam$", addEntityParam); - - string attrString = ""; - - List<ColumnModel> newColumnNameList = ListHelper.RemoveIdCreatorModifier(columnNameList); - for (int i = 0; i < newColumnNameList.Count; ++i) - { - // attrString += StructStrHelper.GenerateAttributeForAddModel(newColumnNameList[i]); - } - str = str.Replace("$AddAttributes$", attrString); - - return str; - } - } -} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/InputModel_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/InputQueryModel_Generate.cs" similarity index 96% rename from "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/InputModel_Generate.cs" rename to "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/InputQueryModel_Generate.cs" index fd3c332..6d6b398 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/InputModel_Generate.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Entity/InputQueryModel_Generate.cs" @@ -11,7 +11,7 @@ /// <summary> /// 鐢熸垚鏌ヨ瀹炰綋绫� /// </summary> - public class InputModel_Generate : BaseGenerate + public class InputQueryModel_Generate : BaseGenerate { public static string CreateQueryModelLText(GenerateCodeParam param) { diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/EntityFrameworkCore/EfCoreRepository_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/EntityFrameworkCore/EfCoreRepository_Generate.cs" new file mode 100644 index 0000000..1c198b7 --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/EntityFrameworkCore/EfCoreRepository_Generate.cs" @@ -0,0 +1,27 @@ +锘� + +using GenerateCode_WeiBen_WMS.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GenerateCode_GEBrilliantFactory +{ + /// <summary> + /// 鐢熸垚鏌ヨ瀹炰綋绫� + /// </summary> + public class EfCoreRepository_Generate : BaseGenerate + { + public static string CreateText(GenerateCodeParam param) + { + var str = TextHelper.ReadText(@"Templete\EntityFrameworkCore\EfCoreRepository妯℃澘.txt"); + CommonReplace(ref str); + + CommonHelper.CommonReplaceStr(param, ref str); + + + return str; + } + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Controllers/EntityMode_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Controllers/EntityMode_Generate.cs" new file mode 100644 index 0000000..4805e1e --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Controllers/EntityMode_Generate.cs" @@ -0,0 +1,27 @@ +锘� + +using GenerateCode_WeiBen_WMS.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GenerateCode_GEBrilliantFactory +{ + /// <summary> + /// 鐢熸垚鏌ヨ瀹炰綋绫� + /// </summary> + public class EntityMode_Generate : BaseGenerate + { + public static string CreateText(GenerateCodeParam param) + { + var str = TextHelper.ReadText(@"Templete\Web\Controllers\EntityMode妯℃澘.txt"); + CommonReplace(ref str); + + CommonHelper.CommonReplaceStr(param, ref str); + + + return str; + } + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Controllers/File_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Controllers/File_Generate.cs" new file mode 100644 index 0000000..ade88ee --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Controllers/File_Generate.cs" @@ -0,0 +1,27 @@ +锘� + +using GenerateCode_WeiBen_WMS.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GenerateCode_GEBrilliantFactory +{ + /// <summary> + /// 鐢熸垚鏌ヨ瀹炰綋绫� + /// </summary> + public class File_Generate : BaseGenerate + { + public static string CreateText(GenerateCodeParam param) + { + var str = TextHelper.ReadText(@"Templete\Web\Controllers\File妯℃澘.txt"); + CommonReplace(ref str); + + CommonHelper.CommonReplaceStr(param, ref str); + + + return str; + } + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Index_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Index_Generate.cs" new file mode 100644 index 0000000..c4d947e --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/Index_Generate.cs" @@ -0,0 +1,27 @@ +锘� + +using GenerateCode_WeiBen_WMS.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GenerateCode_GEBrilliantFactory +{ + /// <summary> + /// 鐢熸垚鏌ヨ瀹炰綋绫� + /// </summary> + public class Index_Generate : BaseGenerate + { + public static string CreateText(GenerateCodeParam param) + { + var str = TextHelper.ReadText(@"Templete\Web\index妯℃澘.txt"); + CommonReplace(ref str); + + CommonHelper.CommonReplaceStr(param, ref str); + + + return str; + } + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/enum_Generate.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/enum_Generate.cs" new file mode 100644 index 0000000..75486f5 --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Generate/Web/enum_Generate.cs" @@ -0,0 +1,27 @@ +锘� + +using GenerateCode_WeiBen_WMS.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GenerateCode_GEBrilliantFactory +{ + /// <summary> + /// 鐢熸垚鏌ヨ瀹炰綋绫� + /// </summary> + public class enum_Generate : BaseGenerate + { + public static string CreateText(GenerateCodeParam param) + { + var str = TextHelper.ReadText(@"Templete\Web\enum妯℃澘.txt"); + CommonReplace(ref str); + + CommonHelper.CommonReplaceStr(param, ref str); + + + return str; + } + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/GenerateCode_WeiBen_CMS.csproj" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/GenerateCode_WeiBen_CMS.csproj" index 4d0bec6..f3cc73a 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/GenerateCode_WeiBen_CMS.csproj" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/GenerateCode_WeiBen_CMS.csproj" @@ -110,7 +110,8 @@ <Compile Include="Generate\AppService\IAppService_Generate.cs" /> <Compile Include="Generate\BaseGenerate.cs" /> <Compile Include="Generate\Controller\Controller_Generate.cs" /> - <Compile Include="Generate\Entity\AddModel_Generate.cs" /> + <Compile Include="Generate\Domain\IRepository_Generate.cs" /> + <Compile Include="Generate\EntityFrameworkCore\EfCoreRepository_Generate.cs" /> <Compile Include="Generate\Entity\ImportModel_Generate.cs" /> <Compile Include="Generate\Entity\ExportModel_Generate.cs" /> <Compile Include="Generate\Entity\Dto_Generate.cs" /> @@ -123,10 +124,14 @@ <Compile Include="Generate\Services_InterfaceRealize_Generate.cs" /> <Compile Include="Generate\VUE\VUE_FunConfig_Generate.cs" /> <Compile Include="Generate\Services_Interface_Generate.cs" /> - <Compile Include="Generate\Entity\InputModel_Generate.cs" /> + <Compile Include="Generate\Entity\InputQueryModel_Generate.cs" /> <Compile Include="Generate\BLL_Generate.cs" /> <Compile Include="Generate\DAL_Generate.cs" /> <Compile Include="Generate\Procedure_Generate.cs" /> + <Compile Include="Generate\Web\Controllers\EntityMode_Generate.cs" /> + <Compile Include="Generate\Web\Controllers\File_Generate.cs" /> + <Compile Include="Generate\Web\enum_Generate.cs" /> + <Compile Include="Generate\Web\Index_Generate.cs" /> <Compile Include="Model\GenerateCodeParam.cs" /> <Compile Include="Model\Enum\DataBaseEnum.cs" /> <Compile Include="Model\Enum\DataTypeEnum.cs" /> @@ -202,6 +207,12 @@ <Content Include="Templete\Controller妯℃澘.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> + <Content Include="Templete\Domain\IRepository妯℃澘.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> + <Content Include="Templete\EntityFrameworkCore\EfCoreRepository妯℃澘.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> <Content Include="Templete\Entity\AddModel妯℃澘.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> @@ -271,6 +282,18 @@ <Content Include="Templete\InitSQL妯℃澘.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> + <Content Include="Templete\Web\Controllers\EntityMode妯℃澘.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> + <Content Include="Templete\Web\Controllers\File妯℃澘.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> + <Content Include="Templete\Web\enum妯℃澘.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> + <Content Include="Templete\Web\index妯℃澘.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> <Content Include="甯哥敤.txt" /> </ItemGroup> <ItemGroup /> diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.Designer.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.Designer.cs" index 6059ec2..c1124b5 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.Designer.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.Designer.cs" @@ -64,6 +64,9 @@ this.lbl_DataSource = new System.Windows.Forms.Label(); this.cmb_DataSource = new System.Windows.Forms.ComboBox(); this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label19 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.tb_EnumList = new System.Windows.Forms.TextBox(); this.tb_GroupName = new System.Windows.Forms.TextBox(); this.label16 = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label(); @@ -74,9 +77,10 @@ this.label12 = new System.Windows.Forms.Label(); this.tb_templeteFileDownName = new System.Windows.Forms.TextBox(); this.label14 = new System.Windows.Forms.Label(); - this.tb_EnumList = new System.Windows.Forms.TextBox(); - this.label18 = new System.Windows.Forms.Label(); - this.label19 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.tb_MenuName = new System.Windows.Forms.TextBox(); + this.label21 = new System.Windows.Forms.Label(); + this.tb_PageMenuInstanceName = new System.Windows.Forms.TextBox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); @@ -163,7 +167,7 @@ // // tb_WCF_NameSpacePath // - this.tb_WCF_NameSpacePath.Location = new System.Drawing.Point(751, 309); + this.tb_WCF_NameSpacePath.Location = new System.Drawing.Point(983, 358); this.tb_WCF_NameSpacePath.Margin = new System.Windows.Forms.Padding(4); this.tb_WCF_NameSpacePath.Name = "tb_WCF_NameSpacePath"; this.tb_WCF_NameSpacePath.Size = new System.Drawing.Size(261, 25); @@ -172,7 +176,7 @@ // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(607, 311); + this.label2.Location = new System.Drawing.Point(862, 368); this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(105, 15); @@ -273,7 +277,7 @@ // label9 // this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(617, 262); + this.label9.Location = new System.Drawing.Point(682, 47); this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(45, 15); @@ -282,7 +286,7 @@ // // tb_OrderBy // - this.tb_OrderBy.Location = new System.Drawing.Point(671, 259); + this.tb_OrderBy.Location = new System.Drawing.Point(736, 44); this.tb_OrderBy.Margin = new System.Windows.Forms.Padding(4); this.tb_OrderBy.Name = "tb_OrderBy"; this.tb_OrderBy.Size = new System.Drawing.Size(192, 25); @@ -291,7 +295,7 @@ // label10 // this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(891, 262); + this.label10.Location = new System.Drawing.Point(956, 47); this.label10.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(83, 15); @@ -348,7 +352,7 @@ // // tb_RoutePrefix // - this.tb_RoutePrefix.Location = new System.Drawing.Point(717, 345); + this.tb_RoutePrefix.Location = new System.Drawing.Point(983, 395); this.tb_RoutePrefix.Margin = new System.Windows.Forms.Padding(4); this.tb_RoutePrefix.Name = "tb_RoutePrefix"; this.tb_RoutePrefix.Size = new System.Drawing.Size(192, 25); @@ -358,7 +362,7 @@ // label13 // this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(617, 352); + this.label13.Location = new System.Drawing.Point(862, 398); this.label13.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(99, 15); @@ -423,6 +427,10 @@ // // groupBox2 // + this.groupBox2.Controls.Add(this.tb_PageMenuInstanceName); + this.groupBox2.Controls.Add(this.label21); + this.groupBox2.Controls.Add(this.tb_MenuName); + this.groupBox2.Controls.Add(this.label20); this.groupBox2.Controls.Add(this.label19); this.groupBox2.Controls.Add(this.label18); this.groupBox2.Controls.Add(this.tb_EnumList); @@ -464,6 +472,36 @@ this.groupBox2.TabIndex = 46; this.groupBox2.TabStop = false; this.groupBox2.Text = "鑷畾涔夐厤缃�"; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(424, 432); + this.label19.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(751, 15); + this.label19.TabIndex = 53; + this.label19.Text = "PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|Mate" + + "rialTypeDesc"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(424, 488); + this.label18.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(135, 15); + this.label18.TabIndex = 52; + this.label18.Text = "鏋氫妇绫诲瀷瀛楁闆嗗悎:"; + // + // tb_EnumList + // + this.tb_EnumList.Location = new System.Drawing.Point(557, 451); + this.tb_EnumList.Margin = new System.Windows.Forms.Padding(4); + this.tb_EnumList.Multiline = true; + this.tb_EnumList.Name = "tb_EnumList"; + this.tb_EnumList.Size = new System.Drawing.Size(491, 129); + this.tb_EnumList.TabIndex = 51; // // tb_GroupName // @@ -566,35 +604,41 @@ this.label14.TabIndex = 47; this.label14.Text = "鏂囦欢涓嬭浇鍚嶅瓧:"; // - // tb_EnumList + // label20 // - this.tb_EnumList.Location = new System.Drawing.Point(557, 451); - this.tb_EnumList.Margin = new System.Windows.Forms.Padding(4); - this.tb_EnumList.Multiline = true; - this.tb_EnumList.Name = "tb_EnumList"; - this.tb_EnumList.Size = new System.Drawing.Size(491, 129); - this.tb_EnumList.TabIndex = 51; + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(600, 239); + this.label20.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(90, 15); + this.label20.TabIndex = 54; + this.label20.Text = "椤甸潰鑿滃崟鍚�:"; // - // label18 + // tb_MenuName // - this.label18.AutoSize = true; - this.label18.Location = new System.Drawing.Point(424, 488); - this.label18.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label18.Name = "label18"; - this.label18.Size = new System.Drawing.Size(135, 15); - this.label18.TabIndex = 52; - this.label18.Text = "鏋氫妇绫诲瀷瀛楁闆嗗悎:"; + this.tb_MenuName.Location = new System.Drawing.Point(700, 229); + this.tb_MenuName.Margin = new System.Windows.Forms.Padding(4); + this.tb_MenuName.Name = "tb_MenuName"; + this.tb_MenuName.Size = new System.Drawing.Size(261, 25); + this.tb_MenuName.TabIndex = 55; // - // label19 + // label21 // - this.label19.AutoSize = true; - this.label19.Location = new System.Drawing.Point(424, 432); - this.label19.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label19.Name = "label19"; - this.label19.Size = new System.Drawing.Size(751, 15); - this.label19.TabIndex = 53; - this.label19.Text = "PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|Mate" + - "rialTypeDesc"; + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(600, 275); + this.label21.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(135, 15); + this.label21.TabIndex = 56; + this.label21.Text = "椤甸潰鑿滃崟瀵硅薄缂╁啓:"; + // + // tb_PageMenuInstanceName + // + this.tb_PageMenuInstanceName.Location = new System.Drawing.Point(736, 265); + this.tb_PageMenuInstanceName.Margin = new System.Windows.Forms.Padding(4); + this.tb_PageMenuInstanceName.Name = "tb_PageMenuInstanceName"; + this.tb_PageMenuInstanceName.Size = new System.Drawing.Size(261, 25); + this.tb_PageMenuInstanceName.TabIndex = 57; // // MainForm // @@ -675,6 +719,10 @@ private System.Windows.Forms.Label label18; private System.Windows.Forms.TextBox tb_EnumList; private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.TextBox tb_MenuName; + private System.Windows.Forms.TextBox tb_PageMenuInstanceName; + private System.Windows.Forms.Label label21; } } diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.cs" index f5d5089..cc17f85 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/MainForm.cs" @@ -31,6 +31,8 @@ this.tb_WCF_NameSpacePath.Text = "HIAWms";//WCF椤圭洰鍛藉悕绌洪棿 this.tb_FileName.Text = "Xiangzi";//鏂囦欢鍓嶇紑鍚� this.tb_ChinaComment.Text = "鐗╂枡鍩虹淇℃伅琛�";//涓枃娉ㄩ噴 + this.tb_MenuName.Text = "鐗╂枡淇℃伅";//涓枃娉ㄩ噴 + this.tb_PageMenuInstanceName.Text = "wmsMaterial"; this.tb_CreatePerson.Text = "shaocx";//鍒涘缓浜� this.tb_EntityName.Text = "WmsMaterial";//瀹炰綋绫诲悕 //this.tb_EntityProName.Text = "wmsMaterial";//瀹炰綋绫诲璞″悕 @@ -98,6 +100,26 @@ string filePrefixName = this.tb_FileName.Text.Trim();//鏂囦欢鍓嶇紑鍚� string modulelogo = this.tb_Modulelogo.Text.Trim();//妯″潡绠�鍐� string chinaComment = this.tb_ChinaComment.Text.Trim();//涓枃娉ㄩ噴 + if (chinaComment == "") + { + MessageBox.Show("璇疯緭鍏� 琛ㄧ殑涓枃娉ㄨВ锛�"); + this.tb_ChinaComment.Focus(); + return; + } + string menuName = this.tb_MenuName.Text.Trim();//涓枃娉ㄩ噴 + if (menuName == "") + { + MessageBox.Show("璇疯緭鍏� 椤甸潰鑿滃崟鍚嶏紒"); + this.tb_MenuName.Focus(); + return; + } + string _tb_PageMenuInstanceName = this.tb_PageMenuInstanceName.Text.Trim();//涓枃娉ㄩ噴 + if (_tb_PageMenuInstanceName == "") + { + MessageBox.Show("璇疯緭鍏� 椤甸潰鑿滃崟瀵硅薄缂╁啓锛�"); + this.tb_PageMenuInstanceName.Focus(); + return; + } string createPerson = this.tb_CreatePerson.Text.Trim();//鍒涘缓浜� string entityName = this.tb_EntityName.Text.Trim();//瀹炰綋绫诲悕 string tableAlias = this.tb_EntityProName.Text.Trim();//瀹炰綋绫诲璞″悕/琛ㄥ埆鍚� @@ -160,6 +182,8 @@ { Modulelogo = modulelogo, ChinaComment = chinaComment, + PageMenuName = menuName, + PageMenuInstanceName = _tb_PageMenuInstanceName, NameSpacePath = wcf_NameSpacePath, ColumnNameList = columnList, EntityName = entityName, @@ -191,7 +215,7 @@ #region 瀹炰綋绫� var entityFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim(); //1銆佺敓鎴� 鍒嗛〉鏌ヨ瀹炰綋 鏂囦欢 - str_generate = InputModel_Generate.CreateQueryModelLText(param); + str_generate = InputQueryModel_Generate.CreateQueryModelLText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"Get{param.EntityName}Input.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); //2銆佺敓鎴� CreateDto 鏂囦欢 @@ -238,12 +262,55 @@ #region Contorller //10銆佺敓鎴� Contorller 鏂囦欢 - var continerlllePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Controller"; + var continerlllePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @"\Controller"; str_generate = Controller_Generate.CreateText(param); tf = TextHelper.Export2File_V2(continerlllePath, $"{param.EntityName}Controller.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); #endregion + + #region Domain + + //11銆佺敓鎴� IRepository 鏂囦欢 + var iRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Domain\" + tb_EntityName.Text.Trim(); ; + str_generate = IRepository_Generate.CreateText(param); + tf = TextHelper.Export2File_V2(iRepositoryPath, $"I{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); + + + #endregion + + #region EntityFrameworkCore + + //12銆佺敓鎴� EfCoreRepository 鏂囦欢 + var efCoreRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".EntityFrameworkCore\Repositories"; + str_generate = EfCoreRepository_Generate.CreateText(param); + tf = TextHelper.Export2File_V2(efCoreRepositoryPath, $"EfCore{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); + + + #endregion + + #region Web + var webRootPath = tbPath.Text + @"\web\src\widgets\" + tb_EntityName.Text.Trim(); + + //13銆佺敓鎴� Index 鏂囦欢 + str_generate = Index_Generate.CreateText(param); + tf = TextHelper.Export2File_V2(webRootPath, $"index.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); + + //14銆佺敓鎴� enum 鏂囦欢 + str_generate = enum_Generate.CreateText(param); + tf = TextHelper.Export2File_V2(webRootPath, $"enum.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); + + + //15銆佺敓鎴� Controllers\File 鏂囦欢 + str_generate = File_Generate.CreateText(param); + tf = TextHelper.Export2File_V2(webRootPath+ @"\Controllers", $"File.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); + + //16銆佺敓鎴� Controllers\EntityMode 鏂囦欢 + str_generate = EntityMode_Generate.CreateText(param); + tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); + + #endregion + ////鐢熸垚 OutputModel 鏂囦欢 @@ -410,7 +477,7 @@ private void MainForm_Load(object sender, EventArgs e) { - tb_EntityProName.Enabled = false; + //tb_EntityProName.Enabled = false; tb_FileName.Enabled = false; tb_Modulelogo.Enabled = false; tb_WCF_NameSpacePath.Enabled = true; diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/GenerateCodeParam.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/GenerateCodeParam.cs" index bb9b0f4..9052539 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/GenerateCodeParam.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/GenerateCodeParam.cs" @@ -23,6 +23,16 @@ public string ChinaComment { get; set; } /// <summary> + /// 椤甸潰鑿滃崟鍚� + /// </summary> + public string PageMenuName { get; set; } + + /// <summary> + /// 椤甸潰鑿滃崟瀵硅薄缂╁啓 + /// </summary> + public string PageMenuInstanceName { get; set; } + + /// <summary> /// 鍒楀悕鍒楄〃 /// </summary> public List<ColumnModel> ColumnNameList { get; set; } = new List<ColumnModel>(); diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/SystemCommonVar.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/SystemCommonVar.cs" index 2197ec0..398b176 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/SystemCommonVar.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Model/SystemCommonVar.cs" @@ -34,6 +34,8 @@ public const string c_ConcurrencyStamp = "ConcurrencyStamp"; + public const string c_Sort = "Sort"; + } } diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt" index d0cf6dc..ac2ff37 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt" @@ -1,9 +1,9 @@ -using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityInstanceName$s; +using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services; using CMS.Plugin.$NameSpacePath$.Domain.Shared; using CMS.Plugin.$NameSpacePath$.Domain.Shared.Util; -using CMS.Plugin.$NameSpacePath$.Domain.Shared.$EntityInstanceName$s; -using CMS.Plugin.$NameSpacePath$.Domain.$EntityInstanceName$s; +using CMS.Plugin.$NameSpacePath$.Domain.Shared.$EntityName$; +using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp; @@ -264,14 +264,14 @@ var $EntityInstanceName$CreateDtos = new List<(int RowIndex, $EntityName$CreateDto Item)>(); var $EntityInstanceName$UpdateDtos = new List<(int RowIndex, Guid Id, $EntityName$UpdateDto Item)>(); - var $EntityInstanceName$s = input.$EntityInstanceName$s; + var importItems = input.$EntityName$s; - if ($EntityInstanceName$s != null && $EntityInstanceName$s.Any()) + if (importItems != null && importItems.Any()) { #region 导入校验 // 判断名称是否重复,并输出第几行重复 - var duplicate$EntityName$s = $EntityInstanceName$s.GroupBy(x => x.MaterialCode).Where(x => x.Count() > 1).ToList(); + var duplicate$EntityName$s = importItems.GroupBy(x => x.MaterialCode).Where(x => x.Count() > 1).ToList(); if (duplicate$EntityName$s?.Any() == true) { var duplicate$EntityName$Msgs = duplicate$EntityName$s.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} 行:{x.Key} 名称重复"); @@ -281,65 +281,91 @@ #endregion - foreach (var $EntityInstanceName$ in $EntityInstanceName$s) + foreach (var impItem in importItems) { - if ($EntityInstanceName$.MaterialCode.IsNullOrWhiteSpace() && $EntityInstanceName$.MaterialName.IsNullOrWhiteSpace()) + if (impItem.MaterialCode.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace()) { continue; } - if ($EntityInstanceName$.MaterialCode.IsNullOrWhiteSpace()) + if (impItem.MaterialCode.IsNullOrWhiteSpace()) { - var errorMsg = $"导入失败!配置,第{$EntityInstanceName$.RowIndex}行:$EntityInstanceName$名称不能为空"; + var errorMsg = $"导入失败!配置,第{impItem.RowIndex}行:$EntityName$名称不能为空"; throw new UserFriendlyException(errorMsg); } - var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync($EntityName$.MaterialCode); + var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync(impItem.MaterialCode); if (old$EntityName$ != null) { var $EntityInstanceName$UpdateDto = new $EntityName$UpdateDto { - $UpdateAttributesForImport$ + MaterialCode = impItem.MaterialCode, + MaterialName = impItem.MaterialName, + PurchaseType = impItem.PurchaseType, + MaterialType = impItem.MaterialType, + PrimaryUnit = impItem.PrimaryUnit, + Standard = impItem.Standard, + OuterDiameter = impItem.OuterDiameter, + WallThickness = impItem.WallThickness, + MaterialQuality = impItem.MaterialQuality, + Length = impItem.Length, + IsMainBranch = impItem.IsMainBranch, + Factory = impItem.Factory, + Certification = impItem.Certification, + Remark = impItem.Remark, }; - $EntityInstanceName$UpdateDtos.Add(($EntityName$.RowIndex, old$EntityName$.Id, $EntityInstanceName$UpdateDto)); + $EntityInstanceName$UpdateDtos.Add((impItem.RowIndex, old$EntityName$.Id, $EntityInstanceName$UpdateDto)); } else { - var $EntityName$CreateDto = new $EntityName$CreateDto + var $EntityInstanceName$CreateDto = new $EntityName$CreateDto { - $UpdateAttributesForImport$ + MaterialCode = impItem.MaterialCode, + MaterialName = impItem.MaterialName, + PurchaseType = impItem.PurchaseType, + MaterialType = impItem.MaterialType, + PrimaryUnit = impItem.PrimaryUnit, + Standard = impItem.Standard, + OuterDiameter = impItem.OuterDiameter, + WallThickness = impItem.WallThickness, + MaterialQuality = impItem.MaterialQuality, + Length = impItem.Length, + IsMainBranch = impItem.IsMainBranch, + Factory = impItem.Factory, + Certification = impItem.Certification, + Remark = impItem.Remark, }; - $EntityInstanceName$CreateDtos.Add(($EntityName$.RowIndex, $EntityName$CreateDto)); + $EntityInstanceName$CreateDtos.Add((impItem.RowIndex, $EntityInstanceName$CreateDto)); } } } // 新增 - foreach (var $EntityName$Dto in $EntityInstanceName$CreateDtos) + foreach (var $EntityInstanceName$Dto in $EntityInstanceName$CreateDtos) { try { - await CreateAsync($EntityName$Dto.Item); + await CreateAsync($EntityInstanceName$Dto.Item); } catch (Exception e) { - var errorMsg = $"导入失败!配置,第{$EntityName$Dto.RowIndex}行:{e.Message},终止导入"; + var errorMsg = $"导入失败!配置,第{$EntityInstanceName$Dto.RowIndex}行:{e.Message},终止导入"; throw new UserFriendlyException(errorMsg); } } // 更新 - foreach (var $EntityName$Dto in $EntityInstanceName$UpdateDtos) + foreach (var $EntityInstanceName$Dto in $EntityInstanceName$UpdateDtos) { try { - await UpdateAsync($EntityName$Dto.Id, $EntityName$Dto.Item); + await UpdateAsync($EntityInstanceName$Dto.Id, $EntityInstanceName$Dto.Item); } catch (Exception e) { - var errorMsg = $"导入失败!配置,第{$EntityName$Dto.RowIndex}行:{e.Message},终止导入"; + var errorMsg = $"导入失败!配置,第{$EntityInstanceName$Dto.RowIndex}行:{e.Message},终止导入"; throw new UserFriendlyException(errorMsg); } } diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/IAppService\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/IAppService\346\250\241\346\235\277.txt" index 44ebadb..d314fbf 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/IAppService\346\250\241\346\235\277.txt" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/IAppService\346\250\241\346\235\277.txt" @@ -1,4 +1,4 @@ -using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$s; +using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; using Volo.Abp.Application.Services; namespace CMS.Plugin.$NameSpacePath$.Application.Contracts.Services; diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Domain/IRepository\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Domain/IRepository\346\250\241\346\235\277.txt" new file mode 100644 index 0000000..9ec6318 --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Domain/IRepository\346\250\241\346\235\277.txt" @@ -0,0 +1,53 @@ +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; +using Volo.Abp.Domain.Repositories; + +namespace CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; + +/// <summary> +/// $ChinaComment$仓储 +/// </summary> +public interface I$EntityName$Repository : IBasicRepository<$EntityName$, Guid> +{ + /// <summary> + /// 按照名称查找$ChinaComment$ + /// </summary> + /// <param name="name"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + Task<$EntityName$> FindByNameAsync(string name, CancellationToken cancellationToken = default); + + /// <summary> + /// 验证名称是否存在$ChinaComment$ + /// </summary> + /// <param name="name"></param> + /// <param name="id"></param> + /// <returns></returns> + Task<bool> NameExistAsync(string name, Guid? id = null); + + /// <summary> + /// 获取最大排序$ChinaComment$ + /// </summary> + /// <returns></returns> + Task<int> GetMaxSortAsync(); + + /// <summary> + /// 获取分页列表$ChinaComment$ + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="sorting"></param> + /// <param name="maxResultCount"></param> + /// <param name="skipCount"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + Task<List<$EntityName$>> GetListAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); + + /// <summary> + /// 获取总数$ChinaComment$ + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, CancellationToken cancellationToken = default); +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt" index d32df4c..da3d4ab 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt" @@ -1,6 +1,8 @@ using CMS.Plugin.$NameSpacePath$.Domain.Shared.Enums; using Volo.Abp.Application.Dtos; +using Volo.Abp.Data; using Volo.Abp.Domain.Entities; + namespace CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; @@ -10,11 +12,6 @@ public class $EntityName$Dto: ExtensibleEntityDto<Guid>, IHasConcurrencyStamp { $AddAttributesForDto$ - - /// <summary> - /// 并发戳 - /// </summary> - public string ConcurrencyStamp { get; set; } /// <summary> /// Gets the export data. diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/ImportModel\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/ImportModel\346\250\241\346\235\277.txt" index 9edc11e..ddbe612 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/ImportModel\346\250\241\346\235\277.txt" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/ImportModel\346\250\241\346\235\277.txt" @@ -22,7 +22,7 @@ /// <summary> /// $ChinaComment$导入模型 /// </summary> - public class $EntityName$ImportModel : MaterialExportModel + public class $EntityName$ImportModel : $EntityName$ExportModel { /// <summary> /// 行号 diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/EntityFrameworkCore/EfCoreRepository\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/EntityFrameworkCore/EfCoreRepository\346\250\241\346\235\277.txt" new file mode 100644 index 0000000..c355d6a --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/EntityFrameworkCore/EfCoreRepository\346\250\241\346\235\277.txt" @@ -0,0 +1,113 @@ +using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; +using CMS.Plugin.$NameSpacePath$.EntityFrameworkCore.Extensions; +using CmsQueryExtensions.Extension; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; +using System.Linq.Expressions; +using Volo.Abp.Domain.Repositories.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; + + +namespace CMS.Plugin.$NameSpacePath$.EntityFrameworkCore.Repositories; + +/// <summary> +/// $ChinaComment$仓储实现 +/// </summary> +public class EfCore$EntityName$Repository : EfCoreRepository<ICMSPluginDbContext, $EntityName$, Guid>, I$EntityName$Repository +{ + /// <summary> + /// Initializes a new instance of the <see cref="EfCore$EntityName$Repository"/> class. + /// </summary> + /// <param name="dbContextProvider">The database context provider.</param> + public EfCore$EntityName$Repository(IDbContextProvider<ICMSPluginDbContext> dbContextProvider) + : base(dbContextProvider) + { + } + + /// <summary> + /// 按照名称查找$ChinaComment$ + /// </summary> + /// <param name="name"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public virtual async Task<$EntityName$> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails() + .Where(x => !x.IsDeleted) + .OrderBy(t => t.Sort) + .FirstOrDefaultAsync(t => t.MaterialCode == name, GetCancellationToken(cancellationToken)); + } + + /// <summary> + /// 验证名称是否存在$ChinaComment$ + /// </summary> + /// <param name="materialCode"></param> + /// <param name="id"></param> + /// <returns></returns> + public async Task<bool> NameExistAsync(string materialCode, Guid? id = null) + { + return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialCode == materialCode); + } + + /// <summary> + /// 获取最大排序$ChinaComment$ + /// </summary> + /// <returns></returns> + public async Task<int> GetMaxSortAsync() + { + var hasAny = await (await GetQueryableAsync()) + .Where(x => !x.IsDeleted).AnyAsync(); + if (!hasAny) + { + return 1; + } + + var sort = await (await GetQueryableAsync()) + .Where(x => !x.IsDeleted).MaxAsync(x => x.Sort); + return sort + 1; + } + + /// <summary> + /// 获取分页列表$ChinaComment$ + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="sorting"></param> + /// <param name="maxResultCount"></param> + /// <param name="skipCount"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<$EntityName$>> GetListAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails(includeDetails) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .OrderBy(sorting.IsNullOrEmpty() ? nameof($EntityName$.Sort) : sorting) + .PageBy(skipCount, maxResultCount) + .ToListAsync(GetCancellationToken(cancellationToken)); + } + + /// <summary> + /// 获取总数$ChinaComment$ + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, CancellationToken cancellationToken = default) + { + return await (await GetQueryableAsync()) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); + } + + + /// <inheritdoc /> + public override async Task<IQueryable<$EntityName$>> WithDetailsAsync() + { + return (await GetQueryableAsync()) + .Where(x => !x.IsDeleted).IncludeDetails(); + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/EntityMode\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/EntityMode\346\250\241\346\235\277.txt" new file mode 100644 index 0000000..8aca535 --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/EntityMode\346\250\241\346\235\277.txt" @@ -0,0 +1,275 @@ +import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { $EntityName$ } from '../Models/$EntityName$' +import { ElMessage } from 'element-plus' +import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' +import { useFile } from './File' + +interface CurrentType { + row: any + index: number +} +export const use$EntityName$ = (props: any, ctx?: any) => { + const $PageMenuInstanceName$ = injectModel<$EntityName$>('$PageMenuInstanceName$') + const { exportFile } = useFile() + /** + * 头部配置 + */ + const headers = ref({}) + /** + * 动态列配置 + */ + const $PageMenuInstanceName$Columns = ref<Record<string, any>>([]) + /** + * 搜索值 + */ + const search = ref('') + + /** + * 排序 + */ + const sort = ref(0) + /** + * 选择项 + */ + const selection = ref([]) + /** + * 当前选中的行 + */ + const current = ref<any>(null) + /** + * 数据源 + */ + const dataSource: Ref<any[]> = ref([]) + + /** + * 表格 + */ + const tableRef = ref() + const dialogConfig = reactive({ + visible: false, + title: '', + isAdd: false, + }) + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) + + + const dialogSettingConfig = reactive({ + visible: false, + title: '', + }) + + /** + * 分页数据 + */ + const paginationParams = ref({}) + + /** + * 打开详情 + * @param row + */ + const openDetail = (row: any) => { + current.value = row + dialogConfig.visible = true + dialogConfig.title = row.name + dialogConfig.isAdd = false + sort.value = row.sort + } + + const contextMenu = [ + { + label: '展开详情', + fn: (c: CurrentType) => { + current.value = null + sort.value = c.row.sort + nextTick(() => openDetail(c.row)) + }, + divided: true, + icon: 'o', + }, + // { + // label: '向上添加', + // fn: (c: CurrentType, pageNum: number) => { + // current.value = null + // sort.value = c.index + 1 + (pageNum - 1) * 50 + // dialogConfig.visible = true + // dialogConfig.title = '添加' + // dialogConfig.isAdd = false + // }, + // divided: true, + // icon: 'up', + // }, + // { + // label: '向下添加', + // fn: (c: CurrentType, pageNum: number) => { + // current.value = null + // sort.value = c.index + 2 + (pageNum - 1) * 50 + // dialogConfig.visible = true + // dialogConfig.title = '添加' + // dialogConfig.isAdd = false + // }, + // divided: true, + // icon: 'down', + // }, + // { + // label: '创建副本', + // fn: async ({ row }: CurrentType) => { + // await $PageMenuInstanceName$.cloneData([row.id]) + // ElMessage.success('创建副本成功') + // tableRef.value?.getList() + // }, + // divided: true, + // icon: 'copy', + // }, + { + label: '删除', + fn: async (c: CurrentType) => { + const names = selection.value.map((item: { name: string }) => item.name) + ConfirmBox( + `是否删除${names.length ? names.join(',') : c.row.name}` + ).then(async () => { + const ids = selection.value.map((item: { id: string }) => item.id) + await $PageMenuInstanceName$.delete$EntityName$s(ids.length ? ids : [c.row.id]) + ElMessage.success('删除成功') + tableRef.value.getList() + }) + }, + icon: 'close', + }, + ] + + const onCheck = (records: any) => { + selection.value = records + } + + const onAdd$EntityName$ = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfig.visible = true + dialogConfig.isAdd = true + dialogConfig.title = '添加' + sort.value = params.totalCount + 1 + } + + //点击按钮【高级查询】 + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '高级查询' + } + + const onConfirm$EntityName$ = async () => { + dialogConfig.visible = false + if (dialogConfig.isAdd) { + tableRef.value?.scrollToRow({ + skip: true, + }) + } else { + await tableRef.value?.getList() + } + } + /** + * 行点击时更新current + */ + const onRowClick = ({ row }: any) => { + if (dialogConfig.visible && current.value) { + current.value = row + } + } + /** + * 导出 + */ + const onExport = (data={}) => { + //const params = tableRef.value?.getParams() + exportFile('/api/v1/hIAWms/$PageMenuInstanceName$/export', data, 'hIAWms') + } + + /** + * 关键字搜索 + */ + const onSearch = () => { + tableRef.value?.getList({ + Filter: search.value, + }) + } + + /** + * 重置表格数据 + */ + const reloadList = () => { + tableRef.value?.getList() + } + /** + * 上传成功 + */ + const onSuccess = () => { + tableRef.value?.getList() + ElMessage.success('导入成功') + } + /** + * 失败 + * @param err + */ + const onError = (err: any) => { + try { + const message = JSON.parse(err.message) + ElMessage.error(message.msg) + } catch (error) { + ElMessage.error('导入失败') + } + } + /** + * 上传钩子 + */ + const onBeforeUpload = (file: File) => { + const format = ['xlsx', 'xls', 'csv'] + if (!format.includes(file.name.split('.')[1])) { + ElMessage.error('导入文件格式不正确,请导入.xlsx/.xls与.csv格式的文件') + return false + } + return true + } + + onMounted(() => { + headers.value = { + Authorization: `Bearer ${sessionStorage.getItem('Token')}`, + 'X-Project': sessionStorage.getItem('X-Project'), + } + }) + + ctx.expose({ + reloadList, + }) + + return { + dataSource, + contextMenu, + dialogConfig, + dialogConfigForQuery, + dialogSettingConfig, + tableRef, + current, + search, + sort, + $PageMenuInstanceName$Columns, + paginationParams, + headers, + onBeforeUpload, + onError, + onSuccess, + openDetail, + onSearch, + onExport, + onRowClick, + onConfirm$EntityName$, + onCheck, + onAdd$EntityName$, + onAdvancedQuery + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/File\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/File\346\250\241\346\235\277.txt" new file mode 100644 index 0000000..c79b5d5 --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/File\346\250\241\346\235\277.txt" @@ -0,0 +1,31 @@ +import { importFileToService, exportFileToClient } from '@/api/file' +import { ElMessage } from 'element-plus' +import { downloadFile } from '@/utils' +import dayjs from 'dayjs' + +export const useFile = () => { + /** + * 导入文件 + * @param url + */ + const importFile = async (url: string, file: File) => { + const formData = new FormData() + formData.append('file', file) + await importFileToService(url, formData) + ElMessage('导入成功') + } + /** + * 导出文件 + * @param url + */ + const exportFile = async (url: string, params: any, name: string) => { + const res = await exportFileToClient(url, params) + downloadFile(res, `${name}_${dayjs().format('YYYYMMDDHHMMss')}.xlsx`) + ElMessage.success('导出成功') + } + + return { + importFile, + exportFile, + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/enum\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/enum\346\250\241\346\235\277.txt" new file mode 100644 index 0000000..5b9bbea --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/enum\346\250\241\346\235\277.txt" @@ -0,0 +1,15 @@ +export interface TabType { + label: string + name: string + columns?: any[] + data?: any[] + isFooter: boolean + [key: string]: any +} + +export const permissionCodes = { + '$PageMenuInstanceName$-list': '列表-列表', + '$PageMenuInstanceName$-add': '列表-添加', + '$PageMenuInstanceName$-import': '列表-导入', + '$PageMenuInstanceName$-output': '列表-输出', +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/index\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/index\346\250\241\346\235\277.txt" new file mode 100644 index 0000000..d8757c5 --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/index\346\250\241\346\235\277.txt" @@ -0,0 +1,14 @@ +import $NameSpacePath$ from './Views/$NameSpacePath$' +import Setting from '@/components/Setting/Setting' +import { provider } from '@/provider/index' +import p from '../../assets/svg/p.svg' + +export default { + is: '$NameSpacePath$', + name: '$PageMenuName$', + category: 'run', + icon: p, + authorizationRequired: false, + canvasView: provider($NameSpacePath$), + settingsView: Setting, +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/CommonHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/CommonHelper.cs" index 74ff8b3..a6d8380 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/CommonHelper.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/CommonHelper.cs" @@ -41,6 +41,8 @@ { str = str.Replace("$NameSpacePath$", param.NameSpacePath);//鍛藉悕绌洪棿 str = str.Replace("$ChinaComment$", param.ChinaComment);//涓枃娉ㄩ噴 + str = str.Replace("$PageMenuName$", param.PageMenuName);//涓枃娉ㄩ噴 + str = str.Replace("$PageMenuInstanceName$", param.PageMenuInstanceName);//涓枃娉ㄩ噴 str = str.Replace("$EntityName$", param.EntityName);//瀹炰綋绫诲悕 str = str.Replace("$Modulelogo$", param.Modulelogo);//妯″潡绠�鍐� str = str.Replace("$EntityInstanceName$", param.EntityInstanceName);//瀹炰緥鍚� diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/ListHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/ListHelper.cs" index da83f96..09bdfe2 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/ListHelper.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/ListHelper.cs" @@ -272,7 +272,42 @@ || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_delFlag.ToUpper() || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_CreateId.ToUpper() || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyId.ToUpper() - + + ) + { + continue; + } + newList.Add(columnModel); + } + return newList; + } + + /// <summary> + /// 杩囨护锛屾洿鏂板疄浣撶被鏃朵笓鐢� + /// </summary> + /// <param name="columnNameList"></param> + /// <returns></returns> + public static List<ColumnModel> RemoveAttrForUpdateMode(List<ColumnModel> columnNameList) + { + List<ColumnModel> newList = new List<ColumnModel>(); + ColumnModel columnModel = null; + for (int i = 0; i < columnNameList.Count; i++) + { + columnModel = columnNameList[i]; + if (columnModel.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_createTime.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_lastModifier.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_lastModifyTime.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyTime.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Id.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ExtraProperties.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ConcurrencyStamp.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_DeleterId.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_delFlag.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_CreateId.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyId.ToUpper() + || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Sort.ToUpper() + ) { continue; diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" index 709c79a..fee22c6 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" @@ -1,4 +1,5 @@ -锘縰sing GenerateCode_WeiBen_WMS.Model; +锘縰sing GenerateCode_WeiBen_WMS.Const; +using GenerateCode_WeiBen_WMS.Model; using System; using System.Collections.Generic; using System.Configuration; @@ -199,6 +200,7 @@ attrStr += " public float" + str_NullFlag + attr + " { get; set; }\n"; break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: if (columnModel.IsNullable) { str_NullFlag = "? "; } attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; break; @@ -228,6 +230,7 @@ // var bb = ""; //} string str_NullFlag = " "; + if (columnModel.IsNullable) { str_NullFlag = "? "; } string attrStr = ""; attrStr += " /// <summary>\n"; @@ -246,6 +249,17 @@ case DataTypeEnum.dt_bigint: if (columnModel.IsNullable) { str_NullFlag = "? "; } attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_decimal: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_int: @@ -313,7 +327,7 @@ string attr = columnModel.ColumnName; string attrStr = ""; - attrStr += $" {attr} = {param.EntityInstanceName}.{attr};\n"; + attrStr += $" {attr} = {param.EntityInstanceName}.{attr},\n"; return attrStr; @@ -360,17 +374,10 @@ } break; case DataTypeEnum.dt_bigint: - if (isHaveMaxLength) - { - attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; - } - else - { - attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n"; - } - break; - case DataTypeEnum.dt_int: + case DataTypeEnum.dt_decimal: case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_int: if (isHaveMaxLength) { attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; @@ -416,6 +423,7 @@ // var bb = ""; //} string str_NullFlag = " "; + if (columnModel.IsNullable) { str_NullFlag = "? "; } string attrStr = ""; attrStr += " /// <summary>\n"; @@ -428,12 +436,23 @@ case DataTypeEnum.dt_datetime: case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: - attrStr += " public datetime" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += " public DateTime" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_bigint: if (columnModel.IsNullable) { str_NullFlag = "? "; } attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_decimal: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_int: @@ -452,7 +471,15 @@ break; default: - attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; + //鐗规畩澶勭悊 瀛楁 ExtraProperties + if (columnModel.ColumnName.ToUpper() == SystemConst.pro_ExtraProperties.ToUpper()) + { + attrStr += " public ExtraPropertyDictionary" + str_NullFlag + attr + " { get; set; }\n"; + } + else + { + attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; + } attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; } @@ -466,7 +493,7 @@ attrStr += " /// <summary>\n"; attrStr += " /// " + columnModel.Description + "\n"; attrStr += " /// </summary>\n"; - attrStr += " public string" + str_NullFlag + findEnumObj.EnumTypeDesc + " { get; set; }\n"; + attrStr += " public string" + str_NullFlag + findEnumObj.EnumTypeDesc + "\n"; attrStr += " { \n"; attrStr += " get \n"; attrStr += " { \n"; @@ -519,6 +546,17 @@ case DataTypeEnum.dt_bigint: if (columnModel.IsNullable) { str_NullFlag = "? "; } attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_decimal: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_int: @@ -596,10 +634,15 @@ attrStr += " public long" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; + case DataTypeEnum.dt_decimal: + attrStr += " public decimal" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; case DataTypeEnum.dt_int: attrStr += " public int" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; + case DataTypeEnum.dt_bit: case DataTypeEnum.dt_tinyint: attrStr += " public bool" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� @@ -649,6 +692,7 @@ case DataTypeEnum.dt_datetimeoffset: return "\n"; case DataTypeEnum.dt_bigint: + case DataTypeEnum.dt_decimal: case DataTypeEnum.dt_int: case DataTypeEnum.dt_tinyint: attrStr += " public SearchFilterModeEnum " + attr + highSearchModeSuffix + " { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;\n"; @@ -754,6 +798,7 @@ defaultValue = "getdate()"; break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: defaultValue = "0"; break; default: @@ -812,6 +857,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sql.Append("@" + attrColumnName + " " + columnModel.DataType + " " + fuhao + "\n"); break; case DataTypeEnum.dt_decimal: @@ -873,6 +919,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sql.Append("@" + attrColumnName + " " + columnModel.DataType + " " + fuhao + "\n"); break; case DataTypeEnum.dt_decimal: @@ -933,6 +980,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sql.Append("@" + attrColumnName + " " + columnModel.DataType + " " + fuhao); break; case DataTypeEnum.dt_decimal: @@ -1058,6 +1106,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: updateSql = " " + attrColumnName + "= case @" + attrColumnName + " when NULL then " + attrColumnName + " else @" + attrColumnName + " end "; break; default: @@ -1219,6 +1268,7 @@ str += "SqlDbType.Float," + columnModel.DataLength.ToString(); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: str += "SqlDbType.Bit," + columnModel.DataLength.ToString(); break; } @@ -1289,6 +1339,7 @@ sb.Append("} \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append("if (dataRow[\"" + columnModel.ColumnName.ToString() + "\"].ToString() != \"\") \n"); sb.Append("{ \n"); @@ -1539,6 +1590,7 @@ sb.Append(" </el-table-column> \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" <el-table-column prop=\"" + columnModel.ColumnName + "\" label=\"" + columnModel.Description + "\" align=\"center\" > \n"); sb.Append("<template slot-scope=\"scope\">"); sb.Append("<el-tag :type=\"scope.row." + columnModel.ColumnName + " ? 'danger' : 'success'\""); @@ -1586,6 +1638,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" <el-switch v-model=\"addForm." + columnModel.ColumnName + "\"></el-switch> \n"); break; case DataTypeEnum.dt_datetime: @@ -1633,6 +1686,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" <el-switch v-model=\"viewDetailForm." + columnModel.ColumnName + "\"></el-switch> \n"); break; case DataTypeEnum.dt_datetime: @@ -1690,6 +1744,7 @@ elment = "el-date-picker"; break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: elment = "el-select"; break; default: @@ -1714,6 +1769,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n"); break; default: @@ -1826,6 +1882,7 @@ sb.Append("<el-input v-model=\"serachObj." + columnModel.ColumnName + "\" placeholder=\"璇疯緭鍏�" + columnModel.Description + "\"></el-input> \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append("<el-checkbox-group v-model=\"ck_delflag\" @change=\"ckDelFlag\">\n"); sb.Append(" <el-checkbox-button label=\"鍚敤\" name=\"ck_delflag\"></el-checkbox-button>\n"); sb.Append(" <el-checkbox-button label=\"绂佺敤\" name=\"ck_delflag\"></el-checkbox-button>\n"); @@ -1871,6 +1928,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_datetime: case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: @@ -1936,6 +1994,7 @@ sb.Append(" } \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" if (!string.IsNullOrEmpty(queryModel." + columnModel.ColumnName + ")) \n"); sb.Append(" { \n"); sb.Append(" strWhere += \" AND $TableAlias$." + columnModel.ColumnName + " = '\" + queryModel." + columnModel.ColumnName + " + \"'\"; \n"); diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/\345\270\270\347\224\250.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/\345\270\270\347\224\250.txt" index 1092e3c..fcfe59b 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/\345\270\270\347\224\250.txt" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/\345\270\270\347\224\250.txt" @@ -1,6 +1,13 @@ 锘� $ChinaComment$ +$PageMenuName$ + $EntityName$ -$NameSpacePath$ \ No newline at end of file +$NameSpacePath$ + +$EntityInstanceName$ + + +$PageMenuInstanceName$ \ No newline at end of file diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs" index b1fb428..9581382 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/GetWmsMaterialInput.cs" @@ -1,311 +1,301 @@ -using CmsQueryExtensions.Extension; -using Volo.Abp.Application.Dtos; - -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; - +锘縰sing CmsQueryExtensions.Extension; +using Volo.Abp.Application.Dtos; + +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + /// <summary> /// 鐗╂枡鍩虹淇℃伅琛ㄦ煡璇㈠弬鏁� /// </summary> -public class GetWmsMaterialInput : ExtensiblePagedAndSortedResultRequestDto -{ - +public class GetWmsMaterialInput : ExtensiblePagedAndSortedResultRequestDto +{ + #region 鍏抽敭瀛楁煡璇� - + /// <summary> /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� /// </summary> - public string searchVal { get; set; } - + public string searchVal { get; set; } + /// <summary> /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 /// </summary> - public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; - + public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 /// </summary> - [NoAutoQuery] - public string str_searchFormInputAttrs { get; set; } + [NoAutoQuery] + public string str_searchFormInputAttrs { get; set; } /// <summary> /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 /// </summary> - public List<string> searchFormInputAttrs - { - get - { - if (!string.IsNullOrEmpty(str_searchFormInputAttrs)) - { - return str_searchFormInputAttrs.Split(',').ToList(); - } - return new List<string>(); - } - } + public List<string> searchFormInputAttrs + { + get + { + if (!string.IsNullOrEmpty(str_searchFormInputAttrs)) + { + return str_searchFormInputAttrs.Split(',').ToList(); + } + return new List<string>(); + } + } + + #endregion + + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialCode { get; set; } - #endregion + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialCode_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� - /// </summary> - public string MaterialCode { get; set; } + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum MaterialCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialName_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public int? PurchaseType { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum MaterialName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum PurchaseType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public int? PurchaseType { get; set; } + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public int? MaterialType { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum PurchaseType_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialType_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public int? MaterialType { get; set; } + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� + /// </summary> + public string PrimaryUnit { get; set; } - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum MaterialType_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum PrimaryUnit_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� - /// </summary> - public string PrimaryUnit { get; set; } + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� + /// </summary> + public string Standard { get; set; } - /// <summary> - /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum PrimaryUnit_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Standard_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� - /// </summary> - public string Standard { get; set; } + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛� + /// </summary> + public decimal? OuterDiameter { get; set; } - /// <summary> - /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum Standard_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum OuterDiameter_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 澶栧緞锛堝崟浣嶏細mm锛� - /// </summary> - public string OuterDiameter { get; set; } + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛� + /// </summary> + public decimal? WallThickness { get; set; } - /// <summary> - /// 澶栧緞锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum OuterDiameter_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum WallThickness_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 澹佸帤锛堝崟浣嶏細mm锛� - /// </summary> - public string WallThickness { get; set; } + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級 + /// </summary> + public string MaterialQuality { get; set; } - /// <summary> - /// 澹佸帤锛堝崟浣嶏細mm锛�-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum WallThickness_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum MaterialQuality_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鏉愯川锛堝锛�304涓嶉攬閽級 - /// </summary> - public string MaterialQuality { get; set; } + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛� + /// </summary> + public decimal? Length { get; set; } - /// <summary> - /// 鏉愯川锛堝锛�304涓嶉攬閽級-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum MaterialQuality_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛�-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Length_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 闀垮害锛堝崟浣嶏細m锛� - /// </summary> - public string Length { get; set; } + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public int? IsMainBranch { get; set; } - /// <summary> - /// 闀垮害锛堝崟浣嶏細m锛�-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum Length_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鏄惁涓轰富鏀-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsMainBranch_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 鏄惁涓轰富鏀 - /// </summary> - public int? IsMainBranch { get; set; } + /// <summary> + /// 鐢熶骇宸ュ巶 + /// </summary> + public string Factory { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum IsMainBranch_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + /// <summary> + /// 鐢熶骇宸ュ巶-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Factory_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鐢熶骇宸ュ巶 - /// </summary> - public string Factory { get; set; } + /// <summary> + /// 璇佷功缂栧彿 + /// </summary> + public string Certification { get; set; } - /// <summary> - /// 鐢熶骇宸ュ巶-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum Factory_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 璇佷功缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Certification_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 璇佷功缂栧彿 - /// </summary> - public string Certification { get; set; } + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField1 { get; set; } - /// <summary> - /// 璇佷功缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum Certification_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField1_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField1 { get; set; } + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField2 { get; set; } - /// <summary> - /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField2_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField2 { get; set; } + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string RedundantField3 { get; set; } - /// <summary> - /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum RedundantField3_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField3 { get; set; } + /// <summary> + /// 鎺掑簭 + /// </summary> + public int? Sort { get; set; } - /// <summary> - /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Sort_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 鎺掑簭 - /// </summary> - public int? Sort { get; set; } + /// <summary> + /// 澶囨敞 + /// </summary> + public string Remark { get; set; } - /// <summary> - /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + /// <summary> + /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum Remark_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// 澶囨敞 - /// </summary> - public string Remark { get; set; } + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } - /// <summary> - /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDisabled_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// 鏄惁绂佺敤 - /// </summary> - public bool? IsDisabled { get; set; } - - /// <summary> - /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� - /// </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> - /// - /// </summary> - //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� - [HighSearchRangeAttribute] - public List<string> CreationTime { get; set; } + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public List<string> CreationTime { get; set; } - /// <summary> - /// - /// </summary> - public string CreatorId { get; set; } + /// <summary> + /// + /// </summary> + public string CreatorId { get; set; } - /// <summary> - /// -鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// - /// </summary> - //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� - [HighSearchRangeAttribute] - public List<string> LastModificationTime { get; set; } + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public List<string> LastModificationTime { get; set; } - /// <summary> - /// - /// </summary> - public string LastModifierId { get; set; } + /// <summary> + /// + /// </summary> + public string LastModifierId { get; set; } - /// <summary> - /// -鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// - /// </summary> - public bool? IsDeleted { get; set; } + /// <summary> + /// + /// </summary> + public bool? IsDeleted { get; set; } - /// <summary> - /// -鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ; + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ; - /// <summary> - /// - /// </summary> - public string DeleterId { get; set; } + /// <summary> + /// + /// </summary> + public string DeleterId { get; set; } - /// <summary> - /// -鏌ヨ鍏崇郴杩愮畻绗� - /// </summary> - public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ; + /// <summary> + /// -鏌ヨ鍏崇郴杩愮畻绗� + /// </summary> + public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ; - /// <summary> - /// - /// </summary> - //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� - [HighSearchRangeAttribute] - public List<string> DeletionTime { get; set; } + /// <summary> + /// + /// </summary> + //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�� + [HighSearchRangeAttribute] + public List<string> DeletionTime { get; set; } - -} + +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs" index eb06985..edf0cb4 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs" @@ -1,17 +1,17 @@ -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; - -/// <summary> -/// WmsMaterial鍒涘缓鍙傛暟瀵硅薄 -/// </summary> -public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase -{ - /// <summary> - /// 鎺掑簭 - /// </summary> - public virtual int? Sort { get; set; } - - /// <summary> - /// 鏄惁绂佺敤 - /// </summary> - public bool? IsDisabled { get; set; } = false; -} +锘縩amespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅琛ㄥ垱寤哄弬鏁板璞� +/// </summary> +public class WmsMaterialCreateDto : WmsMaterialCreateOrUpdateDtoBase +{ + /// <summary> + /// 鎺掑簭 + /// </summary> + public virtual int? Sort { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } = false; +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs" index 0948290..9638fbd 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateOrUpdateDtoBase.cs" @@ -1,101 +1,124 @@ -using CMS.Plugin.HIAWms.Domain.Shared.Enums; -using Volo.Abp.Application.Dtos; +锘縰sing 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 +{ + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialCode { get; set; } -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } -/// <summary> -/// 鐗╂枡鍩虹淇℃伅鍒涘缓鎴栨洿鏂板熀绫� -/// </summary> -public abstract class WmsMaterialCreateOrUpdateDtoBase : ExtensibleEntityDto -{ - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� - /// </summary> - public string MaterialCode { get; set; } + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public PurchaseTypeEnum PurchaseType { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public MaterialTypeEnum MaterialType { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public PurchaseTypeEnum PurchaseType { get; set; } + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� + /// </summary> + public string? PrimaryUnit { get; set; } - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public MaterialTypeEnum MaterialType { get; set; } + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� + /// </summary> + public string? Standard { get; set; } - /// <summary> - /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� - /// </summary> - public string PrimaryUnit { get; set; } + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛� + /// </summary> + public decimal OuterDiameter { get; set; } - /// <summary> - /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� - /// </summary> - public string Standard { get; set; } + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛� + /// </summary> + public decimal WallThickness { get; set; } - /// <summary> - /// 澶栧緞锛堝崟浣嶏細mm锛� - /// </summary> - public decimal OuterDiameter { get; set; } + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級 + /// </summary> + public string? MaterialQuality { get; set; } - /// <summary> - /// 澹佸帤锛堝崟浣嶏細mm锛� - /// </summary> - public decimal WallThickness { get; set; } + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛� + /// </summary> + public decimal Length { get; set; } - /// <summary> - /// 鏉愯川锛堝锛�304涓嶉攬閽級 - /// </summary> - public string MaterialQuality { get; set; } + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public YesNoEnum IsMainBranch { get; set; } - /// <summary> - /// 闀垮害锛堝崟浣嶏細m锛� - /// </summary> - public decimal Length { get; set; } + /// <summary> + /// 鐢熶骇宸ュ巶 + /// </summary> + public string? Factory { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀锛坱rue: 涓绘敮绠�, false: 闈炰富鏀锛� - /// </summary> - public YesNoEnum IsMainBranch { get; set; } + /// <summary> + /// 璇佷功缂栧彿 + /// </summary> + public string? Certification { get; set; } - /// <summary> - /// 鐢熶骇宸ュ巶 - /// </summary> - public string Factory { get; set; } + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField1 { get; set; } - /// <summary> - /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級 - /// </summary> - public string Certification { get; set; } + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField2 { get; set; } - /// <summary> - /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField1 { get; set; } + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField3 { get; set; } - /// <summary> - /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField2 { get; set; } + /// <summary> + /// 鎺掑簭 + /// </summary> + public int Sort { get; set; } - /// <summary> - /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField3 { get; set; } - /// <summary> - /// 澶囨敞 - /// </summary> - public virtual string Remark { get; set; } + /// <summary> + /// 澶囨敞 + /// </summary> + public string? Remark { get; set; } - /// <summary> - /// Initializes a new instance of the <see cref="WmsMaterialCreateOrUpdateDtoBase"/> class. - /// </summary> - public WmsMaterialCreateOrUpdateDtoBase() : base(false) - { - } -} + /// <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. + /// </summary> + public WmsMaterialCreateOrUpdateDtoBase() : base(false) + { + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs" index 3c965c9..82b2e91 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialDto.cs" @@ -1,158 +1,200 @@ -using CMS.Plugin.HIAWms.Domain.Shared.Enums; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Domain.Entities; +锘縰sing 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> +/// 鐗╂枡鍩虹淇℃伅琛ㄦ暟鎹弬鏁板璞� +/// </summary> +public class WmsMaterialDto: ExtensibleEntityDto<Guid>, IHasConcurrencyStamp +{ + /// <summary> + /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� + /// </summary> + public string MaterialCode { get; set; } -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } -/// <summary> -/// WmsMaterial鏁版嵁鍙傛暟瀵硅薄 -/// </summary> -public class WmsMaterialDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp -{ - /// <summary> - /// 鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛� - /// </summary> - public string MaterialCode { get; set; } + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public PurchaseTypeEnum PurchaseType { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } + /// <summary> + /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public string PurchaseTypeDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType); + } + } + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public MaterialTypeEnum MaterialType { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public PurchaseTypeEnum PurchaseType { get; set; } + /// <summary> + /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 + /// </summary> + public string MaterialTypeDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(MaterialType); + } + } + /// <summary> + /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� + /// </summary> + public string? PrimaryUnit { get; set; } - /// <summary> - /// 閲囪喘绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public string PurchaseTypeDesc - { - get - { - return GetEnumDescriptionUtil.GetEnumDescription(PurchaseType); - } - } + /// <summary> + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� + /// </summary> + public string? Standard { get; set; } - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public MaterialTypeEnum MaterialType { get; set; } + /// <summary> + /// 澶栧緞锛堝崟浣嶏細mm锛� + /// </summary> + public decimal OuterDiameter { get; set; } - /// <summary> - /// 鐗╂枡绫诲瀷锛堟灇涓惧�硷級 - /// </summary> - public string MaterialTypeDesc - { - get - { - return GetEnumDescriptionUtil.GetEnumDescription(MaterialType); - } - } + /// <summary> + /// 澹佸帤锛堝崟浣嶏細mm锛� + /// </summary> + public decimal WallThickness { get; set; } - /// <summary> - /// 涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛� - /// </summary> - public string PrimaryUnit { get; set; } + /// <summary> + /// 鏉愯川锛堝锛�304涓嶉攬閽級 + /// </summary> + public string? MaterialQuality { get; set; } - /// <summary> - /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� - /// </summary> - public string Standard { get; set; } + /// <summary> + /// 闀垮害锛堝崟浣嶏細m锛� + /// </summary> + public decimal Length { get; set; } - /// <summary> - /// 澶栧緞锛堝崟浣嶏細mm锛� - /// </summary> - public decimal OuterDiameter { get; set; } + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public YesNoEnum IsMainBranch { get; set; } - /// <summary> - /// 澹佸帤锛堝崟浣嶏細mm锛� - /// </summary> - public decimal WallThickness { get; set; } + /// <summary> + /// 鏄惁涓轰富鏀 + /// </summary> + public string IsMainBranchDesc + { + get + { + return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch); + } + } + /// <summary> + /// 鐢熶骇宸ュ巶 + /// </summary> + public string? Factory { get; set; } - /// <summary> - /// 鏉愯川锛堝锛�304涓嶉攬閽級 - /// </summary> - public string MaterialQuality { get; set; } + /// <summary> + /// 璇佷功缂栧彿 + /// </summary> + public string? Certification { get; set; } - /// <summary> - /// 闀垮害锛堝崟浣嶏細m锛� - /// </summary> - public decimal Length { get; set; } + /// <summary> + /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField1 { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀锛�1: 涓绘敮绠�, 2: 闈炰富鏀锛� - /// </summary> - public YesNoEnum IsMainBranch { get; set; } + /// <summary> + /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField2 { get; set; } - /// <summary> - /// 鏄惁涓轰富鏀 - /// </summary> - public string IsMainBranchDesc - { - get - { - return GetEnumDescriptionUtil.GetEnumDescription(IsMainBranch); - } - } + /// <summary> + /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� + /// </summary> + public string? RedundantField3 { get; set; } - /// <summary> - /// 鐢熶骇宸ュ巶 - /// </summary> - public string Factory { get; set; } + /// <summary> + /// 鎺掑簭 + /// </summary> + public int Sort { get; set; } - /// <summary> - /// 璇佷功缂栧彿锛堝锛氬帇鍔涘鍣ㄨ璇侊級 - /// </summary> - public string Certification { get; set; } + /// <summary> + /// 澶囨敞 + /// </summary> + public string? Remark { get; set; } - /// <summary> - /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField1 { get; set; } + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } - /// <summary> - /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField2 { get; set; } + /// <summary> + /// + /// </summary> + public ExtraPropertyDictionary? ExtraProperties { get; set; } - /// <summary> - /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ�� - /// </summary> - public string RedundantField3 { get; set; } - /// <summary> - /// 鎺掑簭 - /// </summary> - public virtual int Sort { get; set; } + /// <summary> + /// + /// </summary> + public string? ConcurrencyStamp { get; set; } - /// <summary> - /// 澶囨敞 - /// </summary> - public virtual string Remark { get; set; } + /// <summary> + /// + /// </summary> + public DateTime CreationTime { get; set; } - /// <summary> - /// 鏄惁绂佺敤 - /// </summary> - public virtual bool? IsDisabled { get; set; } + /// <summary> + /// + /// </summary> + public string? CreatorId { get; set; } - /// <summary> - /// 骞跺彂鎴� - /// </summary> - public string ConcurrencyStamp { get; set; } + /// <summary> + /// + /// </summary> + public DateTime? LastModificationTime { get; set; } - /// <summary> - /// Gets the export data. - /// </summary> - /// <returns></returns> - public Dictionary<string, object> GetExportData() - { - var exportData = new Dictionary<string, object>(); - foreach (var property in this.GetType().GetProperties()) - { - exportData.Add(property.Name, property.GetValue(this)); - } + /// <summary> + /// + /// </summary> + public string? LastModifierId { get; set; } - return exportData; - } -} + /// <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. + /// </summary> + /// <returns></returns> + public Dictionary<string, object> GetExportData() + { + var exportData = new Dictionary<string, object>(); + foreach (var property in this.GetType().GetProperties()) + { + exportData.Add(property.Name, property.GetValue(this)); + } + + return exportData; + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs" index 4f561db..c806e96 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialExportModel.cs" @@ -1,157 +1,138 @@ -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 -{ - - /// <summary> - /// WmsMaterial瀵煎嚭妯″瀷 - /// </summary> - public class MaterialExportModel - { - /// <summary> +锘縰sing MiniExcelLibs.Attributes; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅琛ㄥ鍑烘ā鍨� +/// </summary> +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銆乵銆佷釜锛� /// </summary> - /// <example>kg</example> - [ExcelColumn(Name = "涓诲崟浣�", Width = 25)] + [ExcelColumn(Name = "涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�", Width = 25)] public string PrimaryUnit { get; set; } /// <summary> - /// 瑙勬牸/鎶�鏈爣鍑� + /// 瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛� /// </summary> - /// <example>GB/T 8163-2018</example> - [ExcelColumn(Name = "瑙勬牸/鏍囧噯", Width = 25)] + [ExcelColumn(Name = "瑙勬牸/鏍囧噯锛堝锛欸B/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)] + [ExcelColumn(Name = "澶囨敞", Width = 25)] public string Remark { get; set; } - public Dictionary<string, object> GetExportData() - { - var exportData = new Dictionary<string, object>(); - foreach (var property in this.GetType().GetProperties()) - { - exportData.Add(property.Name, property.GetValue(this)); - } + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + [ExcelColumn(Name = "鏄惁绂佺敤", Width = 25)] + public bool? IsDisabled { get; set; } - return exportData; - } - } -} - + + + public Dictionary<string, object> GetExportData() + { + var exportData = new Dictionary<string, object>(); + foreach (var property in this.GetType().GetProperties()) + { + exportData.Add(property.Name, property.GetValue(this)); + } + + return exportData; + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs" index da401a7..4c778ba 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs" @@ -1,14 +1,13 @@ -using Volo.Abp.Domain.Entities; - -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; - -/// <summary> -/// WmsMaterial鏇存柊鍙傛暟瀵硅薄 -/// </summary> -public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp -{ - /// <summary> - /// 骞跺彂鎴� - /// </summary> - public string ConcurrencyStamp { get; set; } -} +锘縰sing Volo.Abp.Domain.Entities; +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅琛ㄦ洿鏂板弬鏁板璞� +/// </summary> +public class WmsMaterialUpdateDto : WmsMaterialCreateOrUpdateDtoBase, IHasConcurrencyStamp +{ + /// <summary> + /// 骞跺彂鎴� + /// </summary> + public string ConcurrencyStamp { get; set; } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs" index dfd0fac..71b157f 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialsImportModel.cs" @@ -1,33 +1,33 @@ - -namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial -{ - /// <summary> - /// WmsMaterials瀵煎叆妯″瀷 - /// </summary> - public class WmsMaterialsImportModel - { - private List<WmsMaterialImportModel> _wmsmaterials = new(); - - public List<WmsMaterialImportModel> WmsMaterials - { - get => _wmsmaterials; - set - { - _wmsmaterials = value; - var rowIndex = 2; - _wmsmaterials?.ForEach(x => x.RowIndex = rowIndex++); - } - } - - /// <summary> - /// WmsMaterial瀵煎叆妯″瀷 - /// </summary> - public class WmsMaterialImportModel : MaterialExportModel - { - /// <summary> - /// 琛屽彿 - /// </summary> - public int RowIndex { get; set; } - } - } -} +锘� +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial +{ + /// <summary> + /// 鐗╂枡鍩虹淇℃伅琛ㄥ鍏ユā鍨� + /// </summary> + public class WmsMaterialsImportModel + { + private List<WmsMaterialImportModel> _WmsMaterials = new(); + + public List<WmsMaterialImportModel> WmsMaterials + { + get => _WmsMaterials; + set + { + _WmsMaterials = value; + var rowIndex = 2; + _WmsMaterials?.ForEach(x => x.RowIndex = rowIndex++); + } + } + + /// <summary> + /// 鐗╂枡鍩虹淇℃伅琛ㄥ鍏ユā鍨� + /// </summary> + public class WmsMaterialImportModel : WmsMaterialExportModel + { + /// <summary> + /// 琛屽彿 + /// </summary> + public int RowIndex { get; set; } + } + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs" index b8f77a3..6589194 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs" @@ -1,46 +1,46 @@ -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> - /// <returns></returns> - 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> - Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInput input); -} +锘縰sing 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> + /// <returns></returns> + 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> + Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInput input); +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs" index 98f0250..b0c23eb 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs" @@ -1,432 +1,445 @@ -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; -using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials; -using CMS.Plugin.HIAWms.Domain.WmsMaterials; -using CmsQueryExtensions.Extension; -using System.Linq.Expressions; -using Volo.Abp; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Data; -using Volo.Abp.ObjectExtending; -using Volo.Abp.ObjectMapping; - -namespace CMS.Plugin.HIAWms.Application.Implements; - -/// <summary> -/// 鐗╂枡鍩虹淇℃伅搴旂敤鏈嶅姟 -/// </summary> -public class WmsMaterialAppService : CMSPluginAppService, IWmsMaterialAppService -{ - private readonly IWmsMaterialRepository _wmsmaterialRepository; - - /// <summary> - /// Initializes a new instance of the <see cref="WmsMaterialAppService"/> class. - /// </summary> - /// <param name="wmsmaterialRepository">The task job repository.</param> - public WmsMaterialAppService(IWmsMaterialRepository wmsmaterialRepository) - { - _wmsmaterialRepository = 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)); - } - - /// <summary> - /// 鍒嗛〉鑾峰彇鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - public virtual async Task<PagedResultDto<WmsMaterialDto>> GetListAsync(GetWmsMaterialInput input) - { - Check.NotNull(input, nameof(input)); - - if (input.Sorting.IsNullOrWhiteSpace()) - { - input.Sorting = nameof(WmsMaterial.Sort); - } - - #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� - - //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� - var whereConditions = DynamicGetQueryParams(input); - - #endregion - - var count = await _wmsmaterialRepository.GetCountAsync(whereConditions); - var list = await _wmsmaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); - - return new PagedResultDto<WmsMaterialDto>(count, ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(list)); - } - +锘縰sing 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; +using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterial; +using CMS.Plugin.HIAWms.Domain.WmsMaterial; +using CmsQueryExtensions.Extension; +using System.Linq.Expressions; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Data; +using Volo.Abp.ObjectExtending; +using Volo.Abp.ObjectMapping; + +namespace CMS.Plugin.HIAWms.Application.Implements; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅琛ㄥ簲鐢ㄦ湇鍔� +/// </summary> +public class WmsMaterialAppService : CMSPluginAppService, IWmsMaterialAppService +{ + private readonly IWmsMaterialRepository wmsmaterialsRepository; + /// <summary> - /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// Initializes a new instance of the <see cref="WmsMaterialAppService"/> class. /// </summary> - /// <param name="input">杈撳叆鍙傛暟</param> + /// <param name="WmsMaterialRepository">The task job repository.</param> + public WmsMaterialAppService(IWmsMaterialRepository WmsMaterialRepository) + { + wmsmaterialsRepository = WmsMaterialRepository; + } + + /// <summary> + /// 鑾峰彇鎸囧畾鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id"></param> /// <returns></returns> - private FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> DynamicGetQueryParams(GetWmsMaterialInput input) - { - //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� - var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterial, GetWmsMaterialInput>(input); - if (!whereConditions.IsSuccess) - { - throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); - } - - //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� - Expression<Func<WmsMaterial, bool>> extendExpression = a => a.IsDeleted == false; - // 浣跨敤 System.Linq.PredicateBuilder 鐨� And - var pres = (System.Linq.Expressions.Expression<Func<WmsMaterial, bool>>)(whereConditions.data); - whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); - - return whereConditions; - } - - /// <summary> - /// 鏂板缓鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - /// <exception cref="UserFriendlyException"></exception> - public virtual async Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) - { - await CheckCreateOrUpdateDtoAsync(input); - - var exist = await _wmsmaterialRepository.NameExistAsync(input.MaterialCode); - if (exist) - { - throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); - } - - var maxSort = await _wmsmaterialRepository.GetMaxSortAsync(); - var sort = input.Sort ?? maxSort; - - var wmsmaterial = ObjectMapper.Map<WmsMaterialCreateDto, WmsMaterial>(input); - wmsmaterial.Sort = sort; - input.MapExtraPropertiesTo(wmsmaterial, MappingPropertyDefinitionChecks.None); - - await _wmsmaterialRepository.InsertAsync(wmsmaterial); - - if (input.Sort.HasValue && wmsmaterial.Sort != maxSort) - { - await AdjustSortAsync(wmsmaterial.Id, wmsmaterial.Sort); - } - - return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(wmsmaterial); - } - - /// <summary> - /// 鏇存柊鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id"></param> - /// <param name="input"></param> - /// <returns></returns> - /// <exception cref="UserFriendlyException"></exception> - public virtual async Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input) - { - await CheckCreateOrUpdateDtoAsync(input); - - var wmsmaterial = await _wmsmaterialRepository.GetAsync(id); - var exist = await _wmsmaterialRepository.NameExistAsync(input.MaterialCode, wmsmaterial.Id); - if (exist) - { - throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); - } - - wmsmaterial.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); - input.MapExtraPropertiesTo(wmsmaterial, 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; - - await _wmsmaterialRepository.UpdateAsync(wmsmaterial); - - return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(wmsmaterial); - } - - /// <summary> - /// 鍏嬮殕鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="ids"></param> - /// <returns></returns> - public async Task<List<WmsMaterialDto>> CloneAsync(IEnumerable<Guid> ids) - { - //var wmsmaterials = new List<WmsMaterial>(); - //if (ids != null) - //{ - // var sort = await _wmsmaterialRepository.GetMaxSortAsync(); - // foreach (var id in ids) - // { - // var wmsmaterial = await _wmsmaterialRepository.FindAsync(id); - // if (wmsmaterial != null) - // { - // 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)) - // { - // name += WmsMaterialConsts.CloneTag; - // continue; - // } - - // notExist = true; - // } - - // //wmsmaterial = await _wmsmaterialRepository.InsertAsync(wmsmaterial.Clone(GuidGenerator.Create(), name, sort++)); - // wmsmaterials.Add(wmsmaterial); - // } - // } - //} - - //return ObjectMapper.Map<List<WmsMaterial>, List<WmsMaterialDto>>(wmsmaterials); - return new List<WmsMaterialDto>(); - } - - /// <summary> - /// 鍒犻櫎鍗曚釜鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id"></param> - /// <returns></returns> - public virtual Task DeleteAsync(Guid id) - { - return _wmsmaterialRepository.DeleteAsync(id); - } - - /// <summary> - /// 鍒犻櫎澶氫釜鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="ids"></param> - /// <returns></returns> - public async Task DeleteManyAsync(IEnumerable<Guid> ids) - { - foreach (var id in ids) - { - await DeleteAsync(id); - } - } - - /// <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)); - if (list != null && list.Any()) - { - var initSort = 1; - list.ForEach(x => x.AdjustSort(initSort++)); - var entity = list.FirstOrDefault(x => x.Id == id); - if (entity != null) - { - if (sort == 1) - { - list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); - } - else if (entity.Sort > sort) - { - list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); - list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); - } - else if (entity.Sort < sort) - { - list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); - list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); - } - - entity.AdjustSort(sort); - } - } - - await _wmsmaterialRepository.UpdateManyAsync(list); - } - - /// <summary> - /// 瀵煎叆鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - /// <exception cref="UserFriendlyException"></exception> - public async Task ImportAsync(WmsMaterialsImportModel input) - { - Check.NotNull(input, nameof(input)); - - var wmsmaterialCreateDtos = new List<(int RowIndex, WmsMaterialCreateDto Item)>(); - var wmsmaterialUpdateDtos = new List<(int RowIndex, Guid Id, WmsMaterialUpdateDto Item)>(); - var wmsmaterials = input.WmsMaterials; - - if (wmsmaterials != null && wmsmaterials.Any()) - { - #region 瀵煎叆鏍¢獙 - - // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� - var duplicateWmsMaterials = wmsmaterials.GroupBy(x => x.MaterialCode).Where(x => x.Count() > 1).ToList(); - if (duplicateWmsMaterials?.Any() == true) - { - var duplicateWmsMaterialMsgs = duplicateWmsMaterials.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key} 鍚嶇О閲嶅"); - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsMaterialMsgs)}锛岀粓姝㈠鍏�"; - throw new UserFriendlyException(errorMsg); - } - - #endregion - - foreach (var wmsmaterial in wmsmaterials) - { - if (wmsmaterial.MaterialCode.IsNullOrWhiteSpace() && wmsmaterial.MaterialName.IsNullOrWhiteSpace()) - { - continue; - } - - if (wmsmaterial.MaterialCode.IsNullOrWhiteSpace()) - { - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsmaterial.RowIndex}琛岋細WmsMaterial鍚嶇О涓嶈兘涓虹┖"; - throw new UserFriendlyException(errorMsg); - } - - var oldWmsMaterial = await _wmsmaterialRepository.FindByNameAsync(wmsmaterial.MaterialCode); - if (oldWmsMaterial != null) - { - var wmsmaterialUpdateDto = new WmsMaterialUpdateDto - { - MaterialCode = wmsmaterial.MaterialCode, - MaterialName = wmsmaterial.MaterialName, - PurchaseType = wmsmaterial.PurchaseType, - MaterialType = wmsmaterial.MaterialType, - PrimaryUnit = wmsmaterial.PrimaryUnit, - Standard = wmsmaterial.Standard, - OuterDiameter = wmsmaterial.OuterDiameter, - WallThickness = wmsmaterial.WallThickness, - MaterialQuality = wmsmaterial.MaterialQuality, - Length = wmsmaterial.Length, - IsMainBranch = wmsmaterial.IsMainBranch, - Factory = wmsmaterial.Factory, - Certification = wmsmaterial.Certification, - Remark = wmsmaterial.Remark, - }; - - wmsmaterialUpdateDtos.Add((wmsmaterial.RowIndex, oldWmsMaterial.Id, wmsmaterialUpdateDto)); - } - else - { - var wmsmaterialCreateDto = new WmsMaterialCreateDto - { - MaterialCode = wmsmaterial.MaterialCode, - MaterialName = wmsmaterial.MaterialName, - PurchaseType = wmsmaterial.PurchaseType, - MaterialType = wmsmaterial.MaterialType, - PrimaryUnit = wmsmaterial.PrimaryUnit, - Standard = wmsmaterial.Standard, - OuterDiameter = wmsmaterial.OuterDiameter, - WallThickness = wmsmaterial.WallThickness, - MaterialQuality = wmsmaterial.MaterialQuality, - Length = wmsmaterial.Length, - IsMainBranch = wmsmaterial.IsMainBranch, - Factory = wmsmaterial.Factory, - Certification = wmsmaterial.Certification, - Remark = wmsmaterial.Remark, - }; - - wmsmaterialCreateDtos.Add((wmsmaterial.RowIndex, wmsmaterialCreateDto)); - } - } - } - - // 鏂板 - foreach (var wmsmaterialDto in wmsmaterialCreateDtos) - { - try - { - await CreateAsync(wmsmaterialDto.Item); - } - catch (Exception e) - { - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsmaterialDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; - throw new UserFriendlyException(errorMsg); - } - } - - // 鏇存柊 - foreach (var wmsmaterialDto in wmsmaterialUpdateDtos) - { - try - { - await UpdateAsync(wmsmaterialDto.Id, wmsmaterialDto.Item); - } - catch (Exception e) - { - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsmaterialDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; - throw new UserFriendlyException(errorMsg); - } - } - } - - /// <summary> - /// 瀵煎嚭鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInput input) - { - Check.NotNull(input, nameof(input)); - - if (input.Sorting.IsNullOrWhiteSpace()) - { - input.Sorting = nameof(WmsMaterial.Sort); - } - - #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� - - //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� - var whereConditions = DynamicGetQueryParams(input); - - #endregion - - - var list = await _wmsmaterialRepository.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> - { - ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), - }; - - var fileName = result.Count > 1 ? "WmsMaterial鍒楄〃" : result.Count == 1 ? result[0]?.MaterialCode : "WmsMaterial妯$増"; - return (sheets, fileName); - } - - /// <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); - return Task.CompletedTask; - } -} + public virtual async Task<WmsMaterialDto> GetAsync(Guid id) + { + return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await wmsmaterialsRepository.GetAsync(id)); + } + + /// <summary> + /// 鍒嗛〉鑾峰彇鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public virtual async Task<PagedResultDto<WmsMaterialDto>> GetListAsync(GetWmsMaterialInput input) + { + Check.NotNull(input, nameof(input)); + + if (input.Sorting.IsNullOrWhiteSpace()) + { + input.Sorting = nameof(WmsMaterial.Sort); + } + + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + 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)); + } + + /// <summary> + /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + /// </summary> + /// <param name="input">杈撳叆鍙傛暟</param> + /// <returns></returns> + private FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> DynamicGetQueryParams(GetWmsMaterialInput input) + { + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterial, GetWmsMaterialInput>(input); + if (!whereConditions.IsSuccess) + { + throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); + } + + //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠� + Expression<Func<WmsMaterial, bool>> extendExpression = a => a.IsDeleted == false; + // 浣跨敤 System.Linq.PredicateBuilder 鐨� And + var pres = (System.Linq.Expressions.Expression<Func<WmsMaterial, bool>>)(whereConditions.data); + whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); + + return whereConditions; + } + + /// <summary> + /// 鏂板缓鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public virtual async Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) + { + await CheckCreateOrUpdateDtoAsync(input); + + var exist = await wmsmaterialsRepository.NameExistAsync(input.MaterialCode); + if (exist) + { + throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); + } + + var maxSort = await wmsmaterialsRepository.GetMaxSortAsync(); + var sort = input.Sort ?? maxSort; + + var insertObj = ObjectMapper.Map<WmsMaterialCreateDto, WmsMaterial>(input); + insertObj.Sort = sort; + input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); + + await wmsmaterialsRepository.InsertAsync(insertObj); + + if (input.Sort.HasValue && insertObj.Sort != maxSort) + { + await AdjustSortAsync(insertObj.Id, insertObj.Sort); + } + + return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(insertObj); + } + + /// <summary> + /// 鏇存柊鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id"></param> + /// <param name="input"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public virtual async Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input) + { + await CheckCreateOrUpdateDtoAsync(input); + + 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]); + } + + updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); + input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); + + 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 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 wmsmaterialss = new List<WmsMaterial>(); + //if (ids != null) + //{ + // var sort = await wmsmaterialsRepository.GetMaxSortAsync(); + // foreach (var id in ids) + // { + // var WmsMaterial = await wmsmaterialsRepository.FindAsync(id); + // if (WmsMaterial != null) + // { + // var name = WmsMaterial.Name + WmsMaterialConsts.CloneTag; + // var notExist = false; + // while (!notExist) + // { + // var exist = await wmsmaterialsRepository.NameExistAsync(name); + // if (exist || wmsmaterialss.Any(x => x.Name == name)) + // { + // name += WmsMaterialConsts.CloneTag; + // continue; + // } + + // notExist = true; + // } + + // //WmsMaterial = await wmsmaterialsRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++)); + // wmsmaterialss.Add(WmsMaterial); + // } + // } + //} + + //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 wmsmaterialsRepository.DeleteAsync(id); + } + + /// <summary> + /// 鍒犻櫎澶氫釜鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="ids"></param> + /// <returns></returns> + public async Task DeleteManyAsync(IEnumerable<Guid> ids) + { + foreach (var id in ids) + { + await DeleteAsync(id); + } + } + + /// <summary> + /// 璋冩暣鎺掑簭鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id"></param> + /// <param name="sort"></param> + /// <returns></returns> + public virtual async Task AdjustSortAsync(Guid id, int sort) + { + var list = await wmsmaterialsRepository.GetListAsync(null, nameof(WmsMaterial.Sort)); + if (list != null && list.Any()) + { + var initSort = 1; + list.ForEach(x => x.AdjustSort(initSort++)); + var entity = list.FirstOrDefault(x => x.Id == id); + if (entity != null) + { + if (sort == 1) + { + list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); + } + else if (entity.Sort > sort) + { + list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); + list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); + } + else if (entity.Sort < sort) + { + list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); + list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); + } + + entity.AdjustSort(sort); + } + } + + await wmsmaterialsRepository.UpdateManyAsync(list); + } + + /// <summary> + /// 瀵煎叆鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public async Task ImportAsync(WmsMaterialsImportModel input) + { + Check.NotNull(input, nameof(input)); + + 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()) + { + #region 瀵煎叆鏍¢獙 + + // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� + var duplicateWmsMaterials = importItems.GroupBy(x => x.MaterialCode).Where(x => x.Count() > 1).ToList(); + if (duplicateWmsMaterials?.Any() == true) + { + var duplicateWmsMaterialMsgs = duplicateWmsMaterials.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key} 鍚嶇О閲嶅"); + var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsMaterialMsgs)}锛岀粓姝㈠鍏�"; + throw new UserFriendlyException(errorMsg); + } + + #endregion + + foreach (var impItem in importItems) + { + if (impItem.MaterialCode.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace()) + { + continue; + } + + if (impItem.MaterialCode.IsNullOrWhiteSpace()) + { + var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsMaterial鍚嶇О涓嶈兘涓虹┖"; + throw new UserFriendlyException(errorMsg); + } + + var oldWmsMaterial = await wmsmaterialsRepository.FindByNameAsync(impItem.MaterialCode); + if (oldWmsMaterial != null) + { + var wmsmaterialsUpdateDto = new WmsMaterialUpdateDto + { + MaterialCode = impItem.MaterialCode, + MaterialName = impItem.MaterialName, + PurchaseType = impItem.PurchaseType, + MaterialType = impItem.MaterialType, + PrimaryUnit = impItem.PrimaryUnit, + Standard = impItem.Standard, + OuterDiameter = impItem.OuterDiameter, + WallThickness = impItem.WallThickness, + MaterialQuality = impItem.MaterialQuality, + Length = impItem.Length, + IsMainBranch = impItem.IsMainBranch, + Factory = impItem.Factory, + Certification = impItem.Certification, + Remark = impItem.Remark, + }; + + wmsmaterialsUpdateDtos.Add((impItem.RowIndex, oldWmsMaterial.Id, wmsmaterialsUpdateDto)); + } + else + { + var wmsmaterialsCreateDto = new WmsMaterialCreateDto + { + MaterialCode = impItem.MaterialCode, + MaterialName = impItem.MaterialName, + PurchaseType = impItem.PurchaseType, + MaterialType = impItem.MaterialType, + PrimaryUnit = impItem.PrimaryUnit, + Standard = impItem.Standard, + OuterDiameter = impItem.OuterDiameter, + WallThickness = impItem.WallThickness, + MaterialQuality = impItem.MaterialQuality, + Length = impItem.Length, + IsMainBranch = impItem.IsMainBranch, + Factory = impItem.Factory, + Certification = impItem.Certification, + Remark = impItem.Remark, + }; + + wmsmaterialsCreateDtos.Add((impItem.RowIndex, wmsmaterialsCreateDto)); + } + } + } + + // 鏂板 + foreach (var wmsmaterialsDto in wmsmaterialsCreateDtos) + { + try + { + await CreateAsync(wmsmaterialsDto.Item); + } + catch (Exception e) + { + var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsmaterialsDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; + throw new UserFriendlyException(errorMsg); + } + } + + // 鏇存柊 + foreach (var wmsmaterialsDto in wmsmaterialsUpdateDtos) + { + try + { + await UpdateAsync(wmsmaterialsDto.Id, wmsmaterialsDto.Item); + } + catch (Exception e) + { + var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsmaterialsDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; + throw new UserFriendlyException(errorMsg); + } + } + } + + /// <summary> + /// 瀵煎嚭鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialInput input) + { + Check.NotNull(input, nameof(input)); + + if (input.Sorting.IsNullOrWhiteSpace()) + { + input.Sorting = nameof(WmsMaterial.Sort); + } + + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + + 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> + { + ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), + }; + + var fileName = result.Count > 1 ? "WmsMaterial鍒楄〃" : result.Count == 1 ? result[0]?.MaterialCode : "WmsMaterial妯$増"; + return (sheets, fileName); + } + + /// <summary> + /// 鏍¢獙鐗╂枡鍩虹淇℃伅琛紝褰撴柊寤烘垨鏇存柊鏃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + protected Task CheckCreateOrUpdateDtoAsync(WmsMaterialCreateOrUpdateDtoBase input) + { + Check.NotNull(input, nameof(input)); + 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; + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs" index 03ee08b..a74d8b0 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialAutoMapperProfile.cs" @@ -1,6 +1,6 @@ using AutoMapper; using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; -using CMS.Plugin.HIAWms.Domain.WmsMaterials; +using CMS.Plugin.HIAWms.Domain.WmsMaterial; using Volo.Abp.ObjectExtending; namespace CMS.Plugin.HIAWms.Application.MapperProfiles; diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterials/WmsMaterialConsts.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialConsts.cs" similarity index 84% rename from "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterials/WmsMaterialConsts.cs" rename to "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialConsts.cs" index f475ad7..091a162 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterials/WmsMaterialConsts.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialConsts.cs" @@ -1,4 +1,4 @@ -namespace CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials; +namespace CMS.Plugin.HIAWms.Domain.Shared.WmsMaterial; /// <summary> /// WmsMaterial甯搁噺瀹氫箟 diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterials/WmsMaterialEto.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialEto.cs" similarity index 88% rename from "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterials/WmsMaterialEto.cs" rename to "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialEto.cs" index b49b7bd..d7144a0 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterials/WmsMaterialEto.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain.Shared/WmsMaterial/WmsMaterialEto.cs" @@ -1,4 +1,4 @@ -namespace CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials; +namespace CMS.Plugin.HIAWms.Domain.Shared.WmsMaterial; /// <summary> /// WmsMaterial浜嬩欢鍙傛暟瀵硅薄 diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/EventHandlers/WmsMaterialEventHandler.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/EventHandlers/WmsMaterialEventHandler.cs" index 1d49879..50ed96d 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/EventHandlers/WmsMaterialEventHandler.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/EventHandlers/WmsMaterialEventHandler.cs" @@ -1,4 +1,4 @@ -using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials; +using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterial; using Volo.Abp.DependencyInjection; using Volo.Abp.EventBus.Distributed; diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs" new file mode 100644 index 0000000..7d1b279 --- /dev/null +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs" @@ -0,0 +1,53 @@ +锘縰sing 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> + /// <returns></returns> + Task<WmsMaterial> FindByNameAsync(string name, CancellationToken cancellationToken = default); + + /// <summary> + /// 楠岃瘉鍚嶇О鏄惁瀛樺湪鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="name"></param> + /// <param name="id"></param> + /// <returns></returns> + 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> + /// <param name="maxResultCount"></param> + /// <param name="skipCount"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + 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> + /// <returns></returns> + Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default); +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterial.cs" similarity index 96% rename from "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs" rename to "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterial.cs" index 4b9d049..eee2ed5 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterial.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterial.cs" @@ -1,10 +1,10 @@ using CMS.Plugin.HIAWms.Domain.Shared.Enums; -using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials; +using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterial; using MathNet.Numerics; using Volo.Abp; using Volo.Abp.Domain.Entities.Auditing; -namespace CMS.Plugin.HIAWms.Domain.WmsMaterials +namespace CMS.Plugin.HIAWms.Domain.WmsMaterial { /// <summary> /// WmsMaterial diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterialDataSeedContributor.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterialDataSeedContributor.cs" similarity index 97% rename from "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterialDataSeedContributor.cs" rename to "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterialDataSeedContributor.cs" index 2cbf565..c7dfba5 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterialDataSeedContributor.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterialDataSeedContributor.cs" @@ -3,7 +3,7 @@ using Volo.Abp.Guids; using Volo.Abp.Uow; -namespace CMS.Plugin.HIAWms.Domain.WmsMaterials +namespace CMS.Plugin.HIAWms.Domain.WmsMaterial { /// <summary> /// WmsMaterial绉嶅瓙鏁版嵁鎻愪緵绋嬪簭 diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterialSpecification.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterialSpecification.cs" similarity index 100% rename from "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/WmsMaterialSpecification.cs" rename to "Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/WmsMaterialSpecification.cs" diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs" deleted file mode 100644 index d622336..0000000 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterials/IWmsMaterialRepository.cs" +++ /dev/null @@ -1,54 +0,0 @@ -using CmsQueryExtensions.Extension; -using System.Linq.Expressions; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Specifications; - -namespace CMS.Plugin.HIAWms.Domain.WmsMaterials; - -/// <summary> -/// WmsMaterial浠撳偍 -/// </summary> -public interface IWmsMaterialRepository : IBasicRepository<WmsMaterial, Guid> -{ - /// <summary> - /// Finds the by name asynchronous. - /// </summary> - /// <param name="name">The name.</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns></returns> - Task<WmsMaterial> FindByNameAsync(string name, CancellationToken cancellationToken = default); - - /// <summary> - /// Names the exist asynchronous. - /// </summary> - /// <param name="name">The name.</param> - /// <param name="id">The identifier.</param> - /// <returns></returns> - Task<bool> NameExistAsync(string name, Guid? id = null); - - /// <summary> - /// Gets the maximum sort asynchronous. - /// </summary> - /// <returns></returns> - Task<int> GetMaxSortAsync(); - - /// <summary> - /// 鑾峰彇鍒嗛〉鍒楄〃 - /// </summary> - /// <param name="whereConditions"></param> - /// <param name="sorting"></param> - /// <param name="maxResultCount"></param> - /// <param name="skipCount"></param> - /// <param name="includeDetails"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - 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> - /// <returns></returns> - Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default); -} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs" index f04c91b..67ae4b3 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsMaterial.cs" @@ -1,10 +1,9 @@ using CMS.Plugin.HIAWms.Domain; -using CMS.Plugin.HIAWms.Domain.WmsMaterials; -using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterials; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CMS.Plugin.HIAWms.Domain.WmsMaterial; using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.EntityFrameworkCore.Modeling; -using CMS.Plugin.HIAWms.Domain.Shared.Enums; namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs" index e79069c..ee47e68 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs" @@ -1,101 +1,113 @@ -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Linq.Expressions; -using CMS.Plugin.HIAWms.Domain.WmsMaterials; -using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; -using CmsQueryExtensions.Extension; -using Microsoft.EntityFrameworkCore; -using Volo.Abp.Domain.Repositories.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.Specifications; - - -namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories; - -/// <inheritdoc /> -public class EfCoreWmsMaterialRepository : EfCoreRepository<ICMSPluginDbContext, WmsMaterial, Guid>, IWmsMaterialRepository -{ - /// <summary> - /// Initializes a new instance of the <see cref="EfCoreWmsMaterialRepository"/> class. - /// </summary> - /// <param name="dbContextProvider">The database context provider.</param> - public EfCoreWmsMaterialRepository(IDbContextProvider<ICMSPluginDbContext> dbContextProvider) - : base(dbContextProvider) - { - } - - /// <inheritdoc /> - public virtual async Task<WmsMaterial> FindByNameAsync(string name, CancellationToken cancellationToken = default) - { - return await (await GetDbSetAsync()) - .IncludeDetails() - .Where(x => !x.IsDeleted) - .OrderBy(t => t.Sort) - .FirstOrDefaultAsync(t => t.MaterialCode == name, GetCancellationToken(cancellationToken)); - } - - /// <inheritdoc /> - public async Task<bool> NameExistAsync(string materialCode, Guid? id = null) - { - return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialCode == materialCode); - } - - /// <inheritdoc /> - public async Task<int> GetMaxSortAsync() - { - var hasAny = await (await GetQueryableAsync()) - .Where(x => !x.IsDeleted).AnyAsync(); - if (!hasAny) - { - return 1; - } - - var sort = await (await GetQueryableAsync()) - .Where(x => !x.IsDeleted).MaxAsync(x => x.Sort); - return sort + 1; - } - - /// <summary> - /// 获取分页列表 - /// </summary> - /// <param name="whereConditions"></param> - /// <param name="sorting"></param> - /// <param name="maxResultCount"></param> - /// <param name="skipCount"></param> - /// <param name="includeDetails"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - public async 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) - { - return await (await GetDbSetAsync()) - .IncludeDetails(includeDetails) - .WhereIf(whereConditions != null, whereConditions.data) - .Where(x => !x.IsDeleted) - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsMaterial.Sort) : sorting) - .PageBy(skipCount, maxResultCount) - .ToListAsync(GetCancellationToken(cancellationToken)); - } - - /// <summary> - /// 获取总数 - /// </summary> - /// <param name="whereConditions"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default) - { - return await (await GetQueryableAsync()) - .WhereIf(whereConditions != null, whereConditions.data) - .Where(x => !x.IsDeleted) - .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); - } - - - /// <inheritdoc /> - public override async Task<IQueryable<WmsMaterial>> WithDetailsAsync() - { - return (await GetQueryableAsync()) - .Where(x => !x.IsDeleted).IncludeDetails(); - } -} +锘縰sing CMS.Plugin.HIAWms.Domain.WmsMaterial; +using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; +using CmsQueryExtensions.Extension; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; +using System.Linq.Expressions; +using Volo.Abp.Domain.Repositories.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; + + +namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories; + +/// <summary> +/// 鐗╂枡鍩虹淇℃伅琛ㄤ粨鍌ㄥ疄鐜� +/// </summary> +public class EfCoreWmsMaterialRepository : EfCoreRepository<ICMSPluginDbContext, WmsMaterial, Guid>, IWmsMaterialRepository +{ + /// <summary> + /// Initializes a new instance of the <see cref="EfCoreWmsMaterialRepository"/> class. + /// </summary> + /// <param name="dbContextProvider">The database context provider.</param> + public EfCoreWmsMaterialRepository(IDbContextProvider<ICMSPluginDbContext> dbContextProvider) + : base(dbContextProvider) + { + } + + /// <summary> + /// 鎸夌収鍚嶇О鏌ユ壘鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="name"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public virtual async Task<WmsMaterial> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails() + .Where(x => !x.IsDeleted) + .OrderBy(t => t.Sort) + .FirstOrDefaultAsync(t => t.MaterialCode == name, GetCancellationToken(cancellationToken)); + } + + /// <summary> + /// 楠岃瘉鍚嶇О鏄惁瀛樺湪鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="materialCode"></param> + /// <param name="id"></param> + /// <returns></returns> + public async Task<bool> NameExistAsync(string materialCode, Guid? id = null) + { + return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialCode == materialCode); + } + + /// <summary> + /// 鑾峰彇鏈�澶ф帓搴忕墿鏂欏熀纭�淇℃伅琛� + /// </summary> + /// <returns></returns> + public async Task<int> GetMaxSortAsync() + { + var hasAny = await (await GetQueryableAsync()) + .Where(x => !x.IsDeleted).AnyAsync(); + if (!hasAny) + { + return 1; + } + + var sort = await (await GetQueryableAsync()) + .Where(x => !x.IsDeleted).MaxAsync(x => x.Sort); + return sort + 1; + } + + /// <summary> + /// 鑾峰彇鍒嗛〉鍒楄〃鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="sorting"></param> + /// <param name="maxResultCount"></param> + /// <param name="skipCount"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async 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) + { + return await (await GetDbSetAsync()) + .IncludeDetails(includeDetails) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsMaterial.Sort) : sorting) + .PageBy(skipCount, maxResultCount) + .ToListAsync(GetCancellationToken(cancellationToken)); + } + + /// <summary> + /// 鑾峰彇鎬绘暟鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default) + { + return await (await GetQueryableAsync()) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); + } + + + /// <inheritdoc /> + public override async Task<IQueryable<WmsMaterial>> WithDetailsAsync() + { + return (await GetQueryableAsync()) + .Where(x => !x.IsDeleted).IncludeDetails(); + } +} diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" index 6a04eef..0002de3 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs" @@ -1,188 +1,188 @@ -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; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using MiniExcelLibs; -using System.Reflection; -using Volo.Abp; -using Volo.Abp.Application.Dtos; - -namespace CMS.Plugin.HIAWms.Controller -{ - /// <summary> - /// 鐗╂枡鍩虹淇℃伅鏈嶅姟 - /// </summary> - [ApiController] - [TypeFilter(typeof(CMSLanguageFilter))] - [TypeFilter(typeof(CMSUowActionFilter))] - [TypeFilter(typeof(CMSAuditActionFilter))] - [TypeFilter(typeof(CMSExceptionFilter))] - [Route("api/v{version:apiVersion}/HIAWms/[controller]")] - public class WmsMaterialController : ControllerBase - { - private readonly IWmsMaterialAppService _wmsmaterialAppService; - - /// <summary> - /// Initializes a new instance of the <see cref="WmsMaterialController"/> class. - /// </summary> - /// <param name="wmsmaterialAppService">The wmsmaterial application service.</param> - public WmsMaterialController(IWmsMaterialAppService wmsmaterialAppService) - { - _wmsmaterialAppService = wmsmaterialAppService; - } - - /// <summary> - /// 鑾峰彇鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <returns></returns> - [HttpGet] - [Route("{id}")] - public virtual Task<WmsMaterialDto> GetAsync(Guid id) - { - return _wmsmaterialAppService.GetAsync(id); - } - - /// <summary> - /// 鍒嗛〉鑾峰彇鐗╂枡鍩虹淇℃伅鐨勫垪琛�. - /// </summary> - /// <param name="input">杈撳叆.</param> - /// <returns></returns> - [HttpGet] - [Route("Page")] - public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialInput input) - { - return _wmsmaterialAppService.GetListAsync(input); - } - - /// <summary> - /// 鍒涘缓鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="input">杈撳叆.</param> - /// <returns></returns> - //[Authorize] - [HttpPost] - public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) - { - return _wmsmaterialAppService.CreateAsync(input); - } - - /// <summary> - /// 鏇存柊鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <param name="input">杈撳叆.</param> - /// <returns></returns> - //[Authorize] - [HttpPut] - [Route("{id}")] - public virtual Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input) - { - return _wmsmaterialAppService.UpdateAsync(id, input); - } - - /// <summary> - /// 鍏嬮殕鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="ids">Id闆嗗悎.</param> - /// <returns></returns> - //[Authorize] - [HttpPost] - [Route("Clone")] - public virtual Task<List<WmsMaterialDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) - { - return _wmsmaterialAppService.CloneAsync(ids); - } - - /// <summary> - /// 鍒犻櫎鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <returns></returns> - //[Authorize] - [HttpDelete] - [Route("{id}")] - public virtual Task DeleteAsync(Guid id) - { - return _wmsmaterialAppService.DeleteAsync(id); - } - - /// <summary> - /// 鎵归噺鍒犻櫎鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="ids">The ids.</param> - /// <returns></returns> - //[Authorize] - [HttpDelete] - public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) - { - return _wmsmaterialAppService.DeleteManyAsync(ids); - } - - /// <summary> - /// 璋冩暣鎺掑簭鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <param name="id">鏍囪瘑绗�.</param> - /// <returns></returns> - [HttpPut] - [Route("{id}/AdjustSort/{sort}")] - public virtual Task AdjustSortAsync(Guid id, int sort) - { - return _wmsmaterialAppService.AdjustSortAsync(id, sort); - } - - /// <summary> - /// 瀵煎叆鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <returns></returns> - [Authorize] - [HttpPost] - [Route("Import")] - public virtual async Task<IActionResult> ImportAsync(IFormFile file) - { - using var stream = new MemoryStream(); - await file.CopyToAsync(stream); - stream.Seek(0L, SeekOrigin.Begin); - - var sheetNames = stream.GetSheetNames(); - var wmsmaterialRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "閰嶇疆").ToList() : new(); - - if (!wmsmaterialRows.Any()) - { - throw new UserFriendlyException("璇锋鏌ュ鍏ョ殑琛ㄦ牸"); - } - - await _wmsmaterialAppService.ImportAsync(new WmsMaterialsImportModel - { - WmsMaterials = wmsmaterialRows, - }); - - return Ok(); - } - - /// <summary> - /// 瀵煎嚭鐗╂枡鍩虹淇℃伅 - /// </summary> - /// <returns></returns> - [HttpGet] - [Route("Export")] - public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInput input) - { - input.MaxResultCount = int.MaxValue; - var exportData = await _wmsmaterialAppService.ExportAsync(input); - var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.xlsx"); - if (!System.IO.File.Exists(templatePath)) - { - templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.xlsx"); - } - - var memoryStream = new MemoryStream(); - await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets); - memoryStream.Seek(0L, SeekOrigin.Begin); - return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" }; - } - } -} +锘縰sing Ao.Lang; +using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; +using CMS.Plugin.HIAWms.Application.Contracts.Services; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using MiniExcelLibs; +using System.Reflection; +using Volo.Abp; +using Volo.Abp.Application.Dtos; + +namespace CMS.Plugin.HIAWms.Controller +{ + /// <summary> + /// 鐗╂枡鍩虹淇℃伅琛ㄦ湇鍔� + /// </summary> + [ApiController] + [TypeFilter(typeof(CMSLanguageFilter))] + [TypeFilter(typeof(CMSUowActionFilter))] + [TypeFilter(typeof(CMSAuditActionFilter))] + [TypeFilter(typeof(CMSExceptionFilter))] + [Route("api/v{version:apiVersion}/HIAWms/[controller]")] + public class WmsMaterialController : ControllerBase + { + private readonly IWmsMaterialAppService _wmsmaterialsAppService; + + /// <summary> + /// Initializes a new instance of the <see cref="WmsMaterialController"/> class. + /// </summary> + /// <param name="wmsmaterialsAppService">The wmsmaterials application service.</param> + public WmsMaterialController(IWmsMaterialAppService wmsmaterialsAppService) + { + _wmsmaterialsAppService = wmsmaterialsAppService; + } + + /// <summary> + /// 鑾峰彇鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <returns></returns> + [HttpGet] + [Route("{id}")] + public virtual Task<WmsMaterialDto> GetAsync(Guid id) + { + return _wmsmaterialsAppService.GetAsync(id); + } + + /// <summary> + /// 鍒嗛〉鑾峰彇鐗╂枡鍩虹淇℃伅琛ㄧ殑鍒楄〃. + /// </summary> + /// <param name="input">杈撳叆.</param> + /// <returns></returns> + [HttpGet] + [Route("Page")] + public virtual Task<PagedResultDto<WmsMaterialDto>> GetListAsync([FromQuery] GetWmsMaterialInput input) + { + return _wmsmaterialsAppService.GetListAsync(input); + } + + /// <summary> + /// 鍒涘缓鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="input">杈撳叆.</param> + /// <returns></returns> + //[Authorize] + [HttpPost] + public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) + { + return _wmsmaterialsAppService.CreateAsync(input); + } + + /// <summary> + /// 鏇存柊鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <param name="input">杈撳叆.</param> + /// <returns></returns> + //[Authorize] + [HttpPut] + [Route("{id}")] + public virtual Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input) + { + return _wmsmaterialsAppService.UpdateAsync(id, input); + } + + /// <summary> + /// 鍏嬮殕鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="ids">Id闆嗗悎.</param> + /// <returns></returns> + //[Authorize] + [HttpPost] + [Route("Clone")] + public virtual Task<List<WmsMaterialDto>> CloneAsync([FromBody] IEnumerable<Guid> ids) + { + return _wmsmaterialsAppService.CloneAsync(ids); + } + + /// <summary> + /// 鍒犻櫎鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <returns></returns> + //[Authorize] + [HttpDelete] + [Route("{id}")] + public virtual Task DeleteAsync(Guid id) + { + return _wmsmaterialsAppService.DeleteAsync(id); + } + + /// <summary> + /// 鎵归噺鍒犻櫎鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="ids">The ids.</param> + /// <returns></returns> + //[Authorize] + [HttpDelete] + public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) + { + return _wmsmaterialsAppService.DeleteManyAsync(ids); + } + + /// <summary> + /// 璋冩暣鎺掑簭鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <param name="id">鏍囪瘑绗�.</param> + /// <returns></returns> + [HttpPut] + [Route("{id}/AdjustSort/{sort}")] + public virtual Task AdjustSortAsync(Guid id, int sort) + { + return _wmsmaterialsAppService.AdjustSortAsync(id, sort); + } + + /// <summary> + /// 瀵煎叆鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <returns></returns> + [Authorize] + [HttpPost] + [Route("Import")] + public virtual async Task<IActionResult> ImportAsync(IFormFile file) + { + using var stream = new MemoryStream(); + await file.CopyToAsync(stream); + stream.Seek(0L, SeekOrigin.Begin); + + var sheetNames = stream.GetSheetNames(); + var wmsmaterialsRows = sheetNames.Contains("閰嶇疆") ? MiniExcel.Query<WmsMaterialsImportModel.WmsMaterialImportModel>(stream, sheetName: "閰嶇疆").ToList() : new(); + + if (!wmsmaterialsRows.Any()) + { + throw new UserFriendlyException("璇锋鏌ュ鍏ョ殑琛ㄦ牸"); + } + + await _wmsmaterialsAppService.ImportAsync(new WmsMaterialsImportModel + { + WmsMaterials = wmsmaterialsRows, + }); + + return Ok(); + } + + /// <summary> + /// 瀵煎嚭鐗╂枡鍩虹淇℃伅琛� + /// </summary> + /// <returns></returns> + [HttpGet] + [Route("Export")] + public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialInput input) + { + input.MaxResultCount = int.MaxValue; + var exportData = await _wmsmaterialsAppService.ExportAsync(input); + var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.xlsx"); + if (!System.IO.File.Exists(templatePath)) + { + templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/WmsMaterial瀵煎嚭妯℃澘.xlsx"); + } + + var memoryStream = new MemoryStream(); + await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets); + memoryStream.Seek(0L, SeekOrigin.Begin); + return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" }; + } + } +} -- Gitblit v1.9.3