From caf0bf69009cdaee31f2e1cfdac647077aff340d Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期五, 06 九月 2024 09:42:35 +0800
Subject: [PATCH] 增加自动匹配界面

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs |   85 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 73 insertions(+), 12 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs
index 96d8b57..e251d98 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs
@@ -1,4 +1,6 @@
-锘縩amespace HStation.WinFrmUI
+锘縰sing NPOI.HSSF.Record;
+
+namespace HStation.WinFrmUI
 {
     public partial class SetXhsProjectMapLocationWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>
     {
@@ -15,18 +17,27 @@
         /// </summary>
         public async void InitialPage(ImportXhsProjectViewModel t)
         {
-            if (_isInitialize)
-            {
-                return;
-            }
+            /*  if (_isInitialize)
+              {
+                  return;
+              }*/
             _vm = t;
-            _isInitialize = true;
+            //_isInitialize = true;
             this.mapSetSimpleMarkerContainer1.LoadCompletedEvent += MapSetSimpleMarkerContainer1_LoadCompletedEvent;
             this.mapSetSimpleMarkerContainer1.SetMarkerEvent += MapSetSimpleMarkerContainer1_SetMarkerEvent;
             await this.mapSetSimpleMarkerContainer1.InitialContainer();
+            /*  if (!InputXhsProjectInfoWizardPage.AllowImport)
+              {
+                  AllowNext = false;
+                  AllowComplete = true;
+              }
+              else
+              {
+                  AllowNext = true;
+                  AllowComplete = false;
+              }*/
+            PageStateChangedEvent.Invoke();
         }
-
-
 
         /// <summary>
         /// 鏄惁鍒濆鍖�
@@ -35,7 +46,10 @@
         {
             get { return _isInitialize; }
         }
+
         private bool _isInitialize = false;
+
+        public event Action PageStateChangedEvent;
 
         /// <summary>
         /// 鏄惁鍏佽涓婁竴姝�
@@ -51,6 +65,7 @@
         public bool AllowNext
         {
             get { return true; }
+            set { }
         }
 
         /// <summary>
@@ -67,6 +82,7 @@
         public bool AllowComplete
         {
             get { return false; }
+            set { }
         }
 
         /// <summary>
@@ -98,7 +114,54 @@
         /// </summary>
         public bool CanComplete()
         {
-            return false;
+            Task<bool> task = Task.Run(async () => await InsertProject());
+            var bol = task.GetAwaiter();
+            return true;
+        }
+
+        private async Task<bool> InsertProject()
+        {
+            var bllXhsProjectExtensions = new BLL.XhsProjectExtensions();
+            var project = new Vmo.Xhs.XhsProjectExtensions();
+            project.NO = _vm.NO;
+            project.Name = _vm.Name;
+            project.Address = _vm.Address;
+            project.Customer = _vm.Customer;
+            project.Flags = _vm.Flags;
+            project.TagName = _vm.TagName;
+            project.Description = _vm.Description;
+            project.SiteList = new List<Vmo.Xhs.XhsProjectSite>() {
+                new Vmo.Xhs.XhsProjectSite(){
+                    Name=_vm.Name,
+                    Description=_vm.Description
+                }
+            };
+            var projectId = await bllXhsProjectExtensions.Insert(project);
+            if (projectId > 1)
+            {
+                _vm.ProjectID = projectId;
+                if (_vm.Location != null)
+                {
+                    var mapInfo = new Yw.Vmo.Map.MapInfo();
+                    mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject;
+                    mapInfo.ObjectID = projectId;
+                    mapInfo.ObjectName = project.Name;
+                    mapInfo.Purpose = Yw.Map.Purpose.Location;
+                    mapInfo.Kind = Yw.Map.Kind.Gaodei;
+                    mapInfo.Shape = Yw.Map.Shape.Marker;
+                    mapInfo.Position = _vm.Location.ToJson();
+                    var mapInfoId = await new Yw.BLL.MapInfo().Insert(mapInfo);
+                    if (mapInfoId < 1)
+                    {
+                        return false;
+                    }
+                    else
+                    {
+                        return true;
+                    }
+                }
+            }
+            return true;
         }
 
         //鍦板浘鍔犺浇瀹屾垚
@@ -123,7 +186,5 @@
             }
             this.txtAddress.EditValue = obj.Address;
         }
-
-
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3