diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferNoteController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferNoteController.cs
index 87891bec2..dfcc5ce45 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferNoteController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferNoteController.cs
@@ -156,4 +156,32 @@ public class TransferNoteController : AbpController
return await _transferNoteAppService.SplitPackingAsync(transferNoteEditInput).ConfigureAwait(false);
}
+ ///
+ /// 采购收货拆箱,同时更新、插入PurchaseReceipt任务表、申请表
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("split-packing-purchase-receipt")]
+ public async Task SplitPacking_PurchaseReceiptAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
+ {
+ var ret = await _transferNoteAppService.SplitPacking_PurchaseReceiptAsync(transferNoteEditInput, updateJobDetailInput).ConfigureAwait(false);
+ return ret;
+ }
+
+ ///
+ /// 发料拆箱,同时更新、插入Inspect任务表(没有找到申请表//??)
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("split-packing-issue")]
+ public async Task SplitPacking_IssueAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
+ {
+ var ret = await _transferNoteAppService.SplitPacking_IssueAsync(transferNoteEditInput, updateJobDetailInput).ConfigureAwait(false);
+ return ret;
+ }
+
+
+
}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Permissions/BasedataPermissionDefinitionProvider.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Permissions/BasedataPermissionDefinitionProvider.cs
index 58fb44e62..761725ba0 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Permissions/BasedataPermissionDefinitionProvider.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Permissions/BasedataPermissionDefinitionProvider.cs
@@ -30,6 +30,7 @@ public class BasedataPermissionDefinitionProvider : PermissionDefinitionProvider
basedataGroup.AddSalePriceSheetPermission();
basedataGroup.AddShiftPermission();
basedataGroup.AddStdCostPriceSheetPermission();
+ basedataGroup.AddSplitPackingRecPermission();
basedataGroup.AddUomPermission();
basedataGroup.AddItemBasicPermission();
basedataGroup.AddItemCategoryPermission();
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/SplitPackingRecPermissions.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/SplitPackingRecPermissions.cs
new file mode 100644
index 000000000..7d51981ad
--- /dev/null
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/SplitPackingRecPermissions.cs
@@ -0,0 +1,20 @@
+using Volo.Abp.Authorization.Permissions;
+using Win_in.Sfs.Basedata.Domain;
+
+namespace Win_in.Sfs.Basedata.Application.Contracts;
+
+public static class SplitPackingRecPermissions
+{
+ public const string Default = BasedataPermissions.GroupName + "." + nameof(SplitPackingRec);
+ public const string Create = Default + "." + BasedataPermissions.CreateStr;
+ public const string Update = Default + "." + BasedataPermissions.UpdateStr;
+ public const string Delete = Default + "." + BasedataPermissions.DeleteStr;
+
+ public static void AddSplitPackingRecPermission(this PermissionGroupDefinition permissionGroup)
+ {
+ var SplitPackingRecPermission = permissionGroup.AddPermission(Default, BasedataPermissionDefinitionProvider.L(nameof(SplitPackingRec)));
+ SplitPackingRecPermission.AddChild(Create, BasedataPermissionDefinitionProvider.L(BasedataPermissions.CreateStr));
+ SplitPackingRecPermission.AddChild(Update, BasedataPermissionDefinitionProvider.L(BasedataPermissions.UpdateStr));
+ SplitPackingRecPermission.AddChild(Delete, BasedataPermissionDefinitionProvider.L(BasedataPermissions.DeleteStr));
+ }
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAppService.cs
index 6a734a07d..a93db8119 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAppService.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAppService.cs
@@ -1,11 +1,13 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
+using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
@@ -15,6 +17,8 @@ using Volo.Abp.Validation;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Basedata.Domain.Shared;
+using Win_in.Sfs.Shared.Application.Contracts;
+using Win_in.Sfs.Shared.Application.Contracts.ExportAndImport;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
@@ -29,14 +33,17 @@ public class EquipmentAppService
//private readonly ItemValidator _itemValidator;
private readonly IEquipmentManager _manager;
private new readonly IEquipmentRepository _repository;
-
+ private readonly IExportImportService _importService;
+
public EquipmentAppService(
IEquipmentRepository repository,
IDistributedCache cache,
+ IExportImportService importService,
// ItemValidator itemValidator,
IEquipmentManager manager)
: base(repository, cache)
{
+ _importService=importService;
_repository = repository;
//_itemValidator = itemValidator;
_manager = manager;
@@ -52,7 +59,52 @@ public class EquipmentAppService
{
await Task.CompletedTask.ConfigureAwait(false);
}
+ //public override async Task ImportAsync([FromForm] SfsImportRequestInput requestInput, [Required] IFormFile file)
+ //{
+ // List errors = new List();
+ // using var ms = new MemoryStream();
+ // await file.OpenReadStream().CopyToAsync(ms).ConfigureAwait(false);
+ // var inputFileBytes = ms.GetAllBytes();
+ // var dtos=_importService.Import(inputFileBytes).ToList();
+ // var list=ObjectMapper.Map, List>(dtos);
+
+
+
+
+
+ // foreach (var itm in list)
+ // {
+ // itm.SetId(GuidGenerator.Create());
+ // itm.Code = string.Format("{0}{1}", "Q", itm.Code);
+
+ // }
+
+
+
+
+ // ////var bytes = result.FileContents;
+ // ////result.FileContents = null;
+ // ////HttpContextAccessor.HttpContext.Response.Headers.AccessControlExposeHeaders = "X-Response";
+ // ////HttpContextAccessor.HttpContext.Response.Headers.Add("X-Response",
+ // //// JsonSerializer.Serialize(new { result.ExceptionMessage, result.FileName, result.FileCode, result }));
+
+ // ////Console.WriteLine(@"导入错误信息:" + result.ExceptionMessage);
+
+ // ////var resultAction = new TestResult(bytes, ExportImportService.ContentType) { FileDownloadName = result.FileName };
+ // ////resultAction.errorNum = result.ErrorNum;
+ // ////resultAction.successNum = resultAction.successNum;
+ // //return resultAction;
+
+
+
+
+
+
+
+
+ // // return base.ImportAsync(requestInput, file);
+ //}
//protected ICategoryAppService _categoryApp => LazyServiceProvider.LazyGetRequiredService();
//protected IItemCategoryAppService _itemCategoryApp => LazyServiceProvider.LazyGetRequiredService();
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAreaAutoMapperProfile.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAreaAutoMapperProfile.cs
index 34507c831..503434c56 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAreaAutoMapperProfile.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAreaAutoMapperProfile.cs
@@ -19,6 +19,7 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.Remark)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
+
;
//CreateMap()
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAutoMapperProfile.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAutoMapperProfile.cs
index fec39f919..0f2899506 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAutoMapperProfile.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentAutoMapperProfile.cs
@@ -19,6 +19,8 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.Remark)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
+ .ForMember(p =>p.Code, p => p.MapFrom(q =>"Q" +q.Code))
+
;
//CreateMap()
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs
index 9a12c4c3b..fc87385c9 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs
@@ -1,9 +1,7 @@
-using System;
using System.Collections.Generic;
-using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Caching;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
@@ -14,7 +12,7 @@ namespace Win_in.Sfs.Basedata.Application;
///
/// 拆箱记录
///
-//[Authorize]
+[Authorize]
[Route($"{BasedataConsts.RootPath}split-packing-rec")]
public class SplitPackingRecAppService :
SfsBaseDataAppServiceBase cache
) : base(repository, cache)
{
+ base.CreatePolicyName = StdCostPriceSheetPermissions.Create;
+ base.UpdatePolicyName = StdCostPriceSheetPermissions.Update;
+ base.DeletePolicyName = StdCostPriceSheetPermissions.Delete;
_splitPackingRecManager = splitPackingRecManager;
}
-
+ [HttpPost("batch-insert")]
public async Task BatchInsertAsync(List inputs)
{
List lst = ObjectMapper.Map, List>(inputs);
@@ -43,6 +44,7 @@ public class SplitPackingRecAppService :
///
/// 目标箱码列表
///
+ [HttpGet("by-to-packing-code")]
public async Task> GetListByToPackingCode(List toPackingCodeList)
{
var lst = await _splitPackingRecManager.GetListByToPackingCode(toPackingCodeList).ConfigureAwait(false);
@@ -55,6 +57,7 @@ public class SplitPackingRecAppService :
///
/// 源标箱码列表
///
+ [HttpGet("by-from-packing-code")]
public async Task> GetListByFromPackingCode(List fromPackingCodeList)
{
var lst = await _splitPackingRecManager.GetListByFromPackingCode(fromPackingCodeList).ConfigureAwait(false);
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/CommonHelper.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/CommonHelper.cs
index 4f8e1c8b5..1859b5324 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/CommonHelper.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain.Shared/Commons/CommonHelper.cs
@@ -20,4 +20,12 @@ public sealed class CommonHelper
var ret = JsonConvert.DeserializeObject(json);
return ret;
}
+
+ public static DateTime CurTime
+ {
+ get
+ {
+ return DateTime.Now;
+ }
+ }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/InspectJobs/IInspectJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/InspectJobs/IInspectJobAppService.cs
index 2bc8a2f43..65fe5830a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/InspectJobs/IInspectJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/InspectJobs/IInspectJobAppService.cs
@@ -43,4 +43,11 @@ public interface IInspectJobAppService
Task CancelByInspectRequestAsync(string inspectRequestNumber);
Task GetInspectNoteDetailByPackingCodeAsync(string packingCode);
+
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input);
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IIssueJobAppService.cs
index 1b9ad5f7d..306f0df4e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IIssueJobAppService.cs
@@ -16,4 +16,11 @@ public interface IIssueJobAppService
bool includeDetails = false, CancellationToken cancellationToken = default);
Task> GetByRequestNumberAsync(string requestNumber);
+
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input);
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs
index 027134838..921906b69 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs
@@ -46,4 +46,19 @@ public interface IPurchaseReceiptJobAppService
///
///
Task> GetListBySupplierCodeOnTodayAsync(string supplierCode);
+
+ ///
+ /// 根据number取列表
+ ///
+ ///
+ ///
+ Task> GetListByNumberAsync(string number);
+
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input);
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferNotes/ITransferNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferNotes/ITransferNoteAppService.cs
index fc797cf4f..aceb3662a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferNotes/ITransferNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferNotes/ITransferNoteAppService.cs
@@ -63,4 +63,28 @@ public interface ITransferNoteAppService :
Task> GetSplitPackingTransferListAsync(
SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
CancellationToken cancellationToken = default);
+
+ ///
+ /// 采购收货拆箱,同时更新、插入PurchaseReceipt任务表、申请表
+ ///
+ ///
+ ///
+ ///
+ Task SplitPacking_PurchaseReceiptAsync(TransferNoteEditInput transferNoteEditInput, SplitPacking_UpdateJobDetailInput updateJobDetailInput);
+
+ ///
+ /// 质检拆箱,同时更新、插入Inspect任务表(不更新申请表)
+ ///
+ ///
+ ///
+ ///
+ Task SplitPacking_InspectAsync(TransferNoteEditInput transferNoteEditInput, SplitPacking_UpdateJobDetailInput updateJobDetailInput);
+
+ ///
+ /// 发料拆箱,同时更新、插入Inspect任务表(没有找到申请表//??)
+ ///
+ ///
+ ///
+ ///
+ Task SplitPacking_IssueAsync(TransferNoteEditInput transferNoteEditInput, SplitPacking_UpdateJobDetailInput updateJobDetailInput);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferNotes/Inputs/SplitPacking_UpdateJobDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferNotes/Inputs/SplitPacking_UpdateJobDetailInput.cs
new file mode 100644
index 000000000..61a8befe6
--- /dev/null
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferNotes/Inputs/SplitPacking_UpdateJobDetailInput.cs
@@ -0,0 +1,38 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace Win_in.Sfs.Wms.Store.Application.Contracts;
+
+///
+///
+///
+public class SplitPacking_UpdateJobDetailInput
+{
+ ///
+ /// 主表number
+ ///
+ [Required(ErrorMessage = "{0}是必填项")]
+ public string Number { get; set; }
+ ///
+ /// 子表from标签
+ ///
+ [Required(ErrorMessage = "{0}是必填项")]
+ public string FromPackingCode { get; set; }
+ ///
+ /// from数量
+ ///
+ [Required(ErrorMessage = "{0}是必填项")]
+ [Range(1, 99999, ErrorMessage = "{0}值范围在1至99999之间")]
+ public decimal FromQty { get; set; }
+ ///
+ /// 子表的to标签
+ ///
+ [Required(ErrorMessage = "{0}是必填项")]
+ public string ToPackingCode { get; set; }
+ ///
+ /// to数量
+ ///
+ [Required(ErrorMessage = "{0}是必填项")]
+ [Range(1, 99999, ErrorMessage = "{0}值范围在1至99999之间")]
+ public decimal ToQty { get; set; }
+
+}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
index 8cb796843..9bb0ff309 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
@@ -39,4 +39,21 @@ public interface IPurchaseReceiptRequestAppService
///
Task UpdatePurchaseReceiptRequestAsync(string number,
EnumRequestStatus enumRequestStatus);
+
+ ///
+ /// 根据number取列表
+ ///
+ ///
+ ///
+ Task> GetListByNumberAsync(string number);
+
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ ///
+ Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input, string packingCode);
+
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Equipments/EquipmentRecordAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Equipments/EquipmentRecordAppService.cs
index df6bf8b6a..56a246d0c 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Equipments/EquipmentRecordAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Equipments/EquipmentRecordAppService.cs
@@ -23,7 +23,7 @@ namespace Win_in.Sfs.Wms.Store.Application;
[Authorize]
[Route($"{StoreConsts.RootPath}EquipmentRecord")]
public class EquipmentRecordAppService
- : SfsCrudAppServiceBase
, IEquipmentRecordAppService
@@ -42,32 +42,54 @@ public class EquipmentRecordAppService
_manager = manager;
_repository = repository;
}
-
+ ///
+ /// 没用
+ ///
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("addDetail")]
public Task AddDetailListAsync(Guid id, List list)
{
throw new NotImplementedException();
}
-
+ ///
+ /// 没用
+ ///
+ [HttpPost("check")]
public Task CheckStatusAsync(string number)
{
throw new NotImplementedException();
}
-
+ ///
+ /// 没用
+ ///
+ [HttpPost("getlist")]
public Task> GetDetailListAsync(Guid id, SfsStoreRequestInputBase requestInput)
{
throw new NotImplementedException();
}
-
+ ///
+ /// 没用
+ ///
+ [HttpPost("updateDetail")]
public Task UpdateDetailAsync(Guid id, Guid detailId, EquipmentRecordDTO updateDTO)
{
throw new NotImplementedException();
}
-
+ ///
+ /// 没用
+ ///
+ [HttpPost("upsertAsync")]
public Task UpsertAsync(EquipmentRecordEditInput input)
{
throw new NotImplementedException();
}
-
+ ///
+ /// 没用
+ ///
+ [HttpPost("withDetil")]
Task ISfsReadOnlyWithDetailsAppService.GetDetailAsync(Guid id, Guid detailId)
{
throw new NotImplementedException();
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
index 1f534b9e1..677079a54 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
@@ -4,7 +4,9 @@ using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Volo.Abp;
using Volo.Abp.ObjectMapping;
+using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.FileStorage.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
@@ -160,6 +162,38 @@ public class InspectJobAppService
return dto;
}
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ [HttpPost("save-detail-split-packing")]
+ public virtual async Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input)
+ {
+ InspectJob job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false);
+ InspectJobDetail detail = job.Details.FirstOrDefault(p => p.PackingCode == input.FromPackingCode && p.InspectQty == input.FromQty);
+ if (detail == null)
+ {
+ throw new UserFriendlyException($"根据PackingCode={input.FromPackingCode}取InspectDetail表为空!");
+ }
+ //插入目标箱
+ var newDetail = CommonHelper.CloneObj(detail);
+ newDetail.SetId(GuidGenerator.Create());
+ newDetail.PackingCode = input.ToPackingCode;
+ newDetail.ReceiveQty = input.ToQty;
+ newDetail.InspectQty = input.ToQty;
+ newDetail.GoodQty = input.ToQty;
+ //newDetail.CreationTime = CommonHelper.CurTime;
+ job.Details.Add(newDetail);
+ //修改源箱
+ detail.ReceiveQty = input.FromQty - input.ToQty;
+ detail.InspectQty = input.FromQty - input.ToQty;
+ detail.GoodQty = input.FromQty - input.ToQty;
+ var entity = await _repository.UpdateAsync(job).ConfigureAwait(false);
+ var ret = ObjectMapper.Map(entity);
+ return ret;
+ }
+
+
//[HttpPost("pick-inspect")]
//public virtual async Task AddPickInspectJobAsync(InspectJobCreateInput input)
//{
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs
index 6ec183a2b..6439fc1e8 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs
@@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.ObjectMapping;
+using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -159,6 +160,37 @@ public class IssueJobAppService
return ObjectMapper.Map, List>(entitys);
}
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ [HttpPost("save-detail-split-packing")]
+ public virtual async Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input)
+ {
+ var job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false);
+ IssueJobDetail detail = job.Details.FirstOrDefault(p => p.HandledPackingCode == input.FromPackingCode && p.HandledQty == input.FromQty);
+ if (detail == null)
+ {
+ throw new UserFriendlyException($"根据HandledPackingCode={input.FromPackingCode}取IssueJobDetail表为空!");
+ }
+ //插入目标箱
+ var newDetail = CommonHelper.CloneObj(detail);
+ newDetail.SetId(GuidGenerator.Create());
+ newDetail.RecommendPackingCode = input.ToPackingCode;
+ newDetail.RecommendQty = input.ToQty;
+ newDetail.HandledPackingCode = input.ToPackingCode;
+ newDetail.HandledQty = input.ToQty;
+ //newDetail.CreationTime = CommonHelper.CurTime;
+ job.Details.Add(newDetail);
+ //修改源箱
+ detail.RecommendQty = input.FromQty - input.ToQty;
+ detail.HandledQty = input.FromQty - input.ToQty;
+ var entity = await _repository.UpdateAsync(job).ConfigureAwait(false);
+ var ret = ObjectMapper.Map(entity);
+ return ret;
+ }
+
+
/*
///
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs
index 2c646ae7e..75d502fb6 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs
@@ -5,7 +5,9 @@ using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Volo.Abp;
using Volo.Abp.ObjectMapping;
+using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.FileStorage.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -214,6 +216,52 @@ public class PurchaseReceiptJobAppService :
return dto;
}
+ ///
+ /// 根据number取列表
+ ///
+ ///
+ ///
+ [HttpGet("get-list-by-number")]
+ public async Task> GetListByNumberAsync(string number)
+ {
+ var entity = await _repository.GetListAsync(itm => itm.Number == number).ConfigureAwait(false);
+ var dto = ObjectMapper.Map, List>(entity);
+ return dto;
+ }
+
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ [HttpPost("save-detail-split-packing")]
+ public virtual async Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input)
+ {
+ var job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false);
+ PurchaseReceiptJobDetail detail = job.Details.FirstOrDefault(p => p.HandledPackingCode == input.FromPackingCode && p.HandledQty == input.FromQty);
+ if (detail == null)
+ {
+ throw new UserFriendlyException($"根据HandledPackingCode={input.FromPackingCode}取ReceiptRequestDetail表为空!");
+ }
+ //插入目标箱
+ var newDetail = CommonHelper.CloneObj(detail);
+ newDetail.SetId(GuidGenerator.Create());
+ newDetail.RecommendPackingCode = input.ToPackingCode;
+ newDetail.RecommendQty = input.ToQty;
+ newDetail.HandledPackingCode = input.ToPackingCode;
+ newDetail.HandledQty = input.ToQty;
+ //newDetail.CreationTime = CommonHelper.CurTime;
+ job.Details.Add(newDetail);
+ //修改源箱
+ detail.RecommendQty = input.FromQty - input.ToQty;
+ detail.HandledQty = input.FromQty - input.ToQty;
+ var entity = await _repository.UpdateAsync(job).ConfigureAwait(false);
+ var ret = ObjectMapper.Map(entity);
+ return ret;
+ }
+
+
+
+
/////
///// 取消请求
/////
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs
index 3188e6c7b..f2ee44369 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs
@@ -33,18 +33,32 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
private readonly IBalanceAppService _balanceAppService;
private readonly ILocationAppService _locationAppService;
private readonly ISplitPackingRecAppService _splitPackingRecAppService;
+ private readonly IPurchaseReceiptJobAppService _purchaseReceiptJobAppService;
+ private readonly IPurchaseReceiptRequestAppService _purchaseReceiptRequestAppService; //采购收货
+ private readonly IInspectJobAppService _inspectJobAppService; //质检
+ private readonly IIssueJobAppService _issueJobAppService; //发料
+
+
public TransferNoteAppService(
ITransferNoteRepository repository,
ITransferNoteManager transferNoteManager,
IBalanceAppService balanceAppService,
ILocationAppService locationAppService,
- ISplitPackingRecAppService splitPackingRecAppService) : base(repository)
+ ISplitPackingRecAppService splitPackingRecAppService,
+ IPurchaseReceiptJobAppService purchaseReceiptJobAppService,
+ IPurchaseReceiptRequestAppService purchaseReceiptRequestAppService,
+ IInspectJobAppService inspectJobAppService,
+ IIssueJobAppService issueJobAppService) : base(repository)
{
_transferNoteManager = transferNoteManager;
_balanceAppService = balanceAppService;
_locationAppService = locationAppService;
_splitPackingRecAppService = splitPackingRecAppService;
+ _purchaseReceiptJobAppService = purchaseReceiptJobAppService;
+ _purchaseReceiptRequestAppService = purchaseReceiptRequestAppService;
+ _inspectJobAppService = inspectJobAppService;
+ _issueJobAppService = issueJobAppService;
}
#region 东阳使用
@@ -126,36 +140,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
public async Task SplitPackingAsync(TransferNoteEditInput transferNoteEditInput)
{
//插入拆箱记录表
- foreach (var inputDetail in transferNoteEditInput.Details)
- {
- List recLst = new List();
- SplitPackingRecEditInput packRec = new SplitPackingRecEditInput();
- packRec.OprType = OprTypeEnum.SplitBox;
- packRec.FromPackingCode = inputDetail.FromPackingCode;
- //packRec.FromTopPackingCode = inputDetail.;
- packRec.FromStdPackQty = inputDetail.StdPackQty;
- packRec.FromUom = inputDetail.Uom;
- packRec.FromQty = inputDetail.Qty;
- packRec.ToPackingCode = inputDetail.ToPackingCode;
- //packRec.ToTopPackingCode = inputDetail.;
- packRec.ToStdPackQty = inputDetail.StdPackQty;
- packRec.ToUom = inputDetail.Uom;
- packRec.ToQty = inputDetail.Qty;
- packRec.ItemCode = inputDetail.ItemCode;
- packRec.ItemName = inputDetail.ItemName;
- packRec.ItemDesc1 = inputDetail.ItemDesc1;
- packRec.ItemDesc2 = inputDetail.ItemDesc2;
- packRec.FromLot = inputDetail.FromLot;
- packRec.ToLot = inputDetail.ToLot;
- //packRec.PurchaseInfo_PoNumber = inputDetail.; // 采购订单
- //packRec.PurchaseInfo_AsnNumber = inputDetail.; //供应商发货单
- //packRec.ArrivalNoticNumber = inputDetail.; //到货通知
- //packRec.TaskOrderNumber = inputDetail.; //任务单
- //packRec.ReceiptRecNumber = inputDetail.; //收货记录单
- //packRec.PutOnShelfNumber = inputDetail.; //上架单
- recLst.Add(packRec);
- await _splitPackingRecAppService.BatchInsertAsync(recLst).ConfigureAwait(false);
- }
+ await WriteSplitPackingRec(transferNoteEditInput).ConfigureAwait(false);
//更新库存
transferNoteEditInput.Type = EnumTransSubType.Transfer_SplitPacking.ToString();
return await CreateAsync(transferNoteEditInput).ConfigureAwait(false);
@@ -389,5 +374,92 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
return dto;
}
-
+ ///
+ /// 插入拆箱记录表
+ ///
+ ///
+ ///
+ private async Task WriteSplitPackingRec(TransferNoteEditInput transferNoteEditInput)
+ {
+ List recLst = new List();
+ foreach (var inputDetail in transferNoteEditInput.Details)
+ {
+ SplitPackingRecEditInput packRec = new SplitPackingRecEditInput();
+ packRec.OprType = OprTypeEnum.SplitBox;
+ packRec.FromPackingCode = inputDetail.FromPackingCode;
+ //packRec.FromTopPackingCode = inputDetail.;
+ packRec.FromStdPackQty = inputDetail.StdPackQty;
+ packRec.FromUom = inputDetail.Uom;
+ packRec.FromQty = inputDetail.Qty;
+ packRec.ToPackingCode = inputDetail.ToPackingCode;
+ //packRec.ToTopPackingCode = inputDetail.;
+ packRec.ToStdPackQty = inputDetail.StdPackQty;
+ packRec.ToUom = inputDetail.Uom;
+ packRec.ToQty = inputDetail.Qty;
+ packRec.ItemCode = inputDetail.ItemCode;
+ packRec.ItemName = inputDetail.ItemName;
+ packRec.ItemDesc1 = inputDetail.ItemDesc1;
+ packRec.ItemDesc2 = inputDetail.ItemDesc2;
+ packRec.FromLot = inputDetail.FromLot;
+ packRec.ToLot = inputDetail.ToLot;
+ //packRec.PurchaseInfo_PoNumber = inputDetail.; // 采购订单
+ //packRec.PurchaseInfo_AsnNumber = inputDetail.; //供应商发货单
+ //packRec.ArrivalNoticNumber = inputDetail.; //到货通知
+ //packRec.TaskOrderNumber = inputDetail.; //任务单
+ //packRec.ReceiptRecNumber = inputDetail.; //收货记录单
+ //packRec.PutOnShelfNumber = inputDetail.; //上架单
+ recLst.Add(packRec);
+ }
+ var ret = await _splitPackingRecAppService.BatchInsertAsync(recLst).ConfigureAwait(false);
+ return ret;
+ }
+
+ ///
+ /// 采购收货拆箱,同时更新、插入PurchaseReceipt任务表、申请表
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("split-packing-purchase-receipt")]
+ public async Task SplitPacking_PurchaseReceiptAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
+ {
+ var jobRet = await _purchaseReceiptJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput).ConfigureAwait(false);
+ var requestRet = await _purchaseReceiptRequestAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput, jobRet.PurchaseReceiptRequestNumber).ConfigureAwait(false);
+ bool ret = await WriteSplitPackingRec(transferNoteEditInput).ConfigureAwait(false); //采购收货-目检-拆箱时,还没有入库,不涉及库存操作
+ return ret;
+ }
+
+ ///
+ /// 质检拆箱,同时更新、插入Inspect任务表(不更新申请表)
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("split-packing-inspect")]
+ public async Task SplitPacking_InspectAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
+ {
+ var jobRet = await _inspectJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput).ConfigureAwait(false);
+ var ret = await SplitPackingAsync(transferNoteEditInput).ConfigureAwait(false); //库存操作
+ return ret;
+ }
+
+ ///
+ /// 发料拆箱,同时更新、插入Inspect任务表(没有找到申请表//??)
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("split-packing-issue")]
+ public async Task SplitPacking_IssueAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
+ {
+ var jobRet = await _issueJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput).ConfigureAwait(false);
+ var ret = await SplitPackingAsync(transferNoteEditInput).ConfigureAwait(false); //库存操作
+ return ret;
+ }
+
+
+
+
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
index 59210677d..2c0039268 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
@@ -4,9 +4,11 @@ using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Volo.Abp;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
+using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -142,4 +144,48 @@ public class PurchaseReceiptRequestAppService :
{
throw new NotImplementedException();
}
+
+ ///
+ /// 根据number取列表
+ ///
+ ///
+ ///
+ [HttpGet("get-list-by-number")]
+ public async Task> GetListByNumberAsync(string number)
+ {
+ var entity = await _repository.GetListAsync(itm => itm.Number == number).ConfigureAwait(false);
+ var dto = ObjectMapper.Map, List>(entity);
+ return dto;
+ }
+
+ ///
+ /// 保存拆箱时涉及的明细修改
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("save-detail-split-packing")]
+ public virtual async Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input, string packingCode)
+ {
+ var request = await _repository.FindAsync(p => p.Number == packingCode).ConfigureAwait(false);
+ PurchaseReceiptRequestDetail detail = request.Details.FirstOrDefault(p => p.PackingCode == input.FromPackingCode && p.Qty == input.FromQty);
+ if (detail == null)
+ {
+ throw new UserFriendlyException($"根据PackingCode={input.FromPackingCode}取ReceiptRequestDetail表为空!");
+ }
+ //插入目标箱
+ var newDetail = CommonHelper.CloneObj(detail);
+ newDetail.SetId(GuidGenerator.Create());
+ newDetail.PackingCode = input.ToPackingCode;
+ newDetail.Qty = input.ToQty;
+ //newDetail.CreationTime = CommonHelper.CurTime;
+ request.Details.Add(newDetail);
+ //修改源箱
+ detail.Qty = input.FromQty - input.ToQty;
+ var entity = await _repository.UpdateAsync(request).ConfigureAwait(false);
+ var ret = ObjectMapper.Map(entity);
+ return ret;
+ }
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJob.cs
index 8e4165387..4f5a09fad 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJob.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJob.cs
@@ -144,4 +144,5 @@ public class InspectJob : SfsJobAggregateRootBase
{
Number = number;
}
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobDetail.cs
index 07b445d27..85d50803d 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobDetail.cs
@@ -1,3 +1,4 @@
+using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Domain;
@@ -115,4 +116,10 @@ public class InspectJobDetail : SfsJobDetailEntityBase
///
[Display(Name = "其他属性Json")]
public string OtherPropertyJson { get; set; }
+
+ public virtual void SetId(Guid id)
+ {
+ this.Id = id;
+ }
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/IssueJobDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/IssueJobDetail.cs
index 6dd86f259..734d338ab 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/IssueJobDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/IssueJobDetail.cs
@@ -101,4 +101,8 @@ public class IssueJobDetail : SfsJobRecommendFromDetailEntityBase, IHasToLocatio
///
public string RecommendType { get; set; }
+ public void SetId(Guid id)
+ {
+ this.Id = id;
+ }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobManager.cs
index 5976b0943..914b42d92 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobManager.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobManager.cs
@@ -1,5 +1,9 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
namespace Win_in.Sfs.Wms.Store.Domain;
public interface IPurchaseReceiptJobManager : IJobManager
{
+ Task> GetListByNumberAsync(string number);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobDetail.cs
index 7ffb4d379..fb1d28694 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobDetail.cs
@@ -59,4 +59,11 @@ public class PurchaseReceiptJobDetail : SfsJobRecommendToDetailEntityBase, IHasP
[Display(Name = "供应商包装")]
public decimal SupplierPackQty { get; set; }
+ public void SetId(Guid id)
+ {
+ this.Id = id;
+ }
+
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobManager.cs
index 11d85fc8d..f87404a63 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobManager.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobManager.cs
@@ -110,4 +110,16 @@ public class PurchaseReceiptJobManager : SfsJobManagerBase c.Details.Any(p => p.RecommendPackingCode == packingCode) && c.JobStatus != EnumJobStatus.Closed && c.JobStatus != EnumJobStatus.Cancelled, true).ConfigureAwait(false);
}
+
+ ///
+ /// 根据number取列表
+ ///
+ ///
+ ///
+ public async Task> GetListByNumberAsync(string number)
+ {
+ var result = await Repository.GetListAsync(c => c.Number == number).ConfigureAwait(false);
+ return result;
+ }
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestDetail.cs
index 0bc5acf14..a15477c2a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestDetail.cs
@@ -1,3 +1,4 @@
+using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
@@ -35,4 +36,10 @@ public class PurchaseReceiptRequestDetail : SfsStoreDetailWithLotPackingQtyEntit
///
[Display(Name = "推荐ERP储位")]
public string RecommendErpCode { get; set; }
+
+
+ public void SetId(Guid id)
+ {
+ this.Id = Id;
+ }
}
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 0a5316749..2b05879e9 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
@@ -32,6 +32,7 @@ public class StoreEntityFrameworkCoreModule : AbpModule
context.Services.AddTransient();
context.Services.AddTransient();
context.Services.AddTransient();
+ context.Services.AddTransient();
#endregion