Browse Source

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

dev_DY_CC
lvzb 1 year ago
parent
commit
3ea7a04264
  1. 5
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/CustomerItems/ICustomerItemAppService.cs
  2. 12
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/CustomerItems/CustomerItemAppService.cs
  3. 7
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs
  4. 16
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransType.cs
  5. 22
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/Statuses/EnumRequestStatus.cs
  6. 35
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/Types/EnumInjectionModelType.cs
  7. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CustomerProductionReturnNotes/DTOs/CustomerProductionReturnNoteDTO.cs
  8. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CustomerProductionReturnNotes/Inputs/CustomerProductionReturnNoteEditInput.cs
  9. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CustomerProductionReturnNotes/Inputs/CustomerProductionReturnNoteImportInput.cs
  10. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/MesNotes/DTOs/MesNoteDTO.cs
  11. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/MesNotes/Inputs/MesNoteEditInput.cs
  12. 17
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/InjectioModelPlans/DTOs/InjectioModelPlanDTO.cs
  13. 15
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/InjectioModelPlans/Inputs/InjectioModelPlanEditInput.cs
  14. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionJobs/InjectionJobAppService.cs
  15. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs
  16. 60
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CustomerProductionReturnNotes/CustomerProductionReturnNoteAppService.cs
  17. 36
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/MesNotes/MesNoteAppService.cs
  18. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/InjectioModelPlans/InjectioModelPlanAppService.cs
  19. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CustomerProductionReturnNotes/CustomerProductionReturnNote.cs
  20. 5
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/MesNotes/MesNote.cs
  21. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/InjectioModelPlans/InjectioModelPlan.cs
  22. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/CustomerProductionReturnNotes/CustomerProductionReturnNoteDbContextModelCreatingExtensions.cs
  23. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Plans/InjectioModelPlans/InjectioModelPlanDbContextModelCreatingExtensions.cs
  24. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/InjectionJobEventHandler.cs
  25. 57
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/MesNoteEventHandler.cs

5
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/CustomerItems/ICustomerItemAppService.cs

@ -1,3 +1,6 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Shared.Application.Contracts;
namespace Win_in.Sfs.Basedata.Application.Contracts;
@ -7,5 +10,5 @@ public interface ICustomerItemAppService
, ISfsUpsertAppService<CustomerItemEditInput>
{
Task<List<CustomerItem>> GetListByPartsAsync(List<string> inputs);
}

12
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/CustomerItems/CustomerItemAppService.cs

@ -1,8 +1,11 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Caching;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
@ -36,7 +39,6 @@ public class CustomerItemAppService : SfsBaseDataAppServiceBase<CustomerItem, Cu
}
[HttpPost("upsert")]
public virtual async Task UpsertAsync(CustomerItemEditInput input)
{
var entity = ObjectMapper.Map<CustomerItemEditInput, CustomerItem>(input);
@ -48,4 +50,12 @@ public class CustomerItemAppService : SfsBaseDataAppServiceBase<CustomerItem, Cu
await base.CheckItemBasicItemCodeAsync(importInput.ItemCode, validationRresult).ConfigureAwait(false);
await base.CheckCustomerCodeAsync(importInput.CustomerCode, validationRresult).ConfigureAwait(false);
}
[HttpPost("get-part-list")]
public virtual async Task<List<CustomerItem>> GetListByPartsAsync(List<string> inputs)
{
return await _repository.WithDetails().Where(p => inputs.Contains(p.ItemCode)).ToListAsync().ConfigureAwait(false);
}
}

7
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs

@ -214,12 +214,7 @@ public enum EnumTransSubType
/// </summary>
[Display(Name = "导入盘点计划")]
ExcelInCountPlan = 6002,
[Display(Name = "MES冻结")]
MesFreeze = 10001,
[Display(Name = "MES解冻")]
MesUnFreeze = 10002,
[Display(Name = "MES不合格")]
MesUnQualified = 10003

16
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransType.cs

@ -161,5 +161,21 @@ public enum EnumTransType
/// <summary>
/// MES冻结
/// </summary>
[Display(Name = "Mes冻结")]
MesFreezed= 40,
/// <summary>
/// MES冻结
/// </summary>
[Display(Name = "Mes解冻")]
MesUnFreezed = 41,
}

22
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/Statuses/EnumRequestStatus.cs

@ -65,17 +65,17 @@ public enum EnumRequestStatus
Partial = 9,
/// <summary>
/// 部分完成
/// </summary>
[Display(Name = "已过时")]
Deprecated = 10,
/// <summary>
/// 有更新
/// </summary>
[Display(Name = "有更新")]
Updated = 10,
///// <summary>
///// 部分完成
///// </summary>
//[Display(Name = "已过时")]
//Deprecated = 11,
///// <summary>
///// 有更新
///// </summary>
//[Display(Name = "有更新")]
//Updated = 10,

35
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/Types/EnumInjectionModelType.cs

@ -0,0 +1,35 @@
using System.ComponentModel.DataAnnotations;
namespace Win_in.Sfs.Shared.Domain.Shared;
public enum EnumInjectionModelStatus
{
/// <summary>
/// 有更新
/// </summary>
[Display(Name = "有更新")]
Updated = 10,
/// <summary>
/// 执行中
/// </summary>
[Display(Name = "执行中")]
Handling = 5,
/// <summary>
/// 部分完成
/// </summary>
[Display(Name = "已过时")]
Deprecated = 11,
/// <summary>
/// 已完成
/// </summary>
[Display(Name = "已完成")]
Completed = 6,
/// <summary>
/// 新增
/// </summary>
[Display(Name = "新增")]
New = 1
}

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CustomerProductionReturnNotes/DTOs/CustomerProductionReturnNoteDTO.cs

@ -15,6 +15,14 @@ public class CustomerProductionReturnNoteDTO : SfsStoreDTOBase<CustomerProductio
[Display(Name = "任务ID")]
public string JobNumber { get; set; }
/// <summary>
///客户编码
/// </summary>
[Display(Name = "客户编码")]
public string CustomerCode { get; set; }
/// <summary>
/// 退料单号
/// </summary>

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CustomerProductionReturnNotes/Inputs/CustomerProductionReturnNoteEditInput.cs

@ -23,6 +23,14 @@ public class CustomerProductionReturnNoteEditInput : SfsStoreCreateOrUpdateInput
[Display(Name = "退料时间")]
public DateTime ReturnTime { get; set; }
/// <summary>
///客户编码
/// </summary>
[Display(Name = "客户编码")]
public string CustomerCode { get; set; }
/// <summary>
/// 退料申请单号
/// </summary>

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CustomerProductionReturnNotes/Inputs/CustomerProductionReturnNoteImportInput.cs

@ -26,6 +26,14 @@ public class CustomerProductionReturnNoteImportInput : SfsStoreImportInputBase
[Display(Name = "退料单号")]
public string ProductionReturnRequestNumber { get; set; }
/// <summary>
///客户编码
/// </summary>
[Display(Name = "客户编码")]
public string CustomerCode { get; set; }
/// <summary>
/// 采购订单号
/// </summary>

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/MesNotes/DTOs/MesNoteDTO.cs

@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -12,7 +13,7 @@ public class MesNoteDTO : SfsStoreDTOBase<MesNoteDetailDTO>, IHasNumber
public string JobNumber { get; set; }
/// <summary>
/// 类型
/// Mes类型(40-冻结、41-解冻 )
/// </summary>
[Display(Name = "类型")]
public string Type { get; set; }

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/MesNotes/Inputs/MesNoteEditInput.cs

@ -1,6 +1,7 @@
using System.Collections.Generic;
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.Store.Types;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -28,7 +29,7 @@ public class MesNoteEditInput : SfsStoreCreateOrUpdateInputBase
public string MesRequestNumber { get; set; }
/// <summary>
/// 报废类型
/// Mes类型(40-冻结、41-解冻 )
/// </summary>
[Display(Name = "类型")]
public string Type { get; set; }
@ -38,5 +39,10 @@ public class MesNoteEditInput : SfsStoreCreateOrUpdateInputBase
/// </summary>
[Display(Name = "明细列表")]
public List<MesNoteDetailInput> Details { get; set; }
#endregion
}

17
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/InjectioModelPlans/DTOs/InjectioModelPlanDTO.cs

@ -2,6 +2,7 @@ using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -10,6 +11,22 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
/// </summary>
public class InjectioModelPlanDTO : SfsStoreRequestDTOBase<InjectioModelPlanDetailDTO>, IHasNumber
{
[ExporterHeader(DisplayName = "状态")]
public EnumInjectionModelStatus Status { get; set; }
[ExporterHeader(DisplayName = "版本号")]
/// <summary>
/// 版本号
/// </summary>
public string Version { get; set; }
/// <summary>
/// 车间
/// </summary>

15
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/InjectioModelPlans/Inputs/InjectioModelPlanEditInput.cs

@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -67,6 +69,19 @@ public class InjectioModelPlanEditInput : SfsStoreRequestCreateOrUpdateInputBase
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string Number { get; set; }
[Display(Name = "状态")]
public EnumInjectionModelStatus Status { get; set; }
[Display(Name = "版本号")]
/// <summary>
/// 版本号
/// </summary>
public string Version { get; set; }
/// <summary>
/// 明细列表
/// </summary>

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionJobs/InjectionJobAppService.cs

@ -158,4 +158,11 @@ public class InjectionJobAppService
{
throw new NotImplementedException();
}
[HttpPost("test")]
public virtual async Task Test()
{
Console.WriteLine("FuAZCZXVZXVXZVZ");
await Task.CompletedTask;
}
}

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs

@ -3,6 +3,7 @@ using System.Reflection;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
@ -18,10 +19,12 @@ public class TransferLibJobAppService
: SfsJobAppServiceBase<TransferLibJob, TransferLibJobDetail, TransferLibJobDTO, SfsJobRequestInputBase, TransferLibJobCheckInput, TransferLibJobEditInput>,
ITransferLibJobAppService
{
private readonly IServiceProvider _serviceProvider;
public TransferLibJobAppService(
ITransferLibJobRepository repository, ITransferLibJobManager TransferLibJobManager
) : base(repository, TransferLibJobManager)
ITransferLibJobRepository repository, ITransferLibJobManager TransferLibJobManager, IServiceProvider serviceProvider) : base(repository, TransferLibJobManager)
{
_serviceProvider = serviceProvider;
}
/// <summary>
@ -32,6 +35,11 @@ public class TransferLibJobAppService
/// <returns></returns>
public override async Task<TransferLibJobDTO> CompleteAsync(Guid id, TransferLibJobDTO dto)
{
var str = "Win_in.Sfs.Wms.Store.Application.InjectionJobAppService";
var implementation=_serviceProvider.GetService(Type.GetType("Win_in.Sfs.Wms.Store.Application.InjectionJobAppService"));
MethodInfo methodInfo=implementation.GetType().GetMethod("Test");
methodInfo.Invoke(implementation, null);
string methodPrefix = "TransferLibJobAppService.CompleteAsync - ";
if (dto.CallServerName.IsNullOrEmpty())

60
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CustomerProductionReturnNotes/CustomerProductionReturnNoteAppService.cs

@ -1,6 +1,10 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Omu.ValueInjecter;
using Volo.Abp;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
@ -20,11 +24,21 @@ public class CustomerProductionReturnNoteAppService :
{
private readonly ICustomerProductionReturnNoteManager _CustomerProductionReturnNoteManager;
private readonly ICustomerItemAppService _customerItemAppService;
public CustomerProductionReturnNoteAppService(
ICustomerProductionReturnNoteRepository repository
, ICustomerProductionReturnNoteManager CustomerProductionReturnNoteManager
, ICustomerItemAppService customerItemAppService
) : base(repository)
{
_customerItemAppService = customerItemAppService;
_CustomerProductionReturnNoteManager = CustomerProductionReturnNoteManager;
}
@ -38,15 +52,55 @@ public class CustomerProductionReturnNoteAppService :
public override async Task<CustomerProductionReturnNoteDTO> CreateAsync(CustomerProductionReturnNoteEditInput input)
{
var entity = ObjectMapper.Map<CustomerProductionReturnNoteEditInput, CustomerProductionReturnNote>(input);
var parts= input.Details.Select(itm => itm.ItemCode).Distinct();
var custitmDetail = await _customerItemAppService.GetListByPartsAsync(parts.ToList()).ConfigureAwait(false);
var checkPart= from itm in entity.Details.ToList()
join itm1 in custitmDetail
on itm.ItemCode equals itm1.ItemCode
into temp
from tm in temp.DefaultIfEmpty()
where tm == null
select itm;
var partErr = checkPart.Select(x => x.ItemCode).Distinct().ToList();
if (partErr.Count > 0)
{
throw new UserFriendlyException($"客户零件{string.Join(",",partErr)}不在零件关系表中,不能退货!");
}
var checkCustomer= from itm in entity.Details.ToList()
join itm1 in custitmDetail
on itm.ItemCode equals itm1.ItemCode
select itm1;
var custErr= checkCustomer.Select(x => x.CustomerCode).Distinct().ToList();
if (custErr.Count > 1)
{
throw new UserFriendlyException($"提交客户退货零件{string.Join(",", custErr)}存在多个客户,不能退货!");
}
if(entity.Details.Count>0)
{
entity.CustomerCode = checkCustomer.FirstOrDefault().CustomerCode;
}
foreach (var itm in entity.Details)
{
itm.FromLocationCode = "HOLD";
itm.FromLocationCode = "OK";
itm.FromStatus = EnumInventoryStatus.OK;
itm.ToStatus=EnumInventoryStatus.OK;
itm.FromLocationArea = "OK";
itm.FromLocationErpCode= "OK";
itm.FromLot = "NONE";
itm.FromPackingCode = "NONE";
itm.FromWarehouseCode = "OK";
itm.FromLocationGroup = "OK";
itm.FromContainerCode = "OK";
itm.ToContainerCode =string.IsNullOrEmpty(itm.ToContainerCode)? "OK": itm.ToContainerCode;
itm.ToWarehouseCode= string.IsNullOrEmpty(itm.ToWarehouseCode)? "OK": itm.ToContainerCode;
}
await _CustomerProductionReturnNoteManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<CustomerProductionReturnNote, CustomerProductionReturnNoteDTO>(entity);
return dto;

36
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/MesNotes/MesNoteAppService.cs

@ -83,24 +83,24 @@ public class MesNoteAppService :
#region 添加校验
//RecommendBalanceRequestInput rInput = new RecommendBalanceRequestInput();
//rInput.ItemCode = detail.ItemCode;
//rInput.Locations = new List<string>() { detail.FromLocationCode };
//rInput.Qty = detail.Qty;
//rInput.Statuses = new List<EnumInventoryStatus> { EnumInventoryStatus.OK };
//var balanceLst = await _balanceAppService.GetRecommendBalancesByLocationsAsync(rInput).ConfigureAwait(false);
//var first = balanceLst.FirstOrDefault();
//if (first != null)
//{
// if (detail.Qty <= first.Qty)
// {
// throw new UserFriendlyException($"库存数量不足");
// }
//}
//else
//{
// throw new UserFriendlyException($"库存数量不足");
//}
RecommendBalanceRequestInput rInput = new RecommendBalanceRequestInput();
rInput.ItemCode = detail.ItemCode;
rInput.Locations = new List<string>() { detail.FromLocationCode };
rInput.Qty = detail.Qty;
rInput.Statuses = new List<EnumInventoryStatus> { EnumInventoryStatus.OK };
var balanceLst = await _balanceAppService.GetRecommendBalancesByLocationsAsync(rInput).ConfigureAwait(false);
var first = balanceLst.FirstOrDefault();
if (first != null)
{
if (detail.Qty <= first.Qty)
{
throw new UserFriendlyException($"库存数量不足");
}
}
else
{
throw new UserFriendlyException($"库存数量不足");
}
#endregion
}

13
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/InjectioModelPlans/InjectioModelPlanAppService.cs

@ -29,24 +29,17 @@ public class InjectioModelPlanAppService :
{
private readonly IBomAppService _bomAppService;
private readonly IInjectioModelPlanManager _InjectioModelPlanManager;
//private readonly IWorkShopAppService _workShopApp;
/* private readonly IProductionLineAppService _productionLineApp*/
//private readonly ITeamAppService _teamApp;
//private readonly IShiftAppService _shiftApp;
public InjectioModelPlanAppService(IInjectioModelPlanRepository repository,
IInjectioModelPlanManager InjectioModelPlanManager
, IWorkShopAppService workShopApp
, IBomAppService bomAppService
, IProductionLineAppService productionLineApp
//, ITeamAppService teamApp
//, IShiftAppService shiftApp
) : base(repository, InjectioModelPlanManager)
{
//_workShopApp = workShopApp;
//_productionLineApp = productionLineApp;
//_teamApp = teamApp;
//_shiftApp = shiftApp;
_InjectioModelPlanManager = InjectioModelPlanManager;
_bomAppService=bomAppService;
base.CreatePolicyName = InjectioModelPlanPermissions.Create;

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CustomerProductionReturnNotes/CustomerProductionReturnNote.cs

@ -20,6 +20,14 @@ public class CustomerProductionReturnNote : SfsStoreAggregateRootBase<CustomerPr
/// </summary>
public string ProductionReturnRequestNumber { get; set; }
/// <summary>
///客户编码
/// </summary>
public string CustomerCode { get; set; }
/// <summary>
/// 退料时间
/// </summary>

5
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/MesNotes/MesNote.cs

@ -1,11 +1,12 @@
using System.Collections.Generic;
using Win_in.Sfs.Shared.Domain.Entities;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store.Types;
namespace Win_in.Sfs.Wms.Store.Domain;
/// <summary>
/// 报废记录
/// MES冻结记录
/// </summary>
public class MesNote : SfsStoreAggregateRootBase<MesNoteDetail>, IHasJobNumber
{
@ -22,7 +23,7 @@ public class MesNote : SfsStoreAggregateRootBase<MesNoteDetail>, IHasJobNumber
public string MesRequestNumber { get; set; }
/// <summary>
/// Mes类型
/// Mes类型(40-冻结、41-解冻 )
/// </summary>
[IgnoreUpdate]
public string Type { get; set; }

13
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/InjectioModelPlans/InjectioModelPlan.cs

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Win_in.Sfs.Shared.Domain.Entities;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Domain;
@ -41,6 +42,18 @@ public class InjectioModelPlan : SfsStoreRequestAggregateRootBase<InjectioModelP
/// </summary>
public DateTime PlanTime { get; set; }
/// <summary>
/// 版本号
/// </summary>
public string Version { get; set; }
/// <summary>
/// 状态
/// </summary>
public EnumInjectionModelStatus Status { get; set; }
/// <summary>
/// 明细列表
/// </summary>

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/CustomerProductionReturnNotes/CustomerProductionReturnNoteDbContextModelCreatingExtensions.cs

@ -20,6 +20,8 @@ public static class CustomerProductionReturnNoteDbContextModelCreatingExtensions
b.ConfigureSfsStoreBase();
//Properties
b.Property(q => q.JobNumber).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.CustomerCode).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.ProductionReturnRequestNumber).HasMaxLength(SfsPropertyConst.CodeLength);
//Relations
b.HasMany(q => q.Details).WithOne().HasForeignKey(d => d.MasterID).IsRequired();

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Plans/InjectioModelPlans/InjectioModelPlanDbContextModelCreatingExtensions.cs

@ -26,6 +26,9 @@ public static class InjectioModelPlanDbContextModelCreatingExtensions
b.Property(q => q.PlanDate).IsRequired();
b.Property(q => q.PlanTime).IsRequired();
b.Property(q => q.Version).HasMaxLength(SfsPropertyConst.NameLength);
b.Property(q => q.RequestStatus).HasMaxLength(SfsPropertyConst.NameLength).HasConversion<string>();
//Relations

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/InjectionJobEventHandler.cs

@ -167,11 +167,6 @@ public class InjectionJobEventHandler :
detailInput.FromLocationErpCode= detail.RecommendFromLocationErpCode;
detailInput.FromWarehouseCode= detail.RecommendFromWarehouseCode;
detailInput.ToLocationCode = "YL1";
detailInput.ToLocationErpCode = "YL1";
detailInput.ToLocationGroup = "YL1";
detailInput.ToLocationArea = "YL1";
detailInput.FromLot = detail.RecommendLot;
detailInput.ToLot=detail.RecommendLot;
detailInput.Qty=detail.RecommendQty;
@ -179,7 +174,7 @@ public class InjectionJobEventHandler :
detailInput.Uom=detail.Uom;
detailInput.SupplierBatch = detail.RecommendSupplierBatch;
await _transferLibRequestAppService.CreateAsync(input);
await _transferLibRequestAppService.CreateAsync(input).ConfigureAwait(false);
}
}

57
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/MesNoteEventHandler.cs

@ -19,7 +19,9 @@ public class MesNoteEventHandler
, ILocalEventHandler<SfsCreatedEntityEventData<List<MesNote>>>
{
private const EnumTransType TransType = EnumTransType.Scrap;
//private const EnumTransType FreezedTransType = EnumTransType.MesFreezed;
//private const EnumTransType UnFreezedTransType = EnumTransType.MesUnFreezed;
[UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<MesNote> eventData)
@ -53,9 +55,6 @@ public class MesNoteEventHandler
//{
var transferLogs = new List<TransferLogEditInput>();
foreach (var MesNote in MesNotes)
{
@ -63,24 +62,26 @@ public class MesNoteEventHandler
}
await TransferLogAppService.AddManyAsync(transferLogs).ConfigureAwait(false);
var transactions = new List<TransactionEditInput>();
foreach (var MesNote in MesNotes)
{
transactions.AddRange(BuildTransactions(MesNote));
}
//var transactions = new List<TransactionEditInput>();
//foreach (var MesNote in MesNotes)
//{
// transactions.AddRange(BuildTransactions(MesNote));
//}
await TransactionAppService.AddManyAsync(transactions).ConfigureAwait(false);
//await TransactionAppService.AddManyAsync(transactions).ConfigureAwait(false);
//}
}
private List<TransferLogEditInput> BuildTransferLogs(MesNote MesNote)
{
var transferLogs = new List<TransferLogEditInput>();
foreach (var detail in MesNote.Details.Where(detail => detail.Qty != 0))
{
var transferLog = ObjectMapper.Map<MesNoteDetail, TransferLogEditInput>(detail);
transferLog.TransType = TransType;
transferLog.TransSubType = Enum.Parse<EnumTransSubType>(MesNote.Type);
transferLog.TransType = Enum.Parse<EnumTransType>(MesNote.Type); ;
transferLog.TransSubType = EnumTransSubType.None;
transferLog.Worker = MesNote.Worker;
transferLog.DocNumber = MesNote.Number;
transferLog.JobNumber = MesNote.JobNumber;
@ -90,24 +91,24 @@ public class MesNoteEventHandler
return transferLogs;
}
private List<TransactionEditInput> BuildTransactions(MesNote deliverNote)
{
var transactions = new List<TransactionEditInput>();
//private List<TransactionEditInput> BuildTransactions(MesNote deliverNote)
//{
// var transactions = new List<TransactionEditInput>();
foreach (var detail in deliverNote.Details)
{
var transaction = ObjectMapper.Map<MesNoteDetail, TransactionEditInput>(detail);
transaction.TransType = TransType;
transaction.TransInOut = EnumTransInOut.Out;
transaction.Worker = deliverNote.Worker;
transaction.DocNumber = deliverNote.Number;
transaction.JobNumber = deliverNote.JobNumber;
transactions.Add(transaction);
}
// foreach (var detail in deliverNote.Details)
// {
// var transaction = ObjectMapper.Map<MesNoteDetail, TransactionEditInput>(detail);
// transaction.TransType = deliverNote.Type;
// transaction.TransInOut = EnumTransInOut.Out;
// transaction.Worker = deliverNote.Worker;
// transaction.DocNumber = deliverNote.Number;
// transaction.JobNumber = deliverNote.JobNumber;
// transactions.Add(transaction);
// }
return transactions;
}
// return transactions;
//}
#endregion
}

Loading…
Cancel
Save