Browse Source

xls:厂商库测试项目包含

xulisong 6 years ago
parent
commit
259730f307

+ 15 - 7
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/Model/RefVenderShowItem.cs

@@ -13,7 +13,11 @@ namespace Com.FirmLib.UI.Manufacturer.Model
     /// </summary>
     public class RefVenderShowItem: BasePropertyChanged
     {
-        
+        public RefVenderShowItem()
+        {
+            ProductTypes = new List<string>();
+        }
+
         /// <summary>
         /// 关联生产厂商Id
         /// </summary>
@@ -69,18 +73,22 @@ namespace Com.FirmLib.UI.Manufacturer.Model
         }
 
 
-        private int m_RefAssetCount;
+        private int m_ProductCount;
         /// <summary>
-        /// 产数量
+        /// 产数量
         /// </summary>
-        public int RefAssetCount
+        public int ProductCount
         {
-            get { return this.m_RefAssetCount; }
+            get { return this.m_ProductCount; }
             set
             {
-                this.m_RefAssetCount = value;
-                RaisePropertyChanged(nameof(this.RefAssetCount));
+                this.m_ProductCount = value;
+                RaisePropertyChanged(nameof(this.ProductCount));
             }
         }
+        /// <summary>
+        /// 型号信息
+        /// </summary>
+        public List<string> ProductTypes { get; set; }
     }
 }

+ 25 - 12
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/VmManufactureInfo.cs

@@ -42,8 +42,9 @@ namespace Com.FirmLib.UI.Manufacturer
             LoadManufactureItem(id);
             LoadBrandItems();
             LoadProjectAssetItems(id);
-            LoadSellerItems(id);
-            LoadMaintainerItems(id);
+            //LoadSellerItems(id);
+            //LoadMaintainerItems(id);
+            LoadVenderItems(id);
         }
         #region 属性相关
         public string Id { get; private set; }
@@ -545,20 +546,31 @@ namespace Com.FirmLib.UI.Manufacturer
           
             return true;
         }
-
         /// <summary>
-        /// 加载生产商关联信息
+        /// 加载厂商统计信息
         /// </summary>
         /// <param name="venderId"></param>
-        private void LoadSellerItems(string venderId)
+        private void LoadVenderItems(string venderId)
+        {
+             var tupleItem=BllFactory<ManufacturerBll>.Instance.GetRefVenderItems(venderId);
+            LoadSellerItems(tupleItem.Item1, venderId);
+            LoadMaintainerItems(tupleItem.Item2, venderId);
+        }
+
+        /// <summary>
+        /// 加载供应商商关联信息
+        /// </summary>
+        /// <param name="items"></param>
+        /// <param name="manufacturerId"></param>
+        private void LoadSellerItems( List<RefVenderItem> items,string manufacturerId)
         {
             //todo 调用后台api查找相关关联项目
-            List<RefVenderItem> items = new List<RefVenderItem>();
+           // List<RefVenderItem> items = new List<RefVenderItem>();
             List<RefVenderShowItem> showItems = new List<RefVenderShowItem>();
             foreach (var refVenderItem in items)
             {
                 var showItem = ConvertToShowItem(refVenderItem);
-                showItem.ManufacturerId = venderId;
+                showItem.ManufacturerId = manufacturerId;
                 showItems.Add(showItem);
             }
 
@@ -567,16 +579,17 @@ namespace Com.FirmLib.UI.Manufacturer
         /// <summary>
         /// 加载维修商关联信息
         /// </summary>
+        /// <param name="items"></param>
         /// <param name="venderId"></param>
-        public void LoadMaintainerItems(string venderId)
+        public void LoadMaintainerItems(List<RefVenderItem> items,string manufacturerId)
         {
                //todo 调用后台api查找相关关联项目
-            List<RefVenderItem> items = new List<RefVenderItem>();
+            //List<RefVenderItem> items = new List<RefVenderItem>();
             List<RefVenderShowItem> showItems = new List<RefVenderShowItem>();
             foreach (var refVenderItem in items)
             {
                 var showItem = ConvertToShowItem(refVenderItem);
-                showItem.ManufacturerId = venderId;
+                showItem.ManufacturerId = manufacturerId;
                 showItems.Add(showItem);
             }
 
@@ -590,9 +603,9 @@ namespace Com.FirmLib.UI.Manufacturer
             showItem.RefVenderId = item.Id;
             showItem.VenderName = item.Name;
             showItem.WebSite = item.WebSite;
-            showItem.RefAssetCount = item.RefAssetCount;
+            showItem.ProductCount = item.RefProductCount;
             showItem.BrandCount = item.RefBrandCount;
-
+            showItem.ProductTypes = item.RefProductTypeIds ?? new List<string>();
             return showItem;
         }
 

+ 13 - 8
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/VmProductList.cs

@@ -37,7 +37,8 @@ namespace Com.FirmLib.UI.Manufacturer
                 return;
             RefId = showItem.RefVenderId;
             ManufacturerId = showItem.ManufacturerId;
-            LoadBrandItems(RefId,ManufacturerId);
+            ProductTypes = showItem.ProductTypes ?? new List<string>();
+            LoadBrandItems(ManufacturerId,ProductTypes);
         }
         /// <summary>
         /// 生产厂商id
@@ -47,6 +48,8 @@ namespace Com.FirmLib.UI.Manufacturer
         /// 关联厂商Id
         /// </summary>
         public string RefId { get; set; }
+
+        public List<string> ProductTypes { get; set; }
         #region 属性相关
 
         private TreeNavigation<ShowDataItem> m_Root;
@@ -69,13 +72,13 @@ namespace Com.FirmLib.UI.Manufacturer
         /// <summary>
         /// 加载品牌信息
         /// </summary>
-        /// <param name="venderId"></param>
         /// <param name="manufactrerId">生产厂家Id</param>
-        private void LoadBrandItems(string venderId,string manufactrerId)
+        /// <param name="types">生产厂家Id</param>
+        private void LoadBrandItems(string manufactrerId,List<string> types)
         {
             Root = new TreeNavigation<ShowDataItem>();
             Root.CurrentItemChanged = ChangeSelectedItem;
-            Root.Items.AddRange(GetBrands(venderId,manufactrerId));
+            Root.Items.AddRange(GetBrands(manufactrerId,types));
             Root.CurrentItem = Root.Items.FirstOrDefault();
         }
         #endregion
@@ -103,11 +106,12 @@ namespace Com.FirmLib.UI.Manufacturer
         /// 当前型号数据
         /// </summary>
         private List<ProductTypeDetailItem> DataSource { get; set; }
-        private List<TreeNavigationItem<ShowDataItem>> GetBrands(string venderId,string manufacturerId)
+        private List<TreeNavigationItem<ShowDataItem>> GetBrands(string manufacturerId,List<string> types)
         {
 
             List<TreeNavigationItem<ShowDataItem>> results = new List<TreeNavigationItem<ShowDataItem>>();
-            DataSource = LoadProductTypeItems(venderId) ?? new List<ProductTypeDetailItem>();
+            //厂商关联型号信息
+            DataSource = LoadProductTypeItems(RefId,types) ?? new List<ProductTypeDetailItem>();
             DataSource =DataSource .Where(p=>p.VenderId==manufacturerId).ToList();
             var brands = ProductTypeManager.GetBrands(new ProdcutTypeCondition(DataSource));
             brands.ForEach(b => results.Add(new TreeNavigationItem<ShowDataItem>() { RefItem = b }));
@@ -143,10 +147,11 @@ namespace Com.FirmLib.UI.Manufacturer
         /// 加载产品信息
         /// </summary>
         /// <param name="venderId"></param>
-        private List<ProductTypeDetailItem> LoadProductTypeItems(string venderId)
+        /// <param name="types"></param>
+        private List<ProductTypeDetailItem> LoadProductTypeItems(string venderId,List<string> types)
         {
             List<ProductTypeDetailItem> results = new List<ProductTypeDetailItem>();
-            results = BllFactory<ProductDirectoryBll>.Instance.GetAllItems(venderId);
+            results = BllFactory<ProductDirectoryBll>.Instance.GetAllItems(venderId).Where(c=>types.Contains(c.ProductTypeId)).ToList();
             return results;
         }
     }

+ 17 - 17
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/WinManufactureInfo.xaml

@@ -142,10 +142,10 @@
 
                 </DataGridTemplateColumn>
                 <fw:TDataGridTextColumn Header="产品" Width="100"   Binding="{Binding Path=ProductName}"></fw:TDataGridTextColumn>
-                <fw:TDataGridTextColumn Header="所属设备族"  Width="*" IsReadOnly="True"  Binding="{Binding Path=OwnerFamily}"></fw:TDataGridTextColumn>
+                <fw:TDataGridTextColumn Header="所属设备族" MinWidth="100"  Width="*" IsReadOnly="True"  Binding="{Binding Path=OwnerFamily}"></fw:TDataGridTextColumn>
 
-                <fw:TDataGridTextColumn Header="常用故障判断"  Width="*" IsReadOnly="True"  Binding="{Binding Path=ComonError}"></fw:TDataGridTextColumn>
-                <fw:TDataGridTextColumn Header="型号"  Width="*" IsReadOnly="True"  Binding="{Binding Path=ContainTypes,Converter={x:Static wpf:ConverterFactory.ItemsToString}}"></fw:TDataGridTextColumn>
+                <fw:TDataGridTextColumn Header="常用故障判断" MinWidth="100" Width="*" IsReadOnly="True"  Binding="{Binding Path=ComonError}"></fw:TDataGridTextColumn>
+                <fw:TDataGridTextColumn Header="型号" MinWidth="100"  Width="*" IsReadOnly="True"  Binding="{Binding Path=ContainTypes,Converter={x:Static wpf:ConverterFactory.ItemsToString}}"></fw:TDataGridTextColumn>
             </DataGrid.Columns>
             <i:Interaction.Behaviors>
                 <behaviors:GridCellSingleClickEditBehavior></behaviors:GridCellSingleClickEditBehavior>
@@ -205,23 +205,23 @@
                             <Setter.Value>
                                 <ControlTemplate TargetType="{x:Type ListBoxItem}">
                                     <Border BorderThickness="1"  BorderBrush="Black" Margin="5" Padding="5">
-                                        <Grid Width="150" Height="80" >
+                                        <Grid Width="180" Height="110" >
                                             <Grid.RowDefinitions>
                                                 <RowDefinition></RowDefinition>
                                                 <RowDefinition Height="Auto"></RowDefinition>
                                             </Grid.RowDefinitions>
                                             <StackPanel Orientation="Vertical" Grid.Row="0">
                                                 <TextBlock Margin="5,0,5,0"  FontSize="20" Text="{Binding VenderName}"></TextBlock>
-                                                 <TextBlock Margin="5,0,5,0" FontSize="20" Text="{Binding WebSite}"></TextBlock>
+                                                 <TextBlock Margin="5,0,5,0" Text="{Binding WebSite}"></TextBlock>
                                                 <StackPanel Orientation="Horizontal">
                                                     <TextBlock Margin="5,0,5,0"  Text="供应名录中涉及我的品牌:"  />
-                                                    <TextBlock Margin="5,0,5,0"  Text="{Binding BrandCount}" TextDecorations="Underline"/>
-                                                    <TextBlock Margin="5,0,5,0"  Text="个" />
+                                                    <TextBlock Margin="2,0,2,0"  Text="{Binding BrandCount}" TextDecorations="Underline"/>
+                                                    <TextBlock Margin="2,0,2,0"  Text="个" />
                                                 </StackPanel>
                                                  <StackPanel Orientation="Horizontal">
-                                                    <TextBlock Margin="5,0,5,0"  Text="涉及产:"  />
-                                                    <TextBlock Margin="5,0,5,0"  Text="{Binding RefAssetCount}" TextDecorations="Underline"/>
-                                                    <TextBlock Margin="5,0,5,0"  Text="个" />
+                                                    <TextBlock Margin="5,0,5,0"  Text="涉及产:"  />
+                                                    <TextBlock Margin="2,0,2,0"  Text="{Binding ProductCount}" TextDecorations="Underline"/>
+                                                    <TextBlock Margin="2,0,2,0"  Text="个" />
                                                 </StackPanel>
                                             </StackPanel>
                                             <Button Grid.Row="1" Grid.Column="0" x:Name="BTNU" HorizontalAlignment="Right" Content="查看供应名录" Style="{StaticResource ResourceKey={x:Static uc:CommonStyles.LinkButtonKey}}" Command="{Binding Data.Commands.ScanRefTypesCommand,Source={StaticResource ResourceKey=DATA}}" CommandParameter="{Binding}" ></Button>
@@ -249,23 +249,23 @@
                             <Setter.Value>
                                 <ControlTemplate TargetType="{x:Type ListBoxItem}">
                                   <Border BorderThickness="1"  BorderBrush="Black" Margin="5" Padding="5">
-                                        <Grid Width="150" Height="80" >
+                                        <Grid Width="180" Height="110" >
                                             <Grid.RowDefinitions>
                                                 <RowDefinition></RowDefinition>
                                                 <RowDefinition Height="Auto"></RowDefinition>
                                             </Grid.RowDefinitions>
                                             <StackPanel Orientation="Vertical" Grid.Row="0">
                                                 <TextBlock Margin="5,0,5,0"  FontSize="20" Text="{Binding VenderName}"></TextBlock>
-                                                 <TextBlock Margin="5,0,5,0" FontSize="20" Text="{Binding WebSite}"></TextBlock>
+                                                 <TextBlock Margin="5,0,5,0" Text="{Binding WebSite}"></TextBlock>
                                                 <StackPanel Orientation="Horizontal">
                                                     <TextBlock Margin="5,0,5,0"  Text="维修名录中涉及我的品牌:"  />
-                                                    <TextBlock Margin="5,0,5,0"  Text="{Binding BrandCount}" TextDecorations="Underline"/>
-                                                    <TextBlock Margin="5,0,5,0"  Text="个" />
+                                                    <TextBlock Margin="2,0,2,0"  Text="{Binding BrandCount}" TextDecorations="Underline"/>
+                                                    <TextBlock Margin="2,0,2,0"  Text="个" />
                                                 </StackPanel>
                                                  <StackPanel Orientation="Horizontal">
-                                                    <TextBlock Margin="5,0,5,0"  Text="涉及产:"  />
-                                                    <TextBlock Margin="5,0,5,0"  Text="{Binding RefAssetCount}" TextDecorations="Underline"/>
-                                                    <TextBlock Margin="5,0,5,0"  Text="个" />
+                                                    <TextBlock Margin="5,0,5,0"  Text="涉及产:"  />
+                                                    <TextBlock Margin="2,0,2,0"  Text="{Binding ProductCount}" TextDecorations="Underline"/>
+                                                    <TextBlock Margin="2,0,2,0"  Text="个" />
                                                 </StackPanel>
                                             </StackPanel>
                                             <Button Grid.Row="1" Grid.Column="0" x:Name="BTNU" HorizontalAlignment="Right" Content="查看维修名录" Style="{StaticResource ResourceKey={x:Static uc:CommonStyles.LinkButtonKey}}" Command="{Binding Data.Commands.ScanRefTypesCommand,Source={StaticResource ResourceKey=DATA}}" CommandParameter="{Binding}" ></Button>

+ 4 - 7
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/WinProductList.xaml

@@ -6,7 +6,7 @@
              xmlns:local="clr-namespace:Com.FirmLib.UI.Manufacturer"
              xmlns:fw="http://schemas.FWind/xaml"
              xmlns:uc="clr-namespace:Com.FirmLib.UI.Common"
-             Title="供应产品名录"
+             Title="产品名录"
                Name="this"
              Height="550" Width="500" WindowStartupLocation="CenterOwner">
    <fw:BaseWindow.Resources>
@@ -31,16 +31,13 @@
             <RowDefinition Height="Auto"></RowDefinition>
             <RowDefinition></RowDefinition>
         </Grid.RowDefinitions>
-        <Grid>
-            <ComboBox Width="140" Margin="0,5" HorizontalAlignment="Left" ItemsSource="{Binding Root.Items}" SelectedItem="{Binding Root.CurrentItem}" DisplayMemberPath="RefItem.Name"></ComboBox>
-        </Grid>
         <Grid Grid.Row="1">
             <Grid.ColumnDefinitions>
                 <ColumnDefinition></ColumnDefinition>
                 <ColumnDefinition></ColumnDefinition>
                 <ColumnDefinition></ColumnDefinition>
             </Grid.ColumnDefinitions>
-            <DataGrid x:Name="BrandGrid" Grid.Column="0" BorderThickness="1" BorderBrush="Black"  AutoGenerateColumns="False" SelectionMode="Single"  FrozenColumnCount="1" ItemsSource="{Binding Root.CurrentItem.Nodes}" SelectedItem="{Binding Root.CurrentItem.CurrentItem}"
+            <DataGrid x:Name="BrandGrid" Grid.Column="0" BorderThickness="1" BorderBrush="Black"  AutoGenerateColumns="False" SelectionMode="Single"  FrozenColumnCount="1" ItemsSource="{Binding Root.Items}" SelectedItem="{Binding Root.CurrentItem}"
                   CanUserAddRows="False"
                   CanUserDeleteRows="False"
                   VerticalScrollBarVisibility="Auto"
@@ -56,7 +53,7 @@
 
             </DataGrid>
 
-            <DataGrid x:Name="ProductGrid" Grid.Column="1" BorderThickness="1" BorderBrush="Black"   AutoGenerateColumns="False" SelectionMode="Single"  FrozenColumnCount="1" ItemsSource="{Binding Root.CurrentItem.CurrentItem.Nodes}" SelectedItem="{Binding Root.CurrentItem.CurrentItem.CurrentItem}"
+            <DataGrid x:Name="ProductGrid" Grid.Column="1" BorderThickness="1" BorderBrush="Black"   AutoGenerateColumns="False" SelectionMode="Single"  FrozenColumnCount="1" ItemsSource="{Binding Root.CurrentItem.Nodes}" SelectedItem="{Binding Root.CurrentItem.CurrentItem}"
                   CanUserAddRows="False"
                   CanUserDeleteRows="False"
                   VerticalScrollBarVisibility="Auto"
@@ -76,7 +73,7 @@
                     <RowDefinition></RowDefinition>
                 </Grid.RowDefinitions>
 
-                <DataGrid x:Name="ProductTypeGrid" Grid.Row="0" BorderThickness="1" BorderBrush="Black"  AutoGenerateColumns="False" SelectionMode="Single"  FrozenColumnCount="1" ItemsSource="{Binding Root.CurrentItem.CurrentItem.CurrentItem.Nodes}" SelectedItem="{Binding Root.CurrentItem.CurrentItem.CurrentItem.CurrentItem,Mode=OneWay}"
+                <DataGrid x:Name="ProductTypeGrid" Grid.Row="0" BorderThickness="1" BorderBrush="Black"  AutoGenerateColumns="False" SelectionMode="Single"  FrozenColumnCount="1" ItemsSource="{Binding Root.CurrentItem.CurrentItem.Nodes}" SelectedItem="{Binding Root.CurrentItem.CurrentItem.CurrentItem,Mode=OneWay}"
                       CanUserAddRows="False"
                       CanUserDeleteRows="False"
                       VerticalScrollBarVisibility="Auto"

+ 16 - 7
MBI/FirmLib/Com.FirmLib/Bll/ManufacturerBll.cs

@@ -178,19 +178,28 @@ namespace Com.FirmLib.Bll
         /// </summary>
         /// <param name="manufacturerId"></param>
         /// <returns></returns>
-        public List<RefVenderItem> GetRefVenderItems(string manufacturerId)
+        public Tuple<List<RefVenderItem>,List<RefVenderItem>> GetRefVenderItems(string manufacturerId)
         {
-            List<RefVenderItem> items = new List<RefVenderItem>();
-            string uri = "/project/query";
+            List<RefVenderItem> supplierIems = new List<RefVenderItem>();
+            List<RefVenderItem> maintainerIems = new List<RefVenderItem>();
+            string tempUrlExtension = BllHttpSetting.Instance.EndUri + @"/specification/query";
             JObject jObject = new JObject();
             jObject.Add("venderId", manufacturerId);
-            var result = PostJsonAsync(new Uri(GetEndUri() + uri, UriKind.RelativeOrAbsolute), jObject);
+            var result = PostJsonAsync(new Uri(tempUrlExtension, UriKind.RelativeOrAbsolute), jObject);
             HandlerResult(result, (jo) =>
             {
-                var listStr = jo["content"].ToString();
-                items = JsonConvert.DeserializeObject<List<RefVenderItem>>(listStr);
+                var tempJobject =(JObject) jo["content"];
+                if (tempJobject.TryGetValue("supplier", out JToken supply))
+                {
+                     supplierIems = JsonConvert.DeserializeObject<List<RefVenderItem>>(supply.ToString());
+                }
+                if (tempJobject.TryGetValue("maintainer", out JToken maintainer))
+                {
+                    maintainerIems = JsonConvert.DeserializeObject<List<RefVenderItem>>(maintainer.ToString());
+                }
+
             });
-            return items;
+            return new Tuple<List<RefVenderItem>, List<RefVenderItem>>(supplierIems,maintainerIems);
         }
     }
 }

+ 15 - 1
MBI/FirmLib/Com.FirmLib/Entity/ManufacturerItem.cs

@@ -155,26 +155,40 @@ namespace Com.FirmLib.Entity
     /// </summary>
     public class RefVenderItem
     {
+        public RefVenderItem()
+        {
+            RefProductTypeIds = new List<string>();
+        }
         /// <summary>
         /// 厂商id
         /// </summary>
+        [JsonProperty("venderId")]
         public string Id { get; set; }
         /// <summary>
         /// 厂商名称
         /// </summary>
+        [JsonProperty("name")]
         public string Name { get; set; }
 
         /// <summary>
         /// 厂商网址
         /// </summary>
+        [JsonProperty("website")]
         public string WebSite { get; set; }
         /// <summary>
         /// 关联品牌数量
         /// </summary>
+        [JsonProperty("involvedBrandCount")]
         public int RefBrandCount { get; set; }
         /// <summary>
         /// 关联资产数量
         /// </summary>
-        public int RefAssetCount { get; set; }
+        [JsonProperty("involvedProductCount")]
+        public int RefProductCount { get; set; }
+        /// <summary>
+        /// 关联类型ids
+        /// </summary>
+        [JsonProperty("specIds")]
+        public List<string> RefProductTypeIds { get; set; }
     }
 }

+ 5 - 0
MBI/SAGA.GplotDrawData/DBView/PipeEndGraphView.cs

@@ -30,6 +30,11 @@ namespace SAGA.GplotDrawData
                             continue;
                         GVertex node = new GVertex();
                         var planPoint = new Point(startData.Current.DownPoint3D.X, startData.Current.DownPoint3D.Y);
+                        if (planPoint.X == 0 && planPoint.Y == 0)
+                        {
+                            continue;
+                        }
+
                         var useLocation = planPoint.ConvertINToMM().ConvertToPoint3D();
                         node.Location = new System.Windows.Media.Media3D.Point3D(useLocation.X, useLocation.Y, 0);
                         node.ElementColor = Colors.Red;

+ 1 - 0
MBI/SAGA.MBI/Interaction/MBIModelInfoManager.cs

@@ -26,6 +26,7 @@ namespace SAGA.MBI.Interaction
         {
             bool flag = true;
             var floorId = document.PathName.GetFileName();
+            //document.i
             //获取物理世界本层信息;
             List<MBIItem> mbiItems = new List<MBIItem>();
             //修改模型

+ 5 - 0
MBI/SAGA.Revit.sln

@@ -55,6 +55,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPfPointInfo", "WPfPointInf
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SAGA.MBIAssistData", "SAGA.MBIAssistData\SAGA.MBIAssistData.csproj", "{A36305AB-217A-4A6B-8B78-EA79497B1807}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{33B095DB-1BBF-49CE-8D5D-8128D017D382}"
+	ProjectSection(SolutionItems) = preProject
+		Test\Test.csproj = Test\Test.csproj
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU