Browse Source

bug修改

dev_DY_CC
lvzb 1 year ago
parent
commit
3e07bc0f9b
  1. 1
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnRequestController.cs
  2. 10
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/DTOs/ProductionLineDTO.cs
  3. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineEditInput.cs
  4. 13
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineImportInput.cs
  5. 47
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLineItems/ProductionLineItemAppService.cs
  6. 43
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAppService.cs
  7. 1
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAutoMapperProfile.cs
  8. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/ProductionLines/ProductionLine.cs
  9. 42
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumPositionCodeType.cs

1
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnRequestController.cs

@ -41,6 +41,7 @@ public class PurchaseReturnRequestController : AbpController
{
var list = group.ToList();
var entity = ObjectMapper.Map<PurchaseReturnRequestPdaInput, PurchaseReturnRequestEditInput>(list[0]);
entity.ReturnTime = DateTime.Now;
await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false);
entity.Details = new List<PurchaseReturnRequestDetailInput>();
foreach (var item in list)

10
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/DTOs/ProductionLineDTO.cs

@ -20,13 +20,17 @@ public class ProductionLineDTO : SfsBaseDataDTOBase, IHasCode, IHasName
public string Code { get; set; }
/// <summary>
/// 库位
/// 生产库位代码
/// </summary>
[Display(Name = "库位代码")]
[Display(Name = "生产库位代码")]
[Key]
[IgnoreUpdate]
public string LocationCode { get; set; }
/// <summary>
/// 描述
/// </summary>
[Display(Name = "库位描述")]
public string LocationDescription { get; set; }
/// <summary>
/// 名称
/// </summary>

4
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineEditInput.cs

@ -18,9 +18,9 @@ public class ProductionLineEditInput : SfsBaseDataCreateOrUpdateInputBase
public string Code { get; set; }
/// <summary>
/// 库位
/// 生产库位代码
/// </summary>
[Display(Name = "库位代码")]
[Display(Name = "生产库位代码")]
[Key]
[IgnoreUpdate]
public string LocationCode { get; set; }

13
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineImportInput.cs

@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Entities;
using Win_in.Sfs.Shared.Domain.Shared;
@ -15,21 +16,24 @@ public class ProductionLineImportInput : SfsBaseDataImportInputBase
/// </summary>
[Display(Name = "生产线代码")]
[Key]
[IgnoreUpdate]
[Required(ErrorMessage = "{0}是必填项")]
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string Code { get; set; }
/// <summary>
/// 库位
/// 生产库位代码
/// </summary>
[Display(Name = "库位代码")]
[Display(Name = "生产库位代码")]
[Key]
[IgnoreUpdate]
[Required(ErrorMessage = "{0}是必填项")]
public string LocationCode { get; set; }
/// <summary>
/// 名称
/// </summary>
[Display(Name = "名称")]
[Required(ErrorMessage = "{0}是必填项")]
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string Name { get; set; }
/// <summary>
@ -42,5 +46,6 @@ public class ProductionLineImportInput : SfsBaseDataImportInputBase
/// 生产线类型
/// </summary>
[Display(Name = "生产线类型")]
[Required(ErrorMessage = "{0}是必填项")]
public EnumProductionLineType ProductionLineType { get; set; }
}

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

@ -3,16 +3,21 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using DocumentFormat.OpenXml.Office2010.ExcelAc;
using DocumentFormat.OpenXml.Office2016.Drawing.ChartDrawing;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.Caching;
using Volo.Abp.ObjectMapping;
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.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using static Win_in.Sfs.Basedata.Domain.BasedataSettings;
namespace Win_in.Sfs.Basedata.Application;
@ -41,16 +46,58 @@ public class ProductionLineItemAppService :
var entity = ObjectMapper.Map<ProductionLineItemEditInput, ProductionLineItem>(input);
await _repository.UpdateAsync(entity).ConfigureAwait(false);
}
/// <summary>
/// 用来重写 导入数据时可以加工数据
/// </summary>
/// <param name="dictionary"></param>
/// <returns></returns>
protected override async Task<Dictionary<ProductionLineItem, EntityState>> ImportProcessingEntityAsync(Dictionary<ProductionLineItem, EntityState> dictionary)
{
var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
foreach (var list in addList)
{
if (!string.IsNullOrEmpty(list.RawLocationCodeListJson))
{
var rawlocationcodelist = list.RawLocationCodeListJson.Split(",");
list.RawLocationCodeListJson = JsonSerializer.Serialize(rawlocationcodelist);
}
if (!string.IsNullOrEmpty(list.ProductLocationCodeListJson))
{
var productlocationcodelist = list.ProductLocationCodeListJson.Split(",");
list.ProductLocationCodeListJson = JsonSerializer.Serialize(productlocationcodelist);
}
if (!string.IsNullOrEmpty(list.WipLocationCodeListJson))
{
var wiplocationcodelist = list.WipLocationCodeListJson.Split(",");
list.WipLocationCodeListJson = JsonSerializer.Serialize(wiplocationcodelist);
}
}
return dictionary;
}
protected override async Task ValidateImportModelAsync(ProductionLineItemImportInput importInput,
List<ValidationResult> validationRresult)
{
await base.ValidateImportModelAsync(importInput, validationRresult).ConfigureAwait(false);
await CheckItemBasicItemCodeAsync(importInput.ItemCode, validationRresult).ConfigureAwait(false);
await CheckProductionLineProdLineCodeAsync(importInput.ProdLineCode, validationRresult).ConfigureAwait(false);
CheckProductionLineProdLineCodeJsonAsync(importInput.RawLocationCodeListJson, validationRresult);
CheckProductionLineProdLineCodeJsonAsync(importInput.ProductLocationCodeListJson, validationRresult);
CheckProductionLineProdLineCodeJsonAsync(importInput.WipLocationCodeListJson, validationRresult);
}
private void CheckProductionLineProdLineCodeJsonAsync(string locationCodeList, List<ValidationResult> validationRresult)
{
if(!string.IsNullOrEmpty(locationCodeList))
{
if (!locationCodeList.Contains(','))
{
validationRresult.Add(new ValidationResult($"维护的库位{locationCodeList}不包含,号", new string[] { "库位" }));
}
}
}
[HttpPost("get-by-product")]
public virtual async Task<List<ProductionLineItemDTO>> GetByProductLineCodeAsync(string productLineCode)
{

43
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAppService.cs

@ -1,14 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Caching;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.ObjectMapping;
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.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application;
@ -26,11 +31,14 @@ public class ProductionLineAppService
private readonly IWorkGroupAppService _workGroupAppService;
private readonly ILocationAppService _locationAppService;
public ProductionLineAppService(
IProductionLineRepository repository
, IDistributedCache<ProductionLineDTO> cache
, IProductionLineManager manager
, IWorkGroupAppService workGroupAppService
, ILocationAppService locationAppService
) : base(repository, cache)
{
_repository = repository;
@ -40,6 +48,7 @@ public class ProductionLineAppService
base.DeletePolicyName = ProductionLinePermissions.Delete;
_workGroupAppService = workGroupAppService;
_locationAppService=locationAppService;
}
[HttpPost("upsert")]
@ -78,4 +87,38 @@ public class ProductionLineAppService
return ObjectMapper.Map<List<ProductionLine>, List<ProductionLineDTO>>(entitList);
}
/// <summary>
/// 按条件获取分页列表
/// request sample
/// {
/// "maxResultCount": 1000,
/// "skipCount": 0,
/// "sorting": "",
/// "condition": { "filters": []}
/// }
/// </summary>
/// <param name="sfsRequestInput">RequestInput</param>
/// <param name="includeDetails">是否包含明细</param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpPost("list")]
public override async Task<PagedResultDto<ProductionLineDTO>> GetPagedListByFilterAsync(SfsBaseDataRequestInputBase sfsRequestInput, bool includeDetails = false,
CancellationToken cancellationToken = default)
{
Expression<Func<ProductionLine, bool>> expression = sfsRequestInput.Condition.Filters?.Count > 0
? sfsRequestInput.Condition.Filters.ToLambda<ProductionLine>()
: p => true;
var list = await GetPagedListAsync(expression, sfsRequestInput.SkipCount, sfsRequestInput.MaxResultCount, sfsRequestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
foreach (var item in list.Items)
{
var location=await _locationAppService.GetByCodeAsync(item.Code).ConfigureAwait(false);
item.LocationDescription = location?.Name;
}
return list;
}
}

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

@ -10,6 +10,7 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
private void ProductionLineAutoMapperProfile()
{
CreateMap<ProductionLine, ProductionLineDTO>()
.Ignore(x => x.LocationDescription)
.ReverseMap();
CreateMap<ProductionLineImportInput, ProductionLine>()

4
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/ProductionLines/ProductionLine.cs

@ -19,9 +19,9 @@ public class ProductionLine : SfsBaseDataAggregateRootBase, IHasCode, IHasName
public string Code { get; set; }
/// <summary>
/// 库位
/// 生产库位代码
/// </summary>
[Display(Name = "库位代码")]
[Display(Name = "生产库位代码")]
[IgnoreUpdate]
public string LocationCode { get; set; }

42
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumPositionCodeType.cs

@ -12,25 +12,43 @@ namespace Win_in.Sfs.Shared.Domain.Shared;
/// </summary>
public enum EnumPositionCodeType
{
//20240520静雯让修改
/// <summary>
/// 注塑区
/// 原料
/// </summary>
[Display(Name = "注塑区")]
InjectionIssue = 1,
[Display(Name = "原料")]
RAW = 1,
/// <summary>
/// 喷涂区
/// 半成品
/// </summary>
[Display(Name = "喷涂区")]
CoatingIssue = 2,
/// <summary>
/// 装配区
/// </summary>
[Display(Name = "装配区")]
AssembleIssue = 3,
[Display(Name = "半成品")]
SEMI = 2,
/// <summary>
/// kitting区
/// </summary>
[Display(Name = "Kitting区")]
KITTING = 4
KITTING = 3
///// <summary>
///// 注塑区
///// </summary>
//[Display(Name = "注塑区")]
//InjectionIssue = 1,
///// <summary>
///// 喷涂区
///// </summary>
//[Display(Name = "喷涂区")]
//CoatingIssue = 2,
///// <summary>
///// 装配区
///// </summary>
//[Display(Name = "装配区")]
//AssembleIssue = 3,
///// <summary>
///// kitting区
///// </summary>
//[Display(Name = "Kitting区")]
//KITTING = 4
}

Loading…
Cancel
Save