Files
WMS-Api/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs
2023-12-19 09:43:59 +08:00

274 lines
9.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.Web.Core.Dto.Erp;
using WMS.Web.Core.Dto.Erp.Customer;
using WMS.Web.Core.Dto.Erp.Org;
using WMS.Web.Core.Dto.Erp.Supplier;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService.Public;
namespace WMS.Web.Domain.Services.Public
{
/// <summary>
/// erp基础数据扩展服务
/// </summary>
public class ErpBasicDataExtendService: IErpBasicDataExtendService
{
private readonly IMapper _mapper;
private readonly IErpService _erpService;
private readonly ILoginService _loginService;
private readonly IBasicsRepositories _basicsRepositories;
public ErpBasicDataExtendService(IMapper mapper, ILoginService loginService, IErpService erpService,
IBasicsRepositories basicsRepositories)
{
_mapper = mapper;
_erpService = erpService;
_loginService = loginService;
_basicsRepositories = basicsRepositories;
}
/// <summary>
/// 获取物料名称
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialId"></param>
/// <returns></returns>
public string GetMaterialName(List<ErpMaterialDto> erpMaterials,int materialId)
{
if (erpMaterials == null && erpMaterials.Count == 0)
return "";
var mat= erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault();
if (mat == null)
{
var result= _erpService.BillQueryForMaterial(materialId).Result;
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.MaterialName;
}
return mat.MaterialName;
}
/// <summary>
/// 获取物料编码
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialId"></param>
/// <returns></returns>
public string GetMaterialNumber(List<ErpMaterialDto> erpMaterials, int materialId)
{
if (erpMaterials == null && erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialId).Result;
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.MaterialNumber;
}
return mat.MaterialNumber;
}
/// <summary>
/// 获取物料规格型号
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialId"></param>
/// <returns></returns>
public string GetMaterialSpecifications(List<ErpMaterialDto> erpMaterials, int materialId)
{
if (erpMaterials == null && erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialId).Result;
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.Specifications;
}
return mat.Specifications;
}
/// <summary>
/// 获取物料基本单位名称
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialId"></param>
/// <returns></returns>
public string GetMaterialUnitName(List<ErpMaterialDto> erpMaterials, int materialId)
{
if (erpMaterials == null && erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialId).Result;
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.BaseUnitName;
}
return mat.BaseUnitName;
}
/// <summary>
/// 获取物料基本单位Id
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialId"></param>
/// <returns></returns>
public int GetMaterialUnitId(List<ErpMaterialDto> erpMaterials, int materialId)
{
if (erpMaterials == null && erpMaterials.Count == 0)
return 0;
var mat = erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialId).Result;
if (!result.IsSuccess)
return 0;
return result.Data == null ? 0 : result.Data.BaseUnitId;
}
return mat.BaseUnitId;
}
/// <summary>
/// 获取物料基本单位编码
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialId"></param>
/// <returns></returns>
public string GetMaterialUnitNumber(List<ErpMaterialDto> erpMaterials, int materialId)
{
if (erpMaterials == null && erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialId).Result;
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.BaseUnitNumber;
}
return mat.BaseUnitNumber;
}
/// <summary>
/// 获取组织名称
/// </summary>
/// <param name="erpOrgs"></param>
/// <param name="orgId"></param>
/// <returns></returns>
public string GetOrgName(List<ErpOrgDto> erpOrgs, int orgId)
{
if (erpOrgs == null && erpOrgs.Count == 0)
return "";
var org = erpOrgs.Where(x => x.Id == orgId).FirstOrDefault();
return org == null ? "" : org.Name;
}
/// <summary>
/// 获取组织名称
/// </summary>
/// <param name="erpOrgs"></param>
/// <param name="orgCode"></param>
/// <returns></returns>
public string GetOrgName(List<ErpOrgDto> erpOrgs, string orgCode)
{
if (erpOrgs == null && erpOrgs.Count == 0)
return "";
var org = erpOrgs.Where(x => x.Number == orgCode).FirstOrDefault();
return org == null ? "" : org.Name;
}
/// <summary>
/// 获取组织id
/// </summary>
/// <param name="erpOrgs"></param>
/// <param name="orgCode"></param>
/// <returns></returns>
public int GetOrgId(List<ErpOrgDto> erpOrgs, string orgCode)
{
if (erpOrgs == null && erpOrgs.Count == 0)
return 0;
var org = erpOrgs.Where(x => x.Number == orgCode).FirstOrDefault();
return org == null ? 0 : org.Id;
}
/// <summary>
/// 获取供应商名称
/// </summary>
/// <param name="erpSuppliers"></param>
/// <param name="supplierId"></param>
/// <returns></returns>
public string GetSupplierName(List<ErpSupplierDto> erpSuppliers, int supplierId)
{
if (erpSuppliers == null && erpSuppliers.Count == 0)
return "";
var supplier = erpSuppliers.Where(x => x.Id == supplierId).FirstOrDefault();
return supplier == null ? "" : supplier.Name;
}
/// <summary>
/// 获取客户名称
/// </summary>
/// <param name="erpCustomers"></param>
/// <param name="customerId"></param>
/// <returns></returns>
public string GetCustomerName(List<ErpCustomerDto> erpCustomers, int customerId)
{
if (erpCustomers == null && erpCustomers.Count == 0)
return "";
var supplier = erpCustomers.Where(x => x.Id == customerId).FirstOrDefault();
return supplier == null ? "" : supplier.Name;
}
/// <summary>
/// 获取仓库名称
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="stockId"></param>
/// <returns></returns>
public string GetStockName(List<ErpStockDto> erpStocks, int stockId)
{
if (erpStocks == null && erpStocks.Count == 0)
return "";
var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault();
return stock == null ? "" : stock.Name;
}
/// <summary>
/// 获取仓库名称
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="code"></param>
/// <returns></returns>
public string GetStockName(List<ErpStockDto> erpStocks, string code)
{
if (erpStocks == null && erpStocks.Count == 0)
return "";
var stock = erpStocks.Where(x => x.Code == code).FirstOrDefault();
return stock == null ? "" : stock.Name;
}
/// <summary>
/// 获取仓库编码
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="stockId"></param>
/// <returns></returns>
public string GetStockCode(List<ErpStockDto> erpStocks, int stockId)
{
if (erpStocks == null && erpStocks.Count == 0)
return "";
var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault();
return stock == null ? "" : stock.Code;
}
}
}