zs
2025-05-13 d794d5eef70ab31c7b06b5003abec095f030c23e
Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo
已修改8个文件
167 ■■■■■ 文件已修改
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/CMS.Plugin.HIAWms.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialCreateDto.cs
@@ -14,4 +14,9 @@
    /// æ˜¯å¦ç¦ç”¨ 
    /// </summary> 
    public bool? IsDisabled { get; set; } = false; 
    /// <summary>
    /// åˆ›å»ºäºº
    /// </summary>
    public string CreatorName { get; set; }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterial/WmsMaterialUpdateDto.cs
@@ -10,4 +10,9 @@
    /// å¹¶å‘戳 
    /// </summary> 
    public string ConcurrencyStamp { get; set; } 
    /// <summary>
    /// ä¿®æ”¹äºº
    /// </summary>
    public string LastModifierName { get; set; }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialAppService.cs
@@ -1,5 +1,7 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
using Volo.Abp.Application.Services; 
using CmsQueryExtensions.Entitys;
 
namespace CMS.Plugin.HIAWms.Application.Contracts.Services; 
 
@@ -23,6 +25,23 @@
    Task DeleteManyAsync(IEnumerable<Guid> ids); 
 
    /// <summary> 
    /// ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="id">物料ID</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default);
    /// <summary>
    /// æ‰¹é‡ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ï¼ˆç›´æŽ¥åˆ é™¤ï¼Œä¸è½¯åˆ é™¤ï¼‰
    /// </summary>
    /// <param name="ids">要删除的物料ID列表</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default);
    /// <summary>
    /// è°ƒæ•´æŽ’序物料基础信息表 
    /// </summary> 
    /// <param name="id"></param> 
@@ -35,7 +54,7 @@
    /// </summary> 
    /// <param name="input"></param> 
    /// <returns></returns> 
    Task ImportAsync(WmsMaterialsImportModel input);
    Task ImportAsync(WmsMaterialsImportModel input, MyCurrentUser myCurrentUser);
 
    /// <summary> 
    /// å¯¼å‡ºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ 
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialAppService.cs
@@ -10,6 +10,8 @@
using Volo.Abp.Data; 
using Volo.Abp.ObjectExtending; 
using Volo.Abp.ObjectMapping; 
using CmsQueryExtensions.Entitys;
 
namespace CMS.Plugin.HIAWms.Application.Implements; 
 
@@ -89,6 +91,8 @@
        return whereConditions; 
    } 
 
    /// <summary> 
    /// æ–°å»ºç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ 
    /// </summary> 
@@ -112,6 +116,7 @@
        insertObj.Sort = sort; 
        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); 
 
        insertObj.CreatorName = input.CreatorName;//创建人
        await wmsMaterialRepository.InsertAsync(insertObj); 
 
        //if (input.Sort.HasValue && insertObj.Sort != maxSort) 
@@ -166,6 +171,7 @@
        updateObj.RedundantField3 = input.RedundantField3;
        updateObj.Remark = input.Remark;
 
        updateObj.LastModifierName = input.LastModifierName;//修改人
 
        await wmsMaterialRepository.UpdateAsync(updateObj); 
 
@@ -236,6 +242,28 @@
    } 
 
    /// <summary> 
    /// ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="id">物料ID</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    public virtual async Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default)
    {
        wmsMaterialRepository.DeletePermanentlyAsync(id);
    }
    /// <summary>
    /// æ‰¹é‡ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ï¼ˆç›´æŽ¥åˆ é™¤ï¼Œä¸è½¯åˆ é™¤ï¼‰
    /// </summary>
    /// <param name="ids">要删除的物料ID列表</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    public virtual async Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default)
    {
        wmsMaterialRepository.BatchDeletePermanentlyAsync(ids);
    }
    /// <summary>
    /// è°ƒæ•´æŽ’序物料基础信息表 
    /// </summary> 
    /// <param name="id"></param> 
@@ -279,7 +307,7 @@
    /// <param name="input"></param> 
    /// <returns></returns> 
    /// <exception cref="UserFriendlyException"></exception> 
    public async Task ImportAsync(WmsMaterialsImportModel input)
    public async Task ImportAsync(WmsMaterialsImportModel input, MyCurrentUser myCurrentUser)
    { 
        Check.NotNull(input, nameof(input)); 
 
@@ -386,6 +414,7 @@
        { 
            try 
            { 
                wmsMaterialDto.Item.CreatorName = myCurrentUser.UserAccount;//创建人
                await CreateAsync(wmsMaterialDto.Item); 
            } 
            catch (Exception e) 
@@ -400,6 +429,7 @@
        { 
            try 
            { 
                wmsMaterialDto.Item.LastModifierName = myCurrentUser.UserAccount;//修改人
                await UpdateAsync(wmsMaterialDto.Id, wmsMaterialDto.Item); 
            } 
            catch (Exception e) 
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterial/IWmsMaterialRepository.cs
@@ -50,4 +50,22 @@
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterial, bool>>> whereConditions, CancellationToken cancellationToken = default); 
    /// <summary>
    /// ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </summary>
    /// <param name="id">物料ID</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default);
    /// <summary>
    /// æ‰¹é‡ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ï¼ˆç›´æŽ¥åˆ é™¤ï¼Œä¸è½¯åˆ é™¤ï¼‰
    /// </summary>
    /// <param name="ids">要删除的物料ID列表</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default);
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
@@ -2,6 +2,7 @@
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.Domain.Repositories.EntityFrameworkCore; 
@@ -110,4 +111,58 @@
        return (await GetQueryableAsync()) 
            .Where(x => !x.IsDeleted).IncludeDetails(); 
    } 
    /// <summary>
    /// ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨
    /// </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(WmsMaterial), id);
        }
        // 2. èŽ·å– DbContext å¹¶æ‰§è¡Œåˆ é™¤
        var dbContext = await GetDbContextAsync();
        // ç›´æŽ¥æ‰§è¡Œ SQL åˆ é™¤
        var sql = $"DELETE FROM scms_wmsmaterials WHERE Id ='{entity.Id.ToString()}'";
        await dbContext.Database.ExecuteSqlRawAsync(sql, cancellationToken);
    }
    /// <summary>
    /// æ‰¹é‡ç‰©ç†åˆ é™¤ç‰©æ–™åŸºç¡€ä¿¡æ¯è¡¨ï¼ˆç›´æŽ¥åˆ é™¤ï¼Œä¸è½¯åˆ é™¤ï¼‰
    /// </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 scms_wmsmaterials WHERE Id IN ({string.Join(",", idsToDelete.Select(id => $"'{id}'"))})";
        await dbContext.Database.ExecuteSqlRawAsync(sql, cancellationToken);
    }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/CMS.Plugin.HIAWms.csproj
@@ -40,7 +40,7 @@
    </ItemGroup>
    <ItemGroup>
        <PackageReference Include="CMS.Framework.AspNetCore" Version="2.16.1" />
        <PackageReference Include="CMS.Framework.AspNetCore" Version="2.28.0" />
        <PackageReference Include="CMS.Extensions.Variable" Version="2.16.1" />
        <PackageReference Include="CMS.Extensions.Data" Version="2.16.1" />
        <PackageReference Include="CMS.Data.Stressing" Version="2.16.1" />
@@ -57,7 +57,7 @@
    <ItemGroup>
      <Reference Include="CmsQueryExtensions">
        <HintPath>..\..\..\..\CommonDLL\CmsQueryExtensions.dll</HintPath>
        <HintPath>..\..\..\..\..\CommonDLL\CmsQueryExtensions.dll</HintPath>
      </Reference>
    </ItemGroup>
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialController.cs
@@ -1,5 +1,6 @@
using Ao.Lang; 
using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; 
using CMS.Framework.AspNetCore.Users;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterial; 
using CMS.Plugin.HIAWms.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.HIAWms.Controller 
@@ -24,14 +26,16 @@
    public class WmsMaterialController : ControllerBase 
    { 
        private readonly IWmsMaterialAppService _wmsMaterialAppService; 
        private readonly ICurrentUser _currentUser;
 
        /// <summary> 
        /// Initializes a new instance of the <see cref="WmsMaterialController"/> class. 
        /// </summary> 
        /// <param name="wmsMaterialAppService">The wmsMaterial application service.</param> 
        public WmsMaterialController(IWmsMaterialAppService wmsMaterialAppService)
        public WmsMaterialController(IWmsMaterialAppService wmsMaterialAppService, ICurrentUser currentUser)
        { 
            _wmsMaterialAppService = wmsMaterialAppService; 
            _currentUser = currentUser;
        } 
 
        /// <summary> 
@@ -67,6 +71,7 @@
        [HttpPost] 
        public virtual Task<WmsMaterialDto> CreateAsync(WmsMaterialCreateDto input) 
        { 
            input.CreatorName = _currentUser.UserAccount;//创建人
            return _wmsMaterialAppService.CreateAsync(input); 
        } 
 
@@ -81,6 +86,7 @@
        [Route("{id}")] 
        public virtual Task<WmsMaterialDto> UpdateAsync(Guid id, WmsMaterialUpdateDto input) 
        { 
            input.LastModifierName = _currentUser.UserAccount;//修改人
            return _wmsMaterialAppService.UpdateAsync(id, input); 
        } 
 
@@ -107,7 +113,8 @@
        [Route("{id}")] 
        public virtual Task DeleteAsync(Guid id) 
        { 
            return _wmsMaterialAppService.DeleteAsync(id);
            //return _wmsMaterialAppService.DeleteAsync(id);//逻辑删除
            return _wmsMaterialAppService.DeletePermanentlyAsync(id);//物理删除
        } 
 
        /// <summary> 
@@ -119,7 +126,13 @@
        [HttpDelete] 
        public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids) 
        { 
            return _wmsMaterialAppService.DeleteManyAsync(ids);
            MyCurrentUser myCurrentUser = new MyCurrentUser()
            {
                UserAccount = _currentUser.UserAccount,
                UserId = _currentUser.UserId
            };
            // return _wmsMaterialAppService.DeleteManyAsync(ids);//逻辑删除
            return _wmsMaterialAppService.BatchDeletePermanentlyAsync(ids);//物理删除
        } 
 
        /// <summary> 
@@ -154,11 +167,15 @@
            { 
                throw new UserFriendlyException("请检查导入的表格"); 
            } 
            MyCurrentUser myCurrentUser = new MyCurrentUser()
            {
                UserAccount = _currentUser.UserAccount,
                UserId = _currentUser.UserId
            };
            await _wmsMaterialAppService.ImportAsync(new WmsMaterialsImportModel 
            { 
                WmsMaterials = wmsMaterialRows, 
            });
            }, myCurrentUser);
 
            return Ok(); 
        }