Browse Source

up

Agv分支2024-11-19
赵新宇 5 months ago
parent
commit
379ae8a8a2
  1. 1
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationAutoMapperProfile.cs
  2. 41
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PostionLocations/PostionLocationAppService.cs
  3. 50
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PostionLocations/PostionLocationAutoMapperProfile.cs
  4. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLineItems/ProductionLineItemAppService.cs
  5. 1
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/BasedataDbContextModelCreatingExtensions.cs
  6. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PostionLocations/PostionLocationDbContextModelCreatingExtensions.cs

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

@ -57,6 +57,7 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
EquipmentLocAutoMapperProfile();
EquipmentPartCodeAutoMapperProfile();
EquipmentLocCapAutoMapperProfile();
PostionLocationAutoMapperProfile();
}

41
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PostionLocations/PostionLocationAppService.cs

@ -19,10 +19,12 @@ using Win_in.Sfs.Shared.Domain;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Shared.Application.Contracts;
using Volo.Abp;
using Microsoft.EntityFrameworkCore;
using System.Linq;
namespace Win_in.Sfs.Basedata.Application;
[Authorize]
[AllowAnonymous]
[Route($"{BasedataConsts.RootPath}PostionLocation")]
public class PostionLocationAppService
@ -86,7 +88,41 @@ public class PostionLocationAppService
return pageResult;
}
protected override async Task ValidateImportModelAsync(PostionLocationImportInput importInput,
List<ValidationResult> validationRresult)
{
await base.ValidateImportModelAsync(importInput, validationRresult).ConfigureAwait(false);
await CheckLocationCodeAsync(importInput.LocationCode, validationRresult).ConfigureAwait(false);
await CheckSameItem(importInput.Code,importInput.LocationCode,validationRresult).ConfigureAwait(false);
//CheckProductionLineProdLineCodeJsonAsync(importInput.RawLocationCodeListJson, validationRresult);
//CheckProductionLineProdLineCodeJsonAsync(importInput.ProductLocationCodeListJson, validationRresult);
//CheckProductionLineProdLineCodeJsonAsync(importInput.WipLocationCodeListJson, validationRresult);
}
private async Task CheckLocationCodeAsync(string locationCode, List<ValidationResult> validationRresult)
{
var list = await _locationAppService.GetByCodeAsync(locationCode).ConfigureAwait(false);
if (list == null)
{
validationRresult.Add(new ValidationResult($"{locationCode}库位编码不存在,请查看库位信息!"));
}
}
private async Task CheckSameItem(string code, string locationCode, List<ValidationResult> validationRresult)
{
var item = await _repository.FirstOrDefaultAsync(r => r.Code == code && r.LocationCode == locationCode).ConfigureAwait(false);
if (item != null)
{
validationRresult.Add(new ValidationResult($"工作站编码{code}库位编码{locationCode}已存在", new string[] { "工作站编码", "库位编码" }));
}
}
[HttpPost("get-or-add")]
public virtual async Task<PostionLocationDTO> GetOrAddAsync(PostionLocationEditInput input)
{
@ -94,6 +130,7 @@ public class PostionLocationAppService
var result = await _repository.FirstOrDefaultAsync(p => p.Code == input.Code).ConfigureAwait(false);
if (result == null)
{
var entity = ObjectMapper.Map<PostionLocationEditInput, PostionLocation>(input);
result = await _repository.InsertAsync(entity, true).ConfigureAwait(false);
}

50
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PostionLocations/PostionLocationAutoMapperProfile.cs

@ -12,33 +12,45 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
CreateMap<PostionLocation, PostionLocationDTO>()
.ReverseMap();
CreateMap<PostionLocationImportInput, PostionLocation>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
//.Ignore(x => x.EnableMixItem)
//.Ignore(x => x.EnableMixLot)
//.Ignore(x => x.EnableMixStatus)
//.Ignore(x => x.EnableNegative)
//.Ignore(x => x.EnableKeepZero)
//.Ignore(x => x.EnableOpportunityCount)
//.Ignore(x => x.EnablePick)
//.Ignore(x => x.EnableOverPick)
//.Ignore(x => x.EnableWholeStore)
//.Ignore(x => x.EnableBreakStore)
//.Ignore(x => x.EnableShip)
//.Ignore(x => x.EnableReceive)
//.Ignore(x => x.EnableReturnToSupplier)
//.Ignore(x => x.EnableReturnFromCustomer)
//.Ignore(x => x.EnableSplitPallet)
//.Ignore(x => x.EnableSplitBox)
;
.Ignore(x => x.Id)
.Ignore(x => x.Remark);
//.Ignore(x => x.EnableMixItem)
//.Ignore(x => x.EnableMixLot)
//.Ignore(x => x.EnableMixStatus)
//.Ignore(x => x.EnableNegative)
//.Ignore(x => x.EnableKeepZero)
//.Ignore(x => x.EnableOpportunityCount)
//.Ignore(x => x.EnablePick)
//.Ignore(x => x.EnableOverPick)
//.Ignore(x => x.EnableWholeStore)
//.Ignore(x => x.EnableBreakStore)
//.Ignore(x => x.EnableShip)
//.Ignore(x => x.EnableReceive)
//.Ignore(x => x.EnableReturnToSupplier)
//.Ignore(x => x.EnableReturnFromCustomer)
//.Ignore(x => x.EnableSplitPallet)
//.Ignore(x => x.EnableSplitBox)
;
CreateMap<PostionLocation, PostionLocationImportInput>()
.Ignore(x => x.ReportStatus)
.Ignore(x => x.ReportStatus)
.Ignore(x => x.ReportReason);
CreateMap<PostionLocationEditInput, PostionLocation>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.Id)
.Ignore(x => x.Remark);
}
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLineItems/ProductionLineItemAppService.cs

@ -106,7 +106,7 @@ public class ProductionLineItemAppService :
}
private void CheckProductionLineProdLineCodeJsonAsync(string locationCodeList, List<ValidationResult> validationRresult)
{
if (!string.IsNullOrEmpty(locationCodeList))
if (string.IsNullOrEmpty(locationCodeList))
{
validationRresult.Add(new ValidationResult($"请维护生产线和库位关系"));
}

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

@ -73,6 +73,7 @@ public static class BasedataDbContextModelCreatingExtensions
builder.ConfigureKitting(options);
builder.ConfigureEquipmentLoc(options);
builder.ConfigureEquipmentPartCode(options);
builder.ConfigurePostionLocation(options);
}

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

@ -13,7 +13,7 @@ public static class PostionLocationDbContextModelCreatingExtensions
builder.Entity<PostionLocation>(b =>
{
//Configure table & schema name
b.ToTable(options.TablePrefix + nameof(Location), options.Schema);
b.ToTable(options.TablePrefix + nameof(PostionLocation), options.Schema);
//Configure ABP properties
b.ConfigureByConvention();
//Configure Sfs base properties

Loading…
Cancel
Save