/// <summary> /// 读取打卡的Excel文件,并导入数据库,返回导入后的结果 /// </summary> private void ImportClockInRd() { string strMsg = string.Empty; try { string strUnitType = string.Empty, strUnitObjectId = string.Empty; DateTime dtStart = new DateTime(); DateTime dtEnd = new DateTime(); bool flag = false; flag = DateTime.TryParse(dpStartDate.Text, out dtStart); if (!flag) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("IMPORTCLOCKINRDSTARTDATE"), Utility.GetResourceStr("REQUIRED", "IMPORTCLOCKINRDSTARTDATE")); return; } flag = DateTime.TryParse(dpEndDate.Text, out dtEnd); if (!flag) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("IMPORTCLOCKINRDENDDATE"), Utility.GetResourceStr("REQUIRED", "IMPORTCLOCKINRDENDDATE")); return; } if (dtStart > dtEnd) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("IMPORTCLOCKINRDENDDATE"), Utility.GetResourceStr("DATECOMPARE", "IMPORTCLOCKINRDENDDATE,IMPORTCLOCKINRDSTARTDATE")); return; } if (cbxkClockInRdUnitType.SelectedItem == null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("CLOCKINRDUNITTYPE"), Utility.GetResourceStr("REQUIRED", "CLOCKINRDUNITTYPE")); return; } if (lkClockInRdUnit.DataContext == null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("CLOCKINRDUNIT"), Utility.GetResourceStr("REQUIRED", "CLOCKINRDUNIT")); return; } if (cbxkUploadFileType.SelectedItem == null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("CLOCKINRDUPLOADTYPE"), Utility.GetResourceStr("REQUIRED", "CLOCKINRDUPLOADTYPE")); return; } T_SYS_DICTIONARY entUnitType = cbxkClockInRdUnitType.SelectedItem as T_SYS_DICTIONARY; if (string.IsNullOrEmpty(entUnitType.DICTIONARYID) || string.IsNullOrEmpty(entUnitType.DICTIONCATEGORY) || string.IsNullOrEmpty(entUnitType.DICTIONARYVALUE.ToString())) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("CLOCKINRDUNITTYPE"), Utility.GetResourceStr("REQUIRED", "CLOCKINRDUNITTYPE")); return; } T_SYS_DICTIONARY entUploadType = cbxkUploadFileType.SelectedItem as T_SYS_DICTIONARY; if (string.IsNullOrEmpty(entUploadType.DICTIONARYID) || string.IsNullOrEmpty(entUploadType.DICTIONCATEGORY) || string.IsNullOrEmpty(entUploadType.DICTIONARYVALUE.ToString())) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("CLOCKINRDUPLOADTYPE"), Utility.GetResourceStr("REQUIRED", "CLOCKINRDUPLOADTYPE")); return; } strUnitType = entUnitType.DICTIONARYVALUE.ToString(); if (strUnitType == (Convert.ToInt32(AssignedObjectType.Company) + 1).ToString()) { T_HR_COMPANY entCompany = lkClockInRdUnit.DataContext as T_HR_COMPANY; strUnitObjectId = entCompany.COMPANYID; } else if (strUnitType == (Convert.ToInt32(AssignedObjectType.Department) + 1).ToString()) { T_HR_DEPARTMENT entDepartment = lkClockInRdUnit.DataContext as T_HR_DEPARTMENT; strUnitObjectId = entDepartment.DEPARTMENTID; } else if (strUnitType == (Convert.ToInt32(AssignedObjectType.Post) + 1).ToString()) { T_HR_POST entPost = lkClockInRdUnit.DataContext as T_HR_POST; strUnitObjectId = entPost.POSTID; } if (entUploadType.DICTIONARYVALUE.ToString() == (Convert.ToInt32(ClockInRdUploadFileType.File) + 1).ToString()) { if (OpenFileDialog == null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("REQUIREDIMPORTFILE")); return; } if (OpenFileDialog.File == null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("REQUIREDIMPORTFILE")); return; } RefreshUI(RefreshedTypes.ShowProgressBar); Stream Stream = (System.IO.Stream)OpenFileDialog.File.OpenRead(); byte[] Buffer = new byte[Stream.Length]; Stream.Read(Buffer, 0, (int)Stream.Length); Stream.Dispose(); Stream.Close(); SMT.Saas.Tools.AttendanceWS.UploadFileModel UploadFile = new SMT.Saas.Tools.AttendanceWS.UploadFileModel(); UploadFile.FileName = OpenFileDialog.File.Name; UploadFile.File = Buffer; string strFileType = "csv"; clientAtt.ImportClockInRdListFromFileAsync(UploadFile, strFileType, strUnitType, strUnitObjectId, dtStart, dtEnd, strMsg); } else if (entUploadType.DICTIONARYVALUE.ToString() == (Convert.ToInt32(ClockInRdUploadFileType.Login) + 1).ToString()) { RefreshUI(RefreshedTypes.ShowProgressBar); clientAtt.ImportClockInRdListFromLoginDataAsync(strUnitType, strUnitObjectId, dtStart, dtEnd, strMsg); } else if (entUploadType.DICTIONARYVALUE.ToString() == (Convert.ToInt32(ClockInRdUploadFileType.FileAndLogin) + 1).ToString()) { if (OpenFileDialog == null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("REQUIREDIMPORTFILE")); return; } if (OpenFileDialog.File == null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("REQUIREDIMPORTFILE")); return; } RefreshUI(RefreshedTypes.ShowProgressBar); Stream Stream = (System.IO.Stream)OpenFileDialog.File.OpenRead(); byte[] Buffer = new byte[Stream.Length]; Stream.Read(Buffer, 0, (int)Stream.Length); Stream.Dispose(); Stream.Close(); SMT.Saas.Tools.AttendanceWS.UploadFileModel UploadFile = new SMT.Saas.Tools.AttendanceWS.UploadFileModel(); UploadFile.FileName = OpenFileDialog.File.Name; UploadFile.File = Buffer; string strFileType = "csv"; clientAtt.ImportClockInRdListFromFileAndLoginDataAsync(UploadFile, strFileType, strUnitType, strUnitObjectId, dtStart, dtEnd, strMsg); } strMsg = string.Empty; } catch (Exception ex) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr(ex.Message.ToString())); } }