|
|
@@ -1,26 +1,16 @@
|
|
|
-using OTSModelSharp;
|
|
|
-using OTSDataType;
|
|
|
+using OTSDataType;
|
|
|
+using OTSMeasureApp._1_OTSMeasure.Measure.ParamData;
|
|
|
+using OTSModelSharp;
|
|
|
+using OTSModelSharp.ResourceManage;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Drawing;
|
|
|
-using System.Linq;
|
|
|
using System.IO;
|
|
|
-
|
|
|
-using OTSModelSharp.ResourceManage;
|
|
|
-using static OTSModelSharp.ResourceManage.ResourceID;
|
|
|
-using static OTSModelSharp.ResourceManage.ResourceData;
|
|
|
-using static OTSDataType.otsdataconst;
|
|
|
+using System.Linq;
|
|
|
using System.Windows.Forms;
|
|
|
-using OTSMeasureApp._0_OTSModel.OTSDataType;
|
|
|
-
|
|
|
-
|
|
|
+using static OTSDataType.otsdataconst;
|
|
|
namespace OTSMeasureApp
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//设置线程状态
|
|
|
public enum MSR_RUN_TYPE
|
|
|
{
|
|
|
@@ -93,19 +83,19 @@ namespace OTSMeasureApp
|
|
|
resultData = value;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
public COTSMeasureParam(OTSIncAMeasureAppForm MeasureApp)
|
|
|
{
|
|
|
log = NLog.LogManager.GetCurrentClassLogger();
|
|
|
m_MeasureAppFrom = MeasureApp;
|
|
|
|
|
|
SetResultData(new COTSMsrPrjResultData());
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
//检查参数文件是否存在
|
|
|
public bool LoadParamFile()
|
|
|
@@ -113,16 +103,9 @@ namespace OTSMeasureApp
|
|
|
//加载样品参数文件: \Config\SysData\OTSProgMgrParam.pmf
|
|
|
SetDefaultParam(new COTSDefaultParam());
|
|
|
return GetDefaultParam().LoadInfoFromProgMgrFile();
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//获取系统文件是否存在和有效
|
|
|
-
|
|
|
public bool InitResultData(bool bNewFileFlag = true)
|
|
|
{
|
|
|
//打开文件,则文件中保存有样品台信息,不需要使用系统样品名信息
|
|
|
@@ -168,8 +151,6 @@ namespace OTSMeasureApp
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
//新建样品工作文件 0:报错 1:正常 2:取消
|
|
|
public int CreateNewFile()
|
|
|
{
|
|
|
@@ -189,13 +170,8 @@ namespace OTSMeasureApp
|
|
|
return 2;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //新建新的工作文件
|
|
|
- //重新生成一个工作文件对象
|
|
|
COTSMsrPrjResultData ProjDataMgr = new COTSMsrPrjResultData();
|
|
|
GetResultData().SetPathName("Untitled");
|
|
|
-
|
|
|
-
|
|
|
SetResultData(ProjDataMgr);
|
|
|
//this.LoadStageParamFile();
|
|
|
|
|
|
@@ -203,7 +179,6 @@ namespace OTSMeasureApp
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
-
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
@@ -620,343 +595,25 @@ namespace OTSMeasureApp
|
|
|
public bool CheckSampleParam(bool bCheckFlag)
|
|
|
{
|
|
|
m_MeasureSampleList.Clear();
|
|
|
- List<COTSSample> MSampleList = new List<COTSSample>();
|
|
|
-
|
|
|
- if (!CheckMeasureParam(GetResultData(), ref MSampleList, bCheckFlag))
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (MSampleList.Count > 0)
|
|
|
- {
|
|
|
- m_MeasureSampleList = MSampleList;
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
- public bool CheckMeasureParam(COTSMsrPrjResultData a_pProjMgrFile, ref List<COTSSample> a_listMeasuableSamples, bool a_bCheckSetting)
|
|
|
- {
|
|
|
|
|
|
+ frmPre_measurementDetection frmPre_MeasurementDetection = new frmPre_measurementDetection(this);
|
|
|
|
|
|
- // go through the sample list to check setting parameters
|
|
|
- int nSwitchSmplNo = 0;
|
|
|
- int nCompletedSmplNo = 0;
|
|
|
- int nErrorSmplNo = 0;
|
|
|
- int nWarningSmplNo = 0;
|
|
|
- List<String> listSamplMessages = new List<string>();
|
|
|
- List<COTSSample> listSamples = a_pProjMgrFile.GetSampleList();
|
|
|
- List<COTSSample> listMeasurableSamples = new List<COTSSample>();
|
|
|
- List<COTSSample> listWithWarningMeasurableSamples = new List<COTSSample>();
|
|
|
- foreach (var pSample in listSamples)
|
|
|
+ frmPre_MeasurementDetection.StartInspection();
|
|
|
+ if (!frmPre_MeasurementDetection.checkResult)
|
|
|
{
|
|
|
- // is the sample switch on
|
|
|
- if (pSample.GetSwitch())
|
|
|
- {
|
|
|
- ++nSwitchSmplNo;
|
|
|
- String strSmplMessage;
|
|
|
- strSmplMessage = pSample.GetName() + ":" + "\r\n";
|
|
|
-
|
|
|
- // is this a measurement completed sample
|
|
|
- if (IsMeasureCompletedSmpl(pSample))
|
|
|
- { // measurement completed sample
|
|
|
- ++nCompletedSmplNo;
|
|
|
- string str2 = GetSampleErrorWarnString(SAMPLE_FAULT_WARN_CODE.FINISHED);
|
|
|
- strSmplMessage += str2;
|
|
|
- strSmplMessage += "\r\n";
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- // errors
|
|
|
- List<SAMPLE_FAULT_WARN_CODE> a_listErrorCodes = new List<SAMPLE_FAULT_WARN_CODE>();
|
|
|
- GetSampleErrorCodes(a_pProjMgrFile, pSample, ref a_listErrorCodes);
|
|
|
- if (a_listErrorCodes.Count != 0)
|
|
|
- {
|
|
|
- // has error, this is not a measurable sample
|
|
|
- ++nErrorSmplNo;
|
|
|
- foreach (var nErrorCode in a_listErrorCodes)
|
|
|
- {
|
|
|
- String str3 = GetSampleErrorWarnString(nErrorCode);
|
|
|
- strSmplMessage += str3;
|
|
|
- strSmplMessage += "\r\n";
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- // no error, this is a measurable sample
|
|
|
- listMeasurableSamples.Add(pSample);
|
|
|
- }
|
|
|
-
|
|
|
- // warnings
|
|
|
- List<SAMPLE_FAULT_WARN_CODE> a_listWarningCodes = new List<SAMPLE_FAULT_WARN_CODE>();
|
|
|
- GetSampleWarningCodes(a_pProjMgrFile, pSample, ref a_listWarningCodes);
|
|
|
- if (a_listWarningCodes.Count != 0)
|
|
|
- {
|
|
|
- ++nWarningSmplNo;
|
|
|
- foreach (var nWarningCode in a_listWarningCodes)
|
|
|
- {
|
|
|
- String str3 = GetSampleErrorWarnString(nWarningCode);
|
|
|
- strSmplMessage += str3;
|
|
|
- strSmplMessage += "\r\n";
|
|
|
- }
|
|
|
-
|
|
|
- // has no error?
|
|
|
- if (a_listErrorCodes.Count == 0)
|
|
|
- {
|
|
|
- // this is a measurable sample but with setting warnings
|
|
|
- listWithWarningMeasurableSamples.Add(pSample);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // no error and warning
|
|
|
- if (a_listErrorCodes.Count == 0 && a_listWarningCodes.Count == 0)
|
|
|
- {
|
|
|
- String str3 = GetSampleErrorWarnString(SAMPLE_FAULT_WARN_CODE.NO_ERROR_WARNING);
|
|
|
- strSmplMessage += str3;
|
|
|
- strSmplMessage += "\r\n";
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // add
|
|
|
- listSamplMessages.Add(strSmplMessage);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // dlg message string
|
|
|
- String strDlgMessage = "";
|
|
|
- String str;
|
|
|
- String str1;
|
|
|
- str1 = GetResourceByKey(GrpOtherParam, IDS_SAMPLE_CHECK_RESULT + (int)SAMPLE_CHECK_RESULT_TYPE.SWITCH_ON);
|
|
|
- str1 = str1.Replace("%d", "{0}");
|
|
|
- str = string.Format(str1, nSwitchSmplNo);
|
|
|
- strDlgMessage += str;
|
|
|
- strDlgMessage += "\r\n";
|
|
|
-
|
|
|
- // add more string if there switch on sample
|
|
|
- if (nSwitchSmplNo > 0)
|
|
|
- {
|
|
|
- // completed sample number (optional)
|
|
|
- if (nCompletedSmplNo > 0)
|
|
|
- {
|
|
|
- str1 = GetResourceByKey(GrpOtherParam, IDS_SAMPLE_CHECK_RESULT + (int)SAMPLE_CHECK_RESULT_TYPE.FINISHED);
|
|
|
- str1 = str1.Replace("%d", "{0}");
|
|
|
- str = string.Format(str1, nCompletedSmplNo);
|
|
|
- strDlgMessage += str;
|
|
|
- strDlgMessage += "\r\n";
|
|
|
- }
|
|
|
-
|
|
|
- // any unmeasured switch on samples?
|
|
|
- if (nSwitchSmplNo > nCompletedSmplNo)
|
|
|
- {
|
|
|
- // with setting error sample number
|
|
|
- str1 = GetResourceByKey(GrpOtherParam, IDS_SAMPLE_CHECK_RESULT + (int)SAMPLE_CHECK_RESULT_TYPE.SETTING_ERROR);
|
|
|
- str1 = str1.Replace("%d", "{0}");
|
|
|
- str = string.Format(str1, nErrorSmplNo);
|
|
|
- strDlgMessage += str;
|
|
|
- strDlgMessage += "\r\n";
|
|
|
-
|
|
|
- // with setting warning sample number
|
|
|
- str1 = GetResourceByKey(GrpOtherParam, IDS_SAMPLE_CHECK_RESULT + (int)SAMPLE_CHECK_RESULT_TYPE.SETTING_WARNING);
|
|
|
- str1 = str1.Replace("%d", "{0}");
|
|
|
- str = string.Format(str1, nWarningSmplNo);
|
|
|
- strDlgMessage += str;
|
|
|
- strDlgMessage += "\r\n";
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // add an empty line strDlgMessage
|
|
|
- strDlgMessage += "\r\n";
|
|
|
-
|
|
|
- // add sample messages
|
|
|
- foreach (var strSmplMessage in listSamplMessages)
|
|
|
- {
|
|
|
- strDlgMessage += strSmplMessage;
|
|
|
- strDlgMessage += "\r\n";
|
|
|
- }
|
|
|
-
|
|
|
- // do we need to show dialog box?
|
|
|
- if (nSwitchSmplNo == 0)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- // measure button clicked?
|
|
|
- if (a_bCheckSetting)
|
|
|
- {
|
|
|
- // there are measurable samples but no setting warnings samples
|
|
|
- if (listMeasurableSamples.Count > 0 && listWithWarningMeasurableSamples.Count == 0)
|
|
|
- {
|
|
|
- // set output measurable samples list
|
|
|
- foreach (var pSample in listMeasurableSamples)
|
|
|
- {
|
|
|
- a_listMeasuableSamples.Add(pSample);
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- //when there is sample setting error, and setting with no error and no warning samples, the dlg will not be show.??
|
|
|
-
|
|
|
- //show the result dlg
|
|
|
- DIALOG_CHECK_PARAM_RESULT dlg = new DIALOG_CHECK_PARAM_RESULT();
|
|
|
- int nTatolMeasuableSmplNo = listMeasurableSamples.Count;
|
|
|
- int nWithWarningMeasuableSmplNo = listWithWarningMeasurableSamples.Count;
|
|
|
-
|
|
|
- // set the dlg parameters
|
|
|
- dlg.SetCheckOnlyFlag(a_bCheckSetting);
|
|
|
- dlg.SetMessageBase(strDlgMessage);
|
|
|
- dlg.SetTatolMeasuableSmplNo(nTatolMeasuableSmplNo);
|
|
|
- dlg.SetWithWarningMeasuableSmplNo(nWithWarningMeasuableSmplNo);
|
|
|
-
|
|
|
- //no error not show dlg
|
|
|
- if (nTatolMeasuableSmplNo == nSwitchSmplNo - nCompletedSmplNo && listMeasurableSamples.Count != 0)
|
|
|
- {
|
|
|
- foreach (var pSample in listMeasurableSamples)
|
|
|
- {
|
|
|
- var itr = listWithWarningMeasurableSamples.Find(s => { return s.GetName() == pSample.GetName(); });
|
|
|
-
|
|
|
-
|
|
|
- if (itr == null)
|
|
|
- {
|
|
|
- a_listMeasuableSamples.Add(pSample);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (a_listMeasuableSamples.Count == listMeasurableSamples.Count)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //show dlg
|
|
|
- DialogResult dResult = dlg.ShowDialog();
|
|
|
- if (!(dResult == System.Windows.Forms.DialogResult.OK))
|
|
|
- {
|
|
|
- // do something here
|
|
|
- return false;
|
|
|
+ DialogResult dialog= frmPre_MeasurementDetection.ShowDialog(); return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //if warnDo, back the listMeasuableSample
|
|
|
- if (dlg.GetWarnDo())
|
|
|
- {
|
|
|
- foreach (var pSample in listMeasurableSamples)
|
|
|
- {
|
|
|
- a_listMeasuableSamples.Add(pSample);
|
|
|
- }
|
|
|
- }
|
|
|
- else // back with no warn sample
|
|
|
- {
|
|
|
- foreach (var pSample in listMeasurableSamples)
|
|
|
- {
|
|
|
- var itr = listWithWarningMeasurableSamples.Find(e => { return e.GetName() == pSample.GetName(); });
|
|
|
- if (itr == null)
|
|
|
- {
|
|
|
- a_listMeasuableSamples.Add(pSample);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
- bool IsMeasureCompletedSmpl(COTSSample a_pSample)
|
|
|
- {
|
|
|
- if (a_pSample.GetMsrStatus().GetStatus() != OTSDataType.OTS_MSR_SAMPLE_STATUS.COMPLETED)
|
|
|
- {
|
|
|
-
|
|
|
- return false;
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- string GetSampleErrorWarnString(SAMPLE_FAULT_WARN_CODE a_nSampleFaultWarn)
|
|
|
- {
|
|
|
-
|
|
|
- // check input
|
|
|
- if (a_nSampleFaultWarn < SAMPLE_FAULT_WARN_CODE.MIN && a_nSampleFaultWarn > SAMPLE_FAULT_WARN_CODE.MAX)
|
|
|
- {
|
|
|
- return "";
|
|
|
- }
|
|
|
- // error/waring string
|
|
|
- string strErrorWarn;
|
|
|
- strErrorWarn = GetResourceByKey(GrpOtherParam, IDS_ERROR_WARNING + (int)a_nSampleFaultWarn);
|
|
|
- return strErrorWarn;
|
|
|
- }
|
|
|
- // get error codes list of a sample
|
|
|
- void GetSampleErrorCodes(COTSMsrPrjResultData a_pProjMgrFile, COTSSample a_pSample, ref List<SAMPLE_FAULT_WARN_CODE> a_listErrorCodes)
|
|
|
- {
|
|
|
-
|
|
|
- const string UNTITLED_FILE_NAME = "Untitled";
|
|
|
-
|
|
|
- // file has not been saved
|
|
|
- String strPathName = a_pProjMgrFile.GetPathName();
|
|
|
-
|
|
|
- // is this a file no saved?
|
|
|
- strPathName.Trim();
|
|
|
- if (strPathName == UNTITLED_FILE_NAME || strPathName == "")
|
|
|
- {
|
|
|
-
|
|
|
- a_listErrorCodes.Add(SAMPLE_FAULT_WARN_CODE.FILE_NOT_SAVED);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- // get warning codes list of a sample
|
|
|
- void GetSampleWarningCodes(COTSMsrPrjResultData a_pProjMgrFile, COTSSample a_pSample, ref List<SAMPLE_FAULT_WARN_CODE> a_listWarningCodes)
|
|
|
- {
|
|
|
-
|
|
|
- // get the work stage
|
|
|
- CSampleHolder pStage = a_pProjMgrFile.GetStageHolder();
|
|
|
-
|
|
|
- //get hole
|
|
|
- String sHoleName = a_pSample.GetSampleHoleName();
|
|
|
-
|
|
|
- //look for the hole Domain
|
|
|
- CHole pSampleHole = pStage.GetHoleByName(sHoleName);
|
|
|
- if (pSampleHole == null)
|
|
|
- {
|
|
|
-
|
|
|
- return;
|
|
|
- }
|
|
|
- if (a_pSample.GetSEMDataMsr() != null)
|
|
|
- {
|
|
|
- // compute pixel size
|
|
|
- double dPixleSize = a_pSample.CalculatePixelSize();
|
|
|
-
|
|
|
- // get min size
|
|
|
- COTSImageProcParam pImageProcParam = a_pSample.GetMsrParams().GetImageProcessParam();
|
|
|
- double dMinSize = pImageProcParam.GetIncAreaRange().GetStart();
|
|
|
-
|
|
|
- // if pixel size is bigger than 1/2 of the min size,than can't see the object clearly on current magnification
|
|
|
- if (dPixleSize >= dMinSize * 0.5)
|
|
|
+ if (frmPre_MeasurementDetection.SampleList.Count > 0)
|
|
|
{
|
|
|
- // resolution low
|
|
|
- a_listWarningCodes.Add(SAMPLE_FAULT_WARN_CODE.RESOLUTION_LOW);
|
|
|
+ m_MeasureSampleList = frmPre_MeasurementDetection.SampleList;
|
|
|
+ frmPre_MeasurementDetection.Dispose();
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|
|
|
- if(a_pSample.GetSEMDataMsr().GetTotalFields()==0
|
|
|
- && a_pSample.GetSEMDataMsr().GetScanFieldSize() == 0
|
|
|
- && a_pSample.GetSEMDataMsr().GetWorkingDistance() == 0)
|
|
|
- {
|
|
|
- // SEM_DATA_ERROR
|
|
|
- a_listWarningCodes.Add(SAMPLE_FAULT_WARN_CODE.SEM_DATA_ERROR);
|
|
|
- }
|
|
|
+ return false;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//打开工作样品的测量参数文件
|
|
|
public bool LoadWorkMeasureFile()
|
|
|
{
|
|
|
@@ -989,9 +646,6 @@ namespace OTSMeasureApp
|
|
|
m_MeasureAppFrom.m_SPropertyWindows.DisplaySampleMeasureInfo(SMInfo);
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//判断是否允许修改样品名
|
|
|
public bool CheckSampleNameIsValid(string sNewName)
|
|
|
{
|
|
|
@@ -1010,10 +664,7 @@ namespace OTSMeasureApp
|
|
|
semdata.Brightness = bri;
|
|
|
semdata.Contrast = contra;
|
|
|
semdata.KV = kv;
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
public bool GetWorkingSampleSEMData(ref double iWDistance, ref double dMagni, ref double bri, ref double contra, ref double kv)
|
|
|
{
|
|
|
COTSSample WSample = GetResultData().GetWorkingSample();
|
|
|
@@ -1029,12 +680,6 @@ namespace OTSMeasureApp
|
|
|
kv = semdata.KV;
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//检查Samplelist中的sample的checkbox状态
|
|
|
//当Samplelist中的链表有sample 的checkbox状态是选中状态,则返回TRUE. 说明可以测量
|
|
|
public bool GetSampleCheckBoxStatus()
|
|
|
@@ -1078,11 +723,6 @@ namespace OTSMeasureApp
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//获取图像尺寸
|
|
|
public string GetBSEImageResolutionStr()
|
|
|
{
|
|
|
@@ -1140,11 +780,6 @@ namespace OTSMeasureApp
|
|
|
FieldList = WSample.GetMsrStatus().GetCompletedFieldsCenter();
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 获取已完成测量的结果文件路径
|
|
|
/// </summary>
|
|
|
@@ -1154,13 +789,10 @@ namespace OTSMeasureApp
|
|
|
{
|
|
|
//测量文件路径
|
|
|
string proFilePath = GetResultData().GetPathName();
|
|
|
- //样品列表
|
|
|
List<COTSSample> sampleList = GetResultData().GetSampleList();
|
|
|
//获取样品数量
|
|
|
int sampleCount = sampleList.Count;
|
|
|
- string mrSuffix = ".rst";
|
|
|
- int existsCount = 0;
|
|
|
- //获取测量文件路径
|
|
|
+ string mrSuffix = ".rst";int existsCount = 0;
|
|
|
if (proFilePath.Equals("Untitled"))
|
|
|
{
|
|
|
return false;
|
|
|
@@ -1177,12 +809,11 @@ namespace OTSMeasureApp
|
|
|
for (int sampleIndex = 0; sampleIndex < sampleCount; sampleIndex++)
|
|
|
{
|
|
|
int CompleteFieldsCount = sampleList[sampleIndex].GetMsrStatus().GetCompletedFields();
|
|
|
- //如果样品已测量成功后再加载至报告程序中
|
|
|
+
|
|
|
if (CompleteFieldsCount > 0)
|
|
|
{
|
|
|
string sampleName = sampleList[sampleIndex].GetName();
|
|
|
string mrFilePath = mrFolderPath + "\\" + sampleName + "\\" + sampleName + mrSuffix;
|
|
|
- //判断文件是否存在
|
|
|
if (File.Exists(mrFilePath))
|
|
|
{
|
|
|
if (mrFilePathList != null)
|
|
|
@@ -1193,20 +824,8 @@ namespace OTSMeasureApp
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (existsCount > 0)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
+ if (existsCount > 0){return true;}
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|