管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-01-01 e1b6f5052ae50ac9507f6f3f6a06e2c2f574d0cd
1
已修改4个文件
91 ■■■■■ 文件已修改
DataLoader/CS/Importor.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/LoginWin.xaml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/MainWindow.xaml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/MainWindow.xaml.cs 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataLoader/CS/Importor.cs
@@ -68,7 +68,7 @@
            return obj == null ? 0 : Convert.ToInt32(obj);
        }
        public static void Import(ObservableCollection<ViewData> viewDatas, string source, string target)
        public static void GetFiles(ObservableCollection<ViewData> viewDatas, string source)
        {
            string[] files = Directory.GetFiles(source);
            for (int i = 0, c = files.Length; i < c; i++)
@@ -81,8 +81,6 @@
                SetSysMeta(vd);
            }
            ImportFiles(viewDatas, target);
        }
        private static void SetSysMeta(ViewData vd)
@@ -112,19 +110,19 @@
            {
                try
                {
                    vd.Status = "获取MD5码";
                    vd.Status = "生成MD5码...";
                    string guid = MD5Helper.GetMD5Hash(vd.FilePath);
                    if (IsFileExists(guid))
                    {
                        vd.Status = "已存在";
                        vd.Status = "已存在!";
                        continue;
                    }
                    vd.Status = "插入数据库";
                    vd.Status = "插入数据库...";
                    int metaId = InsertMeta(vd.Meta);
                    if (metaId == 0)
                    {
                        vd.Status = "元数据出错";
                        vd.Status = "元数据出错!";
                        continue;
                    }
@@ -132,10 +130,10 @@
                    SysMetaFile mf = GetMetaFile(vd, metaId, start, guid);
                    InsertMetaFile(mf);
                    vd.Status = "复制文件";
                    vd.Status = "复制文件...";
                    CopyFile(vd.FilePath, Path.Combine(target, mf.path));
                    vd.Status = "完成";
                    vd.Status = "完成。";
                }
                catch (Exception ex)
                {
DataLoader/LoginWin.xaml
@@ -2,8 +2,8 @@
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:Chrome="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
        Loaded="Window_Loaded"
        Title="登录窗口" Height="480" Width="600" WindowStartupLocation="CenterScreen">
        Loaded="Window_Loaded" Title="登录窗口"
        Height="500" Width="750" WindowStartupLocation="CenterScreen">
    <Grid>
        <Chrome:ChromiumWebBrowser x:Name="web" Margin="1" Grid.Row="1" />
    </Grid>
DataLoader/MainWindow.xaml
@@ -1,7 +1,7 @@
<Window x:Class="DataLoader.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="480" Width="600"
        Height="500" Width="750"
        Loaded="Window_Loaded"
        Title="数据入库" WindowStartupLocation="CenterScreen">
    <Window.Resources>
@@ -38,11 +38,11 @@
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="7*" />
            <ColumnDefinition Width="5*" />
            <ColumnDefinition Width="18*" />
            <ColumnDefinition Width="4*" />
            <ColumnDefinition Width="18*" />
            <ColumnDefinition Width="7*" />
            <ColumnDefinition Width="18*" />
            <ColumnDefinition Width="8*" />
        </Grid.ColumnDefinitions>
        <Label Grid.Row="0" Grid.Column="0" Content="用户ID:" VerticalAlignment="Center" HorizontalAlignment="Right" />
@@ -64,14 +64,23 @@
                <ListView.View>
                    <GridView>
                        <GridView.Columns>
                            <GridViewColumn Header="序号" Width="50" DisplayMemberBinding="{Binding Path=ID, Mode=OneWay}"></GridViewColumn>
                            <GridViewColumn Header="路径" Width="Auto" DisplayMemberBinding="{Binding Path=FilePath, Mode=OneWay}"></GridViewColumn>
                            <GridViewColumn Header="状态" Width="80" DisplayMemberBinding="{Binding Path=Status, Mode=OneWay}"></GridViewColumn>
                            <!--<GridViewColumn Header="序号" Width="50" DisplayMemberBinding="{Binding Path=ID, Mode=OneWay}"/>-->
                            <GridViewColumn Header="序号" Width="Auto">
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Path=ID, Mode=OneWay}" TextAlignment="Center" MinWidth="{Binding Path=ActualWidth, ElementName=column}" HorizontalAlignment="Center"/>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <GridViewColumn Header="路径" Width="Auto" DisplayMemberBinding="{Binding Path=FilePath, Mode=OneWay}"/>
                            <GridViewColumn Header="运行状态" Width="120" DisplayMemberBinding="{Binding Path=Status, Mode=OneWay}"/>
                        </GridView.Columns>
                    </GridView>
                </ListView.View>
            </ListView>
        </ScrollViewer>
        <Button x:Name="btnImport" Grid.Row="3" Grid.Column="4" Content="导 入" Style="{StaticResource btn}" Click="Import_MouseLeftButtonDown"/>
        <Button x:Name="btnLoad" Grid.Row="3" Grid.Column="4" Content="加 载" Style="{StaticResource btn}" Click="Load_MouseLeftButtonDown"/>
        <Button x:Name="btnImport" Grid.Row="4" Grid.Column="4" Content="导 入" Style="{StaticResource btn}" Click="Import_MouseLeftButtonDown"/>
    </Grid>
</Window>
DataLoader/MainWindow.xaml.cs
@@ -6,10 +6,13 @@
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Forms.VisualStyles;
using System.Windows.Threading;
namespace DataLoader
{
@@ -19,9 +22,9 @@
        public event PropertyChangedEventHandler PropertyChanged;
        private string _sourcePath= "D:\\LF\\data\\mdb";
        private string _sourcePath = "D:\\opting\\得文数据"; // "D:\\LF\\data\\mdb";
        private string _targetPath= "D:\\LF\\upload";
        private string _targetPath = "D:\\LF\\upload";
        private LoginWin win;
@@ -66,7 +69,9 @@
        {
            Tool.Owner = this;
            this.btnLoad.IsEnabled = false;
            this.btnImport.IsEnabled = false;
            lvView.DataContext = viewDatas;
            lvView.SetBinding(ListView.ItemsSourceProperty, new Binding());
@@ -87,8 +92,10 @@
            if (win != null) win.Close();
            this.Show();
            this.tbUid.Text = Tool.UserId.ToString() + "," + Tool.Uname;
            this.tbUid.Text = Tool.UserId.ToString() + "-" + Tool.Uname;
            this.tbToken.Text = Tool.Token;
            this.btnLoad.IsEnabled = true;
            this.btnImport.IsEnabled = true;
        }
@@ -122,34 +129,47 @@
            this.TargetPath = dialog.SelectedPath.Trim();
        }
        // 导入
        private void Import_MouseLeftButtonDown(object sender, RoutedEventArgs e)
        // 加载
        private void Load_MouseLeftButtonDown(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(SourcePath) || !Directory.Exists(SourcePath))
            {
                MessageBox.Show("请选择数据目录!");
                MessageBox.Show("请选择数据目录!", "提示");
                return;
            }
            if (string.IsNullOrEmpty(TargetPath) || !Directory.Exists(TargetPath))
            {
                MessageBox.Show("请选择入库目录!");
                MessageBox.Show("请选择入库目录!", "提示");
                return;
            }
            string[] files = Directory.GetFiles(SourcePath);
            if (null == files || files.Length == 0)
            {
                MessageBox.Show("数据目录下没有文件!");
                MessageBox.Show("数据目录下没有文件!", "提示");
                return;
            }
            viewDatas.Clear();
            this.viewDatas.Clear();
            Importor.GetFiles(viewDatas, SourcePath);
        }
            Dispatcher.Invoke(new Action(delegate
        // 导入
        private void Import_MouseLeftButtonDown(object sender, RoutedEventArgs e)
        {
            if (viewDatas.Count == 0) return;
            Thread thread = new Thread(new ThreadStart(() =>
            {
                this.btnImport.IsEnabled = false;
                Importor.Import(viewDatas, SourcePath, TargetPath);
                this.btnImport.IsEnabled = true;
                Importor.ImportFiles(viewDatas, TargetPath);
                lvView.Dispatcher.BeginInvoke((ThreadStart)delegate {
                    ICollectionView view = CollectionViewSource.GetDefaultView(viewDatas);
                    view.Refresh();
                });
                MessageBox.Show("数据导入完成!", "提示");
            }));
            thread.Start();
        }
    }
}