//move to next level, current father File is file public void NextLevel(StateFileModel sf) { this.CurrentFatherId = sf.ID; getCurrentFileData(CurrentFileList, CurrentFatherId); PathStr = "状态文件:"; getCurrentPath(CurrentFatherId); }
/// <summary> /// Instantiates a new instance of the SaveFileViewModel /// </summary> /// <param name="stateFileModel">The StateFIleModel to be serialized to a file</param> public SaveFileViewModel(StateFileModel stateFileModel) { SaveFileCommand = new RelayCommand(Save); CloseCommand = new RelayCommand(Close); SelectFileCommand = new RelayCommand(Select); _stateFileModel = stateFileModel; }
//连接数据库 private void getCurrentFileData(ObservableCollection <StateFileModel> fileList, int id) { fileList.Clear(); string SQL = @"SELECT * FROM SYS_TEST_PLAN WHERE FileParentID={0} AND ENABLE='Y' "; DataTable dt = DataUtils.DB.GetDataSetFromSQL(string.Format(SQL, id)).Tables[0]; if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { string SizeSql = @"SELECT datalength(StateData)/1024 FROM dbo.SYS_TEST_PLAN where FileID='{0}' "; string sizeStr = DataUtils.DB.GetSingleValueFromSQL(string.Format(SizeSql, Convert.ToInt32(dr["FileID"]))).ToString(); if (string.IsNullOrWhiteSpace(sizeStr)) { sizeStr = "0"; } string userSQL = @"SELECT UserName FROM SYS_USER WHERE ID='{0}'"; int userID = Convert.ToInt32(DataUtils.StaticInfo.LoginUser); string userInfor = DataUtils.DB.GetSingleValueFromSQL(string.Format(userSQL, userID)).ToString(); StateFileModel sf = new StateFileModel() { ID = Convert.ToInt32(dr["FileID"]), ParentFileId = Convert.ToInt32(dr["FileParentID"]), IsFolder = Convert.ToChar(dr["IsFolder"]) == 'Y' ? true : false, Name = Convert.ToString(dr["FileName"]), Version = Convert.ToString(dr["FileVersion"]), UpdateDateTime = Convert.ToString(dr["UpdateTime"]), UpdateUser = userInfor, FileDisp = Convert.ToString(dr["FileDisp"]) }; if (sf.IsFolder == false) { sf.FileSize = sizeStr + "KB"; } fileList.Add(sf); } } }
private void OpenFile() { if (DataUtils.StaticInfo.MesMode.ToLower() == "true") { if ((new ViewModelLocator()).MainWindow.StatusInfo.IsAdmin) { object obj = listView.SelectedItem as StateFileModel; if (obj != null) { StateFileModel stateFileModel = listView.SelectedItem as StateFileModel; if (DataUtils.StaticInfo.ATEStatusFile.ToUpper() == "TRUE") { string material = stateFileModel.Name; string process = (new ViewModelLocator()).MainWindow.StatusInfo.Process; DataTable dtFile = DataUtils.Interface.GetFile("", process, material); if (dtFile.Rows.Count >= 1) { DXMessageBox.Show("文件已审核不能编辑!", "提示"); return; } } Window mainWindow = DevExpress.Xpf.Core.Native.LayoutHelper.FindLayoutOrVisualParentObject(this, (el) => { return(el is Window); }) as Window; System.Reflection.MethodInfo mif = mainWindow.GetType().GetMethod("ActiveItem", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); if (mif != null) { mif.Invoke( mainWindow, new object[] { string.Format(@"\MeasurementUI.dll;component/View/ConfigTestStep.xaml?PlanID={0}={1}", stateFileModel.ID, stateFileModel.Name), stateFileModel.Name, "文件" } ); } } } else { DXMessageBox.Show("没有修改配置文件权限!", "提示"); } } else { object obj = listView.SelectedItem as StateFileModel; if (obj != null) { StateFileModel stateFileModel = listView.SelectedItem as StateFileModel; Window mainWindow = DevExpress.Xpf.Core.Native.LayoutHelper.FindLayoutOrVisualParentObject(this, (el) => { return(el is Window); }) as Window; System.Reflection.MethodInfo mif = mainWindow.GetType().GetMethod("ActiveItem", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); if (mif != null) { mif.Invoke( mainWindow, new object[] { string.Format(@"\MeasurementUI.dll;component/View/ConfigTestStep.xaml?PlanID={0}={1}", stateFileModel.ID, stateFileModel.Name), stateFileModel.Name, "文件" } ); } } } }
private void GetAllFileData() { string process = (new ViewModelLocator()).MainWindow.StatusInfo.Process; string TRES = ""; string userSQL = @"SELECT UserName FROM SYS_USER WHERE UserID='{0}'"; object obj = DataUtils.StaticInfo.LoginUser; string userID = Convert.ToString(DataUtils.StaticInfo.LoginUser); string userInfor = DataUtils.DB.GetSingleValueFromSQL(string.Format(userSQL, userID)).ToString(); DataTable dt = DataUtils.DB.QueryProc("GET_MATERIAL", ref TRES, "@MATERIAL=" + "").Tables[0]; if (TRES.Substring(0, 2) == "OK" && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { string materialStr = row["MATERIAL"].ToString(); string result = DataUtils.DB.ExecProc ("UPDATE_SYS_TEST_PLAN", "@ACTION=" + "UPDATEDATA", "@Material=" + materialStr, "@Process=" + process, "@Sys_User_ID=" + userID ); } } string SQLFile = @"select A.FileID, A.Material,A.IsFolder, A.PROCESS, datalength(StateData)/1024 SIZE,A.UpDateTime from SYS_TEST_PLAN A WHERE a.Material in (select distinct MATERIAL from G_SHOPORDER_STATUS) and PROCESS='{0}'"; DataTable dtFile = DataUtils.DB.GetDataSetFromSQL(string.Format(SQLFile, process)).Tables[0]; foreach (DataRow dr in dtFile.Rows) { if (Convert.IsDBNull(dr["SIZE"])) { dr["SIZE"] = "0"; } StateFileModel sf = new StateFileModel() { ID = Convert.ToInt32(dr["FileID"]), IsFolder = Convert.ToChar(dr["IsFolder"]) == 'Y' ? true : false, Name = Convert.ToString(dr["Material"]), UpdateDateTime = Convert.ToString(dr["UpdateTime"]), FileProcess = Convert.ToString(dr["Process"]), FileSize = Convert.ToString(dr["SIZE"]) + "KB" }; CurrentFileList.Add(sf); FileterFileList.Add(sf); } }
public string ReName(StateFileModel sf, string str) { string outstr = DataUtils.DB.ExecProc( "UPDATE_SYS_TEST_PLAN", "@ACTION=" + "MODIFY", "@FileID=" + sf.ID, "@FileParentID=" + sf.ParentFileId, "@IsFolder=" + (sf.IsFolder == true ? "Y": "N"), "@FileName=" + str, "@FileVersion=" + sf.Version, "@FileDisp=" + "", "@FileProcess=" + "", "@UpdateTime=" + DateTime.Now, "@Sys_User_ID=" + DataUtils.StaticInfo.LoginUser ); return(outstr); }
private void GetATEModeFileData() { string SQLFile = @"select A.FileID, A.FileName ,A.IsFolder, datalength(StateData)/1024 SIZE,A.UpDateTime from ATE_Test_FILE A"; DataTable dtFile = DataUtils.DB.GetDataSetFromSQL(string.Format(SQLFile)).Tables[0]; foreach (DataRow dr in dtFile.Rows) { if (Convert.IsDBNull(dr["SIZE"])) { dr["SIZE"] = "0"; } StateFileModel sf = new StateFileModel() { ID = Convert.ToInt32(dr["FileID"]), IsFolder = Convert.ToChar(dr["IsFolder"]) == 'Y' ? true : false, Name = Convert.ToString(dr["FileName"]), UpdateDateTime = Convert.ToString(dr["UpdateTime"]), FileSize = Convert.ToString(dr["SIZE"]) + "KB" }; CurrentFileList.Add(sf); FileterFileList.Add(sf); } }
//create new file or new folder public void Create(string str) { StateFileModel sf = new StateFileModel(); if (str == "新建文件夹") { string outstr = DataUtils.DB.ExecProc( "UPDATE_SYS_TEST_PLAN", "@ACTION=" + "UPDATE", "@FileParentID=" + CurrentFatherId, "@IsFolder=" + "Y", "@FileName=" + "新建文件夹", "@FileVersion=" + "", "@FileDisp=" + "", "@FileProcess=" + "", "@UpdateTime=" + DateTime.Now, "@Sys_User_ID=" + DataUtils.StaticInfo.LoginUser ); } else if (str == "新建文件") { string outstr = DataUtils.DB.ExecProc( "UPDATE_SYS_TEST_PLAN", "@ACTION=" + "UPDATE", "@FileParentID=" + CurrentFatherId, "@IsFolder=" + "N", "@FileName=" + "新建文件", "@FileVersion=" + "", "@FileDisp=" + "", "@FileProcess=" + "", "@UpdateTime=" + DateTime.Now, "@Sys_User_ID=" + DataUtils.StaticInfo.LoginUser ); } getCurrentFileData(CurrentFileList, CurrentFatherId); }
//连接数据库 public void getCurrentFileData() { if (CurrentFileList != null) { CurrentFileList.Clear(); FileterFileList.Clear(); } else { CurrentFileList = new ObservableCollection <StateFileModel>(); FileterFileList = new ObservableCollection <StateFileModel>(); } if (DataUtils.StaticInfo.MesMode.ToLower() == "true") { string ateKind = DataUtils.StaticInfo.ATEKind; string terminal = (new ViewModelLocator()).MainWindow.StatusInfo.Terminal; string material = (new ViewModelLocator()).MainWindow.StatusInfo.Material; string processid = (new ViewModelLocator()).MainWindow.StatusInfo.Process; if (DataUtils.StaticInfo.ATEStatusFile.ToUpper() == "TRUE") { if ((new ViewModelLocator()).MainWindow.StatusInfo.IsAdmin) { GetAllFileData(); } else { string strSql = @"select PROCESSName from SYS_PROCESS where PROCESSID='{0}'"; string processName = DataUtils.DB.GetSingleValueFromSQL(string.Format(strSql, processid)).ToString(); string sql = @"select * from (SELECT 类型,产品,ISNULL(B.PROCESSNAME,'') 工序,文件名,更新时间,更新人员,审核人员,审核时间,是否审核 FROM ( SELECT A.ATEKIND 类型,A.MATERIALHANDLE 产品,A.PROCESS,A.MATERIALHANDLE+'-'+A.PROCESS 文件名,CONVERT(VARCHAR(100), A.UPDATETIME, 120) 更新时间,A.UPDATEUSER 更新人员,A.CONFIRMUSER 审核人员, CONVERT(VARCHAR(100), A.CONFIRMTIME, 120) 审核时间,ISNULL(A.CONFIRMSTATUS,'N') 是否审核 FROM ATE_STATUS_FILE A UNION SELECT 'ATES' 类型, CASE WHEN CHARINDEX(C.PROCESSID,B.FILENAME)>0 THEN LEFT(B.FILENAME,LEN(B.FILENAME)-LEN(C.PROCESSID )-1) ELSE B.FILENAME END 产品, C.PROCESSID ,B.FILENAME 文件名,CONVERT(VARCHAR(100), B.UPDATETIME, 120) 更新时间,B.UPDATEUSER 更新人员,B.CONFIRMUSER 审核人员, CONVERT(VARCHAR(100), B.CONFIRMTIME, 120) 审核时间,ISNULL(B.CONFIRMSTATUS,'N') 是否审核 FROM G_TEST_STATUS B,(SELECT DISTINCT SHOPORDER,PROCESSID,STATUSID FROM G_ASSIGN_SHOPORDER_TEST_STATUS WHERE PROCESSID IS NOT NULL AND STATUSID<>'') C WHERE B.FILENAME=C.STATUSID ) A LEFT JOIN SYS_PROCESS B ON A.PROCESS=B.PROCESSID) A where A.类型='{0}' and A.工序='{1}' and A.是否审核='Y' ORDER BY 审核时间 DESC,更新时间 DESC"; DataTable dtFile = DataUtils.DB.GetDataSetFromSQL(string.Format(sql, ateKind, processName)).Tables[0]; if (dtFile.Rows.Count <= 0) { CurrentFileList = null; FileterFileList = null; return; } else { foreach (DataRow dr in dtFile.Rows) { string SQLFile = @"select A.FileID, A.Material,A.IsFolder, A.PROCESS, datalength(StateData)/1024 SIZE,A.UpDateTime from SYS_TEST_PLAN A WHERE a.Material='{0}' and PROCESS='{1}'"; DataTable dtData = DataUtils.DB.GetDataSetFromSQL(string.Format(SQLFile, Convert.ToString(dr["产品"]), processid)).Tables[0]; foreach (DataRow dRow in dtData.Rows) { if (Convert.IsDBNull(dRow["SIZE"])) { dRow["SIZE"] = "0"; } StateFileModel sf = new StateFileModel() { ID = Convert.ToInt32(dRow["FileID"]), IsFolder = Convert.ToChar(dRow["IsFolder"]) == 'Y' ? true : false, Name = Convert.ToString(dRow["Material"]), UpdateDateTime = Convert.ToString(dRow["UpdateTime"]), FileProcess = Convert.ToString(dRow["Process"]), FileSize = Convert.ToString(dRow["SIZE"]) + "KB" }; CurrentFileList.Add(sf); FileterFileList.Add(sf); } } } } } else { GetAllFileData(); } } else { GetATEModeFileData(); } }