using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_BasicRepository; using WIDESEA_Common.CommonEnum; using WIDESEA_Common.MaterielEnum; using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_DTO.Basic; using WIDESEA_DTO.ERP; using WIDESEA_IBasicRepository; using WIDESEA_IBasicService; using WIDESEA_Model.Models; namespace WIDESEA_BasicService { public partial class MaterielInfoService : ServiceBase, IMaterielInfoService { /// /// 判断物料是否存在 /// /// 物料编号 /// public bool ExsitMateriel(string materielCode) { return BaseDal.QueryFirst(x => x.MaterielCode == materielCode) != null; } /// /// 判断物料是否存在 /// /// 物料编号集合 /// public bool ExsitMateriels(List materielCodes) { return BaseDal.QueryData(x => materielCodes.Contains(x.MaterielCode)).Count == materielCodes.Count; } /// /// 获取物料信息 /// /// 物料编号 /// public Dt_MaterielInfo GetMaterielInfo(string materielCode) { return BaseDal.QueryFirst(x => x.MaterielCode == materielCode); } /// /// 查询物料信息 /// /// 物料编号 /// public List GetMaterielInfos(List materielCodes) { return BaseDal.QueryData(x => materielCodes.Contains(x.MaterielCode)); } /// /// 接收ERP物料信息 /// /// /// public WebResponseContent ReceiveMaterial(MaterielInfoDTO model) { try { Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == model.WaId); if (warehouse == null) { return WebResponseContent.Instance.Error($"未找到仓库信息"); } if (model.OperateType == 0) { Dt_MaterielInfo materielInfo = new Dt_MaterielInfo() { IsCheck = (WhetherEnum)model.IsCheck, MaterielCode = model.Code, MaterielInvOrgId = model.InvOrgId, MaterielLength = model.Length, MaterielModel = model.Model, MaterielName = model.Name, MaterielSize = model.Size, MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType, MaterielSpec = model.StandType, MaterielState = (EnableEnum)model.State, MaterielThickness = model.Thickness, MaterielType = (MaterielTypeEnum)model.ItemType, MaterielUnit = model.Unit, MaterielVersion = model.MaterialVersion, MaterielWide = model.Wide, WarehouseId = warehouse.WarehouseId, }; BaseDal.AddData(materielInfo); } else if (model.OperateType == 1) { Dt_MaterielInfo materielInfo = BaseDal.QueryFirst(x => x.MaterielCode == model.Code); if (materielInfo == null) { return WebResponseContent.Instance.Error($"未找到物料信息"); } materielInfo.IsCheck = (WhetherEnum)model.IsCheck; materielInfo.MaterielCode = model.Code; materielInfo.MaterielInvOrgId = model.InvOrgId; materielInfo.MaterielLength = model.Length; materielInfo.MaterielModel = model.Model; materielInfo.MaterielName = model.Name; materielInfo.MaterielSize = model.Size; materielInfo.MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType; materielInfo.MaterielSpec = model.StandType; materielInfo.MaterielState = (EnableEnum)model.State; materielInfo.MaterielThickness = model.Thickness; materielInfo.MaterielType = (MaterielTypeEnum)model.ItemType; materielInfo.MaterielUnit = model.Unit; materielInfo.MaterielVersion = model.MaterialVersion; materielInfo.MaterielWide = model.Wide; materielInfo.WarehouseId = warehouse.WarehouseId; BaseDal.UpdateData(materielInfo); } else if (model.OperateType == 2) { Dt_MaterielInfo materielInfo = BaseDal.QueryFirst(x => x.MaterielCode == model.Code); if (materielInfo == null) { return WebResponseContent.Instance.Error($"未找到物料信息"); } BaseDal.DeleteData(materielInfo); } return WebResponseContent.Instance.OK(); } catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } } } }