/// <summary>
        /// 生成树节点
        /// </summary>
        /// <param name="parentId">父级节点ID</param>
        /// <param name="parentNode">父级节点</param>
        /// <param name="isShowAll">是否显示已加工节点</param>
        private void InitialTree(object parentId, TreeNode parentNode, bool isShowAll)
        {
            List <object[]> list = SQLiteHelper.ExecuteColumnsQuery($"SELECT bfi_id, bfi_name, bfi_path, bfi_state, bfi_type FROM backup_files_info WHERE bfi_pid='{parentId}' ORDER BY rowid", 5);

            for (int i = 0; i < list.Count; i++)
            {
                int state = Convert.ToInt32(list[i][3]);
                if (state != 1 || isShowAll)
                {
                    int      imageIndex = GetFileIconIndex(state, GetValue(list[i][1]));
                    TreeNode treeNode   = new TreeNode()
                    {
                        Name               = GetValue(list[i][0]),
                        Text               = GetValue(list[i][1]),
                        Tag                = GetValue(list[i][2]),
                        ImageIndex         = imageIndex,
                        SelectedImageIndex = imageIndex,
                        ToolTipText        = GetValue(list[i][4]),
                        StateImageKey      = state.ToString(),
                    };
                    parentNode.Nodes.Add(treeNode);
                    InitialTree(treeNode.Name, treeNode, isShowAll);
                }
            }
        }
 /// <summary>
 /// 根据文件ID获取其所在盒号
 /// </summary>
 private static string GetBoxNumber(object id, object pid)
 {
     System.Collections.Generic.List <object[]> boxIds = SQLiteHelper.ExecuteColumnsQuery($"SELECT pb_box_number, pb_files_id FROM files_box_info WHERE pb_obj_id='{pid}'", 2);
     foreach (object[] item in boxIds)
     {
         string value = GetValue(item[1]).Trim();
         if (!string.IsNullOrEmpty(value))
         {
             string[] files = value.Split(',');
             foreach (string file in files)
             {
                 if (id.Equals(file))
                 {
                     return(GetValue(item[0]));
                 }
             }
         }
     }
     return(string.Empty);
 }
Example #3
0
        /// <summary>
        /// 获取指定专项下所包含的文件总数
        /// </summary>
        private int GetTotalFileAmountBySpiId(object objId)
        {
            int count = 0;

            count += GetCount(objId);
            List <object[]> list = SQLiteHelper.ExecuteColumnsQuery($"SELECT pi_id FROM project_info WHERE pi_obj_id='{objId}'", 1);

            for (int i = 0; i < list.Count; i++)
            {
                count += GetCount(list[i][0]);
                List <object[]> list3 = SQLiteHelper.ExecuteColumnsQuery($"SELECT ti_id FROM topic_info WHERE ti_obj_id='{list[i][0]}'", 1);
                for (int j = 0; j < list3.Count; j++)
                {
                    count += GetCount(list3[j][0]);
                    List <object[]> list5 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id FROM subject_info WHERE si_obj_id='{list3[j][0]}'", 1);
                    for (int k = 0; k < list5.Count; k++)
                    {
                        count += GetCount(list5[k][0]);
                    }
                }
                List <object[]> list4 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id FROM subject_info WHERE si_obj_id='{list[i][0]}'", 1);
                for (int j = 0; j < list4.Count; j++)
                {
                    count += GetCount(list4[j][0]);
                }
            }
            List <object[]> list2 = SQLiteHelper.ExecuteColumnsQuery($"SELECT ti_id FROM topic_info WHERE ti_obj_id='{objId}'", 1);

            for (int i = 0; i < list2.Count; i++)
            {
                count += GetCount(list2[i][0]);
                List <object[]> list4 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id FROM subject_info WHERE si_obj_id='{list2[i][0]}'", 1);
                for (int j = 0; j < list4.Count; j++)
                {
                    count += GetCount(list4[j][0]);
                }
            }
            return(count);
        }
Example #4
0
        /// <summary>
        /// 归档
        /// </summary>
        private void Btn_GuiDang_Click(object sender, EventArgs e)
        {
            int needGDFileAmount = GetTotalFileAmountBySpiId(UserHelper.GetUser().SpecialId);

            pro_GuiDang.Value   = pro_GuiDang.Minimum = 0;
            pro_GuiDang.Maximum = needGDFileAmount;

            object KEY   = "SAVE_PATH";
            object value = SQLiteHelper.ExecuteOnlyOneQuery($"SELECT dd_name FROM data_dictionary WHERE dd_code='{KEY}'");

            if (value != null)
            {
                pro_GuiDang.Tag = value;
                /* ----复制文件----*/
                string rootFolder = value + "\\" + UserHelper.GetUser().SpecialName;
                if (!Directory.Exists(rootFolder))
                {
                    try { Directory.CreateDirectory(rootFolder); }
                    catch (Exception ex) { MessageBox.Show(ex.Message); return; }
                }
                //专项下的项目
                List <object[]> list2 = SQLiteHelper.ExecuteColumnsQuery($"SELECT pi_id, pi_code FROM project_info WHERE pi_obj_id='{UserHelper.GetUser().SpecialId}'", 2);
                for (int i = 0; i < list2.Count; i++)
                {
                    string _rootFolder = rootFolder + "\\" + list2[i][1];
                    if (!Directory.Exists(_rootFolder))
                    {
                        Directory.CreateDirectory(_rootFolder);
                    }
                    //项目下的文件
                    CopyFile(_rootFolder, GetFileLinkByObjId(list2[i][0]), true);

                    //项目下的课题
                    List <object[]> list5 = SQLiteHelper.ExecuteColumnsQuery($"SELECT ti_id, ti_code FROM topic_info WHERE ti_obj_id='{list2[i][0]}'", 2);
                    for (int j = 0; j < list5.Count; j++)
                    {
                        string _rootFolder2 = _rootFolder + "\\" + list5[j][1];
                        if (!Directory.Exists(_rootFolder2))
                        {
                            Directory.CreateDirectory(_rootFolder2);
                        }
                        //课题下的文件
                        CopyFile(_rootFolder2, GetFileLinkByObjId(list5[j][0]), true);

                        //课题下的子课题
                        List <object[]> list6 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id, si_code FROM subject_info WHERE si_obj_id='{list5[j][0]}'", 2);
                        for (int k = 0; k < list6.Count; k++)
                        {
                            string _rootFolder3 = _rootFolder2 + "\\" + list6[k][1];
                            if (!Directory.Exists(_rootFolder3))
                            {
                                Directory.CreateDirectory(_rootFolder3);
                            }
                            CopyFile(_rootFolder3, GetFileLinkByObjId(list6[k][0]), true);
                        }
                    }
                    //项目下的子课题
                    List <object[]> list7 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id, si_code FROM subject_info WHERE si_obj_id='{list2[i][0]}'", 2);
                    for (int j = 0; j < list7.Count; j++)
                    {
                        string _rootFolder2 = _rootFolder + "\\" + list7[j][1];
                        if (!Directory.Exists(_rootFolder2))
                        {
                            Directory.CreateDirectory(_rootFolder2);
                        }
                        CopyFile(_rootFolder2, GetFileLinkByObjId(list7[j][0]), true);
                    }
                }
                //专项下的课题
                List <object[]> list4 = SQLiteHelper.ExecuteColumnsQuery($"SELECT ti_id, ti_code FROM topic_info WHERE ti_obj_id='{UserHelper.GetUser().SpecialId}'", 2);
                for (int i = 0; i < list4.Count; i++)
                {
                    string _rootFolder = rootFolder + "\\" + list4[i][1];
                    if (!Directory.Exists(_rootFolder))
                    {
                        Directory.CreateDirectory(_rootFolder);
                    }
                    //课题下的文件
                    CopyFile(_rootFolder, GetFileLinkByObjId(list4[i][0]), true);

                    //课题下的子课题
                    List <object[]> list6 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id, si_code FROM subject_info WHERE si_obj_id='{list4[i][0]}'", 2);
                    for (int k = 0; k < list6.Count; k++)
                    {
                        string _rootFolder3 = _rootFolder + "\\" + list6[k][1];
                        if (!Directory.Exists(_rootFolder3))
                        {
                            Directory.CreateDirectory(_rootFolder3);
                        }
                        CopyFile(_rootFolder3, GetFileLinkByObjId(list6[k][0]), true);
                    }
                }

                gro_GuiDang.Text  += "[归档完毕]";
                gro_YiJiao.Enabled = true;
                LoadDataList();
                gro_GuiDang.Enabled = false;
            }
            else
            {
                MessageBox.Show("请先设置归档文件存放路径(全文路径)。", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }
Example #5
0
 private static List <object[]> GetFileLinkByObjId(object objId)
 {
     return(SQLiteHelper.ExecuteColumnsQuery($"SELECT fi_link, fi_file_id FROM files_info WHERE fi_obj_id='{objId}'", 2));
 }
Example #6
0
        private void Btn_Start_Click(object sender, EventArgs e)
        {
            progressBar1.Maximum = GetTotalFileAmountBySpiId(UserHelper.GetUser().SpecialId);
            int    count = progressBar1.Maximum, okcount = 0, nocount = 0;
            string rootFolder = txt_FilePath.Text + "\\" + SQLiteHelper.ExecuteOnlyOneQuery($"SELECT spi_name FROM special_info WHERE spi_id='{UserHelper.GetUser().SpecialId}'");

            if (!Directory.Exists(rootFolder))
            {
                Directory.CreateDirectory(rootFolder);
            }
            //专项下的文件
            CopyFile(ref okcount, ref nocount, rootFolder, GetFileLinkByObjId(UserHelper.GetUser().SpecialId));
            //专项下的项目
            List <object[]> list2 = SQLiteHelper.ExecuteColumnsQuery($"SELECT pi_id, pi_name FROM project_info WHERE pi_obj_id='{UserHelper.GetUser().SpecialId}'", 2);

            for (int i = 0; i < list2.Count; i++)
            {
                string _rootFolder = rootFolder + "\\" + list2[i][1];
                if (!Directory.Exists(_rootFolder))
                {
                    Directory.CreateDirectory(_rootFolder);
                }
                //项目下的文件
                CopyFile(ref okcount, ref nocount, _rootFolder, GetFileLinkByObjId(list2[i][0]));

                //项目下的课题
                List <object[]> list5 = SQLiteHelper.ExecuteColumnsQuery($"SELECT ti_id, ti_name FROM topic_info WHERE ti_obj_id='{list2[i][0]}'", 2);
                for (int j = 0; j < list5.Count; j++)
                {
                    string _rootFolder2 = _rootFolder + "\\" + list5[j][1];
                    if (!Directory.Exists(_rootFolder2))
                    {
                        Directory.CreateDirectory(_rootFolder2);
                    }
                    //课题下的文件
                    CopyFile(ref okcount, ref nocount, _rootFolder2, GetFileLinkByObjId(list5[j][0]));

                    //课题下的子课题
                    List <object[]> list6 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id, si_name FROM subject_info WHERE si_obj_id='{list5[j][0]}'", 2);
                    for (int k = 0; k < list6.Count; k++)
                    {
                        string _rootFolder3 = _rootFolder2 + "\\" + list6[k][1];
                        if (!Directory.Exists(_rootFolder3))
                        {
                            Directory.CreateDirectory(_rootFolder3);
                        }
                        CopyFile(ref okcount, ref nocount, _rootFolder3, GetFileLinkByObjId(list6[k][0]));
                    }
                }
                //项目下的子课题
                List <object[]> list7 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id, si_name FROM subject_info WHERE si_obj_id='{list2[i][0]}'", 2);
                for (int j = 0; j < list7.Count; j++)
                {
                    string _rootFolder2 = _rootFolder + "\\" + list7[j][1];
                    if (!Directory.Exists(_rootFolder2))
                    {
                        Directory.CreateDirectory(_rootFolder2);
                    }
                    CopyFile(ref okcount, ref nocount, _rootFolder2, GetFileLinkByObjId(list7[j][0]));
                }
            }
            //专项下的课题
            List <object[]> list4 = SQLiteHelper.ExecuteColumnsQuery($"SELECT ti_id, ti_name FROM topic_info WHERE ti_obj_id='{UserHelper.GetUser().SpecialId}'", 2);

            for (int i = 0; i < list4.Count; i++)
            {
                string _rootFolder = rootFolder + "\\" + list4[i][1];
                if (!Directory.Exists(_rootFolder))
                {
                    Directory.CreateDirectory(_rootFolder);
                }
                //课题下的文件
                CopyFile(ref okcount, ref nocount, _rootFolder, GetFileLinkByObjId(list4[i][0]));

                //课题下的子课题
                List <object[]> list6 = SQLiteHelper.ExecuteColumnsQuery($"SELECT si_id, si_name FROM subject_info WHERE si_obj_id='{list4[i][0]}'", 2);
                for (int k = 0; k < list6.Count; k++)
                {
                    string _rootFolder3 = _rootFolder + "\\" + list6[k][1];
                    if (!Directory.Exists(_rootFolder3))
                    {
                        Directory.CreateDirectory(_rootFolder3);
                    }
                    CopyFile(ref okcount, ref nocount, _rootFolder3, GetFileLinkByObjId(list6[k][0]));
                }
            }
            MessageBox.Show($"备份完成,共计{count}个文件,成功{okcount}个,失败{nocount}个。", "操作成功", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            Close();
        }
Example #7
0
 /// <summary>
 /// 根据指定对象ID获取文件链接
 /// </summary>
 /// <param name="objId">指定ID</param>
 private static List <object[]> GetFileLinkByObjId(object objId) => SQLiteHelper.ExecuteColumnsQuery($"SELECT fi_link FROM files_info WHERE fi_obj_id='{objId}'", 1);
        /// <summary>
        /// 根据编码获取其下的数据的id和name属性
        /// </summary>
        /// <param name="parentCode">父节点Code</param>
        public static List <object[]> GetValuesByCode(object parentCode)
        {
            object parentId = SQLiteHelper.ExecuteOnlyOneQuery($"SELECT dd_id FROM data_dictionary WHERE dd_code = '{parentCode}'");

            return(SQLiteHelper.ExecuteColumnsQuery($"SELECT dd_id, dd_name FROM data_dictionary WHERE dd_pId='{parentId}' ORDER BY dd_sort", 2));
        }