diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml index c1943c344..7e651153f 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml @@ -771,6 +771,46 @@ 最后修改时间 + + + 目标ERP库位 + + + + + 来源ERP库位 + + + + + 数量 + + + + + 物品代码 + + + + + 发料记录号 + + + + + 生效日期 + + + + + 操作员 + + + + + 明细 + + 目标ERP库位 diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedIssueJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedIssueJobController.cs index f886d53df..e0d88fdc3 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedIssueJobController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedIssueJobController.cs @@ -10,6 +10,7 @@ using Win_in.Sfs.Shared.Domain.Shared; using System.Text.Json; using Win_in.Sfs.Shared.Domain; using Volo.Abp; +using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; namespace Win_in.Sfs.Wms.Pda.Controllers.Jobs; @@ -51,14 +52,15 @@ public class UnplannedIssueJobController : AbpController /// /// [HttpGet("list")] - public virtual async Task> GetListAsync(int pageSize, int pageIndex, bool isCreationTimeSorting, bool isToday) + public virtual async Task> GetListAsync(int pageSize, int pageIndex, bool isCreationTimeSorting, bool isToday, EnumUnplannedIssueType enumUnplannedIssueType) { - var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); - var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); + //var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); + //var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing }; var jsonStatus = JsonSerializer.Serialize(status); - + var issueType = new List() { (int)enumUnplannedIssueType }; + var jsonIssueType = JsonSerializer.Serialize(issueType); var request = new SfsJobRequestInputBase { MaxResultCount = pageSize, @@ -68,7 +70,7 @@ public class UnplannedIssueJobController : AbpController { Filters = new List { - // new(nameof(UnplannedIssueJobDTO.WorkGroupCode),jsonWlgCodes,"In"), + new(nameof(UnplannedIssueJobDTO.UnplannedIssueType),jsonIssueType,"In"), new(nameof(UnplannedIssueJobDTO.JobStatus),jsonStatus,"In") } } @@ -81,7 +83,6 @@ public class UnplannedIssueJobController : AbpController { request.Sorting = $"{nameof(UnplannedIssueJobDTO.CreationTime)} ASC"; } - var list = await _unplannedIssueJobAppService.GetPagedListByFilterAsync(request, true).ConfigureAwait(false); return list; } diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedReceiptJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedReceiptJobController.cs index 601cde5f7..22bf2370e 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedReceiptJobController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/UnplannedReceiptJobController.cs @@ -10,6 +10,7 @@ using Win_in.Sfs.Shared.Domain.Shared; using System.Text.Json; using Win_in.Sfs.Shared.Domain; using Volo.Abp; +using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; namespace Win_in.Sfs.Wms.Pda.Controllers.Jobs; @@ -50,14 +51,15 @@ public class UnplannedReceiptJobController : AbpController /// /// [HttpGet("list")] - public virtual async Task> GetListAsync(int pageSize, int pageIndex, bool isCreationTimeSorting, bool isToday) + public virtual async Task> GetListAsync(int pageSize, int pageIndex, bool isCreationTimeSorting, bool isToday, EnumUnplannedReceiptType enumUnplannedReceiptType) { - var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); - var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); + //var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); + //var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing }; + var receiptType = new List() { (int)enumUnplannedReceiptType }; var jsonStatus = JsonSerializer.Serialize(status); - + var jsonreceiptType = JsonSerializer.Serialize(receiptType); var request = new SfsJobRequestInputBase { MaxResultCount = pageSize, @@ -67,7 +69,7 @@ public class UnplannedReceiptJobController : AbpController { Filters = new List { - // new(nameof(UnplannedReceiptJobDTO.WorkGroupCode),jsonWlgCodes,"In"), + new(nameof(UnplannedReceiptJobDTO.UnplannedReceiptType),jsonreceiptType,"In"), new(nameof(UnplannedReceiptJobDTO.JobStatus),jsonStatus,"In") } } diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ProductReceiptNoteController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ProductReceiptNoteController.cs index 256241889..23ee748dc 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ProductReceiptNoteController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ProductReceiptNoteController.cs @@ -14,14 +14,15 @@ namespace Win_in.Sfs.Wms.Pda.Controllers.Stores; public class ProductReceiptNoteController : AbpController { private readonly IProductReceiptNoteAppService _productReceiptNoteAppService; - + private readonly IProductReceiptNoteDetailAppService _productReceiptNoteDetailAppService; /// /// /// /// - public ProductReceiptNoteController(IProductReceiptNoteAppService productReceiptNoteAppService) + public ProductReceiptNoteController(IProductReceiptNoteAppService productReceiptNoteAppService, IProductReceiptNoteDetailAppService productReceiptNoteDetailAppService) { _productReceiptNoteAppService = productReceiptNoteAppService; + _productReceiptNoteDetailAppService = productReceiptNoteDetailAppService; } /// @@ -34,5 +35,15 @@ public class ProductReceiptNoteController : AbpController { await _productReceiptNoteAppService.CreateAsync(input).ConfigureAwait(false); } + /// + /// 单件码获取方法 + /// + /// + /// + [HttpPost("get-itemcode-by-mesbarcode")] + public virtual async Task GetItemCodeByMesBarCode(string mesBarCode) + { + return await _productReceiptNoteDetailAppService.GetItemCodeByMesBarCode(mesBarCode).ConfigureAwait(false); + } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ProductReceiptNotes/IProductReceiptNoteDetailAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ProductReceiptNotes/IProductReceiptNoteDetailAppService.cs new file mode 100644 index 000000000..dc5d7250b --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ProductReceiptNotes/IProductReceiptNoteDetailAppService.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; +using Volo.Abp.Application.Services; +using Win_in.Sfs.Wms.Store.Application.Contracts; + +namespace Win_in.Sfs.Wms.Store.Application.Contracts; +public interface IProductReceiptNoteDetailAppService : ISfsStoreAppServiceBase +{ + Task GetItemCodeByMesBarCode(string mesBarCode); +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ProductReceiptNotes/ProductReceiptNoteDetailPermissions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ProductReceiptNotes/ProductReceiptNoteDetailPermissions.cs new file mode 100644 index 000000000..07bbcd6c0 --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ProductReceiptNotes/ProductReceiptNoteDetailPermissions.cs @@ -0,0 +1,25 @@ +using Volo.Abp.Authorization.Permissions; +using Win_in.Sfs.Wms.Store.Domain; + +namespace Win_in.Sfs.Wms.Store.Application.Contracts; +public static class ProductReceiptNoteDetailPermissions +{ + public const string Default = StorePermissions.GroupName + "." + nameof(ProductReceiptNoteDetail); + public const string Create = Default + "." + StorePermissions.CreateStr; + public const string Update = Default + "." + StorePermissions.UpdateStr; + public const string Delete = Default + "." + StorePermissions.DeleteStr; + + //线边完工收货记录 + public const string WipProductReceiptNoteDetail = StorePermissions.GroupName + "." + nameof(WipProductReceiptNoteDetail); + + public static void AddProductReceiptNoteDetailPermission(this PermissionGroupDefinition permissionGroup) + { + var productReceiptNotePermission = permissionGroup.AddPermission(Default, StorePermissionDefinitionProvider.L(nameof(ProductReceiptNoteDetail))); + productReceiptNotePermission.AddChild(Create, StorePermissionDefinitionProvider.L(StorePermissions.CreateStr)); + productReceiptNotePermission.AddChild(Update, StorePermissionDefinitionProvider.L(StorePermissions.UpdateStr)); + productReceiptNotePermission.AddChild(Delete, StorePermissionDefinitionProvider.L(StorePermissions.DeleteStr)); + + permissionGroup.AddPermission(WipProductReceiptNoteDetail, StorePermissionDefinitionProvider.L(nameof(WipProductReceiptNoteDetail))); + + } +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs index 82e0f51b2..beeaa8c94 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs @@ -17,6 +17,7 @@ public class StorePermissionDefinitionProvider : PermissionDefinitionProvider storeGroup.AddProductionPlanPermission(); storeGroup.AddPreparationPlanPermission(); storeGroup.AddProductReceiptNotePermission(); + storeGroup.AddProductReceiptNoteDetailPermission(); storeGroup.AddOfflineSettlementNotePermission(); storeGroup.AddBackFlushNotePermission(); storeGroup.AddWorkOrderPermission(); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ProductReceiptNotes/ProductReceiptNoteDetailAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ProductReceiptNotes/ProductReceiptNoteDetailAppService.cs new file mode 100644 index 000000000..ccacd5537 --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ProductReceiptNotes/ProductReceiptNoteDetailAppService.cs @@ -0,0 +1,36 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.Application.Dtos; +using Win_in.Sfs.Wms.Store.Application.Contracts; +using Win_in.Sfs.Wms.Store.Domain; +using Volo.Abp.Application.Services; +using Microsoft.AspNetCore.Authorization; +using Win_in.Sfs.Wms.Store.Domain.Shared; +using Win_in.Sfs.Wms.Store.Application; +using Volo.Abp.Domain.Repositories; + +namespace Win_in.Sfs.Wms.Store.Notes.ProductReceiptNotes; +[Authorize] +[Route($"{StoreConsts.RootPath}product-receipt-note-detail")] + +public class ProductReceiptNoteDetailAppService : SfsStoreAppServiceBase, IProductReceiptNoteDetailAppService +{ + private readonly IProductReceiptNoteDetailRepository _productReceiptNoteDetailRepository; + public ProductReceiptNoteDetailAppService( + IProductReceiptNoteDetailRepository repository + ) : base(repository) + { + _productReceiptNoteDetailRepository = repository; + } + + + [HttpGet("get-itemcode-by-mesbarcode")] + public virtual async Task GetItemCodeByMesBarCode(string mesBarCode) + { + var entity = await _productReceiptNoteDetailRepository.FirstOrDefaultAsync(r => r.MesBarCode == mesBarCode).ConfigureAwait(false); + var dto = ObjectMapper.Map(entity); + return dto; + } + +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ProductReceiptNotes/IProductReceiptNoteDetailRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ProductReceiptNotes/IProductReceiptNoteDetailRepository.cs new file mode 100644 index 000000000..2e9b88d6a --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ProductReceiptNotes/IProductReceiptNoteDetailRepository.cs @@ -0,0 +1,4 @@ +namespace Win_in.Sfs.Wms.Store.Domain; +public interface IProductReceiptNoteDetailRepository : ISfsStoreRepositoryBase +{ +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs index 5fd1058d9..7038db0fd 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs @@ -74,6 +74,8 @@ public interface IStoreDbContext : IEfCoreDbContext public DbSet JisProductReceiptNotes { get; } public DbSet ProductReceiptNotes { get; } + + public DbSet ProductReceiptNoteDetails { get; } public DbSet OfflineSettlementNotes { get; } public DbSet BackFlushNotes { get; } public DbSet ProductL7PartsNotes { get; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/ProductReceiptNotes/ProductReceiptNoteDetailEfCoreRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/ProductReceiptNotes/ProductReceiptNoteDetailEfCoreRepository.cs new file mode 100644 index 000000000..1f3c9d5b3 --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/ProductReceiptNotes/ProductReceiptNoteDetailEfCoreRepository.cs @@ -0,0 +1,10 @@ +using Volo.Abp.EntityFrameworkCore; +using Win_in.Sfs.Wms.Store.Domain; + +namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; +public class ProductReceiptNoteDetailEfCoreRepository : SfsStoreEfCoreRepositoryBase, IProductReceiptNoteDetailRepository +{ + public ProductReceiptNoteDetailEfCoreRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) + { + } +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs index 5aca78453..8ef095cd4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs @@ -73,6 +73,8 @@ public class StoreDbContext : AbpDbContext, IStoreDbContext public DbSet JisProductReceiptNotes { get; set; } public DbSet ProductReceiptNotes { get; set; } + + public DbSet ProductReceiptNoteDetails { get; set; } public DbSet OfflineSettlementNotes { get; set; } public DbSet BackFlushNotes { get; set; } public DbSet ProductL7PartsNotes { get; set; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs index a40b7bf6c..600f637f7 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs @@ -95,6 +95,7 @@ public class StoreEntityFrameworkCoreModule : AbpModule context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); + context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); @@ -106,7 +107,8 @@ public class StoreEntityFrameworkCoreModule : AbpModule context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); - context.Services.AddTransient(); context.Services.AddTransient(); + context.Services.AddTransient(); + context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient();