Browse Source

需求变更 修改Kitting组包

dev_DY_CC
郑勃旭 12 months ago
parent
commit
e7859909b3
  1. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/DTOs/KittingDetailDTO.cs
  2. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingDetailInput.cs
  3. 5
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Kittings/Inputs/KittingImportInput.cs
  4. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Kittings/KittingDetail.cs
  5. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs
  6. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs
  7. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs
  8. 10
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/DTOs/ChassisOperationSequenceSearchDTO.cs
  9. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/IChassisOperationSequenceAppService.cs
  10. 52
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ChassisOperationSequence/ChassisOperationSequenceAppService.cs
  11. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/KittingPackagingNotes/KittingPackagingNoteAppService.cs
  12. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Chassis/Chassis.cs

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

@ -52,6 +52,9 @@ public class KittingDetailDTO: AuditedEntityDto<Guid>, IMultiTenant, IRemark
[Display(Name = "配置")]
public string Conf { set; get; }
[Display(Name = "配置")]
public string Configuration { get; set; }
public Guid? TenantId { set; get; }
public string Remark { get; set; }

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

@ -32,7 +32,8 @@ public class KittingDetailInput: EntityDto<Guid>, IMultiTenant, IRemark
[Display(Name = "描述2")]
public string ItemDesc2 { set; get; }
[Display(Name = "配置")]
public string Configuration { get; set; }
/// <summary>
/// 物品名称

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

@ -42,12 +42,13 @@ public class KittingImportInput : SfsBaseDataImportInputBase
[Display(Name = "物品名称")]
public string ItemName { get; set; }
[Display(Name = "配置")]
public string Configuration { get; set; }
/// <summary>
/// 数量

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

@ -34,6 +34,9 @@ public class KittingDetail : AuditedEntity<Guid>, IMultiTenant, IRemark
[Display(Name = "物品名称")]
public string ItemName { get; set; }
[Display(Name = "配置")]
public string Configuration { get; set; }
/// <summary>
/// 包装数量

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs

@ -53,4 +53,10 @@ public class ChassisDTO : SfsBasicDTOBase
public string ItemDesc1 { get; set; }
public string ItemDesc2 { get; set; }
/// <summary>
/// 配置号
/// </summary>
[Display(Name = "配置号")]
public string Configuration { get; set; }
}

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs

@ -53,4 +53,10 @@ public class ChassisEditInput
public string ItemDesc1 { get; set; }
public string ItemDesc2 { get; set; }
/// <summary>
/// 配置号
/// </summary>
[Display(Name = "配置号")]
public string Configuration { get; set; }
}

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs

@ -56,4 +56,10 @@ public class ChassisImportInput : SfsStoreImportInputBase
public string ItemDesc1 { get; set; }
public string ItemDesc2 { get; set; }
/// <summary>
/// 配置号
/// </summary>
[Display(Name = "配置号")]
public string Configuration { get; set; }
}

10
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/DTOs/ChassisOperationSequenceSearchDTO.cs

@ -1,13 +1,19 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Win_in.Sfs.Basedata.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class ChassisOperationSequenceSearchDTO
{
public List<string> ChassisOperationItemCode { get; set; }=new List<string>();
public List<string> ChassisNumberList { get; set; }
public List<string> KittingItemCode { get; set; } = new List<string>();
/// <summary>
/// Kitting组包Bom的物品号
/// </summary>
[Display(Name = "Kitting组包Bom的物品号")]
public string ItemCode { get; set; }
}

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ChassisOperationSequence/IChassisOperationSequenceAppService.cs

@ -1,3 +1,4 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
@ -27,4 +28,6 @@ public interface IChassisOperationSequenceAppService
/// <returns></returns>
Task<PagedResultDto<ChassisDTO>> GetListWithNextCountAsync(int count, string kittingCode,
CancellationToken cancellationToken = default);
Task<List<ChassisOperationSequenceSearchDTO>> GetBomWithKittingBomAsync(Dictionary<string,string> dictChassisItemCode,string kittingCode);
}

52
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ChassisOperationSequence/ChassisOperationSequenceAppService.cs

@ -1,10 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Dtos;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
@ -25,9 +27,11 @@ public class ChassisOperationSequenceAppService
private new readonly IChassisOperationSequenceRepository _repository;
private readonly IChassisOperationSequenceManager _manager;
private readonly IChassisAppService _chassisAppService;
private readonly IKittingAppService _kittingAppService;
private readonly IBomAppService _bomAppService;
public ChassisOperationSequenceAppService(
IChassisOperationSequenceRepository repository, IChassisOperationSequenceManager manager, IChassisAppService chassisAppService) : base(repository)
IChassisOperationSequenceRepository repository, IChassisOperationSequenceManager manager, IChassisAppService chassisAppService, IKittingAppService kittingAppService, IBomAppService bomAppService) : base(repository)
{
base.CreatePolicyName = ChassisOperationSequencePermissions.Create;
base.UpdatePolicyName = ChassisOperationSequencePermissions.Update;
@ -36,6 +40,8 @@ public class ChassisOperationSequenceAppService
_repository = repository;
_manager = manager;
_chassisAppService = chassisAppService;
_kittingAppService = kittingAppService;
_bomAppService = bomAppService;
}
/// <summary>
@ -99,9 +105,51 @@ public class ChassisOperationSequenceAppService
return await _chassisAppService.GetPagedListByFilterAsync(requestInput,false, cancellationToken).ConfigureAwait(false);
}
public async Task<> GetBomWithKittingBom()
[HttpPost("get-list-with-kitting-bom-chassis-bom")]
public async Task<List<ChassisOperationSequenceSearchDTO>> GetBomWithKittingBomAsync(Dictionary<string,string> dictChassisItemCode,string kittingCode)
{
//dictChassisItemCode key是底盘号 value是总成
//获取KittingCode用的ItemCode
var kittingDto =await _kittingAppService.GetByCodeAsync(kittingCode).ConfigureAwait(false);
var kittingItemCodeList = new List<string>();
foreach (var detail in kittingDto.Details)
{
kittingItemCodeList.Add(detail.ItemCode);
}
//用来存储所有底盘的BOM 只查询一次
var chassisBomItemCodeList= new Dictionary<string, List<string>>();
foreach (var dict in dictChassisItemCode)
{
var bomDtos = await _bomAppService.GetBomTreeByCodeAsync(dict.Value).ConfigureAwait(false);
var chassisItemCodeBomList = new List<string>();
foreach (var dto in bomDtos)
{
chassisItemCodeBomList.Add(dto.Component);
}
chassisBomItemCodeList.Add(dict.Key, chassisItemCodeBomList);
}
//要求显示根据总成做主条件
var listChassisOperationSequenceSearchList=new List<ChassisOperationSequenceSearchDTO>();
foreach (var itemCode in kittingItemCodeList)
{
var listChassisOperationSequenceSearchDto =new ChassisOperationSequenceSearchDTO();
listChassisOperationSequenceSearchDto.ItemCode = itemCode;
foreach (var dict in chassisBomItemCodeList)
{
if (dict.Value.Contains(itemCode))
{
listChassisOperationSequenceSearchDto.ChassisNumberList.Add(dict.Key);
}
}
}
return listChassisOperationSequenceSearchList;
}
#region 无用

4
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/KittingPackagingNotes/KittingPackagingNoteAppService.cs

@ -81,7 +81,9 @@ public class KittingPackagingNoteAppService
var hasItemCode= kittingItemCodeList.Intersect(chassisItemCode).ToList();
if (hasItemCode == null || hasItemCode.Count < 1)
{
throw new UserFriendlyException($"请检查Bom和Kitting代码【{input.KittingCode}】中的Kitting物品关系是否一致");
//应该不需要返回,因为底盘中可能存在不需要打包的
return null;
//throw new UserFriendlyException($"请检查Bom和Kitting代码【{input.KittingCode}】中的Kitting物品关系是否一致");
}
foreach (var itemCode in hasItemCode)

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Chassis/Chassis.cs

@ -54,4 +54,10 @@ public class Chassis : SfsAggregateRootBase
public string ItemDesc1 { get; set; }
public string ItemDesc2 { get; set; }
/// <summary>
/// 配置号
/// </summary>
[Display(Name = "配置号")]
public string Configuration { get; set; }
}

Loading…
Cancel
Save