管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-08-03 87b782c2132c645b667032598403896518055f9a
1
已修改5个文件
60 ■■■■■ 文件已修改
ExportMap/Models/SysTask.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/ConvertUtils.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/ExportUtil.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/Tools.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/db/TaskDBHelper.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Models/SysTask.cs
@@ -17,7 +17,7 @@
        public int status { set; get; }
        /// <summary>
        /// 类别:DOM,DEM,MPT,3DML,CPT,BIM,LAS,OSGB
        /// 类别:DOM,DEM,MPT,3DML,CPT,BIM,LAS,OSGB,PNG
        /// </summary>
        public string type { set; get; }
ExportMap/cs/ConvertUtils.cs
@@ -60,7 +60,7 @@
                if (File.Exists(jsonFile)) File.Delete(jsonFile);
                WriteText(configFile, string.Format(JobConfig, outPath.Replace("\\", "\\\\")));
                SysTask task = TaskDBHelper.CreateTask(args, meta, "BIM");
                SysTask task = TaskDBHelper.CreateTask(args, meta, "BIM", "三维模型(BIM)");
                ExecNavisworks(task, modelFile, configFile);
                File.Delete(configFile);
ExportMap/cs/ExportUtil.cs
@@ -1,4 +1,5 @@
using ExportMap.cs;
using ExportMap.db;
using ExportMap.Models;
using Newtonsoft.Json;
using System;
@@ -142,7 +143,8 @@
            CreateTemplate(args);
            string cmd = string.Format("python \"{0}\" -qgz {1} -qpt {2}", PyFile, qgz, args.qpt);
            err = Tools.ExecCmd(null, cmd, true, true);
            SysTask task = TaskDBHelper.CreateTask(ToXYZArgs(args), "PNG", "在线制图");
            err = Tools.ExecCmd(task, cmd, true, true);
            string qptFile = Path.Combine(SourcesPath, args.qpt);
            if (File.Exists(qptFile)) File.Delete(qptFile);
@@ -154,6 +156,21 @@
        }
        /// <summary>
        /// 转换为XYZ参数
        /// </summary>
        private static XYZArgs ToXYZArgs(ExportArgs ea)
        {
            XYZArgs args = new XYZArgs();
            args.name = ea.title;
            args.ids = new List<int>();
            args.depcode = null;
            args.dircode = null;
            args.userId = TaskDBHelper.SelectUserIdByToken(ea.token);
            return args;
        }
        /// <summary>
        /// 创建模板
        /// </summary>
        /// <param name="args">出图参数</param>
ExportMap/cs/Tools.cs
@@ -210,6 +210,9 @@
                p.StartInfo.RedirectStandardError = true;
                p.Start();
                task.pid = p.Id;
                task.id = TaskDBHelper.Insert(task);
                StreamWriter si = p.StandardInput; // 标准输入流 
                StreamReader so = isOut ? p.StandardOutput : null; // 标准输出流 
                StreamReader se = p.StandardError; // 标准错误流
@@ -229,6 +232,13 @@
                if (!string.IsNullOrEmpty(str)) LogOut.Error(str);
                if (p.HasExited == false) p.Kill();
                task = TaskDBHelper.SelectById(task.id);
                if (null != task && task.status < 2)
                {
                    task.status = 2;
                    TaskDBHelper.Update(task);
                }
                se.Close();
                //so.Close();
                si.Close();
@@ -238,6 +248,13 @@
            {
                LogOut.Error(ex.Message + "\r\n" + ex.StackTrace);
                str = ex.Message;
                task = TaskDBHelper.SelectById(task.id);
                if (null != task && task.status < 2)
                {
                    task.err = ex.Message;
                    task.status = 4;
                    TaskDBHelper.Update(task);
                }
            }
            return str;
ExportMap/db/TaskDBHelper.cs
@@ -1,5 +1,6 @@
using ExportMap.cs;
using ExportMap.Models;
using Npgsql;
using System;
using System.Collections.Generic;
using System.Data;
@@ -11,6 +12,19 @@
{
    public class TaskDBHelper
    {
        /// <summary>
        /// 根据停牌获取用户ID
        /// </summary>
        public static int SelectUserIdByToken(string token)
        {
            string sql = "select create_user from lf.sys_token where token=@token order by create_time desc limit 1;";
            DbParameter dp1 = new NpgsqlParameter("@token", token);
            object obj = Tools.DBHelper.GetScalar(sql, dp1);
            return null == obj ? 0 : int.Parse(obj.ToString());
        }
        /// <summary>
        /// 根据ID查询
        /// </summary>
@@ -66,12 +80,13 @@
        /// <summary>
        /// 创建任务实体类
        /// </summary>
        public static SysTask CreateTask(XYZArgs args, string type)
        public static SysTask CreateTask(XYZArgs args, string type, string descr)
        {
            SysTask task = new SysTask();
            task.name = args.name;
            task.status = 1;
            task.type = type;
            task.descr = descr;
            task.ip = Tools.GetLocalIP();
            task.gids = string.Join(",", args.ids.ToArray());
            task.depcode = args.depcode;
@@ -84,12 +99,13 @@
        /// <summary>
        /// 创建任务实体类
        /// </summary>
        public static SysTask CreateTask(XYZArgs args, SysMeta meta, string type)
        public static SysTask CreateTask(XYZArgs args, SysMeta meta, string type, string descr)
        {
            SysTask task = new SysTask();
            task.name = meta.name;
            task.status = 1;
            task.type = type;
            task.descr = descr;
            task.ip = Tools.GetLocalIP();
            task.gids = meta.id.ToString();
            task.depcode = args.depcode;