From c02a2f9a768b2ed602b27c47615add5d9ab98cbe Mon Sep 17 00:00:00 2001
From: zhaoxinyu <89237069@qq.com>
Date: Thu, 14 Mar 2024 10:27:14 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=99=A8=E5=85=B7=E5=AE=B9?=
=?UTF-8?q?=E9=87=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Equipments/DTOs/EquipmentLocCapDTO.cs | 40 +++++++++++
.../Equipments/DTOs/EquipmentPartCodeDTO.cs | 2 +-
.../Equipments/IEquipmentLocCapAppService.cs | 28 ++++++++
.../Inputs/EquipmentLocCapCheckInput.cs | 20 ++++++
.../Inputs/EquipmentLocCapEditInput.cs | 20 ++++++
.../Inputs/EquipmentLocCapImportInput.cs | 38 ++++++++++
.../BasedataApplicationAutoMapperProfile.cs | 4 +-
.../Equipments/EquipmentLocCapAppService.cs | 70 +++++++++++++++++++
.../EquipmentLocCapAutoMapperProfile.cs | 43 ++++++++++++
.../Equipments/EquipmentLocCap.cs | 6 +-
.../Equipments/IEquipmentLocCapRepository.cs | 2 +-
...uipmentDbContextModelCreatingExtensions.cs | 4 +-
.../Equipments/EquipmentEfCoreRepository.cs | 4 +-
.../EquipmentLocCapEfCoreRepository.cs | 4 +-
14 files changed, 273 insertions(+), 12 deletions(-)
create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentLocCapDTO.cs
create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/IEquipmentLocCapAppService.cs
create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapCheckInput.cs
create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapEditInput.cs
create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapImportInput.cs
create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAppService.cs
create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAutoMapperProfile.cs
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentLocCapDTO.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentLocCapDTO.cs
new file mode 100644
index 000000000..6a4ad91ce
--- /dev/null
+++ b/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
+{
+ ///
+ /// 器具代码
+ ///
+ [Display(Name = "器具代码")]
+ public string Code { get; set; }
+ /// 占用百分比
+ ///
+ [Display(Name = "占用百分比")]
+ public decimal Percent { get; set; }
+
+
+ ///
+ /// 零件号
+ ///
+ public string PartCode { get; set; }
+
+ ///
+ /// 录入数量
+ ///
+ public decimal Qty { get; set; }
+
+ ///
+ /// 标包数量
+ ///
+ public decimal StdQty { get; set; }
+
+
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentPartCodeDTO.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentPartCodeDTO.cs
index 03e9f4dba..2a6510242 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/DTOs/EquipmentPartCodeDTO.cs
+++ b/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
{
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/IEquipmentLocCapAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/IEquipmentLocCapAppService.cs
new file mode 100644
index 000000000..dfe01c9b7
--- /dev/null
+++ b/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
+ , ISfsGetByCodeAppService
+ , ISfsCheckAppService
+ , ISfsUpsertAppService
+{
+ //Task CheckItemIsAvailable(string itemCode);
+ //[HttpGet("check-item-is-available-no-select-sql")]
+ //void CheckItemIsAvailable(EquipmentLocCapDTO EquipmentLocCapDTO);
+
+ //Task> GetListByNameAsync(string name);
+
+ //Task GetOrAddAsync(EquipmentLocCapEditInput input);
+
+ //Task GetManageTypeAsync(string itemCode);
+ //Task> GetManageTypesAsync(List itemCodes);
+
+ //Task UpsertAsyncByInterface(EquipmentLocCapEditInput input);
+ //Task UpsertStdPackQtyAsync(string itemCode, decimal stdpackqty);
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapCheckInput.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapCheckInput.cs
new file mode 100644
index 000000000..d7b272c8e
--- /dev/null
+++ b/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
+{
+ ///
+ /// 器具代码
+ ///
+ [Display(Name = "器具代码")]
+ public string Code { get; set; }
+ /// 占用百分比
+ ///
+ [Display(Name = "占用百分比")]
+ public decimal Percent { get; set; }
+
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapEditInput.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapEditInput.cs
new file mode 100644
index 000000000..ef9146b56
--- /dev/null
+++ b/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
+{
+ ///
+ /// 器具代码
+ ///
+ [Display(Name = "器具代码")]
+ public string Code { get; set; }
+ /// 占用百分比
+ ///
+ [Display(Name = "占用百分比")]
+ public decimal Percent { get; set; }
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapImportInput.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Equipments/Inputs/EquipmentLocCapImportInput.cs
new file mode 100644
index 000000000..796c95708
--- /dev/null
+++ b/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
+{
+ ///
+ /// 器具代码
+ ///
+ [Display(Name = "器具代码")]
+ public string Code { get; set; }
+ /// 占用百分比
+ ///
+ [Display(Name = "占用百分比")]
+ public decimal Percent { get; set; }
+ //[Display(Name = "零件代码")]
+
+ //public string PartCode { get; set; }
+
+ //[Display(Name = "当前数量")]
+ /////
+ ///// 录入数量
+ /////
+ //public decimal Qty { get; set; }
+ //[Display(Name = "标包数量")]
+ /////
+ ///// 标包数量
+ /////
+ //public decimal StdQty { get; set; }
+
+
+
+
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationAutoMapperProfile.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationAutoMapperProfile.cs
index 4f94c8ef2..c5301da0f 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationAutoMapperProfile.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationAutoMapperProfile.cs
@@ -54,6 +54,8 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
KittingAutoMapperProfile();
EquipmentLocAutoMapperProfile();
EquipmentPartCodeAutoMapperProfile();
-
+ EquipmentLocCapAutoMapperProfile();
+
+
}
}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAppService.cs
new file mode 100644
index 000000000..8b1e527b9
--- /dev/null
+++ b/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
+ , IEquipmentLocCapAppService
+{
+ private readonly IEquipmentLocCapManager _manager;
+ private new readonly IEquipmentLocCapRepository _repository;
+ private readonly IExportImportService _importService;
+ public EquipmentLocCapAppService(
+ IEquipmentLocCapRepository repository,
+ IDistributedCache 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(input);
+ await _repository.UpsertAsync(entity).ConfigureAwait(false);
+ }
+
+ [HttpPost]
+ [Route("")]
+ public override async Task 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(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(entity1);
+ }
+ else
+ {
+ throw new UserFriendlyException($"已存在器具编号{input.Code}!");
+ }
+ }
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAutoMapperProfile.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Equipments/EquipmentLocCapAutoMapperProfile.cs
new file mode 100644
index 000000000..fd94d51bb
--- /dev/null
+++ b/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()
+ .IgnoreAuditedObjectProperties()
+
+ .ReverseMap();
+
+ CreateMap()
+ .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()
+
+ //CreateMap()
+ // .Ignore(x => x.ItemCategory)
+ // .Ignore(x => x.Color);
+ CreateMap()
+ .IgnoreAuditedObjectProperties()
+ .Ignore(x => x.StdQty)
+ .Ignore(x => x.PartCode)
+ .Ignore(x => x.Qty)
+ .Ignore(x => x.ConcurrencyStamp).Ignore(x => x.Id);
+ }
+}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/EquipmentLocCap.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/EquipmentLocCap.cs
index d2e0183c5..facd32dde 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/EquipmentLocCap.cs
+++ b/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
{
///
- /// 器具编码
+ /// 器具代码
///
- public string EqptCode { get; set; }
+ public string Code { get; set; }
///
/// 零件号
///
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/IEquipmentLocCapRepository.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/IEquipmentLocCapRepository.cs
index 6bd79f7bf..1d8089fe8 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Equipments/IEquipmentLocCapRepository.cs
+++ b/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
+public interface IEquipmentLocCapRepository : ISfsBaseDataRepositoryBase, ISfsBulkRepositoryBase
{
Task UpsertAsync(EquipmentLocCap newData);
}
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentDbContextModelCreatingExtensions.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentDbContextModelCreatingExtensions.cs
index cf85b7de0..37b9c9852 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentDbContextModelCreatingExtensions.cs
+++ b/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();
});
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentEfCoreRepository.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentEfCoreRepository.cs
index 2c56b70d6..1d52ed2b1 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentEfCoreRepository.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentEfCoreRepository.cs
@@ -24,7 +24,7 @@ public class EquipmentEfCoreRepository : SfsBaseDataEfCoreRepositoryBase().AddAsync(cap).ConfigureAwait(false);
@@ -49,7 +49,7 @@ public class EquipmentEfCoreRepository : SfsBaseDataEfCoreRepositoryBase().AddAsync(cap).ConfigureAwait(false);
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentLocCapEfCoreRepository.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentLocCapEfCoreRepository.cs
index 2c0124040..6315ea9e0 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentLocCapEfCoreRepository.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/Equipments/EquipmentLocCapEfCoreRepository.cs
@@ -18,7 +18,7 @@ public class EquipmentLocCapEfCoreRepository : SfsBaseDataEfCoreRepositoryBase 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 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);