zs
2025-05-16 5703aa1072175f4390006f73e43a4236e81ad678
Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo
已添加1个文件
已修改8个文件
261 ■■■■■ 文件已修改
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/ICallMaterialOrderAppService.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/CallMaterialOrderAppService.cs 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CallMaterialOrder/ICallMaterialOrderRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreCallMaterialOrderRepository.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/GenerateCode_WeiBen_CMS.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/MainForm.Designer.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/MainForm.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Utility/FileHelper.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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}");
            }
        }
    }
}