Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.cs
@@ -241,7 +241,8 @@ EntityInstanceName = tableAlias, LikeQueryAttrs = _tb_LikeQueryAttrs, LikeQueryAttrsName = _tb_LikeQueryAttrsName, ValidateRepeatName = this.tb_ValidateRepeatName.Text ValidateRepeatName = this.tb_ValidateRepeatName.Text, TableName = tableName }; //å¤çæä¸¾ç±»å List<EnumModel> enumList = new List<EnumModel>(); Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Model/GenerateCodeParam.cs
@@ -53,6 +53,12 @@ /// </summary> public List<ColumnModel> ColumnNameList { get; set; } = new List<ColumnModel>(); /// <summary> /// 表å /// </summary> public string TableName { get; set; } /// <summary> /// å®ä½åç§° /// </summary> Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/AppService/AppServiceÄ£°å.txt
@@ -1,4 +1,4 @@ using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services; using CMS.Plugin.$NameSpacePath$.Domain.Shared; using CmsQueryExtensions; @@ -10,37 +10,38 @@ using Volo.Abp.Data; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectMapping; using CmsQueryExtensions.Entitys; namespace CMS.Plugin.$NameSpacePath$.Application.Implements; /// <summary> /// $ChinaComment$åºç¨æå¡ /// $ChinaComment$åºç¨æå¡ /// </summary> public class $EntityName$AppService : CMSPluginAppService, I$EntityName$AppService { private readonly I$EntityName$Repository $EntityInstanceName$Repository; private readonly I$EntityName$Repository _$EntityInstanceName$Repository; /// <summary> /// Initializes a new instance of the <see cref="$EntityName$AppService"/> class. /// </summary> /// <param name="$EntityName$Repository">The task job repository.</param> public $EntityName$AppService(I$EntityName$Repository _$EntityName$Repository) public $EntityName$AppService(I$EntityName$Repository $EntityInstanceName$Repository) { $EntityInstanceName$Repository = _$EntityName$Repository; _$EntityInstanceName$Repository = $EntityInstanceName$Repository; } /// <summary> /// è·åæå®$ChinaComment$ /// è·åæå®$ChinaComment$ /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual async Task<$EntityName$Dto> GetAsync(Guid id) { return ObjectMapper.Map<$EntityName$, $EntityName$Dto>(await $EntityInstanceName$Repository.GetAsync(id)); return ObjectMapper.Map<$EntityName$, $EntityName$Dto>(await _$EntityInstanceName$Repository.GetAsync(id)); } /// <summary> /// å页è·å$ChinaComment$ /// å页è·å$ChinaComment$ /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -53,36 +54,36 @@ input.Sorting = nameof($EntityName$.Sort); } #region 卿æé æ¥è¯¢æ¡ä»¶ #region 卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = DynamicGetQueryParams(input); #endregion var count = await $EntityInstanceName$Repository.GetCountAsync(whereConditions); var list = await $EntityInstanceName$Repository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); var count = await _$EntityInstanceName$Repository.GetCountAsync(whereConditions); var list = await _$EntityInstanceName$Repository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<$EntityName$Dto>(count, ObjectMapper.Map<List<$EntityName$>, List<$EntityName$Dto>>(list)); } /// <summary> /// 卿æé æ¥è¯¢æ¡ä»¶ /// 卿æé æ¥è¯¢æ¡ä»¶ /// </summary> /// <param name="input">è¾å ¥åæ°</param> /// <param name="input">è¾å ¥åæ°</param> /// <returns></returns> private FunReturnResultModel<Expression<Func<$EntityName$, bool>>> DynamicGetQueryParams(Get$EntityName$Input input) { //卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = WhereConditionsExtensions.GetWhereConditions<$EntityName$, Get$EntityName$Input>(input); if (!whereConditions.IsSuccess) { throw new Exception("卿æé æ¥è¯¢æ¡ä»¶å¤±è´¥:" + whereConditions.ErrMsg); throw new Exception("卿æé æ¥è¯¢æ¡ä»¶å¤±è´¥:" + whereConditions.ErrMsg); } //ä¹å¯å次èªå®ä¹æå»ºæ¥è¯¢æ¡ä»¶ //ä¹å¯å次èªå®ä¹æå»ºæ¥è¯¢æ¡ä»¶ Expression<Func<$EntityName$, bool>> extendExpression = a => a.IsDeleted == false; // ä½¿ç¨ System.Linq.PredicateBuilder ç And // ä½¿ç¨ System.Linq.PredicateBuilder ç And var pres = (System.Linq.Expressions.Expression<Func<$EntityName$, bool>>)(whereConditions.data); whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); @@ -90,7 +91,7 @@ } /// <summary> /// æ°å»º$ChinaComment$ /// æ°å»º$ChinaComment$ /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -99,20 +100,21 @@ { await CheckCreateOrUpdateDtoAsync(input); var exist = await $EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$); var exist = await _$EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.$ValidateRepeatName$]); } var maxSort = await $EntityInstanceName$Repository.GetMaxSortAsync(); var maxSort = await _$EntityInstanceName$Repository.GetMaxSortAsync(); var sort = input.Sort ?? maxSort; var insertObj = ObjectMapper.Map<$EntityName$CreateDto, $EntityName$>(input); insertObj.Sort = sort; input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); await $EntityInstanceName$Repository.InsertAsync(insertObj); insertObj.CreatorName = input.CreatorName;//å建人 await _$EntityInstanceName$Repository.InsertAsync(insertObj); //if (input.Sort.HasValue && insertObj.Sort != maxSort) //{ @@ -123,7 +125,7 @@ } /// <summary> /// æ´æ°$ChinaComment$ /// æ´æ°$ChinaComment$ /// </summary> /// <param name="id"></param> /// <param name="input"></param> @@ -133,8 +135,8 @@ { await CheckCreateOrUpdateDtoAsync(input); var updateObj = await $EntityInstanceName$Repository.GetAsync(id); var exist = await $EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$, updateObj.Id); var updateObj = await _$EntityInstanceName$Repository.GetAsync(id); var exist = await _$EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$, updateObj.Id); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.$ValidateRepeatName$]); @@ -145,32 +147,34 @@ $UpdateAttributes$ await $EntityInstanceName$Repository.UpdateAsync(updateObj); updateObj.LastModifierName = input.LastModifierName;//ä¿®æ¹äºº await _$EntityInstanceName$Repository.UpdateAsync(updateObj); return ObjectMapper.Map<$EntityName$, $EntityName$Dto>(updateObj); } /// <summary> /// å é$ChinaComment$ /// å é$ChinaComment$ /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task<List<$EntityName$Dto>> CloneAsync(IEnumerable<Guid> ids) public async Task<List<$EntityName$Dto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser) { //var $EntityInstanceName$s = new List<$EntityName$>(); //if (ids != null) //{ // var sort = await $EntityInstanceName$Repository.GetMaxSortAsync(); // var sort = await _$EntityInstanceName$Repository.GetMaxSortAsync(); // foreach (var id in ids) // { // var $EntityName$ = await $EntityInstanceName$Repository.FindAsync(id); // var $EntityName$ = await _$EntityInstanceName$Repository.FindAsync(id); // if ($EntityName$ != null) // { // var name = $EntityName$.Name + $EntityName$Consts.CloneTag; // var notExist = false; // while (!notExist) // { // var exist = await $EntityInstanceName$Repository.NameExistAsync(name); // var exist = await _$EntityInstanceName$Repository.NameExistAsync(name); // if (exist || $EntityInstanceName$s.Any(x => x.Name == name)) // { // name += $EntityName$Consts.CloneTag; @@ -180,7 +184,7 @@ // notExist = true; // } // //$EntityName$ = await $EntityInstanceName$Repository.InsertAsync($EntityName$.Clone(GuidGenerator.Create(), name, sort++)); // //$EntityName$ = await _$EntityInstanceName$Repository.InsertAsync($EntityName$.Clone(GuidGenerator.Create(), name, sort++)); // $EntityInstanceName$s.Add($EntityName$); // } // } @@ -191,21 +195,21 @@ } /// <summary> /// å é¤å个$ChinaComment$ /// å é¤å个$ChinaComment$ /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual Task DeleteAsync(Guid id) { return $EntityInstanceName$Repository.DeleteAsync(id); return _$EntityInstanceName$Repository.DeleteAsync(id); } /// <summary> /// å é¤å¤ä¸ª$ChinaComment$ /// å é¤å¤ä¸ª$ChinaComment$ /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task DeleteManyAsync(IEnumerable<Guid> ids) public async Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser) { foreach (var id in ids) { @@ -214,14 +218,36 @@ } /// <summary> /// è°æ´æåº$ChinaComment$ /// ç©çå é¤$ChinaComment$ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) { _$EntityInstanceName$Repository.DeletePermanentlyAsync(id); } /// <summary> /// æ¹éç©çå é¤$ChinaComment$ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) { _$EntityInstanceName$Repository.BatchDeletePermanentlyAsync(ids); } /// <summary> /// è°æ´æåº$ChinaComment$ /// </summary> /// <param name="id"></param> /// <param name="sort"></param> /// <returns></returns> public virtual async Task AdjustSortAsync(Guid id, int sort) { var list = await $EntityInstanceName$Repository.GetListAsync(null, nameof($EntityName$.Sort)); var list = await _$EntityInstanceName$Repository.GetListAsync(null, nameof($EntityName$.Sort)); if (list != null && list.Any()) { var initSort = 1; @@ -248,16 +274,16 @@ } } await $EntityInstanceName$Repository.UpdateManyAsync(list); await _$EntityInstanceName$Repository.UpdateManyAsync(list); } /// <summary> /// å¯¼å ¥$ChinaComment$ /// å¯¼å ¥$ChinaComment$ /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task ImportAsync($EntityName$sImportModel input) public async Task ImportAsync($EntityName$sImportModel input, MyCurrentUser myCurrentUser) { Check.NotNull(input, nameof(input)); @@ -267,14 +293,14 @@ if (importItems != null && importItems.Any()) { #region å¯¼å ¥æ ¡éª #region å¯¼å ¥æ ¡éª // 夿åç§°æ¯å¦éå¤ï¼å¹¶è¾åºç¬¬å è¡éå¤ // 夿åç§°æ¯å¦éå¤ï¼å¹¶è¾åºç¬¬å è¡éå¤ var duplicate$EntityName$s = importItems.GroupBy(x => x.$ValidateRepeatName$).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} åç§°éå¤"); var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ {string.Join(",", duplicate$EntityName$Msgs)}ï¼ç»æ¢å¯¼å ¥"; var duplicate$EntityName$Msgs = duplicate$EntityName$s.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} è¡ï¼{x.Key} åç§°éå¤"); var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ {string.Join(",", duplicate$EntityName$Msgs)}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } @@ -289,11 +315,11 @@ if (impItem.$ValidateRepeatName$.IsNullOrWhiteSpace()) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{impItem.RowIndex}è¡ï¼$EntityName$åç§°ä¸è½ä¸ºç©º"; var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{impItem.RowIndex}è¡ï¼$EntityName$åç§°ä¸è½ä¸ºç©º"; throw new UserFriendlyException(errorMsg); } var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync(impItem.$ValidateRepeatName$); var old$EntityName$ = await _$EntityInstanceName$Repository.FindByNameAsync(impItem.$ValidateRepeatName$); if (old$EntityName$ != null) { var $EntityInstanceName$UpdateDto = new $EntityName$UpdateDto @@ -315,37 +341,39 @@ } } // æ°å¢ // æ°å¢ foreach (var $EntityInstanceName$Dto in $EntityInstanceName$CreateDtos) { try { $EntityInstanceName$Dto.Item.CreatorName = myCurrentUser.UserAccount;//å建人 await CreateAsync($EntityInstanceName$Dto.Item); } catch (Exception e) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{$EntityInstanceName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{$EntityInstanceName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } } // æ´æ° // æ´æ° foreach (var $EntityInstanceName$Dto in $EntityInstanceName$UpdateDtos) { try { $EntityInstanceName$Dto.Item.LastModifierName = myCurrentUser.UserAccount;//ä¿®æ¹äºº await UpdateAsync($EntityInstanceName$Dto.Id, $EntityInstanceName$Dto.Item); } catch (Exception e) { var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{$EntityInstanceName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; var errorMsg = $"å¯¼å ¥å¤±è´¥ï¼é ç½®ï¼ç¬¬{$EntityInstanceName$Dto.RowIndex}è¡ï¼{e.Message}ï¼ç»æ¢å¯¼å ¥"; throw new UserFriendlyException(errorMsg); } } } /// <summary> /// 导åº$ChinaComment$ /// 导åº$ChinaComment$ /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -358,20 +386,20 @@ input.Sorting = nameof($EntityName$.Sort); } #region 卿æé æ¥è¯¢æ¡ä»¶ #region 卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ //卿æé æ¥è¯¢æ¡ä»¶ var whereConditions = DynamicGetQueryParams(input); #endregion var list = await $EntityInstanceName$Repository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var list = await _$EntityInstanceName$Repository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<$EntityName$>, List<$EntityName$Dto>>(list); var sheets = new Dictionary<string, object> { ["é ç½®"] = ExportHelper.ConvertListToExportData(result), ["é ç½®"] = ExportHelper.ConvertListToExportData(result), }; var fileName = "$PageMenuName$"; @@ -379,7 +407,7 @@ } /// <summary> /// æ ¡éª$ChinaComment$ï¼å½æ°å»ºææ´æ°æ¶ /// æ ¡éª$ChinaComment$ï¼å½æ°å»ºææ´æ°æ¶ /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -389,4 +417,28 @@ $UpdateAttributesForCheckCreateOrUpdateDtoAsync$ return Task.CompletedTask; } /// <summary> /// æ ¹æ®æ¡ä»¶è·å$ChinaComment$å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<$EntityName$>> GetListByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, CancellationToken cancellationToken = default) { return await _$EntityInstanceName$Repository.GetListByFilterAsync(whereConditions); } /// <summary> /// æ ¹æ®æ¡ä»¶è·åå个$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task<$EntityName$> GetSingleByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) { return await _$EntityInstanceName$Repository.GetSingleByFilterAsync(whereConditions, isâMultipleThrowException); } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/AppService/IAppServiceÄ£°å.txt
@@ -1,29 +1,49 @@ using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; using Volo.Abp.Application.Services; using CmsQueryExtensions.Entitys; using System.Linq.Expressions; using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; namespace CMS.Plugin.$NameSpacePath$.Application.Contracts.Services; /// <summary> /// $ChinaComment$åºç¨æå¡æ¥å£ /// $ChinaComment$åºç¨æå¡æ¥å£ /// </summary> public interface I$EntityName$AppService : ICrudAppService<$EntityName$Dto, Guid, Get$EntityName$Input, $EntityName$CreateDto, $EntityName$UpdateDto> { /// <summary> /// å é$ChinaComment$ /// å é$ChinaComment$ /// </summary> /// <param name="ids"></param> /// <returns></returns> Task<List<$EntityName$Dto>> CloneAsync(IEnumerable<Guid> ids); Task<List<$EntityName$Dto>> CloneAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser); /// <summary> /// å é¤$ChinaComment$ /// å é¤$ChinaComment$ /// </summary> /// <param name="ids"></param> /// <returns></returns> Task DeleteManyAsync(IEnumerable<Guid> ids); Task DeleteManyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser); /// <summary> /// è°æ´æåº$ChinaComment$ /// ç©çå é¤$ChinaComment$ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default); /// <summary> /// æ¹éç©çå é¤$ChinaComment$ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default); /// <summary> /// è°æ´æåº$ChinaComment$ /// </summary> /// <param name="id"></param> /// <param name="sort"></param> @@ -31,16 +51,35 @@ Task AdjustSortAsync(Guid id, int sort); /// <summary> /// å¯¼å ¥$ChinaComment$ /// å¯¼å ¥$ChinaComment$ /// </summary> /// <param name="input"></param> /// <returns></returns> Task ImportAsync($EntityName$sImportModel input); Task ImportAsync($EntityName$sImportModel input, MyCurrentUser myCurrentUser); /// <summary> /// 导åº$ChinaComment$ /// 导åº$ChinaComment$ /// </summary> /// <param name="input"></param> /// <returns></returns> Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(Get$EntityName$Input input); /// <summary> /// æ ¹æ®æ¡ä»¶è·å$ChinaComment$å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<$EntityName$>> GetListByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·åå个$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<$EntityName$> GetSingleByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/ControllerÄ£°å.txt
@@ -1,5 +1,6 @@ using Ao.Lang; using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; using CMS.Framework.AspNetCore.Users; using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$; using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services; using Microsoft.AspNetCore.Authorization; @@ -9,6 +10,7 @@ using System.Reflection; using Volo.Abp; using Volo.Abp.Application.Dtos; using CmsQueryExtensions.Entitys; namespace CMS.Plugin.$NameSpacePath$.Controller { @@ -24,20 +26,22 @@ public class $EntityName$Controller : ControllerBase { private readonly I$EntityName$AppService _$EntityInstanceName$AppService; private readonly ICurrentUser _currentUser; /// <summary> /// Initializes a new instance of the <see cref="$EntityName$Controller"/> class. /// </summary> /// <param name="$EntityInstanceName$AppService">The $EntityInstanceName$ application service.</param> public $EntityName$Controller(I$EntityName$AppService $EntityInstanceName$AppService) public $EntityName$Controller(I$EntityName$AppService $EntityInstanceName$AppService, ICurrentUser currentUser) { _$EntityInstanceName$AppService = $EntityInstanceName$AppService; _currentUser = currentUser; } /// <summary> /// è·å$ChinaComment$ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="id">主é®ID</param> /// <returns></returns> [HttpGet] [Route("{id}")] @@ -49,7 +53,7 @@ /// <summary> /// å页è·å$ChinaComment$çå表. /// </summary> /// <param name="input">è¾å ¥.</param> /// <param name="input">æ¥è¯¢åæ°</param> /// <returns></returns> [HttpGet] [Route("Page")] @@ -61,71 +65,90 @@ /// <summary> /// å建$ChinaComment$ /// </summary> /// <param name="input">è¾å ¥.</param> /// <param name="input">åå»ºåæ°</param> /// <returns></returns> //[Authorize] [HttpPost] public virtual Task<$EntityName$Dto> CreateAsync($EntityName$CreateDto input) { input.CreatorName = _currentUser.UserAccount;//å建人 return _$EntityInstanceName$AppService.CreateAsync(input); } /// <summary> /// æ´æ°$ChinaComment$ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="input">è¾å ¥.</param> /// <param name="id">主é®ID</param> /// <param name="input">æ´æ°åæ°</param> /// <returns></returns> //[Authorize] [HttpPut] [Route("{id}")] public virtual Task<$EntityName$Dto> UpdateAsync(Guid id, $EntityName$UpdateDto input) { input.LastModifierName = _currentUser.UserAccount;//ä¿®æ¹äºº return _$EntityInstanceName$AppService.UpdateAsync(id, input); } /// <summary> /// å é$ChinaComment$ /// </summary> /// <param name="ids">Idéå.</param> /// <param name="ids">Idéå</param> /// <returns></returns> //[Authorize] [HttpPost] [Route("Clone")] public virtual Task<List<$EntityName$Dto>> CloneAsync([FromBody] IEnumerable<Guid> ids) { return _$EntityInstanceName$AppService.CloneAsync(ids); MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; return _$EntityInstanceName$AppService.CloneAsync(ids, myCurrentUser); } /// <summary> /// å é¤$ChinaComment$ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="id">主é®ID</param> /// <returns></returns> //[Authorize] [HttpDelete] [Route("{id}")] public virtual Task DeleteAsync(Guid id) { return _$EntityInstanceName$AppService.DeleteAsync(id); MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//é»è¾å é¤ return _wmsMaterialAppService.DeletePermanentlyAsync(id, myCurrentUser);//ç©çå é¤ } /// <summary> /// æ¹éå é¤$ChinaComment$ /// </summary> /// <param name="ids">The ids.</param> /// <param name="ids">主é®IDéå</param> /// <returns></returns> //[Authorize] [HttpDelete] public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) { return _$EntityInstanceName$AppService.DeleteManyAsync(ids); MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//é»è¾å é¤ return _wmsMaterialAppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//ç©çå é¤ } /// <summary> /// è°æ´æåº$ChinaComment$ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="id">主é®ID</param> /// <returns></returns> [HttpPut] [Route("{id}/AdjustSort/{sort}")] @@ -155,10 +178,15 @@ throw new UserFriendlyException("è¯·æ£æ¥å¯¼å ¥çè¡¨æ ¼"); } MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, UserId = _currentUser.UserId }; await _$EntityInstanceName$AppService.ImportAsync(new $EntityName$sImportModel { $EntityName$s = $EntityInstanceName$Rows, }); },myCurrentUser); return Ok(); } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Domain/IRepositoryÄ£°å.txt
@@ -1,16 +1,16 @@ using CmsQueryExtensions.Extension; using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; namespace CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; /// <summary> /// $ChinaComment$ä»å¨ /// $ChinaComment$ä»å¨ /// </summary> public interface I$EntityName$Repository : IBasicRepository<$EntityName$, Guid> { /// <summary> /// æç §åç§°æ¥æ¾$ChinaComment$ /// æç §åç§°æ¥æ¾$ChinaComment$ /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> @@ -18,7 +18,7 @@ Task<$EntityName$> FindByNameAsync(string name, CancellationToken cancellationToken = default); /// <summary> /// éªè¯åç§°æ¯å¦åå¨$ChinaComment$ /// éªè¯åç§°æ¯å¦åå¨$ChinaComment$ /// </summary> /// <param name="name"></param> /// <param name="id"></param> @@ -26,13 +26,13 @@ Task<bool> NameExistAsync(string name, Guid? id = null); /// <summary> /// è·åæå¤§æåº$ChinaComment$ /// è·åæå¤§æåº$ChinaComment$ /// </summary> /// <returns></returns> Task<int> GetMaxSortAsync(); /// <summary> /// è·åå页å表$ChinaComment$ /// è·åå页å表$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> @@ -44,10 +44,45 @@ 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$ /// è·åæ»æ°$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// ç©çå é¤$ChinaComment$ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default); /// <summary> /// æ¹éç©çå é¤$ChinaComment$ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·å$ChinaComment$å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<$EntityName$>> GetListByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·åå个$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<$EntityName$> GetSingleByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Entity/CreateDtoÄ£°å.txt
@@ -14,4 +14,9 @@ /// æ¯å¦ç¦ç¨ /// </summary> public bool? IsDisabled { get; set; } = false; /// <summary> /// å建人 /// </summary> public string CreatorName { get; set; } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Entity/UpdateDtoÄ£°å.txt
@@ -10,4 +10,9 @@ /// å¹¶åæ³ /// </summary> public string ConcurrencyStamp { get; set; } /// <summary> /// ä¿®æ¹äºº /// </summary> public string LastModifierName { get; set; } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/EntityFrameworkCore/EfCoreRepositoryÄ£°å.txt
@@ -1,9 +1,10 @@ using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; 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; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -11,7 +12,7 @@ namespace CMS.Plugin.$NameSpacePath$.EntityFrameworkCore.Repositories; /// <summary> /// $ChinaComment$ä»å¨å®ç° /// $ChinaComment$ä»å¨å®ç° /// </summary> public class EfCore$EntityName$Repository : EfCoreRepository<ICMSPluginDbContext, $EntityName$, Guid>, I$EntityName$Repository { @@ -25,7 +26,7 @@ } /// <summary> /// æç §åç§°æ¥æ¾$ChinaComment$ /// æç §åç§°æ¥æ¾$ChinaComment$ /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> @@ -40,9 +41,9 @@ } /// <summary> /// éªè¯åç§°æ¯å¦åå¨$ChinaComment$ /// éªè¯åç§°æ¯å¦åå¨$ChinaComment$ /// </summary> /// <param name="name">æ ¡éªå¼</param> /// <param name="name">æ ¡éªå¼</param> /// <param name="id"></param> /// <returns></returns> public async Task<bool> NameExistAsync(string name, Guid? id = null) @@ -51,7 +52,7 @@ } /// <summary> /// è·åæå¤§æåº$ChinaComment$ /// è·åæå¤§æåº$ChinaComment$ /// </summary> /// <returns></returns> public async Task<int> GetMaxSortAsync() @@ -69,7 +70,7 @@ } /// <summary> /// è·åå页å表$ChinaComment$ /// è·åå页å表$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> @@ -90,7 +91,7 @@ } /// <summary> /// è·åæ»æ°$ChinaComment$ /// è·åæ»æ°$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> @@ -110,4 +111,105 @@ return (await GetQueryableAsync()) .Where(x => !x.IsDeleted).IncludeDetails(); } /// <summary> /// ç©çå é¤$ChinaComment$ /// </summary> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default) { var entity = await (await GetDbSetAsync()) .FirstOrDefaultAsync(x => x.Id == id && !x.IsDeleted, GetCancellationToken(cancellationToken)); if (entity == null) { throw new Volo.Abp.Domain.Entities.EntityNotFoundException(typeof($EntityName$), id); } // 2. è·å DbContext å¹¶æ§è¡å é¤ var dbContext = await GetDbContextAsync(); // ç´æ¥æ§è¡ SQL å é¤ var sql = $"DELETE FROM $TableName$ WHERE Id ='{entity.Id.ToString()}'"; await dbContext.Database.ExecuteSqlRawAsync(sql, cancellationToken); } /// <summary> /// æ¹éç©çå é¤$ChinaComment$ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default) { // 1. æ¥è¯¢ç¬¦åæ¡ä»¶çå®ä½ï¼æªè½¯å é¤çè®°å½ï¼ var entities = await (await GetDbSetAsync()) .Where(x => ids.Contains(x.Id) && !x.IsDeleted) .ToListAsync(GetCancellationToken(cancellationToken)); if (!entities.Any()) { // å¦ææ²¡æéè¦å é¤çè®°å½ï¼ç´æ¥è¿åï¼é¿å ä¸å¿ è¦çæ°æ®åºæä½ï¼ return; } // 2. è·å DbContext å¹¶æ§è¡æ¹éå é¤ var dbContext = await GetDbContextAsync(); var idsToDelete = entities.Select(e => e.Id).ToList(); // ç´æ¥æ§è¡ SQL å é¤ var sql = $"DELETE FROM $TableName$ WHERE Id IN ({string.Join(",", idsToDelete.Select(id => $"'{id}'"))})"; await dbContext.Database.ExecuteSqlRawAsync(sql, cancellationToken); } /// <summary> /// æ ¹æ®æ¡ä»¶è·å$ChinaComment$å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<$EntityName$>> GetListByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.$OrderBy$) .ToListAsync(GetCancellationToken(cancellationToken)); } /// <summary> /// æ ¹æ®æ¡ä»¶è·åå个$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task<$EntityName$> GetSingleByFilterAsync(Expression<Func<$EntityName$, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) { if (isâMultipleThrowException) { var entitys = await (await GetDbSetAsync()) .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.$OrderBy$) .ToListAsync(GetCancellationToken(cancellationToken)); if (entitys?.Count > 1) { throw new UserFriendlyException("æ¥è¯¢å°å¤æ¡è®°å½"); } return entitys?.FirstOrDefault(); } else { return await (await GetDbSetAsync()) .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.$OrderBy$) .FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); } } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/CommonHelper.cs
@@ -72,6 +72,7 @@ str = str.Replace("$EntityName$", param.EntityName);//å®ä½ç±»å str = str.Replace("$Modulelogo$", param.Modulelogo);//模åç®å str = str.Replace("$EntityInstanceName$", param.EntityInstanceName);//å®ä¾å str = str.Replace("$TableName$", param.TableName);//表å //å¦æä¸ºç©ºï¼ç³»ç»é»è®¤ææå符串çå±ç¤ºåæ¥è¯¢ var str_LikeQueryAttrs = param.LikeQueryAttrs; Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/³£ÓÃ.txt
@@ -11,3 +11,8 @@ $PageMenuInstanceName$ $TableName$ $OrderBy$ Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs
@@ -4,7 +4,6 @@ using System.Linq.Expressions; using CMS.Plugin.HIAWms.Domain.WmsMaterial; namespace CMS.Plugin.HIAWms.Application.Contracts.Services; /// <summary> @@ -29,7 +28,7 @@ /// <summary> /// ç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">ç©æID</param> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default); @@ -38,7 +37,7 @@ /// <summary> /// æ¹éç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤çç©æIDå表</param> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default); @@ -83,5 +82,4 @@ /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<WmsMaterial> GetSingleByFilterAsync(Expression<Func<WmsMaterial, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
@@ -12,7 +12,6 @@ using Volo.Abp.ObjectMapping; using CmsQueryExtensions.Entitys; namespace CMS.Plugin.HIAWms.Application.Implements; /// <summary> @@ -20,15 +19,15 @@ /// </summary> public class WmsMaterialAppService : CMSPluginAppService, IWmsMaterialAppService { private readonly IWmsMaterialRepository wmsMaterialRepository; 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) public WmsMaterialAppService(IWmsMaterialRepository wmsMaterialRepository) { wmsMaterialRepository = _WmsMaterialRepository; _wmsMaterialRepository = wmsMaterialRepository; } /// <summary> @@ -38,7 +37,7 @@ /// <returns></returns> public virtual async Task<WmsMaterialDto> GetAsync(Guid id) { return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await wmsMaterialRepository.GetAsync(id)); return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(await _wmsMaterialRepository.GetAsync(id)); } /// <summary> @@ -62,8 +61,8 @@ #endregion var count = await wmsMaterialRepository.GetCountAsync(whereConditions); var list = await wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); var count = await _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)); } @@ -91,8 +90,6 @@ return whereConditions; } /// <summary> /// æ°å»ºç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> @@ -103,13 +100,13 @@ { await CheckCreateOrUpdateDtoAsync(input); var exist = await wmsMaterialRepository.NameExistAsync(input.MaterialCode); var exist = await _wmsMaterialRepository.NameExistAsync(input.MaterialCode); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); } var maxSort = await wmsMaterialRepository.GetMaxSortAsync(); var maxSort = await _wmsMaterialRepository.GetMaxSortAsync(); var sort = input.Sort ?? maxSort; var insertObj = ObjectMapper.Map<WmsMaterialCreateDto, WmsMaterial>(input); @@ -117,7 +114,7 @@ input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); insertObj.CreatorName = input.CreatorName;//å建人 await wmsMaterialRepository.InsertAsync(insertObj); await _wmsMaterialRepository.InsertAsync(insertObj); //if (input.Sort.HasValue && insertObj.Sort != maxSort) //{ @@ -138,8 +135,8 @@ { await CheckCreateOrUpdateDtoAsync(input); var updateObj = await wmsMaterialRepository.GetAsync(id); var exist = await wmsMaterialRepository.NameExistAsync(input.MaterialCode, updateObj.Id); var updateObj = await _wmsMaterialRepository.GetAsync(id); var exist = await _wmsMaterialRepository.NameExistAsync(input.MaterialCode, updateObj.Id); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]); @@ -171,9 +168,10 @@ updateObj.RedundantField3 = input.RedundantField3; updateObj.Remark = input.Remark; updateObj.LastModifierName = input.LastModifierName;//ä¿®æ¹äºº await wmsMaterialRepository.UpdateAsync(updateObj); await _wmsMaterialRepository.UpdateAsync(updateObj); return ObjectMapper.Map<WmsMaterial, WmsMaterialDto>(updateObj); } @@ -188,17 +186,17 @@ //var wmsMaterials = new List<WmsMaterial>(); //if (ids != null) //{ // var sort = await wmsMaterialRepository.GetMaxSortAsync(); // var sort = await _wmsMaterialRepository.GetMaxSortAsync(); // foreach (var id in ids) // { // var WmsMaterial = await wmsMaterialRepository.FindAsync(id); // 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); // var exist = await _wmsMaterialRepository.NameExistAsync(name); // if (exist || wmsMaterials.Any(x => x.Name == name)) // { // name += WmsMaterialConsts.CloneTag; @@ -208,7 +206,7 @@ // notExist = true; // } // //WmsMaterial = await wmsMaterialRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++)); // //WmsMaterial = await _wmsMaterialRepository.InsertAsync(WmsMaterial.Clone(GuidGenerator.Create(), name, sort++)); // wmsMaterials.Add(WmsMaterial); // } // } @@ -225,7 +223,7 @@ /// <returns></returns> public virtual Task DeleteAsync(Guid id) { return wmsMaterialRepository.DeleteAsync(id); return _wmsMaterialRepository.DeleteAsync(id); } /// <summary> @@ -244,23 +242,23 @@ /// <summary> /// ç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">ç©æID</param> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) { wmsMaterialRepository.DeletePermanentlyAsync(id); _wmsMaterialRepository.DeletePermanentlyAsync(id); } /// <summary> /// æ¹éç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤çç©æIDå表</param> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default) { wmsMaterialRepository.BatchDeletePermanentlyAsync(ids); _wmsMaterialRepository.BatchDeletePermanentlyAsync(ids); } /// <summary> @@ -271,7 +269,7 @@ /// <returns></returns> public virtual async Task AdjustSortAsync(Guid id, int sort) { var list = await wmsMaterialRepository.GetListAsync(null, nameof(WmsMaterial.Sort)); var list = await _wmsMaterialRepository.GetListAsync(null, nameof(WmsMaterial.Sort)); if (list != null && list.Any()) { var initSort = 1; @@ -298,7 +296,7 @@ } } await wmsMaterialRepository.UpdateManyAsync(list); await _wmsMaterialRepository.UpdateManyAsync(list); } /// <summary> @@ -309,7 +307,6 @@ /// <exception cref="UserFriendlyException"></exception> public async Task ImportAsync(WmsMaterialsImportModel input, MyCurrentUser myCurrentUser) { Check.NotNull(input, nameof(input)); var wmsMaterialCreateDtos = new List<(int RowIndex, WmsMaterialCreateDto Item)>(); @@ -344,7 +341,7 @@ throw new UserFriendlyException(errorMsg); } var oldWmsMaterial = await wmsMaterialRepository.FindByNameAsync(impItem.MaterialCode); var oldWmsMaterial = await _wmsMaterialRepository.FindByNameAsync(impItem.MaterialCode); if (oldWmsMaterial != null) { var wmsMaterialUpdateDto = new WmsMaterialUpdateDto @@ -463,7 +460,7 @@ #endregion var list = await wmsMaterialRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); 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> @@ -505,7 +502,7 @@ /// <returns></returns> public async Task<List<WmsMaterial>> GetListByFilterAsync(Expression<Func<WmsMaterial, bool>> whereConditions, CancellationToken cancellationToken = default) { return await wmsMaterialRepository.GetListByFilterAsync(whereConditions); return await _wmsMaterialRepository.GetListByFilterAsync(whereConditions); } /// <summary> @@ -518,6 +515,6 @@ /// <exception cref="UserFriendlyException"></exception> public async Task<WmsMaterial> GetSingleByFilterAsync(Expression<Func<WmsMaterial, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) { return await wmsMaterialRepository.GetSingleByFilterAsync(whereConditions, isâMultipleThrowException); return await _wmsMaterialRepository.GetSingleByFilterAsync(whereConditions, isâMultipleThrowException); } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs
@@ -1,6 +1,5 @@ using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp; using Volo.Abp.Domain.Repositories; namespace CMS.Plugin.HIAWms.Domain.WmsMaterial; @@ -55,7 +54,7 @@ /// <summary> /// ç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">ç©æID</param> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default); @@ -64,7 +63,7 @@ /// <summary> /// æ¹éç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤çç©æIDå表</param> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default); @@ -86,6 +85,4 @@ /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<WmsMaterial> GetSingleByFilterAsync(Expression<Func<WmsMaterial, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
@@ -2,7 +2,6 @@ using CMS.Plugin.HIAWms.EntityFrameworkCore.Extensions; using CmsQueryExtensions.Extension; using Microsoft.EntityFrameworkCore; using RestSharp; using System.Linq.Dynamic.Core; using System.Linq.Expressions; using Volo.Abp; @@ -113,11 +112,10 @@ .Where(x => !x.IsDeleted).IncludeDetails(); } /// <summary> /// ç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">ç©æID</param> /// <param name="id">主é®ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default) @@ -141,7 +139,7 @@ /// <summary> /// æ¹éç©çå é¤ç©æåºç¡ä¿¡æ¯è¡¨ï¼ç´æ¥å é¤ï¼ä¸è½¯å é¤ï¼ /// </summary> /// <param name="ids">è¦å é¤çç©æIDå表</param> /// <param name="ids">è¦å é¤ç主é®IDå表</param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default) Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs
@@ -41,7 +41,7 @@ /// <summary> /// è·åç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="id">主é®ID</param> /// <returns></returns> [HttpGet] [Route("{id}")] @@ -53,7 +53,7 @@ /// <summary> /// å页è·åç©æåºç¡ä¿¡æ¯è¡¨çå表. /// </summary> /// <param name="input">è¾å ¥.</param> /// <param name="input">æ¥è¯¢åæ°</param> /// <returns></returns> [HttpGet] [Route("Page")] @@ -65,7 +65,7 @@ /// <summary> /// åå»ºç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="input">è¾å ¥.</param> /// <param name="input">åå»ºåæ°</param> /// <returns></returns> //[Authorize] [HttpPost] @@ -78,8 +78,8 @@ /// <summary> /// æ´æ°ç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="input">è¾å ¥.</param> /// <param name="id">主é®ID</param> /// <param name="input">æ´æ°åæ°</param> /// <returns></returns> //[Authorize] [HttpPut] @@ -93,7 +93,7 @@ /// <summary> /// å éç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="ids">Idéå.</param> /// <param name="ids">Idéå</param> /// <returns></returns> //[Authorize] [HttpPost] @@ -111,7 +111,7 @@ /// <summary> /// å é¤ç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="id">主é®ID</param> /// <returns></returns> //[Authorize] [HttpDelete] @@ -130,7 +130,7 @@ /// <summary> /// æ¹éå é¤ç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="ids">The ids.</param> /// <param name="ids">主é®IDéå</param> /// <returns></returns> //[Authorize] [HttpDelete] @@ -148,7 +148,7 @@ /// <summary> /// è°æ´æåºç©æåºç¡ä¿¡æ¯è¡¨ /// </summary> /// <param name="id">æ è¯ç¬¦.</param> /// <param name="id">主é®ID</param> /// <returns></returns> [HttpPut] [Route("{id}/AdjustSort/{sort}")] @@ -177,6 +177,7 @@ { throw new UserFriendlyException("è¯·æ£æ¥å¯¼å ¥çè¡¨æ ¼"); } MyCurrentUser myCurrentUser = new MyCurrentUser() { UserAccount = _currentUser.UserAccount, Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Resources/Templates/WmsMaterialµ¼³öÄ£°å.xlsxBinary files differ