/// <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); }
/// <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); }
/// <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); } }
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)); }
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(); }
/// <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)); }