You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
3.2 KiB

2 years ago
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.SettingManagement;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Basedata.Domain.Shared;
namespace Win_in.Sfs.Basedata.Application.Setttings;
[Authorize]
[Route($"{BasedataConsts.RootPath}settings")]
public class BasedataSettingsAppService :
SettingManagementAppServiceBase,
IBasedataSettingsAppService
{
private readonly ISettingManager _settingManager;
public BasedataSettingsAppService(ISettingManager settingManager)
{
_settingManager = settingManager;
}
[HttpGet]
public virtual async Task<BasedataSettingsDto> GetAsync()
{
var dto = new BasedataSettingsDto();
var settings = await _settingManager.GetAllGlobalAsync().ConfigureAwait(false);
dto.ItemStoreRelation_LocationTypes =
settings.Find(p => p.Name == BasedataSettings.ItemStoreRelation.LocationTypes)?.Value;
dto.ItemStoreRelation_NotFoundReturnInfinity =
settings.Find(p => p.Name == BasedataSettings.ItemStoreRelation.NotFoundReturnInfinity)?.Value;
dto.ErpLocationItem_NotFoundReturnInfinity =
settings.Find(p => p.Name == BasedataSettings.ErpLocationItem.NotFoundReturnInfinity)?.Value;
2 years ago
dto.ItemQuality_NotFoundReturnExempt =
settings.Find(p => p.Name == BasedataSettings.ItemQuality.NotFoundReturnExempt)?.Value;
dto.AQL_DefaultSampleQty =
settings.Find(p => p.Name == BasedataSettings.AQL.DefaultSampleQty)?.Value;
dto.AQL_UseAbcClass =
settings.Find(p => p.Name == BasedataSettings.AQL.UseAbcClass)?.Value;
dto.ItemPack_DefaultPackQty =
settings.Find(p => p.Name == BasedataSettings.ItemPack.DefaultPackQty)?.Value;
dto.Bom_DefaultMfgOp =
settings.Find(p => p.Name == BasedataSettings.Bom.DefaultMfgOp)?.Value;
return dto;
}
[HttpPut]
public virtual async Task UpdateAsync(BasedataSettingsUpdateInput input)
{
await _settingManager.SetGlobalAsync(BasedataSettings.ItemStoreRelation.LocationTypes, input.ItemStoreRelation_LocationTypes).ConfigureAwait(false);
await _settingManager.SetGlobalAsync(BasedataSettings.ItemStoreRelation.NotFoundReturnInfinity, input.ItemStoreRelation_NotFoundReturnInfinity).ConfigureAwait(false);
await _settingManager.SetGlobalAsync(BasedataSettings.ErpLocationItem.NotFoundReturnInfinity, input.ErpLocationItem_NotFoundReturnInfinity).ConfigureAwait(false);
2 years ago
await _settingManager.SetGlobalAsync(BasedataSettings.ItemQuality.NotFoundReturnExempt, input.ItemQuality_NotFoundReturnExempt).ConfigureAwait(false);
await _settingManager.SetGlobalAsync(BasedataSettings.AQL.DefaultSampleQty, input.AQL_DefaultSampleQty).ConfigureAwait(false);
await _settingManager.SetGlobalAsync(BasedataSettings.ItemPack.DefaultPackQty, input.ItemPack_DefaultPackQty).ConfigureAwait(false);
await _settingManager.SetGlobalAsync(BasedataSettings.AQL.UseAbcClass, input.AQL_UseAbcClass).ConfigureAwait(false);
await _settingManager.SetGlobalAsync(BasedataSettings.Bom.DefaultMfgOp, input.Bom_DefaultMfgOp).ConfigureAwait(false);
}
}