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
{
///
/// erp基础数据:扩展服务
///
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;
}
///
/// 获取物料名称
///
///
///
///
public string GetMaterialName(List 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;
}
///
/// 获取物料编码
///
///
///
///
public string GetMaterialNumber(List 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;
}
///
/// 获取物料规格型号
///
///
///
///
public string GetMaterialSpecifications(List 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;
}
///
/// 获取物料基本单位名称
///
///
///
///
public string GetMaterialUnitName(List 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;
}
///
/// 获取物料基本单位Id
///
///
///
///
public int GetMaterialUnitId(List 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;
}
///
/// 获取物料基本单位编码
///
///
///
///
public string GetMaterialUnitNumber(List 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;
}
///
/// 获取组织名称
///
///
///
///
public string GetOrgName(List erpOrgs, int orgId)
{
if (erpOrgs == null && erpOrgs.Count == 0)
return "";
var org = erpOrgs.Where(x => x.Id == orgId).FirstOrDefault();
return org == null ? "" : org.Name;
}
///
/// 获取组织名称
///
///
///
///
public string GetOrgName(List erpOrgs, string orgCode)
{
if (erpOrgs == null && erpOrgs.Count == 0)
return "";
var org = erpOrgs.Where(x => x.Number == orgCode).FirstOrDefault();
return org == null ? "" : org.Name;
}
///
/// 获取组织id
///
///
///
///
public int GetOrgId(List 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;
}
///
/// 获取供应商名称
///
///
///
///
public string GetSupplierName(List erpSuppliers, int supplierId)
{
if (erpSuppliers == null && erpSuppliers.Count == 0)
return "";
var supplier = erpSuppliers.Where(x => x.Id == supplierId).FirstOrDefault();
return supplier == null ? "" : supplier.Name;
}
///
/// 获取客户名称
///
///
///
///
public string GetCustomerName(List erpCustomers, int customerId)
{
if (erpCustomers == null && erpCustomers.Count == 0)
return "";
var supplier = erpCustomers.Where(x => x.Id == customerId).FirstOrDefault();
return supplier == null ? "" : supplier.Name;
}
///
/// 获取仓库名称
///
///
///
///
public string GetStockName(List erpStocks, int stockId)
{
if (erpStocks == null && erpStocks.Count == 0)
return "";
var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault();
return stock == null ? "" : stock.Name;
}
///
/// 获取仓库名称
///
///
///
///
public string GetStockName(List erpStocks, string code)
{
if (erpStocks == null && erpStocks.Count == 0)
return "";
var stock = erpStocks.Where(x => x.Code == code).FirstOrDefault();
return stock == null ? "" : stock.Name;
}
///
/// 获取仓库编码
///
///
///
///
public string GetStockCode(List erpStocks, int stockId)
{
if (erpStocks == null && erpStocks.Count == 0)
return "";
var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault();
return stock == null ? "" : stock.Code;
}
}
}