예제 #1
0
        private void Update()
        {
            dScript.MidsScriptCode   = MidsScriptCode.Text.Trim();
            dScript.MidsScriptName   = MidsScriptName.Text.Trim();
            dScript.MidsScriptVesion = MidsScriptVesion.Text.Trim();
            dScript.FileType         = FileType.SelectedValue.ToString();
            dScript.IndexKey         = IndexKey.Text.Trim();
            dScript.ValidFlag        = ValidFlag.Text.Trim();
            dScript.Remark           = Remark.Text.Trim();
            dScript.ApplyTestProject = ApplyTestProject.SelectedValue.ToString();
            dScript.CreationDate     = DateTime.Now;
            dScript.LastUpdateDate   = DateTime.Now;
            dScript.LastUpdateIp     = "127.0.0.1";
            dScript.Version          = 1;
            dScript.ScriptType       = ScriptType.SelectedIndex;

            dRule.ColSperator    = GetColSperator();
            dRule.ColnameLines   = int.Parse(ColName_Lines.Text.Trim());
            dRule.DesTable       = (Des_Table.SelectedItem as TableInfo).TableName;
            dRule.DesFile        = txtTemplageFile.Text;
            dRule.CreationDate   = DateTime.Now;
            dRule.LastUpdateDate = DateTime.Now;
            dRule.LastUpdateIp   = "127.0.0.1";
            dRule.Version        = 1;
            dRule.Remark         = Remark.Text.Trim();

            DataScriptDAL.update(dScript);
            DataScriptRuleDAL.update(dRule);
        }
예제 #2
0
        private void showData()
        {
            dScript = DataScriptDAL.getInfo(FID);
            dRule   = DataScriptRuleDAL.getInfo(FID);

            ProjectCode.SelectedValue = dScript.ProjectCode;
            TaskName.Text             = dScript.TaskName;
            txtTableName.Text         = dScript.TableName;
            MidsScriptCode.Text       = dScript.MidsScriptCode;
            MidsScriptName.Text       = dScript.MidsScriptName;
            MidsScriptVesion.Text     = dScript.MidsScriptVesion;
            FileType.SelectedValue    = dScript.FileType;
            IndexKey.Text             = dScript.IndexKey;
            ValidFlag.Text            = dScript.ValidFlag;
            Remark.Text = dScript.Remark;
            ApplyTestProject.SelectedValue = dScript.ApplyTestProject;
            ScriptType.SelectedIndex       = dScript.ScriptType;

            SetColSperator(dRule.ColSperator);
            ColName_Lines.Text = dRule.ColnameLines.ToString();

            if (tables.SingleOrDefault(it => it.TableName == dRule.DesTable) == null)
            {
                tables.Add(new TableInfo()
                {
                    TableDesc = dRule.DesTable, TableName = dRule.DesTable
                });
            }
            ProjectCode.SelectedValue = dScript.ProjectCode;

            txtTemplageFile.Text = dRule.DesFile;
        }
        private void addButton_Click(object sender, RoutedEventArgs e)
        {
            DataScriptMapDAL.delAll(FID);

            DataScriptRuleDAL.updateBusinessPK(FID, columnConnection.BusinessPK);

            foreach (var key in columnConnection.ColumnMap.Keys)
            {
                DataScriptMap map = new DataScriptMap();
                map.FID = Guid.NewGuid().ToString().Replace("-", "");
                map.MdsImpDataScriptRuleID = FID;
                map.TableColName           = key;
                map.FileColName            = columnConnection.ColumnMap[key];
                map.TransferType           = "02";
                map.LastUpdateIp           = "127.0.0.1";
                map.LastUpdatedBy          = MainWindow.UserID;
                map.CreatedBy = MainWindow.UserID;

                // 如果有算式,保存
                if (columnConnection.ScriptMap.ContainsKey(key))
                {
                    map.TransferScript = columnConnection.ScriptMap[key];
                }

                DataScriptMapDAL.Insert(map);
            }

            MessageBox.Show("对应关系已经保存!");

            MainWindow window = App.Current.MainWindow as MainWindow;

            window.StartPage(new DataScriptList());
        }
예제 #4
0
        private void delButton_Click(object sender, RoutedEventArgs e)
        {
            string error = "";

            foreach (DataScript item in dataGrid.SelectedItems)
            {
                if (item.CreatedBy != MainWindow.UserID)
                {
                    error += string.Format("解析器[{0}],是别人创建的,无法删除\r\n", item.DisplayName);
                    continue;
                }
                if (item.Release == "02")
                {
                    error += string.Format("解析器[{0}],已发布,无法删除\r\n", item.DisplayName);
                    continue;
                }

                List <string> allMaps    = DataScriptDAL.getMapColName(item.TableName);
                var           currMaps   = DataScriptMapDAL.getList(item.FID);
                var           struceures = TableDAL.getTableStructure(item.TableName);

                foreach (var cm in currMaps)
                {
                    if (allMaps.Count(it => it == cm.TableColName) > 1)
                    {
                        // 多个并用
                        continue;
                    }
                    var s = struceures.FirstOrDefault(it => it.ColumnName == cm.TableColName);
                    if (s != null && s.IsKey)
                    {
                        // 主键不能删
                        continue;
                    }
                    TableDAL.dropColumn(item.TableName, cm.TableColName);
                }

                DataScriptDAL.Delete(item.FID);
                DataScriptRuleDAL.Delete(item.FID);
                DataScriptMapDAL.delAll(item.FID);
            }

            if (!string.IsNullOrEmpty(error))
            {
                MessageBox.Show(error);
            }

            dataGrid.DataContext = DataScriptDAL.getList();
        }
예제 #5
0
        public Class1(string userID, string userName, string projectCode, string taskCode, string scriptCode, int times, string sourceFile)
        {
            this.userID = userID;
            var taskInfoList = WebHelper.listTdmTasks(userName);

            this.taskInfo = taskInfoList.FirstOrDefault(it => it.taskCode == taskCode);

            // "b1190f6a66a94b6eb110b3ffc0739887";
            string fid = scriptCode2Fid(scriptCode);

            this.dataScript     = DataScriptDAL.getInfo(fid);
            this.dataScriptRule = DataScriptRuleDAL.getInfo(fid);
            this.times          = times;
            this.sourceFile     = sourceFile;
            this.columnMap      = getColumnMap();
            this.calColumnMap();

            if (this.dataScriptRule != null)
            {
                this.structList = TableDAL.getTableStructure(this.dataScriptRule.DesTable);
            }
        }
예제 #6
0
        private void insert()
        {
            dScript = new DataScript();

            dScript.FID              = Guid.NewGuid().ToString().Replace("-", "");
            FID                      = dScript.FID;
            dScript.MidsScriptCode   = MidsScriptCode.Text.Trim();
            dScript.MidsScriptName   = MidsScriptName.Text.Trim();
            dScript.MidsScriptVesion = MidsScriptVesion.Text.Trim();
            dScript.FileType         = FileType.SelectedValue.ToString();
            dScript.IndexKey         = IndexKey.Text.Trim();
            dScript.ValidFlag        = ValidFlag.Text.Trim();
            dScript.ApplyTestProject = ApplyTestProject.SelectedValue.ToString();
            dScript.CreationDate     = DateTime.Now;
            dScript.LastUpdateDate   = DateTime.Now;
            dScript.LastUpdateIp     = "127.0.0.1";
            dScript.Version          = 1;
            dScript.LastUpdatedBy    = MainWindow.UserID;
            dScript.CreatedBy        = MainWindow.UserID;
            dScript.ScriptType       = ScriptType.SelectedIndex;

            dRule     = new DataScriptRule();
            dRule.FID = dScript.FID;    // Guid.NewGuid().ToString().Replace("-", "");
            dRule.MdsImpDataScriptID = dScript.FID;
            dRule.ColSperator        = GetColSperator();
            dRule.ColnameLines       = int.Parse(ColName_Lines.Text.Trim());
            dRule.DesTable           = (Des_Table.SelectedItem as TableInfo).TableName;
            dRule.DesFile            = txtTemplageFile.Text;
            dRule.CreationDate       = DateTime.Now;
            dRule.LastUpdateDate     = DateTime.Now;
            dRule.LastUpdateIp       = "127.0.0.1";
            dRule.Version            = 1;
            dRule.DesBusinessPk      = "";
            dRule.CreatedBy          = MainWindow.UserID;
            dRule.LastUpdatedBy      = MainWindow.UserID;

            DataScriptDAL.Insert(dScript);
            DataScriptRuleDAL.Insert(dRule);
        }
예제 #7
0
 private void insert()
 {
     DataScriptDAL.Insert(dScript);
     DataScriptRuleDAL.Insert(dRule);
 }
예제 #8
0
 private void updateScript()
 {
     DataScriptDAL.update(dScript);
     DataScriptRuleDAL.update(dRule);
 }
예제 #9
0
        public bool init()
        {
            var taskInfoList = TaskinfoDAL.getList(userName);

            if (taskInfoList == null || taskInfoList.Count == 0)
            {
                SendMessageEvent(false, string.Format("用户[{0}],无任务数据", userName));
                CompleteEvent(this, new CompleteArgs()
                {
                    Message = "数据导入失败"
                });
                return(false);
            }

            this.taskInfo = taskInfoList.FirstOrDefault(it => it.taskCode == taskCode);

            if (taskInfo == null)
            {
                SendMessageEvent(false, string.Format("任务[{0}],不存在", taskCode));
                CompleteEvent(this, new CompleteArgs()
                {
                    Message = "数据导入失败"
                });
                return(false);
            }

            var dataSource = WebHelper.listTdmTaskTimesInfo(taskInfo.id);

            if (dataSource.Count(it => it.TestTime == this.times.ToString()) < 1)
            {
                SendMessageEvent(false, string.Format("任务 [ {0} ] ,试验次数 [ {1} ] 不存在,", taskCode, this.times));
                CompleteEvent(this, new CompleteArgs()
                {
                    Message = "数据导入失败"
                });
                return(false);
            }

            string fid = scriptCode2Fid(scriptCode);

            if (string.IsNullOrEmpty(fid))
            {
                SendMessageEvent(false, string.Format("任务[{0}],不存在", taskCode));
                CompleteEvent(this, new CompleteArgs()
                {
                    Message = "数据导入失败"
                });
                return(false);
            }

            this.dataScript = DataScriptDAL.getInfo(fid);

            if (dataScript == null)
            {
                SendMessageEvent(false, string.Format("任务[{0}],不存在", taskCode));
                CompleteEvent(this, new CompleteArgs()
                {
                    Message = "数据导入失败"
                });
                return(false);
            }

            this.dataScriptRule = DataScriptRuleDAL.getInfo(fid);

            if (dataScriptRule == null)
            {
                SendMessageEvent(false, string.Format("任务规则[{0}],不存在", fid));
                CompleteEvent(this, new CompleteArgs()
                {
                    Message = "数据导入失败"
                });
                return(false);
            }

            this.columnMap = getColumnMap();

            if (this.dataScriptRule != null)
            {
                this.structList = TableDAL.getTableStructure(this.dataScriptRule.DesTable);
            }

            return(true);
        }
예제 #10
0
        private void btnNext_Click(object sender, RoutedEventArgs e)
        {
            ImportRun mapModify = new ImportRun();

            mapModify.DataScript     = this.DataScript;
            mapModify.DataScriptRule = this.DataScriptRule;
            mapModify.ColumnMap      = columnConnection.ColumnMap;
            mapModify.ScriptMap      = columnConnection.ScriptMap;
            mapModify.sourceFile     = sourceFile;
            mapModify.DataScriptRule.DesBusinessPk = columnConnection.BusinessPK;

            if (!mapModify.ColumnMap.ContainsKey("COLUMN0"))
            {
                MessageBox.Show("您需要指定时间列的关联关系,才可以导入数据!");
                return;
            }

            foreach (string key in mapModify.ScriptMap.Keys)
            {
                string script = mapModify.ScriptMap[key].Trim();
                if (!string.IsNullOrEmpty(script))
                {
                    DataScriptMapDAL.SaveScriptFile(key, script);
                }
            }

            // 保存对应关系
            if (DataScriptInfo.saveScript || true)
            {
                DataScriptMapDAL.delAll(FID);

                DataScriptRuleDAL.updateBusinessPK(FID, columnConnection.BusinessPK);

                foreach (var key in columnConnection.ColumnMap.Keys)
                {
                    DataScriptMap map = new DataScriptMap();
                    map.FID = Guid.NewGuid().ToString().Replace("-", "");
                    map.MdsImpDataScriptRuleID = FID;
                    map.TableColName           = key;
                    map.FileColName            = columnConnection.ColumnMap[key];
                    map.TransferType           = "02";
                    map.CreatedBy     = MainWindow.UserID;
                    map.LastUpdatedBy = MainWindow.UserID;
                    map.LastUpdateIp  = "127.0.0.1";

                    // 如果有算式,保存
                    if (columnConnection.ScriptMap.ContainsKey(key))
                    {
                        map.TransferScript = columnConnection.ScriptMap[key];
                    }

                    DataScriptMapDAL.Insert(map);
                }
                //MessageBox.Show("对应关系已经保存!");
            }

            ImportStack.Push(this);

            MainWindow window = App.Current.MainWindow as MainWindow;

            window.StartPage(mapModify);
        }
예제 #11
0
        private void openTemplateFile_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            dataScript = ScriptName.SelectedItem as DataScript;

            dataRule = DataScriptRuleDAL.getInfo(dataScript.FID);

            System.Windows.Forms.OpenFileDialog dialog = new System.Windows.Forms.OpenFileDialog();

            if (FileType.SelectedValue.ToString() == "xls/xlsx")
            {
                dialog.Filter = "(Excel 文件)|*.xls;*.xlsx";
            }
            else if (FileType.SelectedValue.ToString() == "dat")
            {
                dialog.Filter = "(dat 文件)|*.dat";
            }
            else if (FileType.SelectedValue.ToString() == "db")
            {
                dialog.Filter = "(sqlite 文件)|*.db";
            }
            else if (FileType.SelectedValue.ToString() == "mdb")
            {
                dialog.Filter = "(mdb 文件)|*.mdb";
            }
            else if (FileType.SelectedValue.ToString() == "fws10")
            {
                dialog.Filter = "(fws10 文件)|*.fws10";
            }
            else
            {
                dialog.Filter = "(文本文件)|*.txt";
            }

            System.Windows.Forms.DialogResult result = dialog.ShowDialog();

            DataTable dt = new DataTable();

            if (result == System.Windows.Forms.DialogResult.OK)
            {
                txtTemplageFile.Text = dialog.FileName;

                if (FileType.SelectedValue.ToString() == "mdb")
                {
                    AccessImportHelper helper = new AccessImportHelper(dialog.FileName);
                    dt = helper.getDataTable();
                }
                else if (FileType.SelectedValue.ToString() == "xls/xlsx")
                {
                    dt = ExcelImportHelper.GetDataTable(dialog.FileName);
                }
                else if (FileType.SelectedValue.ToString() == "db")
                {
                    dt = SQLiteImportHelper.GetDataTable(dialog.FileName);
                }
                else
                {
                    dt = TextImportHelper.GetDataTable(dialog.FileName, dataRule.getColSeperatorChar());
                }

                dataGrid.ItemsSource   = dt.AsDataView();
                importGrid.ItemsSource = dt;
                checkStruct(dt, dataScript);
            }
        }