Sfoglia il codice sorgente

diagnose the si and other material recognize

lizhongsys 4 anni fa
parent
commit
8857871c35
33 ha cambiato i file con 705 aggiunte e 632 eliminazioni
  1. 182 112
      OTSCPP/OTSClassifyEngine/ParticleClassifyEngine.cpp
  2. 1 1
      OTSCPP/OTSClrInterface/OTSClrInterface.vcxproj
  3. 1 1
      OTSCPP/OTSControl/OTSControl.vcxproj
  4. 1 1
      OTSCPP/OTSImagePro/OTSImageProcess.cpp
  5. 19 19
      OTSCleanReportApp/App.config
  6. 1 9
      OTSCleanReportApp/OTSCleanReportApp.csproj
  7. 118 118
      OTSCleanReportApp/Properties/Resources.Designer.cs
  8. 1 1
      OTSCleanReportApp/Properties/Settings.Designer.cs
  9. 3 3
      OTSIncAMeasureApp/0-OTSModel/Measure/1-OTSInclution/SmplMeasureInclution.cs
  10. 20 20
      OTSIncAMeasureApp/App.config
  11. 1 1
      OTSIncAMeasureApp/OTSIncAMeasureApp.csproj
  12. 2 2
      OTSIncAMeasureApp/Properties/IDDescriptionResource.Designer.cs
  13. 118 118
      OTSIncAMeasureApp/Properties/Resources.Designer.cs
  14. 1 1
      OTSIncAMeasureApp/Properties/Settings.Designer.cs
  15. 12 7
      OTSIncAReportApp/1-UI/Control_Graph/OTSIncAReportGraphFuncation/OTSImageDisHelp.cs
  16. 9 2
      OTSIncAReportApp/3-ServiceCenter/DataOperation/DataAccess/ParticleData.cs
  17. 19 19
      OTSIncAReportApp/App.config
  18. 1 1
      OTSIncAReportApp/OTSIncAReportApp.csproj
  19. 118 118
      OTSIncAReportApp/Properties/Resources.Designer.cs
  20. 1 1
      OTSIncAReportApp/Properties/Settings.Designer.cs
  21. 1 1
      OTSIncAReportTemplate/OTSIncAReportTemplate.csproj
  22. 13 13
      OTSIncAReportTemplate/Properties/Resources.Designer.cs
  23. 5 5
      OTSIncAReportTemplate/Properties/Settings.Designer.cs
  24. 9 9
      OTSIncAReportTemplate/app.config
  25. 1 1
      OTSPartA_STDEditor/App.config
  26. 1 1
      OTSPartA_STDEditor/OTSPartA_STDEditor.csproj
  27. 34 34
      OTSPartA_STDEditor/Properties/Resources.Designer.cs
  28. 5 5
      OTSPartA_STDEditor/Properties/Settings.Designer.cs
  29. 3 4
      OTSSysMgrApp/App.config
  30. 1 1
      OTSSysMgrApp/OTSSysMgrApp.csproj
  31. 1 1
      OTSSysMgrApp/Properties/Resources.Designer.cs
  32. 1 1
      OTSSysMgrApp/Properties/Settings.Designer.cs
  33. 1 1
      OTSSysMgrTools/OTSSysMgrTools.csproj

+ 182 - 112
OTSCPP/OTSClassifyEngine/ParticleClassifyEngine.cpp

@@ -42,156 +42,226 @@ bool ParticleClassifyEngine::Init()
 bool ParticleClassifyEngine::Classify(COTSParticlePtr particle, CPosXrayPtr xray)
 {
 
-	if (particle == nullptr || xray == nullptr) return false;
-
-	auto& originalPartEles = xray->GetElementQuantifyData();//find all the elements containing in the particle xray.
-	//以下为调试用代码段(在log中打出颗粒元素),不要删除----------
-	/*std::string allele="";
-	for (auto che : originalPartEles)
+	if (particle != nullptr && xray != nullptr)
 	{
-		allele += che->GetName().GetBuffer() ;
-		allele += ":";
-		allele += std::to_string(che->GetPercentage()).c_str();
-		allele += "  ";
-	}
-	LogTrace(__FILE__, __LINE__, allele.c_str());*/
-	//-----------------------------
-	//zero element process,if satisfied the condition than erase the element from the list.
 
-	auto partEles=ZeroElementProcess(particle, xray);//auto partEles = xray->GetElementQuantifyData();
 
-	
-	std::map<std::string, CElementChemistryPtr> mapChemistrys;
-	for (auto ch : partEles)
-	{
-		mapChemistrys[ch->GetName().GetBuffer()] = ch;
-	}
 
+		auto& originalPartEles = xray->GetElementQuantifyData();//find all the elements containing in the particle xray.
+		//以下为调试用代码段(在log中打出颗粒元素),不要删除----------
+		/*std::string allele="";
+		for (auto che : originalPartEles)
+		{
+			allele += che->GetName().GetBuffer() ;
+			allele += ":";
+			allele += std::to_string(che->GetPercentage()).c_str();
+			allele += "  ";
+		}
+		LogTrace(__FILE__, __LINE__, allele.c_str());*/
+		//-----------------------------
+		//zero element process,if satisfied the condition than erase the element from the list.
 
-	PartSTDItemList stdItems = m_std->GetSTDItems();
+		auto partEles = ZeroElementProcess(particle, xray);//auto partEles = xray->GetElementQuantifyData();
 
-	for (auto itm : stdItems)
-	{
-		std::string exp = itm->GetExpressionStr();
 
-		//if the element quantity is not match the std item's keyelement num than  is unsatisfied.
-			if (partEles.size() <itm->GetKeyElementList().size()) 
+		std::map<std::string, CElementChemistryPtr> mapChemistrys;
+		for (auto ch : partEles)
+		{
+			mapChemistrys[ch->GetName().GetBuffer()] = ch;
+		}
+
+
+		PartSTDItemList stdItems = m_std->GetSTDItems();
+
+		for (auto itm : stdItems)
+		{
+			std::string exp = itm->GetExpressionStr();
+
+			//if the element quantity is not match the std item's keyelement num than  is unsatisfied.
+			if (partEles.size() < itm->GetKeyElementList().size())
 			{
 				/*std::string s = std::to_string(partEles.size()) + ":" + std::to_string(itm->GetKeyElementList().size());
 				LogTrace(__FILE__, __LINE__, s.c_str());*///调试用代码段
 				particle->SetClassifyId(9);
 				particle->TypeName("Not Identified");
-				
+
 				continue;
 			}
-			
-		auto& mapStdEles = itm->GetMapElements();
-		bool bMatch=true;
-		// if the particle does not contain all the key elements of the item than is unsatisfied.
-		for (auto che : mapStdEles)
-		{
-			
-			auto chemical= mapChemistrys.find(che.second->GetName().GetBuffer());
-			if (chemical == mapChemistrys.end())
+
+			auto& mapStdEles = itm->GetMapElements();
+			bool bMatch = true;
+			// if the particle does not contain all the key elements of the item than is unsatisfied.
+			for (auto che : mapStdEles)
 			{
-				particle->SetClassifyId(9);
-				particle->TypeName("Not Identified");
-				bMatch=false;
-				break;
+
+				auto chemical = mapChemistrys.find(che.second->GetName().GetBuffer());
+				if (chemical == mapChemistrys.end())
+				{
+					particle->SetClassifyId(9);
+					particle->TypeName("Not Identified");
+					bMatch = false;
+					break;
+				}
 			}
-		}
-		
-		if (!bMatch) continue;
 
-	   // process the special property name such as "first_elem" and "Element#1" etc.
-		for (std::string s : itm->GetUsingOtherpropertyList())
-		{
+			if (!bMatch) continue;
 
-			if (s.find("_elem")!=std::string::npos)
+			// process the special property name such as "first_elem" and "Element#1" etc.
+			for (std::string s : itm->GetUsingOtherpropertyList())
 			{
-				auto val = GetAtomicNoBySortingPercentage(s.c_str(), xray);				
-				
-				xmls::ReplaceAll(exp, s, std::to_string(val));
+
+				if (s.find("_elem") != std::string::npos)
+				{
+					auto val = GetAtomicNoBySortingPercentage(s.c_str(), xray);
+
+					xmls::ReplaceAll(exp, s, std::to_string(val));
+				}
+
+				if (s.find("Element#") != std::string::npos)
+				{
+					auto val = GetEleNameBySortingPercentage(s.c_str(), xray);//find the "Element#1" and  replace it with the real element name. 
+					auto elelist = itm->GetKeyElementList();
+					elelist.push_back(CElementPtr(new CElement(val)));// then replace it in the next step.
+					itm->SetKeyElementList(elelist);
+					xmls::ReplaceAll(exp, s, val.GetBuffer());
+				}
 			}
 
-			if (s.find("Element#")!=std::string::npos)
+			for (auto eleChemistry : itm->GetAllSortedEleList())
 			{
-				auto val = GetEleNameBySortingPercentage(s.c_str(), xray);//find the "Element#1" and  replace it with the real element name. 
-				auto elelist = itm->GetKeyElementList();
-				elelist.push_back(CElementPtr(new CElement(val)));// then replace it in the next step.
-				itm->SetKeyElementList(elelist);				
-				xmls::ReplaceAll(exp, s, val.GetBuffer());
+				auto e = mapChemistrys.find(eleChemistry->GetName().GetBuffer());
+
+				if (e != mapChemistrys.end())
+				{
+					std::string name = eleChemistry->GetName();
+
+					xmls::ReplaceAll(exp, name, std::to_string(e->second->GetPercentage()));
+				}
+				else
+				{
+					std::string name = eleChemistry->GetName();
+
+					xmls::ReplaceAll(exp, name, "0");
+				}
 			}
-		}
-		
-		for (auto eleChemistry : itm->GetAllSortedEleList())
-		{
-			auto e = mapChemistrys.find(eleChemistry->GetName().GetBuffer());
 
-			if (e != mapChemistrys.end())
+			//process the image property
+			for (std::string s : itm->GetUsingImgPropertyNameList())
 			{
-				std::string name = eleChemistry->GetName();
+				auto val = particle->GetImgPropertyValueByName(s.c_str());
+				xmls::ReplaceAll(exp, s, std::to_string(val));
+			}
+			//process the "true" keyword.
+			if (exp.find("true") != std::string::npos)
+			{
+				xmls::ReplaceAll(exp, "true", "(1=1)");
+			}
+			//process the "false" keyword.
+			if (exp.find("false") != std::string::npos)
+			{
+				xmls::ReplaceAll(exp, "false", "(1=0)");
+			}
+			for (int i = 0; i < 10; i++)
+			{
+				std::string macStr = "MAC#" + std::to_string(i);
+				if (exp.find(macStr) != std::string::npos)
+				{
+					auto val = GetMacValue(macStr.c_str());//find the "Mac#1" and  replace it with the real element name. 
+					xmls::ReplaceAll(exp, macStr, std::to_string(val));
+				}
 
-				xmls::ReplaceAll(exp, name, std::to_string(e->second->GetPercentage()));
+			}
+			//LogInfoTrace(__FILE__, __LINE__, exp.c_str());//调试用代码段
+
+			//calculate the expression which has been processed.
+
+			bool rst = CalcuExp(exp);
+			if (rst)
+			{
+				//int id = itm->GetID();
+				particle->SetType(OTS_PARTICLE_TYPE::IDENTIFIED);
+				particle->SetClassifyId(itm->GetID());
+				particle->TypeColor(itm->GetColor());
+				particle->TypeName(itm->GetName());
+				particle->SetHardness(itm->GetHardness());
+				particle->SetDensity(itm->GetDensity());
+				particle->SetConductivity(itm->GetElectrical_conductivity());
+				return true;
 			}
 			else
 			{
-				std::string name = eleChemistry->GetName();
-
-				xmls::ReplaceAll(exp, name, "0");
+				continue;
 			}
 		}
-		//process the image property
-		for (std::string s : itm->GetUsingImgPropertyNameList())
-		{
-			auto val=particle->GetImgPropertyValueByName(s.c_str());
-			xmls::ReplaceAll(exp, s, std::to_string(val));
-		}
-		//process the "true" keyword.
-		if (exp.find("true") != std::string::npos)
-		{
-			xmls::ReplaceAll(exp, "true", "(1=1)");
-		}
-		//process the "false" keyword.
-		if (exp.find("false") != std::string::npos)
-		{
-			xmls::ReplaceAll(exp, "false", "(1=0)");
-		}
-		for (int i = 0; i < 10; i++)
+		particle->SetType(OTS_PARTICLE_TYPE::NOT_IDENTIFIED);
+		particle->TypeName("Not Identified");
+		return true;
+	}
+	else if(particle != nullptr && xray == nullptr)
+	{
+		PartSTDItemList stdItems = m_std->GetSTDItems();
+
+		for (auto itm : stdItems)
 		{
-			std::string macStr = "MAC#" + std::to_string(i);
-			if (exp.find(macStr) != std::string::npos)
+			std::string exp = itm->GetExpressionStr();
+
+			if (itm->GetKeyElementList().size() > 0 || itm->GetSubElementList().size() > 0)
 			{
-				auto val = GetMacValue(macStr.c_str());//find the "Mac#1" and  replace it with the real element name. 
-				xmls::ReplaceAll(exp, macStr, std::to_string(val));
+				continue;
 			}
 
-		}
-		//LogInfoTrace(__FILE__, __LINE__, exp.c_str());//调试用代码段
+			//process the image property
+			for (std::string s : itm->GetUsingImgPropertyNameList())
+			{
+				auto val = particle->GetImgPropertyValueByName(s.c_str());
+				xmls::ReplaceAll(exp, s, std::to_string(val));
+			}
+			//process the "true" keyword.
+			if (exp.find("true") != std::string::npos)
+			{
+				xmls::ReplaceAll(exp, "true", "(1=1)");
+			}
+			//process the "false" keyword.
+			if (exp.find("false") != std::string::npos)
+			{
+				xmls::ReplaceAll(exp, "false", "(1=0)");
+			}
+			for (int i = 0; i < 10; i++)
+			{
+				std::string macStr = "MAC#" + std::to_string(i);
+				if (exp.find(macStr) != std::string::npos)
+				{
+					auto val = GetMacValue(macStr.c_str());//find the "Mac#1" and  replace it with the real element name. 
+					xmls::ReplaceAll(exp, macStr, std::to_string(val));
+				}
 
-		//calculate the expression which has been processed.
-		
-		bool rst=CalcuExp(exp);
-		if (rst)
-		{
-			//int id = itm->GetID();
-			particle->SetType(OTS_PARTICLE_TYPE::IDENTIFIED);
-			particle->SetClassifyId(itm->GetID());
-			particle->TypeColor(itm->GetColor());
-			particle->TypeName(itm->GetName());
-			particle->SetHardness(itm->GetHardness());
-			particle->SetDensity(itm->GetDensity());
-			particle->SetConductivity(itm->GetElectrical_conductivity());
-			return true;
-		}
-		else
-		{
-			continue;
+			}
+			
+
+			//calculate the expression which has been processed.
+
+			bool rst = CalcuExp(exp);
+			if (rst)
+			{
+				//int id = itm->GetID();
+				particle->SetType(OTS_PARTICLE_TYPE::IDENTIFIED);
+				particle->SetClassifyId(itm->GetID());
+				particle->TypeColor(itm->GetColor());
+				particle->TypeName(itm->GetName());
+				particle->SetHardness(itm->GetHardness());
+				particle->SetDensity(itm->GetDensity());
+				particle->SetConductivity(itm->GetElectrical_conductivity());
+				return true;
+			}
+			else
+			{
+				continue;
+			}
 		}
+		particle->SetType(OTS_PARTICLE_TYPE::NOT_IDENTIFIED);
+		particle->TypeName("Not Identified");
+		return true;
 	}
-	particle->SetType(OTS_PARTICLE_TYPE::NOT_IDENTIFIED);
-	particle->TypeName("Not Identified");
-	return true;
 }
 
 

+ 1 - 1
OTSCPP/OTSClrInterface/OTSClrInterface.vcxproj

@@ -29,7 +29,7 @@
   <PropertyGroup Label="Globals">
     <VCProjectVersion>16.0</VCProjectVersion>
     <ProjectGuid>{490A8592-7B13-4536-B475-028E73007FAE}</ProjectGuid>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <Keyword>ManagedCProj</Keyword>
     <RootNamespace>OTSClrInterface</RootNamespace>
     <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>

+ 1 - 1
OTSCPP/OTSControl/OTSControl.vcxproj

@@ -32,7 +32,7 @@
     <RootNamespace>OTSControl</RootNamespace>
     <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
     <Keyword>MFCDLLProj</Keyword>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+ 1 - 1
OTSCPP/OTSImagePro/OTSImageProcess.cpp

@@ -1183,7 +1183,7 @@ namespace OTSIMGPROC
 
 			Mat cvcopyImg = Mat(nHeightImg, nWidthImg, CV_8UC1, pPixel);
 			Mat blurImg;
-			medianBlur(cvcopyImg, blurImg, 5);//smooth the edge
+			medianBlur(cvcopyImg, blurImg, 3);//smooth the edge
 
 			vector<vector<Point>>contours;
 			

+ 19 - 19
OTSCleanReportApp/App.config

@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
-    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
+    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
   </configSections>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
   </startup>
   <connectionStrings>
     <!--<add name="XMLFilePath" connectionString="TestData.XML"/>-->
-    <add name="XMLFilePath" connectionString="Resources/XMLData/SystemData.XML" />
+    <add name="XMLFilePath" connectionString="Resources/XMLData/SystemData.XML"/>
   </connectionStrings>
   <nlog>
     <!-- optional, add some variables
   https://github.com/nlog/NLog/wiki/Configuration-file#variables
   -->
-    <variable name="myvar" value="myvalue" />
+    <variable name="myvar" value="myvalue"/>
     <!--
   See https://github.com/nlog/nlog/wiki/Configuration-file
   for information on customizing logging rules and outputs.
    -->
     <targets async="true">
-      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTS ${shortdate}.log" layout="${longdate} ${message}" />
-      <target name="control" type="RichTextBox" controlName="richTextBox_Nlog" formName="OutputNlog" maxLines="10000" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${message}" />
+      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTS ${shortdate}.log" layout="${longdate} ${message}"/>
+      <target name="control" type="RichTextBox" controlName="richTextBox_Nlog" formName="OutputNlog" maxLines="10000" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${message}"/>
     </targets>
     <rules>
       <!-- add your logging rules here -->
-      <logger name="*" minlevel="Trace" writeTo="control" />
-      <logger name="*" minlevel="Trace" writeTo="File" />
+      <logger name="*" minlevel="Trace" writeTo="control"/>
+      <logger name="*" minlevel="Trace" writeTo="File"/>
     </rules>
   </nlog>
   <runtime>
-    <gcConcurrent enabled="true" />
+    <gcConcurrent enabled="true"/>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <publisherPolicy apply="yes" />
-      <probing privatePath="ReportClrDll\" />
+      <publisherPolicy apply="yes"/>
+      <probing privatePath="ReportClrDll\"/>
     </assemblyBinding>
   </runtime>
   <entityFramework>
     <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
-      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
     </providers>
   </entityFramework>
   <system.data>
     <DbProviderFactories>
-      <remove invariant="System.Data.SQLite.EF6" />
-      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
-    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6"/>
+      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/>
+    <remove invariant="System.Data.SQLite"/><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/></DbProviderFactories>
   </system.data>
-</configuration>
+</configuration>

+ 1 - 9
OTSCleanReportApp/OTSCleanReportApp.csproj

@@ -9,7 +9,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>OTSIncAReportApp</RootNamespace>
     <AssemblyName>OTSIncAReportApp</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <IsWebBootstrapper>false</IsWebBootstrapper>
@@ -1326,14 +1326,6 @@
       <Project>{490a8592-7b13-4536-b475-028e73007fae}</Project>
       <Name>OTSClrInterface</Name>
     </ProjectReference>
-    <ProjectReference Include="..\OTSIncAReportApp\OTSIncAReportApp.csproj">
-      <Project>{A3059BB1-9315-49DB-9680-FE16FAB1499D}</Project>
-      <Name>OTSIncAReportApp</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\OTSSysMgrTools\OTSSysMgrTools.csproj">
-      <Project>{3b7695aa-8231-45ac-b493-84390a945d02}</Project>
-      <Name>OTSSysMgrTools</Name>
-    </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>

File diff suppressed because it is too large
+ 118 - 118
OTSCleanReportApp/Properties/Resources.Designer.cs


+ 1 - 1
OTSCleanReportApp/Properties/Settings.Designer.cs

@@ -12,7 +12,7 @@ namespace OTSIncAReportApp.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

+ 3 - 3
OTSIncAMeasureApp/0-OTSModel/Measure/1-OTSInclution/SmplMeasureInclution.cs

@@ -204,14 +204,14 @@ namespace OTSModelSharp
             try
             {
                 var curFld = (CFieldDataIncA)curFldData;
-                var quantifyparts = curFld.GetListAnalysisParticles();
-                int nSize = quantifyparts.Count();
+                var anylysisparts = curFld.GetListAnalysisParticles();
+                int nSize = anylysisparts.Count();
 
                 // go through all analysis particles
                 for (int i = 0; i < nSize; ++i)
                 {
                     string libname = m_Sample.GetMsrParams().GetSTDName();
-                    ClassifyIncAParticle(quantifyparts[i], libname);
+                    ClassifyIncAParticle(anylysisparts[i], libname);
                 }
                
                

+ 20 - 20
OTSIncAMeasureApp/App.config

@@ -1,49 +1,49 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
-    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
+    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
   </configSections>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
   </startup>
   <connectionStrings>
-    <add name="XMLFilePath" connectionString="Resources/XMLData/SystemData.XML" />
-    <add name="LogAppPath" connectionString="C:\\Log\\OTSSysMgrApp" />
-    <add name="LogPath" connectionString="C:\\Log\\OTSSysMgrApp_OTSControl" />
-    <add name="XMLFileName" connectionString="HardwareConfig.xml" />
-    <add name="DLLXMLFileName" connectionString="BrukerDllVersion.xml" />
+    <add name="XMLFilePath" connectionString="Resources/XMLData/SystemData.XML"/>
+    <add name="LogAppPath" connectionString="C:\\Log\\OTSSysMgrApp"/>
+    <add name="LogPath" connectionString="C:\\Log\\OTSSysMgrApp_OTSControl"/>
+    <add name="XMLFileName" connectionString="HardwareConfig.xml"/>
+    <add name="DLLXMLFileName" connectionString="BrukerDllVersion.xml"/>
   </connectionStrings>
   <nlog>
     <!-- optional, add some variables
   https://github.com/nlog/NLog/wiki/Configuration-file#variables
   -->
-    <variable name="myvar" value="myvalue" />
+    <variable name="myvar" value="myvalue"/>
     <!--
   See https://github.com/nlog/nlog/wiki/Configuration-file
   for information on customizing logging rules and outputs.
    -->
     <targets async="true">
-      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTS ${shortdate}.log" layout="${longdate} ${message}" />
-      <target name="control" type="RichTextBox" controlName="richTextBox_Nlog" formName="OTSMeasureOutputNlog" maxLines="10000" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${message}" />
+      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTS ${shortdate}.log" layout="${longdate} ${message}"/>
+      <target name="control" type="RichTextBox" controlName="richTextBox_Nlog" formName="OTSMeasureOutputNlog" maxLines="10000" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${message}"/>
     </targets>
     <rules>
       <!-- add your logging rules here -->
-      <logger name="*" minlevel="Trace" writeTo="control" />
-      <logger name="*" minlevel="Trace" writeTo="File" />
+      <logger name="*" minlevel="Trace" writeTo="control"/>
+      <logger name="*" minlevel="Trace" writeTo="File"/>
     </rules>
   </nlog>
   <entityFramework>
     <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
-      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
     </providers>
   </entityFramework>
   <system.data>
     <DbProviderFactories>
-      <remove invariant="System.Data.SQLite.EF6" />
-      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
-    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6"/>
+      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/>
+    <remove invariant="System.Data.SQLite"/><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/></DbProviderFactories>
   </system.data>
-</configuration>
+</configuration>

+ 1 - 1
OTSIncAMeasureApp/OTSIncAMeasureApp.csproj

@@ -9,7 +9,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>OTSMeasureApp</RootNamespace>
     <AssemblyName>OTSMeasureApp</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <IsWebBootstrapper>false</IsWebBootstrapper>

+ 2 - 2
OTSIncAMeasureApp/Properties/IDDescriptionResource.Designer.cs

@@ -19,7 +19,7 @@ namespace OTSMeasureApp.Properties {
     // class via a tool like ResGen or Visual Studio.
     // To add or remove a member, edit your .ResX file then rerun ResGen
     // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class IDDescriptionResource {
@@ -39,7 +39,7 @@ namespace OTSMeasureApp.Properties {
         internal static global::System.Resources.ResourceManager ResourceManager {
             get {
                 if (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OTSIncAMeasureApp.Properties.IDDescriptionResource", typeof(IDDescriptionResource).Assembly);
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OTSMeasureApp.Properties.IDDescriptionResource", typeof(IDDescriptionResource).Assembly);
                     resourceMan = temp;
                 }
                 return resourceMan;

File diff suppressed because it is too large
+ 118 - 118
OTSIncAMeasureApp/Properties/Resources.Designer.cs


+ 1 - 1
OTSIncAMeasureApp/Properties/Settings.Designer.cs

@@ -12,7 +12,7 @@ namespace OTSMeasureApp.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

+ 12 - 7
OTSIncAReportApp/1-UI/Control_Graph/OTSIncAReportGraphFuncation/OTSImageDisHelp.cs

@@ -343,18 +343,23 @@ namespace OTSIncAReportGraph.OTSIncAReportGraphFuncation
                 return;
             Particle particle = resultFile.List_OTSField.Find(x => x.FieldID == in_clr_fieldid).ParticleList.Find(x => x.ParticleId == in_clr_tagid);
             var tmpPart = new ParticleData(resultFile.FilePath).GetParticleXrayDataByFidAndPid(Convert.ToString(particle.FieldId), Convert.ToString(particle.XrayId));
-            particle.XRayData = tmpPart.XRayData;
-            if (particle.XrayId > -1)
+            if (tmpPart != null)
             {
-                for (int i = 0; i < 2000; i++)
+                particle.XRayData = tmpPart.XRayData;
+                if (particle.XrayId > -1)
                 {
-                    Analysis_xray[i] = BitConverter.ToUInt32(particle.XRayData, i * 4);
+                    for (int i = 0; i < 2000; i++)
+                    {
+                        Analysis_xray[i] = BitConverter.ToUInt32(particle.XRayData, i * 4);
+                    }
+
+                    Search_xray = Analysis_xray;
+                    xray_id = particle.XrayId;
+                    list_celementchemistryclr = particle.ElementList;
                 }
 
-                Search_xray = Analysis_xray;
-                xray_id = particle.XrayId;
-                list_celementchemistryclr = particle.ElementList;
             }
+           
 
         }
 

+ 9 - 2
OTSIncAReportApp/3-ServiceCenter/DataOperation/DataAccess/ParticleData.cs

@@ -347,9 +347,16 @@ namespace OTSIncAReportApp.DataOperation.DataAccess
 
             DataTable DT = dbHelper.ExecuteDataTable(sqlp, null);
             List<Model.Particle> listp = dbHelper.TableToList<Model.Particle>(DT);
- 
+            if (listp.Count > 0)
+            {
+                return listp[0];
+            }
+            else 
+            {
+                return null;
+            }
 
-            return listp[0];
+           
         }
         public enum PARTCLE_TYPE
         {

+ 19 - 19
OTSIncAReportApp/App.config

@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
-    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
+    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
   </configSections>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
   </startup>
   <connectionStrings>
     <!--<add name="XMLFilePath" connectionString="TestData.XML"/>-->
-    <add name="XMLFilePath" connectionString="Resources/XMLData/SystemData.XML" />
+    <add name="XMLFilePath" connectionString="Resources/XMLData/SystemData.XML"/>
   </connectionStrings>
   <nlog>
     <!-- optional, add some variables
   https://github.com/nlog/NLog/wiki/Configuration-file#variables
   -->
-    <variable name="myvar" value="myvalue" />
+    <variable name="myvar" value="myvalue"/>
     <!--
   See https://github.com/nlog/nlog/wiki/Configuration-file
   for information on customizing logging rules and outputs.
    -->
     <targets async="true">
-      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTSReport ${shortdate}.log" layout="${longdate} ${message}" />
-      <target name="control" type="RichTextBox" controlName="richTextBox_Nlog" formName="OutputNlog" maxLines="10000" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${message}" />
+      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTSReport ${shortdate}.log" layout="${longdate} ${message}"/>
+      <target name="control" type="RichTextBox" controlName="richTextBox_Nlog" formName="OutputNlog" maxLines="10000" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${message}"/>
     </targets>
     <rules>
       <!-- add your logging rules here -->
-      <logger name="*" minlevel="Trace" writeTo="control" />
-      <logger name="*" minlevel="Trace" writeTo="File" />
+      <logger name="*" minlevel="Trace" writeTo="control"/>
+      <logger name="*" minlevel="Trace" writeTo="File"/>
     </rules>
   </nlog>
   <runtime>
-    <gcConcurrent enabled="true" />
+    <gcConcurrent enabled="true"/>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <publisherPolicy apply="yes" />
-      <probing privatePath="ReportClrDll\" />
+      <publisherPolicy apply="yes"/>
+      <probing privatePath="ReportClrDll\"/>
     </assemblyBinding>
   </runtime>
   <entityFramework>
     <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
-      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
     </providers>
   </entityFramework>
   <system.data>
     <DbProviderFactories>
-      <remove invariant="System.Data.SQLite.EF6" />
-      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
-    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6"/>
+      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/>
+    <remove invariant="System.Data.SQLite"/><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/></DbProviderFactories>
   </system.data>
-</configuration>
+</configuration>

+ 1 - 1
OTSIncAReportApp/OTSIncAReportApp.csproj

@@ -9,7 +9,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>OTSIncAReportApp</RootNamespace>
     <AssemblyName>OTSIncAReportApp</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <IsWebBootstrapper>false</IsWebBootstrapper>

File diff suppressed because it is too large
+ 118 - 118
OTSIncAReportApp/Properties/Resources.Designer.cs


+ 1 - 1
OTSIncAReportApp/Properties/Settings.Designer.cs

@@ -12,7 +12,7 @@ namespace OTSIncAReportApp.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

+ 1 - 1
OTSIncAReportTemplate/OTSIncAReportTemplate.csproj

@@ -9,7 +9,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>OTSIncAReportTemplate</RootNamespace>
     <AssemblyName>OTSIncAReportTemplate</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <Deterministic>true</Deterministic>
     <TargetFrameworkProfile />

+ 13 - 13
OTSIncAReportTemplate/Properties/Resources.Designer.cs

@@ -1,10 +1,10 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
 //
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
 // </auto-generated>
 //------------------------------------------------------------------------------
 
@@ -13,13 +13,13 @@ namespace OTSIncAReportTemplate.Properties {
     
     
     /// <summary>
-    ///   一个强类型的资源类,用于查找本地化的字符串等。
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
     /// </summary>
-    // 此类是由 StronglyTypedResourceBuilder
-    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
-    // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
-    // (以 /str 作为命令选项),或重新生成 VS 项目。
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {
@@ -33,7 +33,7 @@ namespace OTSIncAReportTemplate.Properties {
         }
         
         /// <summary>
-        ///   返回此类使用的缓存的 ResourceManager 实例。
+        ///   Returns the cached ResourceManager instance used by this class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Resources.ResourceManager ResourceManager {
@@ -47,8 +47,8 @@ namespace OTSIncAReportTemplate.Properties {
         }
         
         /// <summary>
-        ///   重写当前线程的 CurrentUICulture 属性
-        ///   重写当前线程的 CurrentUICulture 属性。
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Globalization.CultureInfo Culture {

+ 5 - 5
OTSIncAReportTemplate/Properties/Settings.Designer.cs

@@ -1,10 +1,10 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
 //
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
 // </auto-generated>
 //------------------------------------------------------------------------------
 
@@ -12,7 +12,7 @@ namespace OTSIncAReportTemplate.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

+ 9 - 9
OTSIncAReportTemplate/app.config

@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
   </configSections>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
   </startup>
   <entityFramework>
     <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
-      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
     </providers>
   </entityFramework>
   <system.data>
     <DbProviderFactories>
-      <remove invariant="System.Data.SQLite.EF6" />
-      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
-    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6"/>
+      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/>
+    <remove invariant="System.Data.SQLite"/><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/></DbProviderFactories>
   </system.data>
-</configuration>
+</configuration>

+ 1 - 1
OTSPartA_STDEditor/App.config

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
     <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
     </startup>
 </configuration>

+ 1 - 1
OTSPartA_STDEditor/OTSPartA_STDEditor.csproj

@@ -8,7 +8,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>OTSPartA_STDEditor</RootNamespace>
     <AssemblyName>OTSPartA_STDEditor</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <Deterministic>true</Deterministic>

+ 34 - 34
OTSPartA_STDEditor/Properties/Resources.Designer.cs

@@ -1,10 +1,10 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
 //
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
 // </auto-generated>
 //------------------------------------------------------------------------------
 
@@ -13,13 +13,13 @@ namespace OTSPartA_STDEditor.Properties {
     
     
     /// <summary>
-    ///   一个强类型的资源类,用于查找本地化的字符串等。
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
     /// </summary>
-    // 此类是由 StronglyTypedResourceBuilder
-    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
-    // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
-    // (以 /str 作为命令选项),或重新生成 VS 项目。
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {
@@ -33,7 +33,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   返回此类使用的缓存的 ResourceManager 实例。
+        ///   Returns the cached ResourceManager instance used by this class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Resources.ResourceManager ResourceManager {
@@ -47,8 +47,8 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   重写当前线程的 CurrentUICulture 属性
-        ///   重写当前线程的 CurrentUICulture 属性。
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Globalization.CultureInfo Culture {
@@ -61,7 +61,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap back32 {
             get {
@@ -71,7 +71,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap open32 {
             get {
@@ -81,7 +81,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap open321 {
             get {
@@ -91,7 +91,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap PeriodicTable_EN {
             get {
@@ -101,7 +101,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap PeriodicTable_EN1 {
             get {
@@ -111,7 +111,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap PeriodicTable_ZH {
             get {
@@ -121,7 +121,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap PeriodicTable_ZH1 {
             get {
@@ -131,7 +131,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap Recover161 {
             get {
@@ -141,7 +141,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap Recover321 {
             get {
@@ -151,7 +151,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap Ruler161 {
             get {
@@ -161,7 +161,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap saveas32 {
             get {
@@ -171,7 +171,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap saveas321 {
             get {
@@ -181,7 +181,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap STDEditoName {
             get {
@@ -191,7 +191,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap STDEditoName1 {
             get {
@@ -201,7 +201,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap worddocument32 {
             get {
@@ -211,7 +211,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap 公司图标 {
             get {
@@ -221,7 +221,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap 关机 {
             get {
@@ -231,7 +231,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap 另存为 {
             get {
@@ -241,7 +241,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap 另存为1 {
             get {
@@ -251,7 +251,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap 电镜 {
             get {
@@ -261,7 +261,7 @@ namespace OTSPartA_STDEditor.Properties {
         }
         
         /// <summary>
-        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap 编辑 {
             get {

+ 5 - 5
OTSPartA_STDEditor/Properties/Settings.Designer.cs

@@ -1,10 +1,10 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
 //
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
 // </auto-generated>
 //------------------------------------------------------------------------------
 
@@ -12,7 +12,7 @@ namespace OTSPartA_STDEditor.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

+ 3 - 4
OTSSysMgrApp/App.config

@@ -4,7 +4,7 @@
     <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
   </configSections>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
   </startup>
   <connectionStrings>
     <add name="XMLFilePath" connectionString="Resources/XMLData/SystemData.XML"/>
@@ -25,15 +25,14 @@
   for information on customizing logging rules and outputs.
    -->
     <targets async="true">
-      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTS ${shortdate}.log"
-              layout="${longdate} ${message}" />
+      <target type="File" name="file" fileName="${basedir}/Log/Nlogs/OTS ${shortdate}.log" layout="${longdate} ${message}"/>
       <target name="control" type="RichTextBox" controlName="richTextBox_Nlog" formName="OutputNlog" maxLines="10000" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${message}"/>
     </targets>
 
     <rules>
       <!-- add your logging rules here -->
       <logger name="*" minlevel="Trace" writeTo="control"/>
-      <logger name="*" minlevel="Trace" writeTo="File" />
+      <logger name="*" minlevel="Trace" writeTo="File"/>
     </rules>
   </nlog>
   <system.windows.forms jitDebugging="true"/>

+ 1 - 1
OTSSysMgrApp/OTSSysMgrApp.csproj

@@ -8,7 +8,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>OTSSysMgrApp</RootNamespace>
     <AssemblyName>OTSSysMgrApp</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <IsWebBootstrapper>false</IsWebBootstrapper>

+ 1 - 1
OTSSysMgrApp/Properties/Resources.Designer.cs

@@ -19,7 +19,7 @@ namespace OTSSysMgrApp.Properties {
     // class via a tool like ResGen or Visual Studio.
     // To add or remove a member, edit your .ResX file then rerun ResGen
     // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {

+ 1 - 1
OTSSysMgrApp/Properties/Settings.Designer.cs

@@ -12,7 +12,7 @@ namespace OTSSysMgrApp.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

+ 1 - 1
OTSSysMgrTools/OTSSysMgrTools.csproj

@@ -9,7 +9,7 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>OTSSysMgrTools</RootNamespace>
     <AssemblyName>OTSSysMgrTools</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <TargetFrameworkProfile />
   </PropertyGroup>

Some files were not shown because too many files changed in this diff