payne
2024-04-26 472ae45885f426cb92db6185dd3c6bf377004fab
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs
@@ -249,7 +249,9 @@
            if(wmsMaterialType==null) throw Oops.Oh($"ID{wmsMaterial.MaterialType}物料类型不存在");
            wmsMaterial.MaterialTypeName = wmsMaterialType.MaterialTypeName;
            var materialCustomerList = new List<WmsMaterialCustomer>();
            if (input.BaseCustomerList?.Count > 0)
            {
            //往来单位
            var wmsBaseCustomerList = await _baseCustomerRep.DetachedEntities.Where(u => input.BaseCustomerList.Contains(u.Id) && u.IsDeleted == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
            if (wmsBaseCustomerList?.Count()<=0)
@@ -258,7 +260,7 @@
            }
           
            //物料客户关联关系
            var materialCustomerList=new List<WmsMaterialCustomer>();
                 materialCustomerList = new List<WmsMaterialCustomer>();
            foreach (var baseCustomer in wmsBaseCustomerList)
            {
                if (baseCustomer.IsDisabled == true)
@@ -283,12 +285,17 @@
                    
                });
            }
            }
            //验证
            await CheckExisit(wmsMaterial);
            //替代品信息
            var substituteGoodList = input.SubstituteGoodList.Adapt<List<WmsSubstituteGood>>();
            List<string> materialCodes = substituteGoodList.Select(s => s.SubstituteMaterialCode).ToList();
            if (materialCodes?.Count > 0)
            {
            var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode) && u.IsDeleted == false).ProjectToType<WmsMaterialOutput>().ToListAsync();
            if (wmsSubstituteMaterialInfoList?.Count <= 0)
            {
@@ -306,6 +313,8 @@
                item.SubstituteCode =  await SerialUtil.GetSerial(EnumSerialType.替代品编号); 
                item.SubstituteMaterialName = substituteMaterialInfo.MaterialName;//替代品物料名称
            }
            }
            wmsMaterial.UpdatedUserId = SysHelper.GetUserId();
            wmsMaterial.UpdatedUserName = SysHelper.GetUserName();
@@ -368,7 +377,9 @@
                await _wmsMaterialCustomerRep.DeleteAsync(oldaterialCustomerList);
            }
            var materialCustomerList = new List<WmsMaterialCustomer>();
            if (input.BaseCustomerList?.Count > 0)
            {
            //往来单位
            var wmsBaseCustomerList = await _baseCustomerRep.DetachedEntities.Where(u => input.BaseCustomerList.Contains(u.Id) && u.IsDeleted == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
            if (wmsBaseCustomerList?.Count() <= 0)
@@ -377,7 +388,7 @@
            }
         
            //物料客户关联关系
            var materialCustomerList = new List<WmsMaterialCustomer>();
                 materialCustomerList = new List<WmsMaterialCustomer>();
            foreach (var baseCustomer in wmsBaseCustomerList)
            {
                if (baseCustomer.IsDisabled == true)
@@ -402,6 +413,8 @@
                });
            }
            }
            //删除替代品信息
            var oldSubstituteGoodList = await _wmsSubstituteGoodRep.DetachedEntities.Where(w => w.MaterialCode == wmsMaterial.MaterialCode).ToListAsync();
@@ -414,6 +427,9 @@
            //替代品信息
            var substituteGoodList = input.SubstituteGoodList.Adapt<List<WmsSubstituteGood>>();
            List<string> materialCodes = substituteGoodList.Select(s => s.SubstituteMaterialCode).ToList();
            if(materialCodes?.Count > 0)
            {
            var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode)&&u.IsDeleted==false).ProjectToType<WmsMaterialOutput>().ToListAsync();
            if (wmsSubstituteMaterialInfoList?.Count <= 0)
            {
@@ -429,6 +445,8 @@
                item.SubstituteCode = await SerialUtil.GetSerial(EnumSerialType.替代品编号);
                item.SubstituteMaterialName = substituteMaterialInfo.MaterialName;//替代品物料名称
            }
            }
           
            if (materialCustomerList?.Count > 0)
            {