Browse Source

更新器具容量

dev_DY_CC
赵新宇 1 year ago
parent
commit
c02a2f9a76
  1. 40
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentLocCapDTO.cs
  2. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentPartCodeDTO.cs
  3. 28
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/IEquipmentLocCapAppService.cs
  4. 20
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapCheckInput.cs
  5. 20
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapEditInput.cs
  6. 38
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapImportInput.cs
  7. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationAutoMapperProfile.cs
  8. 70
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAppService.cs
  9. 43
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAutoMapperProfile.cs
  10. 6
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/EquipmentLocCap.cs
  11. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/IEquipmentLocCapRepository.cs
  12. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentDbContextModelCreatingExtensions.cs
  13. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentEfCoreRepository.cs
  14. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentLocCapEfCoreRepository.cs

40
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentLocCapDTO.cs

@ -0,0 +1,40 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application.Contracts;
[Display(Name = "器具容量占用信息")]
public class EquipmentLocCapDTO : SfsBaseDataDTOBase, IHasCode
{
/// <summary>
/// 器具代码
/// </summary>
[Display(Name = "器具代码")]
public string Code { get; set; }
/// 占用百分比
/// </summary>
[Display(Name = "占用百分比")]
public decimal Percent { get; set; }
/// <summary>
/// 零件号
/// </summary>
public string PartCode { get; set; }
/// <summary>
/// 录入数量
/// </summary>
public decimal Qty { get; set; }
/// <summary>
/// 标包数量
/// </summary>
public decimal StdQty { get; set; }
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentPartCodeDTO.cs

@ -7,7 +7,7 @@ namespace Win_in.Sfs.Basedata.Application.Contracts;
using System;
using System.Collections.Generic;
[Display(Name = "器具基本信息")]
[Display(Name = "器具零件关系信息")]
public class EquipmentPartCodeDTO : SfsBaseDataDTOBase, IHasCode
{

28
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/IEquipmentLocCapAppService.cs

@ -0,0 +1,28 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application.Contracts;
public interface IEquipmentLocCapAppService
: ISfsBaseDataAppServiceBase<EquipmentLocCapDTO, SfsBaseDataRequestInputBase, EquipmentLocCapEditInput>
, ISfsGetByCodeAppService<EquipmentLocCapDTO>
, ISfsCheckAppService<EquipmentLocCapCheckInput>
, ISfsUpsertAppService<EquipmentLocCapEditInput>
{
//Task<bool> CheckItemIsAvailable(string itemCode);
//[HttpGet("check-item-is-available-no-select-sql")]
//void CheckItemIsAvailable(EquipmentLocCapDTO EquipmentLocCapDTO);
//Task<List<EquipmentLocCapDTO>> GetListByNameAsync(string name);
//Task<EquipmentLocCapDTO> GetOrAddAsync(EquipmentLocCapEditInput input);
//Task<EnumItemManageType> GetManageTypeAsync(string itemCode);
//Task<Dictionary<string, EnumItemManageType>> GetManageTypesAsync(List<string> itemCodes);
//Task UpsertAsyncByInterface(EquipmentLocCapEditInput input);
//Task UpsertStdPackQtyAsync(string itemCode, decimal stdpackqty);
}

20
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapCheckInput.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application.Contracts;
public class EquipmentLocCapCheckInput
{
/// <summary>
/// 器具代码
/// </summary>
[Display(Name = "器具代码")]
public string Code { get; set; }
/// 占用百分比
/// </summary>
[Display(Name = "占用百分比")]
public decimal Percent { get; set; }
}

20
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapEditInput.cs

@ -0,0 +1,20 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Basedata;
namespace Win_in.Sfs.Basedata.Application.Contracts;
public class EquipmentLocCapEditInput : SfsBaseDataCreateOrUpdateInputBase
{
/// <summary>
/// 器具代码
/// </summary>
[Display(Name = "器具代码")]
public string Code { get; set; }
/// 占用百分比
/// </summary>
[Display(Name = "占用百分比")]
public decimal Percent { get; set; }
}

38
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapImportInput.cs

@ -0,0 +1,38 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Basedata;
namespace Win_in.Sfs.Basedata.Application.Contracts;
[Display(Name = "器具容量")]
public class EquipmentLocCapImportInput : SfsBaseDataImportInputBase
{
/// <summary>
/// 器具代码
/// </summary>
[Display(Name = "器具代码")]
public string Code { get; set; }
/// 占用百分比
/// </summary>
[Display(Name = "占用百分比")]
public decimal Percent { get; set; }
//[Display(Name = "零件代码")]
//public string PartCode { get; set; }
//[Display(Name = "当前数量")]
///// <summary>
///// 录入数量
///// </summary>
//public decimal Qty { get; set; }
//[Display(Name = "标包数量")]
///// <summary>
///// 标包数量
///// </summary>
//public decimal StdQty { get; set; }
}

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

@ -54,6 +54,8 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
KittingAutoMapperProfile();
EquipmentLocAutoMapperProfile();
EquipmentPartCodeAutoMapperProfile();
EquipmentLocCapAutoMapperProfile();
}
}

70
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAppService.cs

@ -0,0 +1,70 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Caching;
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.ExportAndImport;
namespace Win_in.Sfs.Basedata.Application;
[Authorize]
[Route($"{BasedataConsts.RootPath}EquipmentLocCap")]
public class EquipmentLocCapAppService
: SfsBaseDataWithCodeAppServiceBase<EquipmentLocCap, EquipmentLocCapDTO, SfsBaseDataRequestInputBase, EquipmentLocCapEditInput, EquipmentLocCapImportInput>
, IEquipmentLocCapAppService
{
private readonly IEquipmentLocCapManager _manager;
private new readonly IEquipmentLocCapRepository _repository;
private readonly IExportImportService _importService;
public EquipmentLocCapAppService(
IEquipmentLocCapRepository repository,
IDistributedCache<EquipmentLocCapDTO> cache,
IExportImportService importService,
IEquipmentLocCapManager manager)
: base(repository, cache)
{
_importService=importService;
_repository = repository;
_manager = manager;
base.CreatePolicyName = EquipmentPermissions.Create;
base.UpdatePolicyName = EquipmentPermissions.Update;
base.DeletePolicyName = EquipmentPermissions.Delete;
}
[HttpPost("check")]
//[Authorize(ErpLocationPermissions.Default)]
public virtual async Task CheckAsync(string code, EquipmentLocCapCheckInput input)
{
await Task.CompletedTask.ConfigureAwait(false);
}
[HttpPost("upsert")]
public virtual async Task UpsertAsync(EquipmentLocCapEditInput input)
{
var entity = ObjectMapper.Map<EquipmentLocCapEditInput, EquipmentLocCap>(input);
await _repository.UpsertAsync(entity).ConfigureAwait(false);
}
[HttpPost]
[Route("")]
public override async Task<EquipmentLocCapDTO> CreateAsync(EquipmentLocCapEditInput input)
{
var query =await _repository.GetQueryableAsync().ConfigureAwait(false);
var first=query.FirstOrDefault(p => p.Code == input.Code);
if (first == null)
{
var entity = ObjectMapper.Map<EquipmentLocCapEditInput, EquipmentLocCap>(input);
entity.Code = string.Format("{0}{1}", "Q", entity.Code);
await _repository.UpsertAsync(entity).ConfigureAwait(false);
var entity1=_repository.WithDetails().FirstOrDefault(p => p.Code == input.Code);
return ObjectMapper.Map<EquipmentLocCap,EquipmentLocCapDTO>(entity1);
}
else
{
throw new UserFriendlyException($"已存在器具编号{input.Code}!");
}
}
}

43
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAutoMapperProfile.cs

@ -0,0 +1,43 @@
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 EquipmentLocCapAutoMapperProfile()
{
CreateMap<EquipmentLocCap, EquipmentLocCapDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
CreateMap<EquipmentLocCapImportInput, EquipmentLocCap>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.TenantId)
.Ignore(x => x.Remark)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.StdQty)
.Ignore(x => x.PartCode)
.Ignore(x => x.Qty)
.Ignore(x => x.ConcurrencyStamp)
.ForMember(p => p.Code, p => p.MapFrom(q =>q.Code));
//CreateMap<EquipmentLocCap, EquipmentLocCapImportInput>()
//CreateMap<EquipmentLocCap, EquipmentLocCapForDongyangExportDTO>()
// .Ignore(x => x.ItemCategory)
// .Ignore(x => x.Color);
CreateMap<EquipmentLocCapEditInput, EquipmentLocCap>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.StdQty)
.Ignore(x => x.PartCode)
.Ignore(x => x.Qty)
.Ignore(x => x.ConcurrencyStamp).Ignore(x => x.Id);
}
}

6
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/EquipmentLocCap.cs

@ -8,12 +8,12 @@ using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Basedata.Domain;
public class EquipmentLocCap:SfsAggregateRootBase
public class EquipmentLocCap:SfsAggregateRootBase, IHasCode
{
/// <summary>
/// 器具
/// 器具
/// </summary>
public string EqptCode { get; set; }
public string Code { get; set; }
/// <summary>
/// 零件号
/// </summary>

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/IEquipmentLocCapRepository.cs

@ -5,7 +5,7 @@ using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Basedata.Domain;
public interface IEquipmentLocCapRepository : IDomainService, ISfsBulkRepositoryBase<EquipmentLocCap>
public interface IEquipmentLocCapRepository : ISfsBaseDataRepositoryBase<EquipmentLocCap>, ISfsBulkRepositoryBase<EquipmentLocCap>
{
Task UpsertAsync(EquipmentLocCap newData);
}

4
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentDbContextModelCreatingExtensions.cs

@ -42,7 +42,7 @@ public static class EquipmentDbContextModelCreatingExtensions
b.ConfigureSfsBase();
//Properties
b.Property(q => q.EqptCode).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength).IsRequired(true);
b.Property(q => q.Code).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength).IsRequired(true);
b.Property(q => q.PartCode).HasMaxLength(SfsPropertyConst.CodeLength);
@ -50,7 +50,7 @@ public static class EquipmentDbContextModelCreatingExtensions
//None
//Indexes
b.HasIndex(q => new { q.EqptCode }).IsUnique();
b.HasIndex(q => new { q.Code }).IsUnique();
});

4
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentEfCoreRepository.cs

@ -24,7 +24,7 @@ public class EquipmentEfCoreRepository : SfsBaseDataEfCoreRepositoryBase<Basedat
var insRet = await InsertAsync(entity).ConfigureAwait(false);
var cap = new EquipmentLocCap() { EqptCode = entity.Code,PartCode=string.Empty,Percent=0, Qty=0 , StdQty=0 };
var cap = new EquipmentLocCap() { Code = entity.Code,PartCode=string.Empty,Percent=0, Qty=0 , StdQty=0 };
await DbContext.Set<EquipmentLocCap>().AddAsync(cap).ConfigureAwait(false);
@ -49,7 +49,7 @@ public class EquipmentEfCoreRepository : SfsBaseDataEfCoreRepositoryBase<Basedat
var cap = new EquipmentLocCap() { EqptCode = entity.Code, PartCode = string.Empty, Percent = 0, Qty = 0, StdQty = 0 };
var cap = new EquipmentLocCap() { Code = entity.Code, PartCode = string.Empty, Percent = 0, Qty = 0, StdQty = 0 };
await DbContext.Set<EquipmentLocCap>().AddAsync(cap).ConfigureAwait(false);

4
be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentLocCapEfCoreRepository.cs

@ -18,7 +18,7 @@ public class EquipmentLocCapEfCoreRepository : SfsBaseDataEfCoreRepositoryBase<B
var exist = await dbSet.FirstOrDefaultAsync(p => p.EqptCode == entity.EqptCode).ConfigureAwait(false);
var exist = await dbSet.FirstOrDefaultAsync(p => p.Code == entity.Code).ConfigureAwait(false);
if (exist == null)
{
var insRet = await InsertAsync(entity).ConfigureAwait(false);
@ -40,7 +40,7 @@ public class EquipmentLocCapEfCoreRepository : SfsBaseDataEfCoreRepositoryBase<B
{
var dbSet = await GetDbSetAsync().ConfigureAwait(false);
var exist = await dbSet.FirstOrDefaultAsync(p => p.EqptCode == entity.EqptCode).ConfigureAwait(false);
var exist = await dbSet.FirstOrDefaultAsync(p => p.Code == entity.Code).ConfigureAwait(false);
if (exist == null)
{
var insRet = await InsertAsync(entity).ConfigureAwait(false);

Loading…
Cancel
Save