| | |
| | | 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; } |
| | | |
| | |
| | | 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); |
| | |
| | | using ExportMap.cs; |
| | | using ExportMap.db; |
| | | using ExportMap.Models; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | /// <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> |
| | |
| | | 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; // 标准错误流 |
| | |
| | | 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(); |
| | |
| | | { |
| | | 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; |
| | |
| | | using ExportMap.cs; |
| | | using ExportMap.Models; |
| | | using Npgsql; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | |
| | | { |
| | | 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> |
| | |
| | | /// <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; |
| | |
| | | /// <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; |