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; } } }