Browse Source

解决冲突

Agv分支2024-11-19
赵新宇 5 months ago
parent
commit
786d03a784
  1. 29
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/DTOs/LocationDeliveryDTO.cs
  2. 8
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/ILocationDeliveryAppService.cs
  3. 27
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/Inputs/LocationDeliveryEditInput.cs
  4. 42
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/Inputs/LocationDeliveryImportInput.cs
  5. 21
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/LocationDeliveryPermissions.cs
  6. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Permissions/BasedataPermissionDefinitionProvider.cs
  7. 44
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/LocationDeliverys/LocationDeliveryAppService.cs
  8. 27
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/LocationDeliverys/LocationDeliveryAutoMapperProfile.cs
  9. 14
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Enum/EnumLocationDeliveryType.cs
  10. 8
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/ILocationDeliveryManager.cs
  11. 8
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/ILocationDeliveryRepository.cs
  12. 33
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/LocationDelivery.cs
  13. 33
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/LocationDeliveryManager.cs
  14. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/BasedataDbContext.cs
  15. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/BasedataDbContextModelCreatingExtensions.cs
  16. 1
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/BasedataEntityFrameworkCoreModule.cs
  17. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/IBasedataDbContext.cs
  18. 32
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/LocationDeliverys/LocationDeliveryDbContextModelCreatingExtensions.cs
  19. 12
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/LocationDeliverys/LocationDeliveryEfCoreRepository.cs
  20. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs
  21. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

29
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/DTOs/LocationDeliveryDTO.cs

@ -0,0 +1,29 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application.Contracts;
[Display(Name = "库位组")]
public class LocationDeliveryDTO : SfsBaseDataDTOBase
{
/// <summary>
/// 来源库位
/// </summary>
[Display(Name = "来源库位")]
public string FromLocationCode { get; set; }
/// <summary>
/// 目标库位
/// </summary>
[Display(Name = "目标库位")]
public string ToLocationCode { get; set; }
/// <summary>
/// 配送方式
/// </summary>
[Display(Name = "配送方式")]
public EnumLocationDeliveryType EnumLocationDeliveryType { get; set; }
}

8
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/ILocationDeliveryAppService.cs

@ -0,0 +1,8 @@
using Win_in.Sfs.Shared.Application.Contracts;
namespace Win_in.Sfs.Basedata.Application.Contracts;
public interface ILocationDeliveryAppService
: ISfsBaseDataAppServiceBase<LocationDeliveryDTO, SfsBaseDataRequestInputBase, LocationDeliveryEditInput>
{
}

27
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/Inputs/LocationDeliveryEditInput.cs

@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application.Contracts;
public class LocationDeliveryEditInput : SfsBaseDataWithWarehouseCreateOrUpdateInputBase
{
/// <summary>
/// 来源库位
/// </summary>
[Display(Name = "来源库位")]
public string FromLocationCode { get; set; }
/// <summary>
/// 目标库位
/// </summary>
[Display(Name = "目标库位")]
public string ToLocationCode { get; set; }
/// <summary>
/// 配送方式
/// </summary>
[Display(Name = "配送方式")]
public EnumLocationDeliveryType EnumLocationDeliveryType { get; set; }
}

42
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/Inputs/LocationDeliveryImportInput.cs

@ -0,0 +1,42 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application.Contracts;
[Display(Name = "库位配送方式")]
public class LocationDeliveryImportInput : SfsBaseDataImportInputBase
{
/// <summary>
/// 来源库位
/// </summary>
[Display(Name = "来源库位")]
[Required(ErrorMessage = "{0}是必填项")]
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string FromLocationCode { get; set; }
/// <summary>
/// 目标库位
/// </summary>
[Display(Name = "目标库位")]
[Required(ErrorMessage = "{0}是必填项")]
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string ToLocationCode { get; set; }
/// <summary>
/// 配送方式
/// </summary>
[Display(Name = "配送方式")]
[Required(ErrorMessage = "{0}是必填项")]
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
public EnumLocationDeliveryType EnumLocationDeliveryType { get; set; }
/// <summary>
/// 备注
/// </summary>
[Display(Name = "备注")]
[StringLength(SfsEfCorePropertyConst.RemarkLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string Remark { get; set; }
}

21
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/LocationDeliverys/LocationDeliveryPermissions.cs

@ -0,0 +1,21 @@
using Volo.Abp.Authorization.Permissions;
using Win_in.Sfs.Basedata.Domain;
namespace Win_in.Sfs.Basedata.Application.Contracts;
public static class LocationDeliveryPermissions
{
public const string Default = BasedataPermissions.GroupName + "." + nameof(LocationDelivery);
public const string Create = Default + "." + BasedataPermissions.CreateStr;
public const string Update = Default + "." + BasedataPermissions.UpdateStr;
public const string Delete = Default + "." + BasedataPermissions.DeleteStr;
public static void AddLocationDeliveryPermission(this PermissionGroupDefinition permissionGroup)
{
var LocationDeliveryPermission = permissionGroup.AddPermission(Default, BasedataPermissionDefinitionProvider.L(nameof(LocationDelivery)));
LocationDeliveryPermission.AddChild(Create, BasedataPermissionDefinitionProvider.L(BasedataPermissions.CreateStr));
LocationDeliveryPermission.AddChild(Update, BasedataPermissionDefinitionProvider.L(BasedataPermissions.UpdateStr));
LocationDeliveryPermission.AddChild(Delete, BasedataPermissionDefinitionProvider.L(BasedataPermissions.DeleteStr));
}
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Permissions/BasedataPermissionDefinitionProvider.cs

@ -51,11 +51,11 @@ public class BasedataPermissionDefinitionProvider : PermissionDefinitionProvider
basedataGroup.AddItemStoreRelationPermission();
basedataGroup.AddCustomerAddressPermission();
basedataGroup.AddItemGuideBookPermission();
basedataGroup.AddDictPermission();
basedataGroup.AddItemSafetyStockPermission();
basedataGroup.AddDocumentSettingPermission();
basedataGroup.AddErpLocationPermission();
basedataGroup.AddLocationDeliveryPermission();
basedataGroup.AddLPostionLocationPermission();
}

44
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/LocationDeliverys/LocationDeliveryAppService.cs

@ -0,0 +1,44 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Caching;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Basedata.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application;
[Authorize]
[Route($"{BasedataConsts.RootPath}location-group")]
public class LocationDeliveryAppService
: SfsBaseDataAppServiceBase<LocationDelivery, LocationDeliveryDTO, SfsBaseDataRequestInputBase, LocationDeliveryEditInput, LocationDeliveryImportInput>
, ILocationDeliveryAppService
{
private readonly IAreaAppService _areaAppService;
private readonly ILocationDeliveryManager _manager;
public LocationDeliveryAppService(
ILocationDeliveryRepository repository
, IDistributedCache<LocationDeliveryDTO> cache
, ILocationDeliveryManager manager
, IAreaAppService areaAppService
) : base(repository, cache)
{
_areaAppService = areaAppService;
base.CreatePolicyName = LocationDeliveryPermissions.Create;
base.UpdatePolicyName = LocationDeliveryPermissions.Update;
base.DeletePolicyName = LocationDeliveryPermissions.Delete;
_manager = manager;
}
protected override async Task ValidateImportModelAsync(LocationDeliveryImportInput importInput, List<ValidationResult> validationRresult)
{
await base.ValidateImportModelAsync(importInput, validationRresult).ConfigureAwait(false);
}
}

27
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/LocationDeliverys/LocationDeliveryAutoMapperProfile.cs

@ -0,0 +1,27 @@
using AutoMapper;
using Volo.Abp.AutoMapper;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
namespace Win_in.Sfs.Basedata.Application;
public partial class BasedataApplicationAutoMapperProfile : Profile
{
private void LocationDeliveryAutoMapperProfile()
{
CreateMap<LocationDelivery, LocationDeliveryDTO>()
.ReverseMap();
CreateMap<LocationDeliveryImportInput, LocationDelivery>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
;
CreateMap<LocationDelivery, LocationDeliveryImportInput>()
.Ignore(x => x.ReportStatus)
.Ignore(x => x.ReportReason);
}
}

14
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Enum/EnumLocationDeliveryType.cs

@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
public enum EnumLocationDeliveryType
{
/// <summary>
/// 正常
/// </summary>
[Display(Name = "正常")] Normal = 1,
/// <summary>
/// Agv
/// </summary>
[Display(Name = "Agv")] Agv = 2
}

8
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/ILocationDeliveryManager.cs

@ -0,0 +1,8 @@
using Volo.Abp.Domain.Services;
using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Basedata.Domain;
public interface ILocationDeliveryManager : IDomainService, IBulkImportService<LocationDelivery>
{
}

8
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/ILocationDeliveryRepository.cs

@ -0,0 +1,8 @@
using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Basedata.Domain;
public interface ILocationDeliveryRepository : ISfsBaseDataRepositoryBase<LocationDelivery>, ISfsBulkRepositoryBase<LocationDelivery>
{
}

33
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/LocationDelivery.cs

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Basedata.Domain;
/// <summary>
/// 配送方式
/// </summary>
public class LocationDelivery : SfsBaseDataAggregateRootBase
{
/// <summary>
/// 来源库位
/// </summary>
[Display(Name = "来源库位")]
public string FromLocationCode { get; set; }
/// <summary>
/// 目标库位
/// </summary>
[Display(Name = "目标库位")]
public string ToLocationCode { get; set; }
/// <summary>
/// 配送方式
/// </summary>
[Display(Name = "配送方式")]
public EnumLocationDeliveryType EnumLocationDeliveryType{ get; set; }
}

33
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/LocationDeliverys/LocationDeliveryManager.cs

@ -0,0 +1,33 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Domain.Services;
namespace Win_in.Sfs.Basedata.Domain;
public class LocationDeliveryManager : DomainService, ILocationDeliveryManager
{
private readonly ILocationDeliveryRepository _repository;
private readonly IWarehouseRepository _warehourseRepository;
private readonly IAreaRepository _areaRepository;
public LocationDeliveryManager(ILocationDeliveryRepository repository, IWarehouseRepository warehourseRepository, IAreaRepository areaRepository)
{
_repository = repository;
_warehourseRepository = warehourseRepository;
_areaRepository = areaRepository;
}
/// <summary>
/// 执行导入
/// </summary>
public virtual async Task ImportDataAsync(List<LocationDelivery> mergeEntities, List<LocationDelivery> deleteEntities = null)
{
if (deleteEntities != null && deleteEntities.Count > 0)
{
await _repository.BulkDeleteAsync(deleteEntities).ConfigureAwait(false);
}
await _repository.BulkMergeAsync(mergeEntities).ConfigureAwait(false);
}
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/BasedataDbContext.cs

@ -60,7 +60,7 @@ public class BasedataDbContext : AbpDbContext<BasedataDbContext>, IBasedataDbCon
public DbSet<SplitPackingRec> SplitPackingRecs { get; set; }
public DbSet<PostionLocation> PostionLocations { get; set; }
public DbSet<PostionLocation> LocationDeliverys { get; set; }
public BasedataDbContext(DbContextOptions<BasedataDbContext> options)
: base(options)

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/BasedataDbContextModelCreatingExtensions.cs

@ -74,7 +74,7 @@ public static class BasedataDbContextModelCreatingExtensions
builder.ConfigureEquipmentLoc(options);
builder.ConfigureEquipmentPartCode(options);
builder.ConfigurePostionLocation(options);
builder.ConfigureLocationDelivery(options);
}
}

1
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/BasedataEntityFrameworkCoreModule.cs

@ -78,6 +78,7 @@ public class BasedataEntityFrameworkCoreModule : AbpModule
context.Services.AddTransient<IEquipmentPartCodeRepository, EquipmentPartCodeEfCoreRepository>();
context.Services.AddTransient<IEquipmentLocRepository, EquipmentLocEfCoreRepository>();
context.Services.AddTransient<IEquipmentLocCapRepository, EquipmentLocCapEfCoreRepository>();
context.Services.AddTransient<ILocationDeliveryRepository, ILocationDeliveryRepository>();
ConfigureEntity();
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/IBasedataDbContext.cs

@ -56,5 +56,5 @@ public interface IBasedataDbContext : IEfCoreDbContext
public DbSet<SplitPackingRec> SplitPackingRecs { get; set; }
public DbSet<PostionLocation> LocationDeliverys { get; set; }
}

32
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/LocationDeliverys/LocationDeliveryDbContextModelCreatingExtensions.cs

@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.Modeling;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.EntityFrameworkCore;
namespace Win_in.Sfs.Basedata.EntityFrameworkCore;
public static class LocationDeliveryDbContextModelCreatingExtensions
{
public static void ConfigureLocationDelivery(this ModelBuilder builder, BasedataModelBuilderConfigurationOptions options)
{
builder.Entity<LocationDelivery>(b =>
{
//Configure table & schema name
b.ToTable(options.TablePrefix + nameof(LocationDelivery), options.Schema);
//Configure ABP properties
b.ConfigureByConvention();
//Configure Sfs base properties
b.ConfigureSfsBase();
//Properties
b.Property(q => q.FromLocationCode).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.ToLocationCode).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.Remark).HasMaxLength(SfsPropertyConst.RemarkLength);
b.HasIndex(q => new { q.FromLocationCode,q.ToLocationCode }).IsUnique();
});
}
}

12
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/LocationDeliverys/LocationDeliveryEfCoreRepository.cs

@ -0,0 +1,12 @@
using Volo.Abp.EntityFrameworkCore;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Basedata.EntityFrameworkCore;
public class LocationDeliveryEfCoreRepository : SfsBaseDataEfCoreRepositoryBase<BasedataDbContext, LocationDelivery>, ILocationDeliveryRepository, ISfsBulkRepositoryBase<LocationDelivery>
{
public LocationDeliveryEfCoreRepository(IDbContextProvider<BasedataDbContext> dbContextProvider) : base(dbContextProvider)
{
}
}

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs

@ -28,4 +28,5 @@ public interface IAssembleIssueJobAppService
Task<AssembleIssueJobDTO> GetByNumber2Async(string number);
Task<AssembleIssueJobDTO> GetJobByPackingCodeAsync(string packingCode);
Task<AgvResultObject> CallBackAgvAsync(AgvRequestDto request);
}

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

@ -872,7 +872,12 @@ public class AssembleIssueJobAppService
return res;
}
[HttpPost("call-back-agv")]
/// <summary>
/// Agv 回调 接口
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("call-back-agv")]
public async Task<AgvResultObject> CallBackAgvAsync(AgvRequestDto request)
{
var json = JsonSerializer.Serialize(request);

Loading…
Cancel
Save