| | |
| | | return ResponseMsg<string>.fail("令牌无效"); |
| | | } |
| | | |
| | | int count = ConvertUtils.Convert(args); |
| | | if (0 == count) |
| | | List<int> rs = ConvertUtils.Convert(args); |
| | | if (null == rs || rs.Count == 0) |
| | | { |
| | | return ResponseMsg<string>.fail("失败"); |
| | | } |
| | | |
| | | return ResponseMsg<string>.success("成功", "ok", count); |
| | | return ResponseMsg<string>.success("成功", string.Join(",", rs), rs.Count); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | |
| | | string err = null; |
| | | int count = XYZUtils.Generate(args, ref err); |
| | | if (0 == count) |
| | | List<int> rs = XYZUtils.Generate(args, ref err); |
| | | if (null == rs || rs.Count == 0) |
| | | { |
| | | return ResponseMsg<string>.fail(null == err ? "失败" : err); |
| | | } |
| | | |
| | | return ResponseMsg<string>.success("成功", "ok", count); |
| | | return ResponseMsg<string>.success("成功", string.Join(",", rs), rs.Count); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | SGUtils utils = new SGUtils(); |
| | | |
| | | string err = null; |
| | | int count = utils.Release(args, ref err); |
| | | if (0 == count) |
| | | List<int> rs = utils.Release(args, ref err); |
| | | if (null == rs || rs.Count == 0) |
| | | { |
| | | return ResponseMsg<string>.fail(null == err ? "失败" : err); |
| | | } |
| | | |
| | | return ResponseMsg<string>.success("成功", "ok", count); |
| | | return ResponseMsg<string>.success("成功", string.Join(",", rs), rs.Count); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 模型转换 |
| | | /// </summary> |
| | | public static int Convert(XYZArgs args) |
| | | public static List<int> Convert(XYZArgs args) |
| | | { |
| | | int count = 0; |
| | | string uploadFolder = Tools.GetSetting("uploadFolder"); |
| | | string tilesFolder = Path.Combine(Tools.GetSetting("lfData"), "3d\\3dtiles"); |
| | | |
| | | List<SysMeta> list = XYZUtils.SelectMetas(args.ids, "and type in ('ifc', 'fbx', 'rvt')"); |
| | | if (null == list || list.Count == 0) return 0; |
| | | if (null == list || list.Count == 0) return null; |
| | | |
| | | List<int> ids = new List<int>(); |
| | | foreach (SysMeta meta in list) |
| | | { |
| | | string modelFile = Path.Combine(uploadFolder, meta.path); |
| | |
| | | if (File.Exists(jsonFile)) |
| | | { |
| | | string path = jsonFile.Replace(Tools.GetSetting("lfData") + "\\", ""); |
| | | InsertToDB(meta, args, path); |
| | | int pubid = InsertToDB(meta, args, path); |
| | | |
| | | count++; |
| | | if (pubid > 0) ids.Add(pubid); |
| | | } |
| | | } |
| | | |
| | | return count; |
| | | return ids; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(SysMeta meta, XYZArgs args, string path) |
| | | private static int InsertToDB(SysMeta meta, XYZArgs args, string path) |
| | | { |
| | | if (PubDBHelper.IsPublish(meta.id)) return; |
| | | if (PubDBHelper.IsPublish(meta.id)) return 0; |
| | | |
| | | SysPublish sys = NewPublish(meta, args); |
| | | sys.path = path; |
| | |
| | | PubDBHelper.InsertLayer(sys, meta, 100); |
| | | PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId); |
| | | } |
| | | |
| | | return pubid; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | /// <param name="args">XYZ参数</param> |
| | | /// <returns>行数</returns> |
| | | public int Release(XYZArgs args, ref string err) |
| | | public List<int> Release(XYZArgs args, ref string err) |
| | | { |
| | | List<SysMeta> list = XYZUtils.SelectMetas(args.ids, "and type in ('mpt', '3dml')"); |
| | | if (null == list || list.Count == 0) return 0; |
| | | if (null == list || list.Count == 0) return null; |
| | | |
| | | int maxId = GetMaxId(); // maxId = 411576; |
| | | RomoveNoneFiles(list); |
| | | if (list.Count == 0) return 0; |
| | | if (list.Count == 0) return null; |
| | | |
| | | //err = LinkFiles(list); |
| | | //if (!string.IsNullOrEmpty(err)) return 0; |
| | | MoveFiles(list); |
| | | |
| | | int count = 0; |
| | | string names = GetNames(list); |
| | | for (int i = 0; i < 61; i++) |
| | | { |
| | |
| | | List<SpatialItem> items = SelectItems(names); |
| | | if (null == items || items.Count == 0) continue; |
| | | |
| | | InsertInto(list, items, args); |
| | | count = items.Count; |
| | | break; |
| | | return InsertInto(list, items, args); |
| | | } |
| | | |
| | | return count; |
| | | return null; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// 插入数据发布表 |
| | | /// </summary> |
| | | private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args) |
| | | private List<int> InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args) |
| | | { |
| | | List<int> ids = new List<int>(); |
| | | foreach (SysMeta meta in list) |
| | | { |
| | | IEnumerable<SpatialItem> iterator = from item in items where item.Name.Equals(meta.id + "_" + meta.name) select item; |
| | | if (null == iterator) return; |
| | | if (null == iterator) return ids; |
| | | |
| | | meta.verid = iterator.First().id; |
| | | InsertToDB(meta, args); |
| | | int pubid = InsertToDB(meta, args); |
| | | |
| | | if (pubid > 0) ids.Add(pubid); |
| | | } |
| | | |
| | | return ids; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(SysMeta meta, XYZArgs args) |
| | | private static int InsertToDB(SysMeta meta, XYZArgs args) |
| | | { |
| | | if (PubDBHelper.IsPublish(meta.id)) return; |
| | | if (PubDBHelper.IsPublish(meta.id)) return 0; |
| | | |
| | | SysPublish sys = NewPublish(meta, args); |
| | | sys.path = meta.id + "\\" + meta.name; |
| | |
| | | PubDBHelper.InsertLayer(sys, meta, sys.type == "3dml" ? 100 : 0); |
| | | PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId); |
| | | } |
| | | |
| | | return pubid; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | /// <param name="args">XYZ参数</param> |
| | | /// <param name="err">错误信息</param> |
| | | /// <returns>数据发布ID</returns> |
| | | public static int Generate(XYZArgs args, ref string err) |
| | | /// <returns>数据发布ID集合</returns> |
| | | public static List<int> Generate(XYZArgs args, ref string err) |
| | | { |
| | | List<SysMeta> list = SelectMetas(args.ids, "and type in ('tif', 'tiff', 'img')"); |
| | | if (null == list || list.Count == 0) return 0; |
| | | if (null == list || list.Count == 0) return null; |
| | | |
| | | string dateStr = ExportUtil.DateStr; |
| | | //string batFile = Path.Combine(BatPath, dateStr + ".bat"); |
| | |
| | | //if (File.Exists(batFile)) File.Delete(batFile); |
| | | if (File.Exists(tifFile)) File.Delete(tifFile); |
| | | |
| | | List<int> ids = new List<int>(); |
| | | string viewFile = Path.Combine(xyzPath, "view.html"); |
| | | if (File.Exists(viewFile)) |
| | | { |
| | | string path = "2d\\tiles" + "\\" + args.dircode; |
| | | InsertToDB(list, args, path); |
| | | return 1; |
| | | int pubid = InsertToDB(list, args, path); |
| | | |
| | | if (pubid > 0) ids.Add(pubid); |
| | | } |
| | | |
| | | return 0; |
| | | return ids; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(List<SysMeta> metas, XYZArgs args, string path) |
| | | private static int InsertToDB(List<SysMeta> metas, XYZArgs args, string path) |
| | | { |
| | | if (PubDBHelper.IsPublish(args.dircode)) return; |
| | | if (PubDBHelper.IsPublish(args.dircode)) return 0; |
| | | |
| | | SysPublish sys = NewPublish(metas[0], args); |
| | | sys.path = path; |
| | |
| | | PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId); |
| | | } |
| | | } |
| | | |
| | | return pubid; |
| | | } |
| | | |
| | | /// <summary> |