From d6bc097e6974c0ba8f7ff74b9f8a86ba5addf036 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 25 七月 2023 10:52:52 +0800
Subject: [PATCH] 1

---
 ExportMap/cs/TerraUtils.cs |   39 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/ExportMap/cs/TerraUtils.cs b/ExportMap/cs/TerraUtils.cs
index 1525973..0974dc4 100644
--- a/ExportMap/cs/TerraUtils.cs
+++ b/ExportMap/cs/TerraUtils.cs
@@ -134,14 +134,34 @@
             string txtFile = null;
             try
             {
-                txtFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt");
                 string dirPath = GetTerrainPath(args.dircode);
                 if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath);
 
+                txtFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt");
                 string tifFile = Path.Combine(dirPath, args.dircode + ".tif");
-                //if (File.Exists(tifFile)) File.Delete(tifFile);
 
-                WriteText(txtFile, metas);
+                int pubid = PubDBHelper.GetPushlishId(args.dircode, "DEM");
+                if (pubid > 0 && File.Exists(tifFile))
+                {
+                    List<int> ids = PubDBHelper.GetPublishMetaId(pubid);
+
+                    List<SysMeta> news = new List<SysMeta>();
+                    foreach (SysMeta m in metas)
+                    {
+                        if (!ids.Contains(m.id)) news.Add(m);
+                    }
+                    if (0 == news.Count) return tifFile;
+
+                    string oldTif = Path.Combine(dirPath, args.dircode + "_old.tif");
+                    if (File.Exists(oldTif)) File.Delete(oldTif);
+                    File.Move(tifFile, oldTif);
+                    WriteText(txtFile, news, oldTif);
+                }
+                else
+                {
+                    if (File.Exists(tifFile)) File.Delete(tifFile);
+                    WriteText(txtFile, metas, null);
+                }
 
                 string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\"", PyFile, Qgz, txtFile, tifFile);
                 err = Tools.ExecCmd(cmd, true, false);
@@ -157,24 +177,30 @@
             finally
             {
                 if (!string.IsNullOrEmpty(txtFile) && File.Exists(txtFile)) File.Delete(txtFile);
+
+                string dirPath = GetTerrainPath(args.dircode);
+                string tifFile = Path.Combine(dirPath, args.dircode + ".tif");
+                string oldTif = Path.Combine(dirPath, args.dircode + "_old.tif");
+                if (File.Exists(tifFile) && File.Exists(oldTif)) File.Delete(oldTif);
             }
         }
 
         /// <summary>
         /// 鍐欐枃鏈枃浠�
         /// </summary>
-        private static void WriteText(string txtFile, List<SysMeta> list)
+        private static void WriteText(string txtFile, List<SysMeta> list, string tif)
         {
             string uploadFolder = Tools.GetSetting("uploadFolder");
 
             List<string> files = new List<string>();
+            if (!string.IsNullOrEmpty(tif)) files.Add(tif);
             foreach (SysMeta meta in list)
             {
                 string filePath = Path.Combine(uploadFolder, meta.path);
                 if (File.Exists(filePath)) files.Add(filePath);
             }
-            string str = string.Join("\r\n", files);
 
+            string str = string.Join("\r\n", files);
             File.WriteAllText(txtFile, str);
         }
 
@@ -235,6 +261,9 @@
                 {
                     if (!ids.Contains(m.id)) PubDBHelper.InsertMetaPub(m.id, pubid, args.userId);
                 }
+                string json = GetPointZ(args);
+                if (!string.IsNullOrEmpty(json)) PubDBHelper.UpdatePublishCoord(pubid, json);
+
                 return pubid;
             }
 

--
Gitblit v1.9.3