예제 #1
0
        /// <summary>
        /// 上传线表
        /// </summary>
        private bool UpLoadLineSheet()
        {
            if (String.IsNullOrEmpty(this.textEditLineSheet.Text))
            {
                MessageBox.Show("线表表单为空!请选择点表", "提示");
                return(true);
            }

            DataSet   dataSetLine   = ExcelToDataSet(excelPath, this.textEditLineSheet.Text.Trim());
            DataTable dataTableLine = dataSetLine.Tables[0];

            dataTableLine.Columns.Add("FileName", typeof(string));
            dataTableLine.Columns.Add("Uploadtime", typeof(string));
            for (int i = 0; i < dataTableLine.Rows.Count; i++)
            {
                dataTableLine.Rows[i]["FileName"] = Path.GetFileNameWithoutExtension(excelPath);

                dataTableLine.Rows[i]["Uploadtime"] = DateTime.Now.ToString();
            }

            Maticsoft.BLL.cjpll cjpllBLL = new Maticsoft.BLL.cjpll();

            List <Maticsoft.Model.cjpll> cjpllModelList = cjpllBLL.DataTableToList(dataTableLine);

            Maticsoft.BLL.cjpllback          cjpllBackBLL       = new Maticsoft.BLL.cjpllback();
            List <Maticsoft.Model.cjpllback> cjplpBackModelList = cjpllBackBLL.DataTableToList(dataTableLine);

            Maticsoft.BLL.exportinfo   exportinfoBLL   = new Maticsoft.BLL.exportinfo();
            Maticsoft.Model.exportinfo exportinfoModel = new Maticsoft.Model.exportinfo();



            for (int i = 0; i < cjpllModelList.Count; i++)
            {
                List <Maticsoft.Model.exportinfo> exportinfosModelList = exportinfoBLL.GetModelList("");

                //不重复的数据
                if (!cjpllBLL.Exists(cjpllModelList[i].Exp_No0, cjpllModelList[i].Exp_No1))
                {
                    cjpllBLL.Add(cjpllModelList[i]);
                }
                else
                {
                    //存在就更新原始数据中的线表属性,因为可能修改了其它属性信息
                    cjpllBLL.Update(cjpllModelList[i]);

                    //备份的数据库中,不重复的数据,则插入,否则,则更新
                    if (!cjpllBackBLL.Exists(cjpllModelList[i].Exp_No0, cjpllModelList[i].Exp_No1))
                    {
                        cjpllBackBLL.Add(cjplpBackModelList[i]);
                    }
                    else
                    {
                        cjpllBackBLL.Update(cjplpBackModelList[i]);
                    }
                }

                //导出配置表(exportinfo)中有配置数据,则对比
                if (exportinfosModelList.Count > 0)
                {
                    Int32 flag = 0;
                    //导出表的配置
                    for (int j = 0; j < exportinfosModelList.Count; j++)
                    {
                        if (exportinfosModelList[j].Address != cjpllModelList[i].Address ||
                            !cjpllModelList[i].FileName.Contains(exportinfosModelList[j].Basin) ||
                            !cjpllModelList[i].FileName.Contains(exportinfosModelList[j].Strname) ||
                            !cjpllModelList[i].FileName.Contains(exportinfosModelList[j].Plot))
                        {
                            flag++;
                        }
                    }

                    if (flag == exportinfosModelList.Count)
                    {
                        string[] tempArr = cjpllModelList[i].FileName.Split('-');
                        //导出配置表(exportinfo)中没有配置数据,则直接插入
                        exportinfoModel.Address = cjpllModelList[i].Address;

                        exportinfoModel.Basin   = tempArr.Length > 0 ? tempArr[0] : string.Empty;
                        exportinfoModel.Strname = tempArr.Length > 1 ? tempArr[1] : string.Empty;
                        exportinfoModel.Plot    = tempArr.Length > 2 ? tempArr[2].Substring(0, tempArr[2].IndexOf("_")) : string.Empty;

                        exportinfoModel.FileName = cjpllModelList[i].FileName;
                        exportinfoBLL.Add(exportinfoModel);
                    }
                }
                else
                {
                    string[] tempArr = cjpllModelList[i].FileName.Split('-');
                    //导出配置表(exportinfo)中没有配置数据,则直接插入
                    exportinfoModel.Address = cjpllModelList[i].Address;

                    exportinfoModel.Basin   = tempArr.Length > 0 ? tempArr[0] : string.Empty;
                    exportinfoModel.Strname = tempArr.Length > 1 ? tempArr[1] : string.Empty;
                    exportinfoModel.Plot    = tempArr.Length > 2 ? tempArr[2].Substring(0, tempArr[2].IndexOf("_")) : string.Empty;

                    exportinfoModel.FileName = cjpllModelList[i].FileName;
                    exportinfoBLL.Add(exportinfoModel);
                }
            }



            return(false);
        }
예제 #2
0
        /// <summary>
        /// 上传点表
        /// </summary>
        /// <returns></returns>
        private bool UpLoadPointSheet()
        {
            try
            {
                if (String.IsNullOrEmpty(this.textEditPointSheet.Text))
                {
                    MessageBox.Show("点表表单为空!请选择点表", "提示");
                    return(true);
                }

                DataSet   dataSet   = ExcelToDataSet(excelPath, this.textEditPointSheet.Text.Trim());
                DataTable dataTable = dataSet.Tables[0];

                //1.填充数据名称和数据上传时间字段
                dataTable.Columns.Add("FileName", typeof(string));
                dataTable.Columns.Add("Uploadtime", typeof(string));
                for (int i = 0; i < dataTable.Rows.Count; i++)
                {
                    dataTable.Rows[i]["FileName"] = Path.GetFileNameWithoutExtension(excelPath);

                    dataTable.Rows[i]["Uploadtime"] = DateTime.Now.ToString();
                }

                cjplp cjplpBLL = new cjplp();



                List <Maticsoft.Model.cjplp> cjplpModelList = cjplpBLL.DataTableToList(dataTable);

                cjplpback cjplpBackBLL = new cjplpback();
                List <Maticsoft.Model.cjplpback> cjplpBackModelList = cjplpBackBLL.DataTableToList(dataTable);

                exportinfo exportinfoBLL = new exportinfo();
                Maticsoft.Model.exportinfo exportinfoModel = new Maticsoft.Model.exportinfo();


                for (int i = 0; i < cjplpModelList.Count; i++)
                {
                    List <Maticsoft.Model.exportinfo> exportinfosModelList = exportinfoBLL.GetModelList("");

                    //不重复的数据
                    if (!cjplpBLL.Exists(cjplpModelList[i].Exp_NoOri))
                    {
                        //点表不重复的数据,直接插入
                        cjplpBLL.Add(cjplpModelList[i]);
                    }
                    else
                    {
                        //存在就更新点表中原有的数据,因为可能只修改了数据的属性
                        cjplpBLL.Update(cjplpModelList[i]);

                        //备份的数据库中,不重复的数据,则插入,否则,则更新
                        if (!cjplpBackBLL.Exists(cjplpModelList[i].Exp_NoOri))
                        {
                            cjplpBackBLL.Add(cjplpBackModelList[i]);
                        }
                        else
                        {
                            cjplpBackBLL.Update(cjplpBackModelList[i]);
                        }
                    }

                    //导出配置表(exportinfo)中有配置数据,则对比
                    if (exportinfosModelList.Count > 0)
                    {
                        Int32 flag = 0;
                        //导出表的配置
                        for (int j = 0; j < exportinfosModelList.Count; j++)
                        {
                            if (exportinfosModelList[j].Address != cjplpModelList[i].Address ||
                                !cjplpModelList[i].FileName.Contains(exportinfosModelList[j].Basin) ||
                                !cjplpModelList[i].FileName.Contains(exportinfosModelList[j].Strname) ||
                                !cjplpModelList[i].FileName.Contains(exportinfosModelList[j].Plot))
                            {
                                flag++;
                            }

                            if (flag == exportinfosModelList.Count)
                            {
                                string[] tempArr = cjplpModelList[i].FileName.Split('-');
                                //导出配置表(exportinfo)中没有配置数据,则直接插入
                                exportinfoModel.Address = cjplpModelList[i].Address;

                                exportinfoModel.Basin   = tempArr.Length > 0 ? tempArr[0] : string.Empty;
                                exportinfoModel.Strname = tempArr.Length > 1 ? tempArr[1] : string.Empty;
                                exportinfoModel.Plot    = tempArr.Length > 2 ? tempArr[2].Substring(0, tempArr[2].IndexOf("_")) : string.Empty;

                                exportinfoModel.FileName = cjplpModelList[i].FileName;
                                exportinfoBLL.Add(exportinfoModel);
                            }
                        }
                    }
                    else
                    {
                        string[] tempArr = cjplpModelList[i].FileName.Split('-');
                        //导出配置表(exportinfo)中没有配置数据,则直接插入
                        exportinfoModel.Address = cjplpModelList[i].Address;

                        exportinfoModel.Basin   = tempArr.Length > 0 ? tempArr[0] : string.Empty;
                        exportinfoModel.Strname = tempArr.Length > 1 ? tempArr[1] : string.Empty;
                        exportinfoModel.Plot    = tempArr.Length > 2 ? tempArr[2].Substring(0, tempArr[2].IndexOf("_")) : string.Empty;

                        exportinfoModel.FileName = cjplpModelList[i].FileName;
                        exportinfoBLL.Add(exportinfoModel);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(false);
        }
예제 #3
0
        public static void asynExportInfoTabl()
        {
            // List<string> list = new List<string>();
            //点表
            Maticsoft.BLL.cjplp          cjplpBLL       = new Maticsoft.BLL.cjplp();
            List <Maticsoft.Model.cjplp> cjplpModelList = cjplpBLL.GetFileNames();

            //线表
            Maticsoft.BLL.cjpll          cjpllBLL       = new Maticsoft.BLL.cjpll();
            List <Maticsoft.Model.cjpll> cjpllModelList = cjpllBLL.GetFileNames();

            Maticsoft.BLL.exportinfo          exportinfoBLL        = new Maticsoft.BLL.exportinfo();
            Maticsoft.Model.exportinfo        exportinfoModel      = new Maticsoft.Model.exportinfo();
            List <Maticsoft.Model.exportinfo> exportinfosModelList = exportinfoBLL.GetModelList("");

            if (cjplpModelList.Count > 0)
            {
                //第一种情况:对于数据库中有的,但是同步表中没有的,需要增加
                var exp2 = cjplpModelList.Where(a => !exportinfosModelList.Exists(t => a.FileName.Contains(t.FileName))).ToList();
                // Console.WriteLine("--查找student1集合中存在,而student2不存在的数据--");
                foreach (var item in exp2)
                {
                    // Console.WriteLine("{0} \t {1} \t {2}", item.name, item.subject, item.score);
                    string[] tempArr = item.FileName.Split('-');
                    //导出配置表(exportinfo)中没有配置数据,则直接插入
                    exportinfoModel.Address  = item.Address;
                    exportinfoModel.Basin    = tempArr.Length > 0 ? tempArr[0] : string.Empty;
                    exportinfoModel.Strname  = tempArr.Length > 1 ? tempArr[1] : string.Empty;
                    exportinfoModel.Plot     = tempArr.Length > 2 ? tempArr[2].Substring(0, tempArr[2].IndexOf("_")) : string.Empty;
                    exportinfoModel.FileName = item.FileName;
                    exportinfoBLL.Add(exportinfoModel);
                }
            }

            if (cjpllModelList.Count > 0)
            {
                //第一种情况:对于数据库中有的,但是同步表中没有的,需要增加
                var exp2 = cjpllModelList.Where(a => !exportinfosModelList.Exists(t => a.FileName.Contains(t.FileName))).ToList();
                // Console.WriteLine("--查找student1集合中存在,而student2不存在的数据--");
                foreach (var item in exp2)
                {
                    // Console.WriteLine("{0} \t {1} \t {2}", item.name, item.subject, item.score);
                    string[] tempArr = item.FileName.Split('-');
                    //导出配置表(exportinfo)中没有配置数据,则直接插入
                    exportinfoModel.Address  = item.Address;
                    exportinfoModel.Basin    = tempArr.Length > 0 ? tempArr[0] : string.Empty;
                    exportinfoModel.Strname  = tempArr.Length > 1 ? tempArr[1] : string.Empty;
                    exportinfoModel.Plot     = tempArr.Length > 2 ? tempArr[2].Substring(0, tempArr[2].IndexOf("_")) : string.Empty;
                    exportinfoModel.FileName = item.FileName;
                    exportinfoBLL.Add(exportinfoModel);
                }
            }

            if (exportinfosModelList.Count > 0)
            {
                //第二种情况:对于数据库中有的,但是同步表中没有的,需要增加
                List <Maticsoft.Model.exportinfo> expPoint = exportinfosModelList.Where(a => !cjplpModelList.Exists(t => a.FileName.Contains(t.FileName))).ToList();
                List <Maticsoft.Model.exportinfo> exLine   = exportinfosModelList.Where(a => !cjpllModelList.Exists(t => a.FileName.Contains(t.FileName))).ToList();
                // Console.WriteLine("--查找student1集合中存在,而student2不存在的数据--");

                List <Maticsoft.Model.exportinfo> resultExportinfosList = expPoint.Union(exLine).ToList();
                foreach (Maticsoft.Model.exportinfo item in resultExportinfosList)
                {
                    exportinfoBLL.Delete(item.id);
                }
            }
        }