Files
WMS-Api/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs
18942506660 f15aa1eac5 修复bug
2024-11-05 17:33:22 +08:00

426 lines
16 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.Core.Dto.SingleData;
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).GetAwaiter().GetResult();
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).GetAwaiter().GetResult();
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).GetAwaiter().GetResult();
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.Specifications;
}
return mat.Specifications;
}
/// <summary>
/// 获取物料名称
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialNumber"></param>
/// <returns></returns>
public string GetMaterialName(List<ErpMaterialDto> erpMaterials, string materialNumber)
{
if (erpMaterials == null || erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.MaterialName;
}
return mat.MaterialName;
}
/// <summary>
/// 获取物料编码
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialNumber"></param>
/// <returns></returns>
public string GetMaterialSpecifications(List<ErpMaterialDto> erpMaterials, string materialNumber)
{
if (erpMaterials == null || erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
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).GetAwaiter().GetResult();
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.BaseUnitName;
}
return mat.BaseUnitName;
}
/// <summary>
/// 获取物料基本单位名称
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialNumber"></param>
/// <returns></returns>
public string GetMaterialUnitName(List<ErpMaterialDto> erpMaterials, string materialNumber)
{
if (erpMaterials == null || erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.BaseUnitName;
}
return mat.BaseUnitName;
}
/// <summary>
/// 获取物料的条码
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialId"></param>
/// <returns></returns>
public string GetMaterialBarCode(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).GetAwaiter().GetResult();
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.BarCode;
}
return mat.BarCode;
}
/// <summary>
/// 获取物料的条码
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialNumber"></param>
/// <returns></returns>
public string GetMaterialBarCode(List<ErpMaterialDto> erpMaterials, string materialNumber)
{
if (erpMaterials == null || erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.BarCode;
}
return mat.BarCode;
}
/// <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).GetAwaiter().GetResult();
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).GetAwaiter().GetResult();
if (!result.IsSuccess)
return "";
return result.Data == null ? "" : result.Data.BaseUnitNumber;
}
return mat.BaseUnitNumber;
}
/// <summary>
/// 获取物料基本单位编码
/// </summary>
/// <param name="erpMaterials"></param>
/// <param name="materialNumber"></param>
/// <returns></returns>
public string GetMaterialUnitNumber(List<ErpMaterialDto> erpMaterials, string materialNumber)
{
if (erpMaterials == null || erpMaterials.Count == 0)
return "";
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
if (mat == null)
{
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
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;
}
/// <summary>
/// 子仓库
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="code"></param>
/// <returns></returns>
public string GetSubStockName(List<Erp_SubStockDto> 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="list"></param>
/// <param name="code"></param>
/// <returns></returns>
public string GetProductInventoryStockName(List<UcStockHeadOfficeResponse> list, string code)
{
if (list == null || list.Count == 0)
return "";
var stock = list.Where(x => x.Code == code).FirstOrDefault();
return stock == null ? "" : stock.Name;
}
}
}