Browse Source

Merge branch 'dev_DY_CC' of http://dev.ccwin-in.com:3000/BoXu.Zheng/WZC2 into dev_DY_CC

dev_DY_CC
郑勃旭 10 months ago
parent
commit
1b9708d536
  1. 14
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/EosIncomingBackgroundWorker.cs
  2. 6
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/DTOs/KittingDTO.cs
  3. 5
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/DTOs/KittingDetailDTO.cs
  4. 5
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingDetailInput.cs
  5. 11
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingImportInput.cs
  6. 6
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Kittings/KittingAppService.cs
  7. 1
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Kittings/KittingAutoMapperProfile.cs
  8. 5
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Kittings/KittingDetail.cs
  9. 16
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
  10. 27
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/NoOkConvertOKNotes/NoOkConvertOKNoteAppService.cs
  11. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PutawayNotes/PutawayNoteAppService.cs

14
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/EosIncomingBackgroundWorker.cs

@ -51,13 +51,13 @@ public class EosIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
//转换Ship //转换Ship
await shipConverter.ConvertAsync(shipsFromExternalList).ConfigureAwait(false); await shipConverter.ConvertAsync(shipsFromExternalList).ConfigureAwait(false);
//Logger.LogInformation($"读取 产品"); Logger.LogInformation($"读取 产品");
//var productHandleService = workerContext.ServiceProvider.GetRequiredService<ProductReader>(); var productHandleService = workerContext.ServiceProvider.GetRequiredService<ProductReader>();
//var productConverter = workerContext.ServiceProvider.GetRequiredService<ProductConverter>(); var productConverter = workerContext.ServiceProvider.GetRequiredService<ProductConverter>();
////读取并保持Product //读取并保持Product
//var productsFromExternalList = await productHandleService.ReadAsync().ConfigureAwait(false); var productsFromExternalList = await productHandleService.ReadAsync().ConfigureAwait(false);
//// 转换Product // 转换Product
//await productConverter.ConvertAsync(productsFromExternalList).ConfigureAwait(false); await productConverter.ConvertAsync(productsFromExternalList).ConfigureAwait(false);
Logger.LogInformation($"Completed: Handling {Incoming}"); Logger.LogInformation($"Completed: Handling {Incoming}");
} }

6
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/DTOs/KittingDTO.cs

@ -19,6 +19,12 @@ public class KittingDTO : EntityDto<Guid>, IHasCode, IHasName
[Display(Name = "底盘打包数量")] [Display(Name = "底盘打包数量")]
public decimal ChassisQty { get; set; } public decimal ChassisQty { get; set; }
[Display(Name = "备注")]
public string Remark { get; set; }
[Display(Name = "创建时间")]
public virtual DateTime CreationTime { get; set; }
[Display(Name = "最后修改时间")]
public virtual DateTime? LastModificationTime { get; set; }
[Display(Name = "明细")] [Display(Name = "明细")]
public List<KittingDetailDTO> Details { set; get; }= new List<KittingDetailDTO>(); public List<KittingDetailDTO> Details { set; get; }= new List<KittingDetailDTO>();

5
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/DTOs/KittingDetailDTO.cs

@ -46,11 +46,6 @@ public class KittingDetailDTO: AuditedEntityDto<Guid>, IMultiTenant, IRemark
[Display(Name = "包装数量")] [Display(Name = "包装数量")]
public decimal Qty { set; get; } public decimal Qty { set; get; }
/// <summary>
/// 配置
/// </summary>
[Display(Name = "配置")]
public string Conf { set; get; }
[Display(Name = "配置")] [Display(Name = "配置")]
public string Configuration { get; set; } public string Configuration { get; set; }

5
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingDetailInput.cs

@ -47,11 +47,6 @@ public class KittingDetailInput: EntityDto<Guid>, IMultiTenant, IRemark
/// </summary> /// </summary>
[Display(Name = "包装数量")] [Display(Name = "包装数量")]
public decimal Qty { set; get; } public decimal Qty { set; get; }
/// <summary>
/// 配置
/// </summary>
[Display(Name = "配置")]
public string Conf { set; get; }
[Display(Name = "租户ID")] [Display(Name = "租户ID")]
public Guid? TenantId { set; get; public Guid? TenantId { set; get;
} }

11
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingImportInput.cs

@ -22,6 +22,7 @@ public class KittingImportInput : SfsBaseDataImportInputBase
/// ///
[Display(Name = "物料编码")] [Display(Name = "物料编码")]
[Required(ErrorMessage = "{0}是必填项")]
public string ItemCode { set; get; } public string ItemCode { set; get; }
/// <summary> /// <summary>
/// 描述1 /// 描述1
@ -51,12 +52,10 @@ public class KittingImportInput : SfsBaseDataImportInputBase
[Required(ErrorMessage = "{0}是必填项")] [Required(ErrorMessage = "{0}是必填项")]
public decimal Qty { set; get; } public decimal Qty { set; get; }
/// <summary>
/// 配置
/// </summary>
[Display(Name = "配置")]
public string Conf { set; get; }
[Display(Name = "底盘打包数量")] [Display(Name = "底盘打包数量")]
[Required(ErrorMessage = "{0}是必填项")]
public decimal ChassisQty { get; set; } public decimal ChassisQty { get; set; }
[Display(Name = "备注")]
public string Remark { get; set; }
} }

6
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Kittings/KittingAppService.cs

@ -246,7 +246,7 @@ public class KittingAppService : SfsBaseDataWithCodeAppServiceBase<Kitting, Kitt
itm.ItemDesc1 = entity.ItemDesc1; itm.ItemDesc1 = entity.ItemDesc1;
itm.ItemDesc2 = entity.ItemDesc2; itm.ItemDesc2 = entity.ItemDesc2;
itm.Qty = entity.Qty; itm.Qty = entity.Qty;
itm.Conf = entity.Conf; itm.Configuration = entity.Configuration;
} }
} }
var leftExist = from itm in newDetail var leftExist = from itm in newDetail
@ -344,8 +344,8 @@ public class KittingAppService : SfsBaseDataWithCodeAppServiceBase<Kitting, Kitt
} }
var fileContent1 = _excelService.Export(importList); var fileContent1 = _excelService.Export(importList);
new TestResult(fileContent1.FileContents, ExportImportService.ContentType) { FileDownloadName = "导入文件" }; return new TestResult(fileContent1.FileContents, ExportImportService.ContentType) { FileDownloadName = "Kitting导入文件" };
return new JsonResult(new { Code = 200, FileDownloadName="" }); // return new JsonResult(new { Code = 200, FileDownloadName="" });
} }

1
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Kittings/KittingAutoMapperProfile.cs

@ -22,7 +22,6 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.Details) .Ignore(x => x.Details)
.Ignore(x => x.TenantId) .Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties) .Ignore(x => x.ExtraProperties)
.Ignore(x => x.Remark)
.Ignore(x => x.ConcurrencyStamp) .Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.Id); .Ignore(x => x.Id);

5
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Kittings/KittingDetail.cs

@ -43,11 +43,6 @@ public class KittingDetail : AuditedEntity<Guid>, IMultiTenant, IRemark
/// </summary> /// </summary>
public decimal Qty { set; get; } public decimal Qty { set; get; }
/// <summary>
/// 配置
/// </summary>
public string Conf { set; get; }
public Guid? TenantId { set; get; } public Guid? TenantId { set; get; }
public string Remark { get; set; } public string Remark { get; set; }

16
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Users;
using Win_in.Sfs.Basedata.Domain.Shared; using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.FileStorage.Application.Contracts; using Win_in.Sfs.FileStorage.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
@ -23,13 +24,15 @@ public class InspectJobAppService
{ {
private readonly IInspectJobManager _inspectJobManager; private readonly IInspectJobManager _inspectJobManager;
private readonly IFileAppService _fileAppService; private readonly IFileAppService _fileAppService;
private readonly ICurrentUser _currentUser;
public InspectJobAppService( public InspectJobAppService(
IInspectJobRepository repository, IInspectJobManager inspectJobManager IInspectJobRepository repository, IInspectJobManager inspectJobManager
, IFileAppService fileAppService) : base(repository, inspectJobManager) , IFileAppService fileAppService, ICurrentUser currentUser) : base(repository, inspectJobManager)
{ {
_inspectJobManager = inspectJobManager; _inspectJobManager = inspectJobManager;
_fileAppService = fileAppService; _fileAppService = fileAppService;
_currentUser = currentUser;
} }
/// <summary>【创建】质检任务</summary> /// <summary>【创建】质检任务</summary>
@ -40,6 +43,17 @@ public class InspectJobAppService
{ {
var entity = ObjectMapper.Map<InspectJobEditInput, InspectJob>(input); var entity = ObjectMapper.Map<InspectJobEditInput, InspectJob>(input);
if (_currentUser != null)
{
foreach (var item in entity.SummaryDetails)
{
if (item.InspectUser.IsNullOrEmpty())
{
item.InspectUser = _currentUser.UserName;
}
}
}
var result = await _inspectJobManager.AddAsync(entity).ConfigureAwait(false); var result = await _inspectJobManager.AddAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<InspectJob, InspectJobDTO>(result); var dto = ObjectMapper.Map<InspectJob, InspectJobDTO>(result);

27
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/NoOkConvertOKNotes/NoOkConvertOKNoteAppService.cs

@ -1,9 +1,14 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared; using Win_in.Sfs.Wms.Store.Domain.Shared;
using System.Linq;
using Volo.Abp;
using Win_in.Sfs.Wms.Inventory.Domain.Acl.Location;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application; namespace Win_in.Sfs.Wms.Store.Application;
@ -25,11 +30,16 @@ public class NoOkConvertOkNoteAppService :
INoOkConvertOkNoteAppService INoOkConvertOkNoteAppService
{ {
private readonly INoOkConvertOkNoteManager _nOOkConvertOKNoteManager; private readonly INoOkConvertOkNoteManager _nOOkConvertOKNoteManager;
private readonly IBalanceAppService _balanceAppService;
private readonly ILocationAclService _locationAclService;
public NoOkConvertOkNoteAppService( public NoOkConvertOkNoteAppService(
INoOkConvertOkNoteRepository repository, INoOkConvertOkNoteManager nOOkConvertOkNoteManager) : base(repository) INoOkConvertOkNoteRepository repository, INoOkConvertOkNoteManager nOOkConvertOkNoteManager, IBalanceAppService balanceAppService, ILocationAclService locationAclService) : base(repository)
{ {
_nOOkConvertOKNoteManager = nOOkConvertOkNoteManager; _nOOkConvertOKNoteManager = nOOkConvertOkNoteManager;
_balanceAppService = balanceAppService;
_locationAclService = locationAclService;
} }
/// <summary> /// <summary>
@ -40,7 +50,20 @@ public class NoOkConvertOkNoteAppService :
[HttpPost("")] [HttpPost("")]
//[Authorize(NoOkConvertOkNotePermissions.Create)] //[Authorize(NoOkConvertOkNotePermissions.Create)]
public override async Task<NoOkConvertOkNoteDTO> CreateAsync(NoOkConvertOkNoteEditInput input) public override async Task<NoOkConvertOkNoteDTO> CreateAsync(NoOkConvertOkNoteEditInput input)
{ {
#region 判断隔离库中是否有库存
var locationInfo = await _locationAclService.GetFirstByTypeAsync(EnumLocationType.HOLD).ConfigureAwait(false);
var packingCodeLst = input.Details.Select(itm => itm.ToPackingCode).ToList();
var balanceLst = await _balanceAppService.GetListByPackingCodesAsync(packingCodeLst).ConfigureAwait(false);
bool allOK = (balanceLst.Count == packingCodeLst.Count
&& balanceLst.All(itm => itm.LocationCode.ToUpper() == locationInfo.Code && itm.Status == EnumInventoryStatus.NOK));
if (allOK == false)
{
throw new UserFriendlyException("隔离库中不存在如下箱码(或者其中之一)" + string.Join(",", packingCodeLst));
}
#endregion
var createEntity = ObjectMapper.Map<NoOkConvertOkNoteEditInput, NoOkConvertOkNote>(input); var createEntity = ObjectMapper.Map<NoOkConvertOkNoteEditInput, NoOkConvertOkNote>(input);
var entity = await _nOOkConvertOKNoteManager.CreateAsync(createEntity).ConfigureAwait(false); var entity = await _nOOkConvertOKNoteManager.CreateAsync(createEntity).ConfigureAwait(false);

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PutawayNotes/PutawayNoteAppService.cs

@ -127,7 +127,8 @@ public class PutawayNoteAppService :
{ {
var inspectJobDto = await _inspectJobAppService var inspectJobDto = await _inspectJobAppService
.GetInspectNoteDetailByPackingCodeAsync(detail.ToPackingCode).ConfigureAwait(false); .GetInspectNoteDetailByPackingCodeAsync(detail.ToPackingCode).ConfigureAwait(false);
if (inspectJobDto.JobStatus != EnumJobStatus.Done) var sumitem= inspectJobDto.SummaryDetails.FirstOrDefault(r => r.ItemCode == purchasereDetail.ItemCode);
if (sumitem.SummaryInspectStatus != EnumSummaryInspectStatus.OverInspect)
{ {
throw new UserFriendlyException($"包含【{detail.ToPackingCode}】箱码的报检单,尚未完成质检"); throw new UserFriendlyException($"包含【{detail.ToPackingCode}】箱码的报检单,尚未完成质检");
} }

Loading…
Cancel
Save