瀏覽代碼

mxg:修改厂商库绑定后显示不完整

mengxiangge 5 年之前
父節點
當前提交
d365027c64

+ 23 - 12
MBI/SAGA.MBI/WinView/ModeInfoMaintenance/WinInsuer.xaml.cs

@@ -212,20 +212,24 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
         private static InsurerUpdateItem InitUpdateItem(MInsuer showItem)
         {
             InsurerUpdateItem item = new InsurerUpdateItem();
-            try
-            {              
-                item.VenderId = showItem.Id;
-                item.VenderName = showItem.Name;
-                #region 网址信息
-                item.WebSite = BllFactory<InsuerBll>.Instance.GetItem(item.VenderId)?.Website ?? string.Empty;
-                #endregion
-                item.Phone = showItem.PhoneNumber;
-                item.Contactor = showItem.Negotiator;            
-            }
-            catch (Exception e)
+            if (showItem != null)
             {
-                MessageShow.Show(e);
+                try
+                {
+                    item.VenderId = showItem.Id;
+                    item.VenderName = showItem.Name;
+                    #region 网址信息
+                    item.WebSite = BllFactory<InsuerBll>.Instance.GetItem(item.VenderId)?.Website ?? string.Empty;
+                    #endregion
+                    item.Phone = showItem.PhoneNumber;
+                    item.Contactor = showItem.Negotiator;
+                }
+                catch (Exception e)
+                {
+                    MessageShow.Show(e);
+                }
             }
+            
             return item;
         }
         private static InsurerUpdateItem InitUpdateItem(JObject infos)
@@ -234,6 +238,13 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             if (infos == null)
                 return item;
             item.PraseJsonObject(infos);
+            if (!string.IsNullOrEmpty(item.VenderId))
+            {
+                //mxg 20190926 处理解决从岗位 XXX 问题
+                var items = DalManufacturerLibrary.GetInsuer(MBIControl.ProjectCur.Id);
+                item = InitUpdateItem(items.FirstOrDefault(t => t.Id == item.VenderId));
+            }
+           
             return item;
         }
         public bool UpdateInfos(InsurerUpdateItem updateItem)

+ 5 - 3
MBI/SAGA.MBI/WinView/ModeInfoMaintenance/WinInsuerContractInfo.xaml.cs

@@ -133,6 +133,7 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             var updateItem = InitUpdateItem(equipment.CloundJObject);
             if (updateItem == null || string.IsNullOrEmpty(updateItem.ContractNo))
                 return result;
+            updateItem = InitUpdateItem(new VMInsuerContractInfo(equipment as MEquipment));
             return GetValueDisplay(updateItem);
         }
         public static readonly string NullDisplay = "请选择保单号";
@@ -220,9 +221,10 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
 
             InsureContractUpdateItem contract = new InsureContractUpdateItem();
             contract.PraseJsonObject(m_MEquipment.CloundJObject);
-            this.ContractNO = contract.ContractNo ?? string.Empty;
-            this.FileKey = contract.FileKey;
-            this.File = contract.FileName; 
+            var item = list.FirstOrDefault(t => t.ContractNO == contract.ContractNo);
+            this.ContractNO = item?.ContractNO ?? string.Empty;
+            this.FileKey = item?.FileKey;
+            this.File = item?.FileName; 
         }
         private string m_InsurerInfo;
         /// <summary>

+ 18 - 7
MBI/SAGA.MBI/WinView/ModeInfoMaintenance/WinMaintenanceDealer.xaml.cs

@@ -220,13 +220,17 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
         private static MaintainerUpdateItem InitUpdateItem(MMaintenanceDealer showItem)
         {
             MaintainerUpdateItem item = new MaintainerUpdateItem();
-            item.VenderId = showItem.Id;
-            item.VenderName = showItem.Name;
-            #region 网址信息
-            item.WebSite = BllFactory<MaintainerBll>.Instance.GetItem(item.VenderId)?.Website ?? string.Empty;
-            #endregion
-            item.Phone = showItem.PhoneNumber;
-            item.Contactor = showItem.Negotiator;
+            if (showItem != null)
+            {
+                item.VenderId = showItem.Id;
+                item.VenderName = showItem.Name;
+                #region 网址信息
+                item.WebSite = BllFactory<MaintainerBll>.Instance.GetItem(item.VenderId)?.Website ?? string.Empty;
+                #endregion
+                item.Phone = showItem.PhoneNumber;
+                item.Contactor = showItem.Negotiator;
+            }
+         
             return item;
         }
         private static MaintainerUpdateItem InitUpdateItem(JObject infos)
@@ -237,6 +241,13 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
                 if (infos == null)
                     return item;
                 item.PraseJsonObject(infos);
+                if (!string.IsNullOrEmpty(item.VenderId))
+                {
+                    //mxg 20190926 处理解决从岗位 XXX 问题
+                    var items = DalManufacturerLibrary.GetMaintenanceDealers(MBIControl.ProjectCur.Id);
+                    item = InitUpdateItem(items.FirstOrDefault(t => t.Id == item.VenderId));
+                }
+               
             }
             catch (Exception e)
             {

+ 32 - 21
MBI/SAGA.MBI/WinView/ModeInfoMaintenance/WinManufacturer.xaml.cs

@@ -25,19 +25,19 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
     /// <summary>
     /// WinManufacturer.xaml 的交互逻辑
     /// </summary>
-    public partial class WinManufacturer: INotifyPGUpdate,INotifyPropertyChanged
+    public partial class WinManufacturer : INotifyPGUpdate, INotifyPropertyChanged
     {
         public WinManufacturer()
         {
             InitializeComponent();
             this.Loaded += WinManufacturer_Loaded;
-            m_Venders=new ObservableCollection<MManufacturer>();
+            m_Venders = new ObservableCollection<MManufacturer>();
         }
         private MEquipment m_MEquipment;
         private List<MManufacturer> BaseVenders { get; set; }
-        public WinManufacturer(MEquipment equipment):this()
+        public WinManufacturer(MEquipment equipment) : this()
         {
-            m_MEquipment = equipment;         
+            m_MEquipment = equipment;
         }
 
         private void WinManufacturer_Loaded(object sender, RoutedEventArgs e)
@@ -65,7 +65,7 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             set
             {
                 m_Venders = value;
-                PropertyChanged?.Invoke(this,new PropertyChangedEventArgs(nameof(Venders)));
+                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Venders)));
             }
         }
 
@@ -79,7 +79,7 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             set
             {
                 m_CurrentVender = value;
-                PropertyChanged?.Invoke(this,new PropertyChangedEventArgs(nameof(CurrentVender)));
+                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CurrentVender)));
             }
         }
         /// <summary>
@@ -107,7 +107,7 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
                 main.ShowDialog();
                 InitData();
             });
-          
+
         }
         /// <summary>
         /// 修改型号
@@ -138,7 +138,7 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
                 main.ShowDialog();
                 InitData();
             });
-         
+
         }
         private void SearchInputEditor_Click(object sender, RoutedEventArgs e)
         {
@@ -161,7 +161,7 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
                 Venders = new ObservableCollection<MManufacturer>(newList);
 
             });
-           
+
         }
         private void BtnSaveChange_OnClick(object sender, RoutedEventArgs e)
         {
@@ -185,7 +185,7 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
                 {
                     if (obj is Property property)
                         property.Value = GetValueDisplay(item);
-                }               
+                }
             }
             catch (Exception e)
             {
@@ -198,15 +198,19 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
         private static ManufacturerUpdateItem InitUpdateItem(MManufacturer showItem)
         {
             ManufacturerUpdateItem item = new ManufacturerUpdateItem();
-            item.VenderId = showItem.VenderId;
-            item.VenderName = showItem.Name;
-            item.BrandId = showItem.BrandId;
-            item.BrandName = showItem.Brand;
-            item.ProductTypeId = showItem.ProductTypeId;
-            item.ProductTypeName = showItem.ModeNumber;
+            if (showItem != null)
+            {
+                item.VenderId = showItem.VenderId;
+                item.VenderName = showItem.Name;
+                item.BrandId = showItem.BrandId;
+                item.BrandName = showItem.Brand;
+                item.ProductTypeId = showItem.ProductTypeId;
+                item.ProductTypeName = showItem.ModeNumber;
+            }
+
             return item;
         }
-        private static ManufacturerUpdateItem InitUpdateItem(JObject infos)
+        private static ManufacturerUpdateItem InitUpdateItem(JObject infos, string code)
         {
             ManufacturerUpdateItem item = new ManufacturerUpdateItem();
             try
@@ -215,6 +219,13 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
                     return item;
 
                 item.PraseJsonObject(infos);
+                if (!string.IsNullOrEmpty(item.VenderId))
+                {
+                    //mxg 20190926 处理解决从岗位上找不到生产厂家,品牌和型号 问题
+                    var items = DalManufacturerLibrary.GetMManufacturers(code);
+                    item = InitUpdateItem(items.FirstOrDefault(t => t.VenderId == item.VenderId && t.ProductTypeId == item.ProductTypeId));
+                }
+                
             }
             catch (Exception e)
             {
@@ -231,10 +242,10 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             #region 其他信息点处理
             if (CurrentVender != null)
             {
-               var pointInfo= ManufacturerUpdateItem.CreateParameterInfos(CurrentVender.Parameters, m_MEquipment.Family.Code);
+                var pointInfo = ManufacturerUpdateItem.CreateParameterInfos(CurrentVender.Parameters, m_MEquipment.Family.Code);
                 updateObject = JObjectExt.Merge(updateObject, pointInfo);
             }
-             
+
             #endregion
             //加上更正时间信息点
 
@@ -270,14 +281,14 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             List<string> displays = new List<string>() { updateItem.BrandName, updateItem.ProductTypeName, updateItem.VenderName };
             displays = displays.Where(s => !string.IsNullOrWhiteSpace(s)).ToList();
             return string.Join("+", displays);
-           // return $"{updateItem.BrandName}+{updateItem.ProductTypeName}+{updateItem.VenderName}";
+            // return $"{updateItem.BrandName}+{updateItem.ProductTypeName}+{updateItem.VenderName}";
         }
         public static string GetValueDisplay(MRevitEquipBase equipment)
         {
             string result = NullDisplay;
             if (equipment == null)
                 return result;
-            var updateItem = InitUpdateItem(equipment.CloundJObject);
+            var updateItem = InitUpdateItem(equipment.CloundJObject, equipment.Family.Code);
             if (updateItem == null || string.IsNullOrEmpty(updateItem.ProductTypeId))
                 return result;
             return GetValueDisplay(updateItem);

+ 17 - 7
MBI/SAGA.MBI/WinView/ModeInfoMaintenance/WinSupply.xaml.cs

@@ -198,13 +198,17 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
         private static SupplyUpdateItem InitUpdateItem(MSupply supply)
         {
             SupplyUpdateItem item = new SupplyUpdateItem();
-            item.VenderId = supply.Id;
-            item.VenderName = supply.Name;
-            #region 网址信息
-            item.WebSite = BllFactory<SellerBll>.Instance.GetItem(item.VenderId)?.Website ?? string.Empty;
-            #endregion
-            item.Phone = supply.PhoneNumber;
-            item.Contactor = supply.Negotiator;
+            if (supply != null)
+            {
+                item.VenderId = supply.Id;
+                item.VenderName = supply.Name;
+                #region 网址信息
+                item.WebSite = BllFactory<SellerBll>.Instance.GetItem(item.VenderId)?.Website ?? string.Empty;
+                #endregion
+                item.Phone = supply.PhoneNumber;
+                item.Contactor = supply.Negotiator;
+            }
+         
             return item;
         }
         private static SupplyUpdateItem InitUpdateItem(JObject infos)
@@ -215,6 +219,12 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
                 if (infos == null)
                     return item;
                 item.PraseJsonObject(infos);
+                //mxg 20190926 处理解决从岗位 XXX 问题
+                if(!string.IsNullOrEmpty(item.VenderId))
+                {
+                    var items = DalManufacturerLibrary.GetSupplies(MBIControl.ProjectCur.Id);
+                    item = InitUpdateItem(items.FirstOrDefault(t => t.Id == item.VenderId));
+                }
             }
             catch (Exception e)
             {

+ 5 - 2
MBI/SAGA.MBI/WinView/ModeInfoMaintenance/WinSupplyContractInfo.xaml.cs

@@ -115,6 +115,8 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             var updateItem = InitUpdateItem(equipment.CloundJObject);
             if (updateItem == null || string.IsNullOrEmpty(updateItem.ContractNo))
                 return result;
+            updateItem = InitUpdateItem(new VMSupplyContractInfo(equipment as MEquipment));
+            
             return GetValueDisplay(updateItem);
         }
         public static readonly string NullDisplay = "请维护供应商合同";
@@ -144,8 +146,9 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
 
             SupplyContractUpdateItem contract = new SupplyContractUpdateItem();
             contract.PraseJsonObject(m_MEquipment.CloundJObject);
-            this.ContractNO = contract.ContractNo??string.Empty;
-            this.ProcurementPrice = contract.PurchasePrice ?? string.Empty;
+            var item = list.FirstOrDefault(t => t.ContractNO == contract.ContractNo);
+            this.ContractNO = item?.ContractNO??string.Empty;
+            this.ProcurementPrice = item?.ProcurementPrice ?? string.Empty;
         }
 
         private string m_SupplyInfo;