PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/ICallMaterialOrderAppService.cs
@@ -1,5 +1,7 @@ using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.CallMaterialOrder; using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder; using System.Linq.Expressions; using Volo.Abp; using Volo.Abp.Application.Services; namespace CMS.Plugin.PipeLineLems.Application.Contracts.Services; @@ -49,4 +51,23 @@ /// <param name="input"></param> /// <returns></returns> Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetCallMaterialOrderInput input); /// <summary> /// æ ¹æ®æ¡ä»¶è·å嫿å表å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªå«æå表 /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/CallMaterialOrderAppService.cs
@@ -18,16 +18,16 @@ /// </summary> public class CallMaterialOrderAppService : CMSPluginAppService, ICallMaterialOrderAppService { private readonly ICallMaterialOrderRepository callMaterialOrderRepository; private readonly ICallMaterialOrderRepository _callMaterialOrderRepository; private readonly SharedService _sharedService; private readonly IServiceProvider _serviceProvider; /// <summary> /// Initializes a new instance of the <see cref="CallMaterialOrderAppService"/> class. /// </summary> /// <param name="CallMaterialOrderRepository">The task job repository.</param> public CallMaterialOrderAppService(ICallMaterialOrderRepository _CallMaterialOrderRepository, SharedService sharedService, IServiceProvider serviceProvider) public CallMaterialOrderAppService(ICallMaterialOrderRepository callMaterialOrderRepository, SharedService sharedService, IServiceProvider serviceProvider) { callMaterialOrderRepository = _CallMaterialOrderRepository; _callMaterialOrderRepository = callMaterialOrderRepository; _sharedService = sharedService; _serviceProvider = serviceProvider; } @@ -39,7 +39,7 @@ /// <returns></returns> public virtual async Task<CallMaterialOrderDto> GetAsync(Guid id) { return ObjectMapper.Map<CallMaterialOrder, CallMaterialOrderDto>(await callMaterialOrderRepository.GetAsync(id)); return ObjectMapper.Map<CallMaterialOrder, CallMaterialOrderDto>(await _callMaterialOrderRepository.GetAsync(id)); } public virtual async Task CallMaterialByDataIdentifier(Guid id) @@ -49,7 +49,7 @@ public virtual async Task<CallMaterialOrder> FindByWmsTaskNoAsync(string wmsTaskNo) { return await callMaterialOrderRepository.FindByWmsTaskNoAsync(wmsTaskNo); return await _callMaterialOrderRepository.FindByWmsTaskNoAsync(wmsTaskNo); } /// <summary> @@ -73,8 +73,8 @@ #endregion var count = await callMaterialOrderRepository.GetCountAsync(whereConditions); var list = await callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); var count = await _callMaterialOrderRepository.GetCountAsync(whereConditions); var list = await _callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<CallMaterialOrderDto>(count, ObjectMapper.Map<List<CallMaterialOrder>, List<CallMaterialOrderDto>>(list)); } @@ -112,20 +112,20 @@ { await CheckCreateOrUpdateDtoAsync(input); var exist = await callMaterialOrderRepository.NameExistAsync(input.DataIdentifier); var exist = await _callMaterialOrderRepository.NameExistAsync(input.DataIdentifier); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.DataIdentifier]); } var maxSort = await callMaterialOrderRepository.GetMaxSortAsync(); var maxSort = await _callMaterialOrderRepository.GetMaxSortAsync(); var sort = input.Sort ?? maxSort; var insertObj = ObjectMapper.Map<CallMaterialOrderCreateDto, CallMaterialOrder>(input); insertObj.Sort = sort; input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); await callMaterialOrderRepository.InsertAsync(insertObj); await _callMaterialOrderRepository.InsertAsync(insertObj); //if (input.Sort.HasValue && insertObj.Sort != maxSort) //{ @@ -146,8 +146,8 @@ { await CheckCreateOrUpdateDtoAsync(input); var updateObj = await callMaterialOrderRepository.GetAsync(id); var exist = await callMaterialOrderRepository.NameExistAsync(input.DataIdentifier, updateObj.Id); var updateObj = await _callMaterialOrderRepository.GetAsync(id); var exist = await _callMaterialOrderRepository.NameExistAsync(input.DataIdentifier, updateObj.Id); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.DataIdentifier]); @@ -165,7 +165,7 @@ updateObj.Remark = input.Remark; await callMaterialOrderRepository.UpdateAsync(updateObj); await _callMaterialOrderRepository.UpdateAsync(updateObj); return ObjectMapper.Map<CallMaterialOrder, CallMaterialOrderDto>(updateObj); } @@ -217,7 +217,7 @@ /// <returns></returns> public virtual Task DeleteAsync(Guid id) { return callMaterialOrderRepository.DeleteAsync(id); return _callMaterialOrderRepository.DeleteAsync(id); } /// <summary> @@ -241,7 +241,7 @@ /// <returns></returns> public virtual async Task AdjustSortAsync(Guid id, int sort) { var list = await callMaterialOrderRepository.GetListAsync(null, nameof(CallMaterialOrder.Sort)); var list = await _callMaterialOrderRepository.GetListAsync(null, nameof(CallMaterialOrder.Sort)); if (list != null && list.Any()) { var initSort = 1; @@ -268,7 +268,7 @@ } } await callMaterialOrderRepository.UpdateManyAsync(list); await _callMaterialOrderRepository.UpdateManyAsync(list); } /// <summary> @@ -313,7 +313,7 @@ throw new UserFriendlyException(errorMsg); } var oldCallMaterialOrder = await callMaterialOrderRepository.FindByNameAsync(impItem.DataIdentifier); var oldCallMaterialOrder = await _callMaterialOrderRepository.FindByNameAsync(impItem.DataIdentifier); if (oldCallMaterialOrder != null) { var callMaterialOrderUpdateDto = new CallMaterialOrderUpdateDto @@ -400,7 +400,7 @@ #endregion var list = await callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var list = await _callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<CallMaterialOrder>, List<CallMaterialOrderDto>>(list); var sheets = new Dictionary<string, object> @@ -426,4 +426,28 @@ return Task.CompletedTask; } /// <summary> /// æ ¹æ®æ¡ä»¶è·å嫿å表å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default) { return await _callMaterialOrderRepository.GetListByFilterAsync(whereConditions); } /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªå«æå表 /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) { return await _callMaterialOrderRepository.GetSingleByFilterAsync(whereConditions, isâMultipleThrowException); } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CallMaterialOrder/ICallMaterialOrderRepository.cs
@@ -55,4 +55,22 @@ /// <param name="cancellationToken"></param> /// <returns></returns> Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<CallMaterialOrder, bool>>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·å嫿å表å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default); /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªå«æå表 /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default); } PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreCallMaterialOrderRepository.cs
@@ -4,6 +4,7 @@ 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; @@ -119,4 +120,55 @@ return (await GetQueryableAsync()) .Where(x => !x.IsDeleted).IncludeDetails(); } /// <summary> /// æ ¹æ®æ¡ä»¶è·å嫿å表å表 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails() .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.CreationTime) .ToListAsync(GetCancellationToken(cancellationToken)); } /// <summary> /// æ ¹æ®æ¡ä»¶è·ååä¸ªå«æå表 /// </summary> /// <param name="whereConditions"></param> /// <param name="isMultipleThrowException">æ¯å¦æ¥è¯¢åºå¤æ¡å°±æ¥é</param> /// <param name="cancellationToken"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> public async Task<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool isâMultipleThrowException = false, CancellationToken cancellationToken = default) { if (isâMultipleThrowException) { var entitys = await (await GetDbSetAsync()) .IncludeDetails() .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.CreationTime) .ToListAsync(GetCancellationToken(cancellationToken)); if (entitys?.Count > 1) { throw new UserFriendlyException("æ¥è¯¢å°å¤æ¡è®°å½"); } return entitys?.FirstOrDefault(); } else { return await (await GetDbSetAsync()) .IncludeDetails() .WhereIf(whereConditions != null, whereConditions) .Where(x => !x.IsDeleted) .OrderByDescending(x => x.CreationTime) .FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); } } } PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
@@ -377,8 +377,7 @@ pipeSpecCode3 = new_workPlanList[i].PipeSpecCode; } } //è·å æ¹æ¬¡ await callMaterialOrderAppService.wh Dictionary<string, object?> keyValuePairs = new Dictionary<string, object?> { { "æç 工件1",code1}, @@ -391,7 +390,7 @@ { "æç 管段åç§°", new_workPlanList.First().PipeSectionName }, { "æç åæç®¡åå·", new_workPlanList.First().MaterialMode }, { "æç åææ è¯", new_workPlanList.First().DataIdentifier }, { "æç åæç®¡æ¹æ¬¡", new_workPlanList.First() }, { "æç åæç®¡æ¹æ¬¡", callMaterialOrder.MaterialBatch },//æ¹æ¬¡ }; _variableService.WriteValueAsync(keyValuePairs); @@ -662,7 +661,8 @@ { "åå²ç®¡æ®µç¼ç ", new_workPlanList.First().PipeSpecCode }, { "åå²ç®¡æ®µåç§°", new_workPlanList.First().PipeSectionName }, { "åå²åæç®¡åå·", new_workPlanList.First().MaterialMode }, { "åå²åææ è¯", new_workPlanList.First().DataIdentifier } { "åå²åææ è¯", new_workPlanList.First().DataIdentifier }, { "åå²åæç®¡æ¹æ¬¡", callMaterialOrder.MaterialBatch },//æ¹æ¬¡ }; _variableService.WriteValueAsync(keyValuePairs); Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/GenerateCode_WeiBen_CMS.csproj
@@ -273,6 +273,7 @@ <DependentUpon>MainForm.cs</DependentUpon> </Compile> <Compile Include="Utility\StructStrHelper.cs" /> <Compile Include="Utility\FileHelper.cs" /> <Compile Include="Utility\TextHelper.cs" /> <EmbeddedResource Include="Properties\Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.Designer.cs
@@ -79,13 +79,14 @@ this.tb_FilePath = new System.Windows.Forms.TextBox(); this.btn_SelectFile = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button(); this.ck_IsDeletefile = new System.Windows.Forms.CheckBox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.SuspendLayout(); // // btnPath // this.btnPath.Location = new System.Drawing.Point(453, 723); this.btnPath.Location = new System.Drawing.Point(425, 720); this.btnPath.Name = "btnPath"; this.btnPath.Size = new System.Drawing.Size(97, 23); this.btnPath.TabIndex = 1; @@ -564,11 +565,25 @@ this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click_1); // // ck_IsDeletefile // this.ck_IsDeletefile.AutoSize = true; this.ck_IsDeletefile.Checked = true; this.ck_IsDeletefile.CheckState = System.Windows.Forms.CheckState.Checked; this.ck_IsDeletefile.Location = new System.Drawing.Point(561, 724); this.ck_IsDeletefile.Name = "ck_IsDeletefile"; this.ck_IsDeletefile.Size = new System.Drawing.Size(192, 16); this.ck_IsDeletefile.TabIndex = 50; this.ck_IsDeletefile.Text = "çæåæ¯å¦å æ¸ çæä»¶å¤¹çæä»¶"; this.ck_IsDeletefile.UseVisualStyleBackColor = true; this.ck_IsDeletefile.CheckedChanged += new System.EventHandler(this.ck_IsDeletefile_CheckedChanged); // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1402, 831); this.Controls.Add(this.ck_IsDeletefile); this.Controls.Add(this.button1); this.Controls.Add(this.btn_SelectFile); this.Controls.Add(this.tb_FilePath); @@ -645,6 +660,7 @@ private System.Windows.Forms.Button btn_SelectFile; private System.Windows.Forms.Button button1; private System.Windows.Forms.Label label1; private System.Windows.Forms.CheckBox ck_IsDeletefile; } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.cs
@@ -283,6 +283,13 @@ //CreateModelFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo); //CreateModelParamFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo); genCodeRootPath = tbPath.Text + @"\" + tb_WCF_NameSpacePath.Text.Trim(); //æ¯å¦è¦äºå æ¸ çæä»¶å¤¹ if (this.ck_IsDeletefile.Checked) { FileHelper.ClearFolder(genCodeRootPath); // éå½å é¤ } //var webFolerPath = (tb_WCF_NameSpacePath.Text.Trim() + "_Web").ToLower(); var webFolerPath = _tb_VueRootFolerName; #region å®ä½ç±» @@ -825,5 +832,10 @@ { this.tb_FilePath.Text = ""; } private void ck_IsDeletefile_CheckedChanged(object sender, EventArgs e) { } } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/FileHelper.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@  using GenerateCode_GEBrilliantFactory; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GenerateCode_GEBrilliantFactory { public class FileHelper { public static void DeleteAllContentsInFolder(string folderPath) { try { if (Directory.Exists(folderPath)) { // å 餿ææä»¶ååæä»¶å¤¹ï¼å æ¬åæä»¶å¤¹ä¸çæä»¶ï¼ foreach (string file in Directory.GetFiles(folderPath, "*.*", SearchOption.AllDirectories)) { File.Delete(file); Console.WriteLine($"å·²å 餿件: {file}"); } // å 餿æåæä»¶å¤¹ï¼æ¤æ¶æä»¶å¤¹å·²ç©ºï¼å¯ä»¥å®å ¨å é¤ï¼ foreach (string dir in Directory.GetDirectories(folderPath, "*", SearchOption.AllDirectories)) { Directory.Delete(dir); // ä¸éè¦éå½ï¼å 为æä»¶å·²è¢«å é¤ Console.WriteLine($"å·²å 餿件夹: {dir}"); } Console.WriteLine($"æåæ¸ ç©ºæä»¶å¤¹ '{folderPath}' ä¸çææå 容ã"); } else { Console.WriteLine($"æä»¶å¤¹ä¸åå¨: {folderPath}"); } } catch (Exception ex) { Console.WriteLine($"å 餿件/æä»¶å¤¹æ¶åºé: {ex.Message}"); } } public static void ClearFolder(string folderPath) { try { if (Directory.Exists(folderPath)) { // å 餿ææä»¶ååæä»¶å¤¹ï¼å æ¬åæä»¶å¤¹ä¸çæä»¶ï¼ Directory.Delete(folderPath, true); // true 表示éå½å é¤ Directory.CreateDirectory(folderPath); // éæ°å建空æä»¶å¤¹ Console.WriteLine($"å·²æ¸ ç©ºå¹¶é建æä»¶å¤¹ '{folderPath}'ã"); } else { Console.WriteLine($"æä»¶å¤¹ä¸åå¨: {folderPath}"); } } catch (Exception ex) { Console.WriteLine($"æ¸ ç©ºæä»¶å¤¹æ¶åºé: {ex.Message}"); } } } }