Selaa lähdekoodia

xls:厂商库代码同步

xulisong 6 vuotta sitten
vanhempi
commit
7b63a91cf3
35 muutettua tiedostoa jossa 342 lisäystä ja 104 poistoa
  1. 3 0
      .gitignore
  2. BIN
      MBI/Dlls/FirmLibDll/FWindSoft.Wpf.dll
  3. 20 9
      MBI/FirmLib/Com.FirmLib.UI/BllCommon/AssetManager.cs
  4. 6 0
      MBI/FirmLib/Com.FirmLib.UI/Com.FirmLib.UI.csproj.user
  5. 33 2
      MBI/FirmLib/Com.FirmLib.UI/Common/WatchParameter.cs
  6. 1 9
      MBI/FirmLib/Com.FirmLib.UI/Insuer/VmInsuerInfo.cs
  7. 19 4
      MBI/FirmLib/Com.FirmLib.UI/Insuer/VmInsuerProjectInfo.cs
  8. 4 4
      MBI/FirmLib/Com.FirmLib.UI/Insuer/VmInsurancePolicyEditor.cs
  9. 26 2
      MBI/FirmLib/Com.FirmLib.UI/Insuer/WinInsuerProjectInfo.xaml
  10. 5 5
      MBI/FirmLib/Com.FirmLib.UI/Insuer/WinInsurancePolicyEditor.xaml
  11. 3 3
      MBI/FirmLib/Com.FirmLib.UI/Maintainer/VmMaintainerProjectAsset.cs
  12. 3 3
      MBI/FirmLib/Com.FirmLib.UI/Maintainer/VmManitainerProjectInfo.cs
  13. 8 8
      MBI/FirmLib/Com.FirmLib.UI/Maintainer/WinMaintainerAssetSelector.xaml
  14. 3 3
      MBI/FirmLib/Com.FirmLib.UI/Maintainer/WinMaintainerProjectAsset.xaml
  15. 3 3
      MBI/FirmLib/Com.FirmLib.UI/Maintainer/WinManitainerProjectInfo.xaml
  16. 1 1
      MBI/FirmLib/Com.FirmLib.UI/Manufacturer/VmManufactureInfo.cs
  17. 4 17
      MBI/FirmLib/Com.FirmLib.UI/Manufacturer/VmProjectAssetList.cs
  18. 2 1
      MBI/FirmLib/Com.FirmLib.UI/Manufacturer/WinProductType.xaml.cs
  19. 1 0
      MBI/FirmLib/Com.FirmLib.UI/Seller/Model/SellerDataConverter.cs
  20. 7 7
      MBI/FirmLib/Com.FirmLib.UI/Seller/VmSellerProjectContract.cs
  21. 8 6
      MBI/FirmLib/Com.FirmLib.UI/Seller/VmSellerProjectInfo.cs
  22. 1 0
      MBI/FirmLib/Com.FirmLib.UI/Seller/VmSupplyAssetCreater.cs
  23. 16 3
      MBI/FirmLib/Com.FirmLib.UI/Seller/WinSellerInfo.xaml
  24. 2 2
      MBI/FirmLib/Com.FirmLib.UI/Seller/WinSellerInfo.xaml.cs
  25. 3 3
      MBI/FirmLib/Com.FirmLib.UI/Seller/WinSellerProjectContract.xaml
  26. 5 2
      MBI/FirmLib/Com.FirmLib/Bll/AssetBll.cs
  27. 5 0
      MBI/FirmLib/Com.FirmLib/Bll/MBIBll/StationVenderBll.cs
  28. 2 2
      MBI/FirmLib/Com.FirmLib/Bll/ManufacturerBll.cs
  29. 1 1
      MBI/FirmLib/Com.FirmLib/Bll/PlatformBll/PlatformBll.cs
  30. 38 1
      MBI/FirmLib/Com.FirmLib/Bll/ProjectBll.cs
  31. 1 0
      MBI/FirmLib/Com.FirmLib/Com.FirmLib.csproj
  32. 19 3
      MBI/FirmLib/Com.FirmLib/Common/ProjectSetting.cs
  33. 5 0
      MBI/FirmLib/Com.FirmLib/Entity/SellerItem.cs
  34. 83 0
      MBI/SAGA.MBI/Interaction/MBIModelInfoManager.cs
  35. 1 0
      MBI/SAGA.MBI/SAGA.MBI.csproj

+ 3 - 0
.gitignore

@@ -35,3 +35,6 @@
 /MBI/SAGA.RevitFirmLib/obj/Debug
 /MBI/.vs/SAGA.Revit/v15
 /MBI/SAGA.RevitFirmLib/obj/Debug
+/MBI/FirmLib/Com.FirmLib/obj
+/MBI/FirmLib/Com.FirmLib.UI/bin/x64/Release
+/MBI/FirmLib/Com.FirmLib.UI/obj

BIN
MBI/Dlls/FirmLibDll/FWindSoft.Wpf.dll


+ 20 - 9
MBI/FirmLib/Com.FirmLib.UI/BllCommon/AssetManager.cs

@@ -162,7 +162,7 @@ namespace Com.FirmLib.UI.BllCommon
         public static SearchResultList<AssetShowItem> GetShowItems(string projectId,string localName,int startIndex)
         {
             SearchResultList<AssetShowItem> items = new SearchResultList<AssetShowItem>();
-            ProjectSetting ps = new ProjectSetting(projectId) { Secret = "123" } ;
+            ProjectSetting ps = new ProjectSetting(projectId);
             SearchLimit limit = new SearchLimit() { SkipCount = startIndex, GetCount = PerPageCount };
             SearchFilter filter = new SearchFilter();
             filter.AttachObject = new JObject();
@@ -175,7 +175,12 @@ namespace Com.FirmLib.UI.BllCommon
             criteria.AttachObject.Add("id", projectId);
             criteria.AttachObject.Add("family", JArray.FromObject(new List<string>()));
             var originItems = BllFactory<PlatformBll>.Instance.GetAssetItems(ps, limit, filter,criteria);
-            items.AddRange(originItems.Select(c => c.ConvertToShowItem()));
+            items.AddRange(originItems.Select(c =>
+            {
+                var item=c.ConvertToShowItem();
+                item.ProjectId = projectId;
+                return item;
+            }));
             items.TotalCount = originItems.TotalCount;
             return items;
         }
@@ -188,7 +193,7 @@ namespace Com.FirmLib.UI.BllCommon
                 return true;
             }
             List<TdAssetItem> assetItems = items.Select(ConvertToAssetItem).ToList();
-            ProjectSetting ps = new ProjectSetting(projectId) {Secret = "123"};
+            ProjectSetting ps = new ProjectSetting(projectId) ;
            return BllFactory<PlatformBll>.Instance.UpdateAssetItems(ps, assetItems);       
         }
 
@@ -213,7 +218,7 @@ namespace Com.FirmLib.UI.BllCommon
         public static bool DeleteAssets(string projectId, List<string> assetIds,List<string> parameterIds)
         {
             List<TdAssetItem> assetItems = new List<TdAssetItem>();
-            ProjectSetting ps = new ProjectSetting(projectId) { Secret = "123" };
+            ProjectSetting ps = new ProjectSetting(projectId);
             foreach (var assetId in assetIds)
             {
                 TdAssetItem assetItem = new TdAssetItem();
@@ -243,7 +248,7 @@ namespace Com.FirmLib.UI.BllCommon
             int startIndex,VenderItem item)
         {
             SearchResultList<AssetShowItem> items = new SearchResultList<AssetShowItem>();
-            ProjectSetting ps = new ProjectSetting(projectId) { Secret = "123" };
+            ProjectSetting ps = new ProjectSetting(projectId);
             SearchLimit limit = new SearchLimit() { SkipCount = startIndex, GetCount = PerPageCount+1 };
             SearchFilter filter = new SearchFilter();
             filter.AttachObject = new JObject();
@@ -257,7 +262,12 @@ namespace Com.FirmLib.UI.BllCommon
             criteria.AttachObject.Add("venderType", item.Type);
             criteria.AttachObject.Add("venderName", item.Name);
             var originItems = BllFactory<PlatformBll>.Instance.GetRecomendAssetItems(ps, limit, filter, criteria);
-            items.AddRange(originItems.Select(c => c.ConvertToShowItem()));
+            items.AddRange(originItems.Select(c =>
+            {
+                var tempItem = c.ConvertToShowItem();
+                tempItem.ProjectId = projectId;
+                return tempItem;
+            }));
             items.TotalCount =startIndex+ items.Count;
             if (items.Count>PerPageCount)
             {
@@ -278,7 +288,7 @@ namespace Com.FirmLib.UI.BllCommon
         public static SearchResultList<AssetShowItem> GetShowEqItems(string projectId, string localName, int startIndex)
         {
             SearchResultList<AssetShowItem> items = new SearchResultList<AssetShowItem>();
-            ProjectSetting ps = new ProjectSetting(projectId) { Secret = "123" };
+            ProjectSetting ps = new ProjectSetting(projectId) ;
             SearchLimit limit = new SearchLimit() { SkipCount = startIndex, GetCount = PerPageCount };
             SearchFilter filter = new SearchFilter();
             SearchCriteria criteria = new SearchCriteria();
@@ -290,6 +300,7 @@ namespace Com.FirmLib.UI.BllCommon
             items.AddRange(originItems.Select(c =>
             {
                 var item = c.ConvertToShowItem();
+                item.ProjectId = projectId;
                 item.FamilyCode = c.Category;
                 return item;
             }));
@@ -306,7 +317,7 @@ namespace Com.FirmLib.UI.BllCommon
         public static bool UpdateEqItems(string projectId, List<AssetShowItem> items)
         {
             List<TdAssetItem> assetItems = items.Select(ConvertToAssetItem).ToList();
-            ProjectSetting ps = new ProjectSetting(projectId) { Secret = "123" };
+            ProjectSetting ps = new ProjectSetting(projectId) ;
             return BllFactory<PlatformBll>.Instance.UpdateEquipmentItems(ps, assetItems);
         }
         /// <summary>
@@ -322,7 +333,7 @@ namespace Com.FirmLib.UI.BllCommon
             parameterIds.Add(MBIBuiltInParameter.DPMaintainerID);
             #endregion
             List<TdAssetItem> assetItems = new List<TdAssetItem>();
-            ProjectSetting ps = new ProjectSetting(projectId) { Secret =  "123" };
+            ProjectSetting ps = new ProjectSetting(projectId) ;
             foreach (var eqId in eqIds)
             {
                 TdAssetItem assetItem = new TdAssetItem();

+ 6 - 0
MBI/FirmLib/Com.FirmLib.UI/Com.FirmLib.UI.csproj.user

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ProjectView>ProjectFiles</ProjectView>
+  </PropertyGroup>
+</Project>

+ 33 - 2
MBI/FirmLib/Com.FirmLib.UI/Common/WatchParameter.cs

@@ -83,7 +83,7 @@ namespace Com.FirmLib.UI
         {
             foreach (var item in items)
             {
-                this.Add(item);
+                this.CheckAdd(item);
             }
         }
         #endregion
@@ -120,7 +120,7 @@ namespace Com.FirmLib.UI
         {
             foreach (var item in parameters)
             {
-                this.Add(item);
+                this.CheckAdd(item);
             }
         }
         /// <summary>
@@ -136,5 +136,36 @@ namespace Com.FirmLib.UI
             }
             return null;
         }
+
+        public void AddAndUpdate(WatchParameter parameter)
+        {
+             if (this.Contains(GetKeyForItem(parameter)))
+            {
+                var existItem = this.Items.FirstOrDefault(w => GetKeyForItem(w) == GetKeyForItem(parameter));
+                var index = this.IndexOf(existItem);
+                this[index] = parameter;
+            }
+            else
+            {
+                this.Add(parameter);
+            }
+        }
+        /// <summary>
+        /// 检测并添加【如果没有则加入,并返回true,如果存在则返回false】
+        /// </summary>
+        /// <param name="parameter"></param>
+        /// <returns></returns>
+        public bool CheckAdd(WatchParameter parameter)
+        {
+            if (this.Contains(GetKeyForItem(parameter)))
+            {
+                return false;
+            }
+            else
+            {
+                this.Add(parameter);
+                return true;
+            }
+        }
     }
 }

+ 1 - 9
MBI/FirmLib/Com.FirmLib.UI/Insuer/VmInsuerInfo.cs

@@ -35,15 +35,7 @@ namespace Com.FirmLib.UI.Insuer
 
         private void Init()
         {
-            #region 测试
-            //Name = "保险商1";
-            //Url = "baidu.com";
-            //ProjectItems = new ObservableCollection<ProjectRelationShowItem>();
-            //ProjectItems.Add(new ProjectRelationShowItem() { ProjectLocalName = "项目1", InsurancePolicyCount = 200 });
-            //ProjectItems.Add(new ProjectRelationShowItem() { ProjectLocalName = "项目2", InsurancePolicyCount = 300 });
-            //ProjectItems.Add(new ProjectRelationShowItem() { ProjectLocalName = "项目3", InsurancePolicyCount = 123 });
-            //ProjectItems.Add(new ProjectRelationShowItem() { ProjectLocalName = "项目4", InsurancePolicyCount = 34 }); 
-            #endregion
+           
         }
 
         public  void Init(LoadParameter parameter)

+ 19 - 4
MBI/FirmLib/Com.FirmLib.UI/Insuer/VmInsuerProjectInfo.cs

@@ -8,12 +8,15 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
+using System.Diagnostics;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows;
+using System.Windows.Data;
 using CEFSharpWpf;
 using Com.FirmLib.Bll;
 using Com.FirmLib.Entity;
@@ -350,9 +353,19 @@ namespace Com.FirmLib.UI.Insuer
             //不增加完成节点,直接通过context的CanExecute判断是否执行修改
             if (UpdateAssetPolicyNo(item, context))
             {
-                item.InsurancePolicyNo = context.PolicyNo;
-                item.EndDate = context.ExpiryDate;
-                item.PolicyFile = context.PolicyFile;
+                try
+                {
+                    item.InsurancePolicyNo = context.PolicyNo;
+                    item.EndDate = DateTimeManager.ConvertDateTime(context.ExpiryDate).ToString("yyyy-MM-dd");
+                    item.PolicyFile = context.PolicyFile;
+                    var items = CollectionViewSource.GetDefaultView(this.AssetItems);
+                    items.Refresh();
+                }
+                catch (Exception ex)
+                {
+
+                    Debug.Write(ex.StackTrace);
+                }
             }
         }
         public bool CanEditPolicyNoCommand(object parameter)
@@ -499,6 +512,7 @@ namespace Com.FirmLib.UI.Insuer
             foreach (var dataItem in dataItems)
             {
                 var tempItem = ConvertAssetShowItem(dataItem);
+              
                 tempItem.InsuerName=venderName;
                 //给日期赋值 
                 if (!string.IsNullOrEmpty(tempItem.InsurancePolicyNo))
@@ -512,6 +526,7 @@ namespace Com.FirmLib.UI.Insuer
 
                     
                 }              
+                 tempItem.InsuerId = venderId;
                 tempItem.ProjectId = projectId;
                 AssetItems.Add(tempItem);
             }
@@ -643,7 +658,7 @@ namespace Com.FirmLib.UI.Insuer
                 ///todo 历史值存储
                 if (!assetItem.CacheParameters.IsEmpty)
                 {
-                    assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.InsuranceNum)));
+                    assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.InsuranceNum)));
                 }
                
             });

+ 4 - 4
MBI/FirmLib/Com.FirmLib.UI/Insuer/VmInsurancePolicyEditor.cs

@@ -304,7 +304,7 @@ namespace Com.FirmLib.UI.Insuer
             if (item == null)
                 return;
             AssetItem parItem = new AssetItem();
-            parItem.Id = item.AssetNo;
+            parItem.Id = item.Id;
             parItem.ProjectId = item.ProjectId;
             parItem.FamilyCode = item.FamilyCode;
             string url = BllFactory<AssetBll>.Instance.GetAssetUrl(parItem);
@@ -424,7 +424,7 @@ namespace Com.FirmLib.UI.Insuer
             if (result == MessageBoxResult.Yes)
             {
                 bool flag = false;
-                if (showItem.InsuerId == InsuerId)
+                if (showItem.InsuerId == InsuerId&&showItem.InsurancePolicyNo==PolicyNo)
                 {
                     flag = AssetManager.DeleteInsuerAssets(SystemProjectId, new List<string>() { showItem.Id });
                 }
@@ -709,8 +709,8 @@ namespace Com.FirmLib.UI.Insuer
             {
                 assetItem.InsuerId = InsuerId;
                 assetItem.InsurancePolicyNo = PolicyNo;
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.DPInsuerID)));
-                 assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.InsuranceNum)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.DPInsuerID)));
+                 assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.InsuranceNum)));
             });
             bool flag = AssetManager.UpdateAssetItems(SystemProjectId, AssetItems.ToList());
             #endregion

+ 26 - 2
MBI/FirmLib/Com.FirmLib.UI/Insuer/WinInsuerProjectInfo.xaml

@@ -21,7 +21,7 @@
             </fw:EmptyDataTemplateSelector.Checker>
             <fw:EmptyDataTemplateSelector.Empty>
                   <DataTemplate>
-                    <TextBlock Text="未上传" VerticalAlignment="Center"></TextBlock>
+                    <TextBlock Text="未上传" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
                 </DataTemplate>
             </fw:EmptyDataTemplateSelector.Empty>
             <fw:EmptyDataTemplateSelector.Use>
@@ -153,7 +153,31 @@
 
                                 <fw:TDataGridTextColumn Header="保险截止日期"  Width="80" IsReadOnly="True"  Binding="{Binding Path=EndDate}"></fw:TDataGridTextColumn>
 
-                                <DataGridTemplateColumn Header="保险文件"  Width="60" IsReadOnly="True"  CellTemplateSelector="{StaticResource ResourceKey=Selector}">
+                                <DataGridTemplateColumn Header="保险文件"  Width="60" IsReadOnly="True" >
+                                    <DataGridTemplateColumn.CellTemplate>
+                                        <DataTemplate>
+                                            <ContentControl Content="{Binding}">
+                                                <ContentControl.ContentTemplate>
+                                                    <DataTemplate>
+                                                        <Grid>
+                                                            <TextBlock  x:Name="Text" Visibility="Collapsed" Text="未上传" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
+                                                            <Button x:Name="Button" Command="{Binding Data.Commands.FileDownLoadCommand,Source={StaticResource ResourceKey=DATA} }" CommandParameter="{Binding}" Style="{StaticResource ResourceKey={x:Static uc:CommonStyles.LinkButtonKey}}"   Content="下载" Padding="5"/>
+                                                        </Grid>
+                                                        <DataTemplate.Triggers>
+                                                            <DataTrigger Binding="{Binding PolicyFile,Mode=OneWay}" Value="">
+                                                                <Setter Property="Visibility" TargetName="Text" Value="Visible"></Setter>
+                                                                <Setter Property="Visibility" TargetName="Button" Value="Collapsed"></Setter>
+                                                            </DataTrigger>
+                                                            <DataTrigger Binding="{Binding PolicyFile,Mode=OneWay}" Value="{x:Null}">
+                                                                <Setter Property="Visibility" TargetName="Text" Value="Visible"></Setter>
+                                                                <Setter Property="Visibility" TargetName="Button" Value="Collapsed"></Setter>
+                                                            </DataTrigger>
+                                                        </DataTemplate.Triggers>
+                                                    </DataTemplate>
+                                                </ContentControl.ContentTemplate>
+                                            </ContentControl>
+                                        </DataTemplate>
+                                    </DataGridTemplateColumn.CellTemplate>
                                 </DataGridTemplateColumn>
                             </DataGrid.Columns>
                         </DataGrid>

+ 5 - 5
MBI/FirmLib/Com.FirmLib.UI/Insuer/WinInsurancePolicyEditor.xaml

@@ -62,7 +62,7 @@
 
                 <Label  Content="保险文件:"></Label>
 
-                <Grid  HorizontalAlignment="Stretch">
+                <Grid  HorizontalAlignment="Stretch"  IsEnabled="{Binding IsEpire,Converter={x:Static fw:ConverterFactory.BoolOpposition}}">
                     <Grid.ColumnDefinitions>
                         <ColumnDefinition></ColumnDefinition>
                         <ColumnDefinition Width="Auto"></ColumnDefinition>
@@ -154,13 +154,13 @@
 
                         </DataGridTemplateColumn>
                         <fw:TDataGridTextColumn Header="本地名称" Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalName}"></fw:TDataGridTextColumn>
-                        <fw:TDataGridTextColumn Header="本地编码"  Width="80" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
+                        <fw:TDataGridTextColumn Header="本地编码"  Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
 
-                        <fw:TDataGridTextColumn Header="品牌"  Width="80" IsReadOnly="True"  Binding="{Binding Path=Brand}"></fw:TDataGridTextColumn>
+                        <fw:TDataGridTextColumn Header="品牌"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Brand}"></fw:TDataGridTextColumn>
 
-                        <fw:TDataGridTextColumn Header="产品名"  Width="80" IsReadOnly="True"  Binding="{Binding Path=Product}"></fw:TDataGridTextColumn>
+                        <fw:TDataGridTextColumn Header="产品名"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Product}"></fw:TDataGridTextColumn>
 
-                        <fw:TDataGridTextColumn Header="型号"  Width="80" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
+                        <fw:TDataGridTextColumn Header="型号"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
 
                     </DataGrid.Columns>
                 </DataGrid>

+ 3 - 3
MBI/FirmLib/Com.FirmLib.UI/Maintainer/VmMaintainerProjectAsset.cs

@@ -413,9 +413,9 @@ namespace Com.FirmLib.UI.Maintainer
               
                 assetItem.MaintainerId = MaintainerId;
                 assetItem.MaintainerEndDate = this.EndDate??string.Empty;
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.DPMaintainerID)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.MaintainDeadline)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.MaintainPeriod)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.DPMaintainerID)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.MaintainDeadline)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.MaintainPeriod)));
             });
             return AssetManager.UpdateEqItems(SystemProjectId, RefAssetItems.ToList());
             #endregion

+ 3 - 3
MBI/FirmLib/Com.FirmLib.UI/Maintainer/VmManitainerProjectInfo.cs

@@ -179,7 +179,7 @@ namespace Com.FirmLib.UI.Maintainer
         [Command]
         public void SaveCommand(object parameter)
         {
-            var flag = CreatePolicyAsset();
+            var flag = CreateAssets();
             if (flag)
             {
                 AfterSuccessSave();
@@ -432,7 +432,7 @@ namespace Com.FirmLib.UI.Maintainer
         #endregion
 
         #region 保存设备
-        private bool CreatePolicyAsset()
+        private bool CreateAssets()
         {
             if (this.CurrentAssets == null || !this.CurrentAssets.Any())
                 return true;
@@ -498,7 +498,7 @@ namespace Com.FirmLib.UI.Maintainer
                     assetShowItem.CacheParameters.Clear();
                     if (!assetShowItem.ChangeMaintainer)
                     {
-                        assetShowItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.MaintainDeadline)));
+                        assetShowItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.MaintainDeadline)));
                         historyItems.Add(assetShowItem);
                     }
                 }

+ 8 - 8
MBI/FirmLib/Com.FirmLib.UI/Maintainer/WinMaintainerAssetSelector.xaml

@@ -149,16 +149,16 @@
                                     </DataTemplate>
                                 </DataGridTemplateColumn.CellTemplate>
                             </DataGridTemplateColumn>
-                            <fw:TDataGridTextColumn Header="资产本地名称" Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalName}"></fw:TDataGridTextColumn>
-                            <fw:TDataGridTextColumn Header="资产本地编码"  Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
-                            <fw:TDataGridTextColumn Header="资产编码"  Width="80" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
-                            <fw:TDataGridTextColumn Header="品牌"  Width="80" IsReadOnly="True"  Binding="{Binding Path=Brand}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="资产本地名称" Width="120" IsReadOnly="True"  Binding="{Binding Path=LocalName}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="资产本地编码"  Width="120" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="资产编码"  Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="品牌"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Brand}"></fw:TDataGridTextColumn>
 
-                            <fw:TDataGridTextColumn Header="产品名"  Width="80" IsReadOnly="True"  Binding="{Binding Path=Product}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="产品名"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Product}"></fw:TDataGridTextColumn>
 
-                            <fw:TDataGridTextColumn Header="型号"  Width="80" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
-                            <fw:TDataGridTextColumn Header="供应商名称"  Width="80" IsReadOnly="True"  Binding="{Binding Path=SellerName}"></fw:TDataGridTextColumn>
-                            <fw:TDataGridTextColumn Header="所属合同编码"  Width="80" IsReadOnly="True"  Binding="{Binding Path=SellerContractNo}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="型号"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="供应商名称"  Width="100" IsReadOnly="True"  Binding="{Binding Path=SellerName}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="所属合同编码"  Width="100" IsReadOnly="True"  Binding="{Binding Path=SellerContractNo}"></fw:TDataGridTextColumn>
 
 
                         </DataGrid.Columns>

+ 3 - 3
MBI/FirmLib/Com.FirmLib.UI/Maintainer/WinMaintainerProjectAsset.xaml

@@ -104,7 +104,7 @@
                         </Style>
                     </DataGrid.RowStyle>
                     <DataGrid.Columns>
-                        <DataGridTemplateColumn Header="操作"  Width="60" IsReadOnly="True" >
+                        <DataGridTemplateColumn Header="操作"  Width="100" IsReadOnly="True" >
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
                                     <Button Command="{Binding DataContext.Commands.ScanCommand,ElementName=this}" CommandParameter="{Binding }" Style="{StaticResource ResourceKey={x:Static uc:CommonStyles.LinkButtonKey}}"  VerticalAlignment="Center"   Content="查看设备详情" HorizontalAlignment="Left" Padding="5,0,5,0"/>
@@ -116,8 +116,8 @@
                         <fw:TDataGridTextColumn Header="本地编码"  Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
                         <fw:TDataGridTextColumn Header="品牌"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Brand}"></fw:TDataGridTextColumn>
                         <fw:TDataGridTextColumn Header="产品名"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Product}"></fw:TDataGridTextColumn>
-                        <fw:TDataGridTextColumn Header="型号"  Width="50" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
-                        <DataGridTemplateColumn Header="保养周期" Width="80" fw:DataGridDragCopyOptions.CanColumnDragCopy="True">
+                        <fw:TDataGridTextColumn Header="型号"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
+                        <DataGridTemplateColumn Header="保养周期" Width="100" fw:DataGridDragCopyOptions.CanColumnDragCopy="True">
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
                                     <Border fw:ElementCopyOptions.UseCopy="True" fw:ElementCopyOptions.CopyValue="{Binding Path=MaintainPeriod,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}">

+ 3 - 3
MBI/FirmLib/Com.FirmLib.UI/Maintainer/WinManitainerProjectInfo.xaml

@@ -76,7 +76,7 @@
                             </Button>
                             <Button  Style="{StaticResource ResourceKey={x:Static uc:CommonStyles.ButtonKey}}"  Command="{Binding Commands.SelectAssetCommand}"   Height="23" Margin="10" Content="选择项目内已存在的设备" />
                         </StackPanel>
-                        <DataGrid fw:DataGridDragCopyOptions.CanDragCopy="True" Grid.Row="1"   AutoGenerateColumns="False" SelectionMode="Single"  FrozenColumnCount="1" ItemsSource="{Binding CurrentAssets,UpdateSourceTrigger=PropertyChanged}"
+                        <DataGrid fw:DataGridDragCopyOptions.CanDragCopy="True" Grid.Row="1"   AutoGenerateColumns="False" SelectionMode="Extended"  FrozenColumnCount="1" ItemsSource="{Binding CurrentAssets,UpdateSourceTrigger=PropertyChanged}"
                     CanUserAddRows="False"
                     CanUserDeleteRows="False"
                     VerticalScrollBarVisibility="Auto"
@@ -177,7 +177,7 @@
                 CanUserDeleteRows="False"
                 VerticalScrollBarVisibility="Auto"
                 HorizontalScrollBarVisibility="Auto"
-                SelectionUnit="FullRow"
+                SelectionUnit="Cell"
                 HeadersVisibility="Column" 
                 CanUserSortColumns="True"   
                 CellStyle="{StaticResource ResourceKey={x:Static uc:CommonStyles.DataGridCellKey}}"
@@ -215,7 +215,7 @@
                                 </DataGridTemplateColumn.CellTemplate>
 
                             </DataGridTemplateColumn>
-                            <fw:TDataGridTextColumn Header="是否有其他维修商提供维保" Width="100" IsReadOnly="True"  Binding="{Binding Path=HasOtherMaintainer,Converter={x:Static maintainer:WinManitainerProjectInfo.BoolConverter}}"></fw:TDataGridTextColumn>
+                            <fw:TDataGridTextColumn Header="是否有其他维修商提供维保" Width="180" IsReadOnly="True"  Binding="{Binding Path=HasOtherMaintainer,Converter={x:Static maintainer:WinManitainerProjectInfo.BoolConverter}}"></fw:TDataGridTextColumn>
                             <fw:TDataGridTextColumn Header="本地名称" Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalName}"></fw:TDataGridTextColumn>
                             <fw:TDataGridTextColumn Header="本地编码"  Width="80" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
 

+ 1 - 1
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/VmManufactureInfo.cs

@@ -483,7 +483,7 @@ namespace Com.FirmLib.UI.Manufacturer
             ProjectAssetItems = new ObservableCollection<ProjectAssetShowItem>();
             foreach (var dataItem in projectAssetItems)
             {
-                ProjectAssetItems.Add(new ProjectAssetShowItem() { ManufactureId=manufactureId, ProjectLocalName = dataItem.Name, AssetCount = dataItem.RefAssetCount});
+                ProjectAssetItems.Add(new ProjectAssetShowItem() {ProjectId=dataItem.Id, ManufactureId=manufactureId, ProjectLocalName = dataItem.Name, AssetCount = dataItem.TotalCount.ToString()});
             }
 
             #endregion

+ 4 - 17
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/VmProjectAssetList.cs

@@ -33,22 +33,7 @@ namespace Com.FirmLib.UI.Manufacturer
 
         private void Init()
         {
-            #region 测试数据
-            //AssetItems = new ObservableCollection<AssetShowItem>();
-            //for (int i = 0; i < 10; i++)
-            //{
-            //    AssetShowItem item = new AssetShowItem();
-            //    item.Branch = "";
-            //    item.Product = "cccc";
-            //    item.LeaveFactoryCode = "1111";
-
-            //    item.LocalCode = "2333";
-            //    item.LocalName = "ffff";
-            //    item.ManufactureDate = DateTime.Now.ToString("yyyy年MM月");
-
-            //    AssetItems.Add(item);
-            //} 
-            #endregion
+          
         }
         public void Init(LoadParameter parameter)
         {
@@ -112,6 +97,7 @@ namespace Com.FirmLib.UI.Manufacturer
             foreach (var dataItem in dataItems)
             {
                 AssetShowItem item = new AssetShowItem();
+                item.Id = dataItem.Id;
                 item.ProjectId = projectId;
                 item.Family = dataItem.Family;
                 item.Brand = dataItem.Asset.Brand;
@@ -120,12 +106,13 @@ namespace Com.FirmLib.UI.Manufacturer
 
                 item.LocalCode = dataItem.Asset.EquipLocalId;
                 item.LocalName = dataItem.Asset.EquipLocalName;
+                item.ManufactureDate = dataItem.Asset.ProductDate;
                 try
                 {
                     DateTime dateTime = DateTimeManager.ConvertDateTime(item.ManufactureDate);
                     if (dateTime != null)
                     {
-                        item.ManufactureDate = dateTime.ToString("yyyy年MM月");
+                        item.ManufactureDate = dateTime.ToString("yyyy年MM月dd日");
                     }
                 }
                   

+ 2 - 1
MBI/FirmLib/Com.FirmLib.UI/Manufacturer/WinProductType.xaml.cs

@@ -44,7 +44,8 @@ namespace Com.FirmLib.UI.Manufacturer
             columns.ForEach(c =>
             {
                 DataGridDragCopyOptions.SetCanColumnDragCopy(c, true);
-                c.Width = 80;
+                c.Width = c.Header.ToString().Length * 16 + 10;
+                c.MinWidth = 80;
             });
         }
         #region 界面关联事件

+ 1 - 0
MBI/FirmLib/Com.FirmLib.UI/Seller/Model/SellerDataConverter.cs

@@ -22,6 +22,7 @@ namespace Com.FirmLib.UI.Seller.Model
             showItem.Product = dataItem.Asset.Product;
             showItem.Type = dataItem.Asset.Specification;
 
+            showItem.AssetNo = dataItem.Asset.AssetId;
 
 
             showItem.SellerContractNo = dataItem.Asset.SupplierContractID;

+ 7 - 7
MBI/FirmLib/Com.FirmLib.UI/Seller/VmSellerProjectContract.cs

@@ -215,7 +215,7 @@ namespace Com.FirmLib.UI.Seller
             if (result == MessageBoxResult.Yes)
             {
                 bool flag = false;
-                if (showItem.SellerId == SellerId)
+                if (showItem.SellerId == SellerId&&showItem.SellerContractNo==ContractNo)
                 {
                     flag = AssetManager.DeleteSellerAssets(SystemProjectId, new List<string>() { showItem.Id });
                 }
@@ -461,12 +461,12 @@ namespace Com.FirmLib.UI.Seller
                 assetItem.CacheParameters.Clear();
                 assetItem.SellerId = SellerId;
                 assetItem.SellerContractNo = this.ContractNo;
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.DPSellerID)));
-                 assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.SupplierContractID)));
-                 assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.DPSpecificationID)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.PurchasePrice)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.Warranty)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.ProductDate)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.DPSellerID)));
+                 assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.SupplierContractID)));
+                 assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.DPSpecificationID)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.PurchasePrice)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.Warranty)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.ProductDate)));
             });
             return AssetManager.UpdateAssetItems(SystemProjectId, RefAssetItems.ToList());
             #endregion

+ 8 - 6
MBI/FirmLib/Com.FirmLib.UI/Seller/VmSellerProjectInfo.cs

@@ -216,7 +216,7 @@ namespace Com.FirmLib.UI.Seller
         }
 
         /// <summary>
-        /// 删除在保资产
+        /// 删除供应资产
         /// </summary>
         /// <param name="parameter"></param>
         [Command]
@@ -347,6 +347,7 @@ namespace Com.FirmLib.UI.Seller
             {
                 var showItem= SellerDataConverter.ConvertShowItem(dataItem);
                 showItem.ProjectId = projectId;
+                showItem.SellerId = venderId;
                 AssetItems.Add(showItem);
             }
           
@@ -376,11 +377,12 @@ namespace Com.FirmLib.UI.Seller
                 ///todo 历史值存储
                 //assetItem.SellerId = SellerId;
                 //assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.DPSellerID)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.DPSpecificationID)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.SupplierContractID)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.PurchasePrice)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.Warranty)));
-                assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.ProductDate)));
+                //暂时不修改资产类型
+                //assetItem.CacheParameters.Add((new WatchParameter(MBIBuiltInParameter.DPSpecificationID)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.SupplierContractID)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.PurchasePrice)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.Warranty)));
+                assetItem.CacheParameters.CheckAdd((new WatchParameter(MBIBuiltInParameter.ProductDate)));
             });
             return AssetManager.UpdateAssetItems(ProjectId, AssetItems.ToList());
         }

+ 1 - 0
MBI/FirmLib/Com.FirmLib.UI/Seller/VmSupplyAssetCreater.cs

@@ -217,6 +217,7 @@ namespace Com.FirmLib.UI.Seller
             foreach (var asset in this.AssetItems)
             {
                 asset.CacheParameters.Clear();
+                asset.ProjectId = Context.ProjectId;
                 if (this.CurrentProductType != null)
                 {
                     asset.Brand = this.CurrentProductType.BrandName;

+ 16 - 3
MBI/FirmLib/Com.FirmLib.UI/Seller/WinSellerInfo.xaml

@@ -130,12 +130,25 @@
                 VerticalScrollBarVisibility="Auto"
                 HorizontalScrollBarVisibility="Auto"
                 IsReadOnly="True"
-                SelectionUnit="FullRow"
+                SelectionUnit="Cell"
                 HeadersVisibility="Column" 
                 CanUserSortColumns="False"   
-                CellStyle="{StaticResource ResourceKey={x:Static uc:CommonStyles.DataGridCellKey}}"
+
                   AlternationCount="2"
                 >
+                        <DataGrid.CellStyle >
+                            <Style TargetType="DataGridCell" BasedOn="{StaticResource ResourceKey={x:Static uc:CommonStyles.DataGridCellKey}}">
+                                <Setter Property="IsEnabled"  Value="False"></Setter>
+                                <Style.Triggers>
+                                    <DataTrigger Binding="{ Binding Column.DisplayIndex,RelativeSource={RelativeSource Self}}"  Value="0">
+                                        <Setter Property="IsEnabled" Value="True"></Setter>
+                                    </DataTrigger>
+                                     <DataTrigger Binding="{ Binding Column.DisplayIndex,RelativeSource={RelativeSource Self}}"  Value="1">
+                                        <Setter Property="IsEnabled" Value="True"></Setter>
+                                    </DataTrigger>
+                                </Style.Triggers>
+                            </Style>
+                        </DataGrid.CellStyle >
                         <DataGrid.RowStyle>
                             <Style TargetType="DataGridRow">
                                 <Setter Property="ContextMenu">
@@ -159,7 +172,7 @@
                             </Style>
                         </DataGrid.RowStyle>
                         <DataGrid.Columns>
-                            <DataGridTemplateColumn Header="操作"  Width="60" IsReadOnly="True" >
+                            <DataGridTemplateColumn Header="操作"  Width="100" IsReadOnly="True" >
                                 <DataGridTemplateColumn.CellTemplate>
                                     <DataTemplate>
                                         <Button Command="{Binding DataContext.Commands.ManageCommand,ElementName=this}" CommandParameter="{Binding }" Style="{StaticResource ResourceKey={x:Static uc:CommonStyles.LinkButtonKey}}"  VerticalAlignment="Center"   Content="查看型号详情" HorizontalAlignment="Left" Padding="5,0,5,0"/>

+ 2 - 2
MBI/FirmLib/Com.FirmLib.UI/Seller/WinSellerInfo.xaml.cs

@@ -125,9 +125,9 @@ namespace Com.FirmLib.UI.Seller
             columns.ForEach(c =>
             {
                 //DataGridDragCopyOptions.SetCanColumnDragCopy(c, true);
-                
+                c.Width = c.Header.ToString().Length * 16+10;
                 c.IsReadOnly = true;
-                c.Width = 80;
+                c.MinWidth = 80;
             });
         }
         #endregion

+ 3 - 3
MBI/FirmLib/Com.FirmLib.UI/Seller/WinSellerProjectContract.xaml

@@ -116,7 +116,7 @@
                         </Style>
                     </DataGrid.RowStyle>
                     <DataGrid.Columns>
-                        <DataGridTemplateColumn Header="操作"  Width="60" IsReadOnly="True" >
+                        <DataGridTemplateColumn Header="操作"  Width="100" IsReadOnly="True" >
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
                                     <Button Command="{Binding DataContext.Commands.ScanAssetInfo,ElementName=this}" CommandParameter="{Binding }" Style="{StaticResource ResourceKey={x:Static uc:CommonStyles.LinkButtonKey}}"  VerticalAlignment="Center"   Content="查看资产详情" HorizontalAlignment="Left" Padding="5,0,5,0"/>
@@ -126,10 +126,10 @@
                         </DataGridTemplateColumn>
                         <fw:TDataGridTextColumn Header="本地名称" Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalName}"></fw:TDataGridTextColumn>
                         <fw:TDataGridTextColumn Header="本地编码"  Width="100" IsReadOnly="True"  Binding="{Binding Path=LocalCode}"></fw:TDataGridTextColumn>
-                        <fw:TDataGridTextColumn Header="资产编号"  Width="60" IsReadOnly="True"  Binding="{Binding Path=AssetNo}"></fw:TDataGridTextColumn>
+                        <fw:TDataGridTextColumn Header="资产编号"  Width="100" IsReadOnly="True"  Binding="{Binding Path=AssetNo}"></fw:TDataGridTextColumn>
                         <fw:TDataGridTextColumn Header="品牌"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Brand}"></fw:TDataGridTextColumn>
                         <fw:TDataGridTextColumn Header="产品名"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Product}"></fw:TDataGridTextColumn>
-                        <fw:TDataGridTextColumn Header="型号"  Width="50" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
+                        <fw:TDataGridTextColumn Header="型号"  Width="100" IsReadOnly="True"  Binding="{Binding Path=Type}"></fw:TDataGridTextColumn>
 
                         <DataGridTemplateColumn Header="采购价格" Width="80" fw:DataGridDragCopyOptions.CanColumnDragCopy="True">
                             <DataGridTemplateColumn.CellTemplate>

+ 5 - 2
MBI/FirmLib/Com.FirmLib/Bll/AssetBll.cs

@@ -4,6 +4,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Com.FirmLib.CacheData;
 using Com.FirmLib.Entity;
 using FirmHttpDao;
 
@@ -23,8 +24,9 @@ namespace Com.FirmLib.Bll
         /// <returns></returns>
         public string GetAssetUrl(AssetItem assetItem)
         {
+            string secret = PlatformProjectManager.GetProjectPassword(assetItem.ProjectId);
             var url =
-                    $"{BllHttpSetting.Instance.H5Url}/details?perjectId={assetItem.ProjectId}&secret=saga123456&FmId={assetItem.Id}&type=1&code={assetItem.FamilyCode}";
+                    $"{BllHttpSetting.Instance.H5Url}/details?perjectId={assetItem.ProjectId}&secret={secret}&FmId={assetItem.Id}&type=1&code={assetItem.FamilyCode}";
             return url;
         }
         /// <summary>
@@ -34,8 +36,9 @@ namespace Com.FirmLib.Bll
         /// <returns></returns>
         public string GetEquipmentUrl(AssetItem assetItem)
         {
+            string secret = PlatformProjectManager.GetProjectPassword(assetItem.ProjectId);
             var url =
-                    $"{BllHttpSetting.Instance.H5Url}/details?perjectId={assetItem.ProjectId}&secret=saga123456&FmId={assetItem.Id}&type=0&code={assetItem.FamilyCode}";
+                    $"{BllHttpSetting.Instance.H5Url}/details?perjectId={assetItem.ProjectId}&secret={secret}&FmId={assetItem.Id}&type=0&code={assetItem.FamilyCode}";
             return url;
         }
     }

+ 5 - 0
MBI/FirmLib/Com.FirmLib/Bll/MBIBll/StationVenderBll.cs

@@ -9,6 +9,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Com.FirmLib.CacheData;
 
 namespace Com.FirmLib.Bll
 {
@@ -179,6 +180,8 @@ namespace Com.FirmLib.Bll
         /// <returns></returns>
         public List<SupplyContractItem> GetSupplyContractItems(string projectId, string venderId,string secret)
         {
+            //作废输入值
+            secret = PlatformProjectManager.GetProjectPassword(projectId);
             List<SupplyContractItem> items = new List<SupplyContractItem>();
             string tempUrlExtension = BllHttpSetting.Instance.DpUri + $@"/getSupplierContractID?projectId={projectId}&secret={secret}";
             JObject jObject = new JObject();
@@ -200,6 +203,8 @@ namespace Com.FirmLib.Bll
         /// <returns></returns>
         public List<InsuerPolicyItem> GetInsuerContractItems(string projectId, string venderId, string secret)
         {
+            //作废输入值
+            secret = PlatformProjectManager.GetProjectPassword(projectId);
             List<InsuerPolicyItem> items = new List<InsuerPolicyItem>();
             string tempUrlExtension = BllHttpSetting.Instance.DpUri + $@"/getInsuranceNum?projectId={projectId}&secret={secret}";
             JObject jObject = new JObject();

+ 2 - 2
MBI/FirmLib/Com.FirmLib/Bll/ManufacturerBll.cs

@@ -135,7 +135,7 @@ namespace Com.FirmLib.Bll
             JObject jObject = new JObject();
             jObject.Add("venderId", manufacturerId);
             var reault = PostJsonAsync(new Uri(GetEndUri() + uri, UriKind.RelativeOrAbsolute), jObject);
-            if (reault.IsCompleted && reault.Result.IsSuccessStatusCode)
+            if ( reault.Result.IsSuccessStatusCode)
             {
                 var strContent = reault.Result.Content.ReadAsStringAsync();
                 JObject result = JObject.Parse(strContent.Result);
@@ -159,7 +159,7 @@ namespace Com.FirmLib.Bll
         /// <returns></returns>
         public List<ManufacturerAssetItem> GetProjectAssetItems(string manufacturerId,string projectId)
         {
-            string tempUrlExtension = BllHttpSetting.Instance.DpUri + this.m_ExtensionUri+ @"/project/query";
+            string tempUrlExtension = BllHttpSetting.Instance.DpUri + this.m_ExtensionUri+ @"/property/query";
             List<ManufacturerAssetItem> items = new List<ManufacturerAssetItem>();
             JObject jObject = new JObject();
             jObject.Add("venderId", manufacturerId);

+ 1 - 1
MBI/FirmLib/Com.FirmLib/Bll/PlatformBll/PlatformBll.cs

@@ -71,7 +71,7 @@ namespace Com.FirmLib.Bll
         public BatchResult<List<string>> CreateAssetItems(ProjectSetting projectSetting, List<TdAssetItem> items)
         {
             BatchResultType resultFlag = BatchResultType.Failed;
-            projectSetting.Secret = "123";
+            //projectSetting.Secret = "123";
             string tempUrlExtension = BllHttpSetting.Instance.EquipmentUri + string.Format(@"/property/create?projectId={0}&secret={1}", projectSetting.ProjectId, projectSetting.Secret);
             List<JObject> jobjects = new List<JObject>();
             items.ForEach(ci => jobjects.Add(ci.ToJObject()));

+ 38 - 1
MBI/FirmLib/Com.FirmLib/Bll/ProjectBll.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Net.Http;
 using System.Text;
 using System.Threading.Tasks;
 using Com.FirmLib.Entity;
@@ -65,7 +66,6 @@ namespace Com.FirmLib.Bll
         public void ProjectSync(string projectId)
         {
             string tempUrlExtension = BaseEndUri() + @"/project/sync";
-            List<ProjectItem> items = new List<ProjectItem>();
             JObject jObject = new JObject();
             JArray jArray = new JArray(projectId);
             jArray.Add(projectId);
@@ -74,5 +74,42 @@ namespace Com.FirmLib.Bll
             //不需要等待处理结果
             //HandlerResult(result, null,null);//处理result变成同步
         }
+        /// <summary>
+        /// 获取项目密码
+        /// </summary>
+        /// <param name="projectId"></param>
+        /// <returns></returns>
+        public string GetProjectSecret(string projectId)
+        {
+            string url = BllHttpSetting.Instance.EquipmentUri +
+                         $"/mng/project/query?projectId={projectId}&secret=A123456";
+            var items = new List<PlatformProjectItem>();
+            HttpClient client = HttpClientManager.CreateClient();
+            var result = client.GetAsync(new Uri(url, UriKind.RelativeOrAbsolute));
+            HandlerResult(result, (jo) =>
+            {
+                var listStr = jo["Content"].ToString();
+                items = JsonConvert.DeserializeObject<List<PlatformProjectItem>>(listStr);
+            });
+            return (items.FirstOrDefault()?.password)??string.Empty;
+        }
+  
     }
+
+    #region 相关基础信息
+
+    public class PlatformProjectItem
+    {
+        /// <summary>
+        /// 项目Id
+        /// </summary>
+        public string Id { get; set; }
+        /// <summary>
+        /// 项目密码
+        /// </summary>
+        public string password { get; set; }
+    }
+
+    #endregion
 }
+

+ 1 - 0
MBI/FirmLib/Com.FirmLib/Com.FirmLib.csproj

@@ -86,6 +86,7 @@
     <Compile Include="Bll\ProductTypeBll.cs" />
     <Compile Include="Bll\ProjectBll.cs" />
     <Compile Include="Bll\SellerBll.cs" />
+    <Compile Include="CacheData\PlatformProjectManager.cs" />
     <Compile Include="Common\BatchResult.cs" />
     <Compile Include="Common\JObjectExtension.cs" />
     <Compile Include="Common\PostFile.cs" />

+ 19 - 3
MBI/FirmLib/Com.FirmLib/Common/ProjectSetting.cs

@@ -3,15 +3,17 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Com.FirmLib.CacheData;
 
 namespace Com.FirmLib
 {
     public class ProjectSetting
     {
-        public const string  DefaultSecret= "saga123456";
+        [Obsolete]
+        private const string  DefaultSecret= "saga123456";
         public ProjectSetting()
         {
-            Secret = DefaultSecret;
+           // Secret = DefaultSecret;
         }
         public ProjectSetting(string projectId):this()
         {
@@ -21,9 +23,23 @@ namespace Com.FirmLib
         /// 项目信息
         /// </summary>
         public string ProjectId { get; set; }
+
+        private string m_Secret;
         /// <summary>
         /// 项目验证信息
         /// </summary>
-        public string Secret { get; set; }
+        public string Secret
+        {
+            private set { m_Secret = value; }
+            get
+            {
+                if (!string.IsNullOrEmpty(m_Secret))
+                {
+                    return m_Secret;
+                }
+
+                return PlatformProjectManager.GetProjectPassword(ProjectId);
+            }
+        }
     }
 }

+ 5 - 0
MBI/FirmLib/Com.FirmLib/Entity/SellerItem.cs

@@ -62,6 +62,11 @@ namespace Com.FirmLib.Entity
         [JsonProperty("EquipLocalId")]
         public string EquipLocalId { get; set; }
         /// <summary>
+        /// 资产编码
+        /// </summary>
+        [JsonProperty("AssetID")]
+        public string AssetId { get; set; }
+        /// <summary>
         /// 品牌
         /// </summary>
         [JsonProperty("Brand")]

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

@@ -0,0 +1,83 @@
+
+using Autodesk.Revit.DB;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Autodesk.Revit.DB.Mechanical;
+using SAGA.DotNetUtils.Extend;
+using SAGA.Models;
+using SAGA.RevitUtils.Extends;
+
+namespace SAGA.MBI.Interaction
+{
+    /// <summary>
+    /// MBI模型信息管理
+    /// </summary>
+    public class MBIModelInfoManager
+    {
+        /// <summary>
+        /// 同步物理世界信息到revit
+        /// </summary>
+        /// <param name="document"></param>
+        /// <returns></returns>
+        public static bool SyncPlatformToRevit(Document document)
+        {
+            bool flag = true;
+            var floorId = document.PathName.GetFileName();
+            //获取物理世界本层信息;
+            List<MBIItem> mbiItems = new List<MBIItem>();
+            //修改模型
+            using (Transaction tran=new Transaction(document,"获取本地病名"))
+            {
+                try
+                {
+                    tran.Start();
+                    foreach (var mbiItem in mbiItems)
+                    {
+                        if (string.IsNullOrEmpty(mbiItem.LocalName))
+                        {
+                            //本地名称为null,则不信息修改;
+                            continue;
+                        }
+
+                        #region 核心处理模型修改
+                        using (SubTransaction sub = new SubTransaction(document))
+                        {
+                            try
+                            {
+                                sub.Start();
+                                var id = mbiItem.RevitId;
+                                if (id <= 0)
+                                    continue;
+                                var element = document.GetElement(new ElementId(mbiItem.RevitId));
+                                do
+                                {
+                                    if (element is Space space)
+                                    {
+                                        space.SetParameter(BuiltInParameter.ROOM_NAME, mbiItem.LocalName);
+                                    }
+                                } while (false);
+                                sub.Commit();
+                            }
+                            catch (Exception e)
+                            {
+                                sub.RollBack();
+                            }
+
+                        } 
+                        #endregion
+                    }
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    tran.Start();
+                    flag = false;
+                }
+            }
+            return flag;
+        }
+    }
+}

+ 1 - 0
MBI/SAGA.MBI/SAGA.MBI.csproj

@@ -262,6 +262,7 @@
     <Compile Include="DataArrange\DalProjectTree.cs" />
     <Compile Include="DataArrange\DalSpace.cs" />
     <Compile Include="DataArrange\DalUserMenuPermission.cs" />
+    <Compile Include="Interaction\MBIModelInfoManager.cs" />
     <Compile Include="JsonConvert\QRCodeConvert.cs" />
     <Compile Include="ModeInfoEdit\WinPointMergeTip.xaml.cs">
       <DependentUpon>WinPointMergeTip.xaml</DependentUpon>