This commit is contained in:
孙源
2025-07-11 14:12:47 +08:00
commit 9dacccd1d5
404 changed files with 514108 additions and 0 deletions

59
BLL/BLL.csproj Normal file
View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{02A200E7-551A-4DD7-B23A-AFAA9DBECF81}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BLL</RootNamespace>
<AssemblyName>BLL</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="SqlSugar, Version=5.0.3.0, Culture=neutral, PublicKeyToken=null" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CheckBLL.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Model\Model.csproj">
<Project>{5A80DE64-FCD5-4D7C-8A1E-4199412D80BD}</Project>
<Name>Model</Name>
</ProjectReference>
<ProjectReference Include="..\Tool\Tool.csproj">
<Project>{cc8994b7-1312-45e6-abda-92413692feb3}</Project>
<Name>Tool</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

775
BLL/CheckBLL.cs Normal file
View File

@ -0,0 +1,775 @@
using Model;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using Tool;
namespace BLL
{
public class CheckBLL
{
private SqlHelper sql = new SqlHelper();
private ConfigHelper configHelper = new ConfigHelper();
private FileHelper file = new FileHelper();
public void SetConfig(SettingModel set)
{
configHelper.Write("Index", set.index.ToString());
}
/// <summary>
/// 读取配置文件内容
/// </summary>
/// <returns></returns>
public SettingModel LoadConfig()
{
//地址
string setPath1 = System.Environment.CurrentDirectory + "\\Setting1.config";
//夹具号
string setPath2 = System.Environment.CurrentDirectory + "\\Setting2.config";
//机型
string setPath3 = System.Environment.CurrentDirectory + "\\Setting3.config";
try
{
SettingModel set = new SettingModel();
Dictionary<string, string> dic = configHelper.ReadAll();
//地址
Dictionary<string, string> dic1 = configHelper.ReadAll(setPath1);
//夹具号
Dictionary<string, string> dic2 = configHelper.ReadAll(setPath2);
//机型
Dictionary<string, string> dic3 = configHelper.ReadAll(setPath3);
if (dic1.ContainsKey("pathini"))
{
set.pathini = dic1["pathini"];
}
if (dic1.ContainsKey("pathLoad"))
{
set.pathLoad = dic1["pathLoad"];
}
if (dic1.ContainsKey("pathch1"))
{
set.pathch1 = dic1["pathch1"];
}
if (dic1.ContainsKey("pathch2"))
{
set.pathch2 = dic1["pathch2"];
}
if (dic2.ContainsKey("devcode1"))
{
set.devcode1 = dic2["devcode1"];
}
if (dic2.ContainsKey("devcode2"))
{
set.devcode2 = dic2["devcode2"];
}
if (dic3.ContainsKey("type"))
{
set.Types = dic3["type"].Split(';');
}
if (dic.ContainsKey("Index"))
{
set.index = int.Parse(dic["Index"]);
}
return set;
}
catch (Exception ee)
{
LogHelper.WriteLog(ee.ToString());
return null;
}
}
public List<ExclModel> getReplacetest1(string path,string imei)
{
string pathen = "";
string textna = "";
List<ExclModel> topexcl = new List<ExclModel>();
DirectoryInfo theFolder1 = new DirectoryInfo(path);
DirectoryInfo[] dir12 = theFolder1.GetDirectories();
if (dir12.Length!=1)
{
return topexcl;
}
foreach (DirectoryInfo NextFolder2 in dir12)
{
textna = NextFolder2.Name;
if (NextFolder2.Name.Contains(imei) && NextFolder2.Name.Contains("PASS"))
{
pathen = NextFolder2.FullName+ "\\LTE_FT.csv";
}else
{
return topexcl;
}
}
using (var reader = new StreamReader(pathen))
{
string line;
// 循环读取文件中的每一行
while ((line = reader.ReadLine()) != null)
{
// 使用Split函数按逗号分隔行内容
string[] fields = line.Split(',');
// 这里可以对分隔后的字段数据进行处理或存储
// 示例:打印每一行的字段
//for (int i = 0; i < fields.Length; i++)
//{
// Console.WriteLine($"Field {i + 1}: {fields[i]}");
//}
ExclModel itme = new ExclModel();
itme.textname = textna;
itme.Band = fields[1];
itme.Channel = fields[2];
itme.Result = fields[7];
topexcl.Add(itme);
// 实际应用中,您可以在此处替换为实际的数据处理逻辑
}
}
return topexcl;
}
/// <summary>
/// 从log文件读取功率
/// </summary>
/// <param name="path"></param>
/// <param name="imei"></param>
/// <returns></returns>
public Tuple<List<ExclModel>, string> getReplacetest(string path, string imei,int num)
{
string pathen = "";
string textna = "";
string retul = "OK";
List<ExclModel> topexcl = new List<ExclModel>();
DirectoryInfo theFolder1 = new DirectoryInfo(path);
DirectoryInfo[] dir12 = theFolder1.GetDirectories();
List<DirectoryInfo> dir13 = theFolder1.GetDirectories().ToList();
if (dir12.Length != num + 1)
{
retul = "log文件数量不为" + (num + 1);
return new Tuple<List<ExclModel>, string>(topexcl, retul);
}
//List<DirectoryInfo> onetextna1 = dir13.OrderByDescending(it => it.CreationTime).ToList();
DirectoryInfo onetextna = dir13.OrderByDescending(it => it.CreationTime).First();
textna = onetextna.Name;
pathen = onetextna.FullName + "\\LTE_FT.csv";
DateTime s = onetextna.CreationTime;
DateTime s1 = DateTime.Today;
if (s<s1)
{
retul = "log 文件的创建时间"+ s.ToString()+"不为当前日期";
return new Tuple<List<ExclModel>, string>(topexcl, retul);
}
//if (dir12.Length != num+1)
//{
// retul="log文件数量不为"+ (num+1);
// return new Tuple<List<ExclModel>, string>(topexcl, retul);
//}
foreach (DirectoryInfo NextFolder2 in dir12)
{
//textna = NextFolder2.Name;
//if (NextFolder2.Name.Contains(imei) && NextFolder2.Name.Contains("PASS"))
//{
// pathen = NextFolder2.FullName + "\\LTE_FT.csv";
//}
//else
//{
// retul = "log文件名称没有PASS或与金机号不符";
// return new Tuple<List<ExclModel>, string>(topexcl, retul);
//}
if (!NextFolder2.Name.Contains(imei) || !NextFolder2.Name.Contains("PASS"))
{
retul = "log文件名称没有PASS或与金机号不符";
return new Tuple<List<ExclModel>, string>(topexcl, retul);
}
}
using (var reader = new StreamReader(pathen))
{
string line;
// 循环读取文件中的每一行
while ((line = reader.ReadLine()) != null)
{
// 使用Split函数按逗号分隔行内容
string[] fields = line.Split(',');
// 这里可以对分隔后的字段数据进行处理或存储
// 示例:打印每一行的字段
//for (int i = 0; i < fields.Length; i++)
//{
// Console.WriteLine($"Field {i + 1}: {fields[i]}");
//}
if (fields[2].Contains("Channel"))
{
continue;
}
ExclModel itme = new ExclModel();
itme.textname = textna;
itme.Band = fields[1];
itme.Channel = fields[2];
itme.Result = fields[7];
topexcl.Add(itme);
// 实际应用中,您可以在此处替换为实际的数据处理逻辑
}
}
return new Tuple<List<ExclModel>, string>(topexcl, retul);
}
/// <summary>
/// 从软件的配置文件里读取线损
/// </summary>
/// <param name="path"></param>
/// <param name="numb"></param>
/// <returns></returns>
public List<IniModel> getinitest(string path,int numb)
{
string DateStr = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
string pathen = AppDomain.CurrentDomain.BaseDirectory + "ini备份";
//this.file.Transport(path, "D:\\xiansun", DateStr+"line.ini");
this.file.Transport(path, pathen, DateStr + "line.ini");
List < IniModel > lsit = new List<IniModel>();
for (int i = 0; i < 48; i++)
{
IniModel one = new IniModel();
one.several_line_loss = (lsit.Count + 1).ToString();
one.textname = DateStr + "Line.ini";
lsit.Add(one);
}
using (StreamReader sr = new StreamReader(pathen+"\\" + DateStr + "Line.ini", Encoding.UTF8))
//using (StreamReader sr = new StreamReader("D:\\xiansun\\" + DateStr + "Line.ini", Encoding.UTF8))
{
string line;
bool isRead = false;
List<string> lines = new List<string>();
//IniModel one = new IniModel();
int number = 0;
while ((line = sr.ReadLine()) != null)
{
lines.Add(line);
if (line.Contains("[Instrument Setting TS"+ (numb).ToString() +"]"))
{
isRead = true;
}
if (line.Contains("[Instrument Setting TS" + (numb+1).ToString() + "]"))
{
isRead = false;
}
if (line == ""|| !isRead||line.Contains("DIV")|| line.Contains("66_"))
{
continue;
}
if (!line.Contains("LTE_BAND"))
{
continue;
}
if (line.Contains("LTE_BAND") && line.Contains("TX_LOW_LOSS"))
{
number = int.Parse(line.Split(new char[2] { 'D', '_' })[2])-1;
lsit[number].LTE_BAND_TX_LOW_LOSS= line.Split('=')[1].Trim();
//one.LTE_BAND_TX_LOW_LOSS = line.Split('=')[1].Trim();
//number = number + 1;
}
else if (line.Contains("LTE_BAND") && line.Contains("TX_MID_LOSS"))
{
number = int.Parse(line.Split(new char[2] { 'D', '_' })[2]) - 1;
lsit[number].LTE_BAND_TX_MID_LOSS = line.Split('=')[1].Trim();
//one.LTE_BAND_TX_MID_LOSS = line.Split('=')[1].Trim();
//number = number + 1;
}
else if (line.Contains("LTE_BAND") && line.Contains("TX_HIGH_LOSS"))
{
number = int.Parse(line.Split(new char[2] { 'D', '_' })[2]) - 1;
lsit[number].LTE_BAND_TX_HIGH_LOSS = line.Split('=')[1].Trim();
//one.LTE_BAND_TX_HIGH_LOSS = line.Split('=')[1].Trim();
//number = number + 1;
}
else if (line.Contains("LTE_BAND") && line.Contains("RX_LOW_LOSS"))
{
number = int.Parse(line.Split(new char[2] { 'D', '_' })[2]) - 1;
lsit[number].LTE_BAND_RX_LOW_LOSS = line.Split('=')[1].Trim();
//one.LTE_BAND_RX_LOW_LOSS = line.Split('=')[1].Trim();
//number = number + 1;
}
else if (line.Contains("LTE_BAND") && line.Contains("RX_MID_LOSS"))
{
number = int.Parse(line.Split(new char[2] { 'D', '_' })[2]) - 1;
lsit[number].LTE_BAND_RX_MID_LOSS = line.Split('=')[1].Trim();
//one.LTE_BAND_RX_MID_LOSS = line.Split('=')[1].Trim();
//number = number + 1;
}
else if (line.Contains("LTE_BAND") && line.Contains("RX_HIGH_LOSS"))
{
number = int.Parse(line.Split(new char[2] { 'D', '_' })[2]) - 1;
lsit[number].LTE_BAND_RX_HIGH_LOSS = line.Split('=')[1].Trim();
//one.LTE_BAND_RX_HIGH_LOSS = line.Split('=')[1].Trim();
//number = number + 1;
}
//if (number==6)
//{
// lsit.Add(one);
// one = new IniModel();
// number = 0;
//}
}
return lsit;
}
}
/// <summary>
/// 从软件的配置文件里读取线损
/// </summary>
/// <param name="path"></param>
/// <param name="numb"></param>
/// <returns></returns>
public string getloadtest(string path)
{
//string DateStr = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
//this.file.Transport(path, "D:\\xiansun", DateStr + "Load.ini");
//List<string> lsit = new List<string>();
//using (StreamReader sr = new StreamReader("D:\\xiansun\\" + DateStr + "Load.ini", Encoding.UTF8))
//{
// string line;
// List<string> lines = new List<string>();
// //IniModel one = new IniModel();
// while ((line = sr.ReadLine()) != null)
// {
// lines.Add(line);
// if (line.Contains("EnableScript1="))
// {
// string setingd = line.Split('=')[1].Trim();
// lsit.Add(setingd);
// }
// }
// if (lsit.Count!=2)
// {
// return "Load.ini读取的EnableScript1数量为"+ lsit.Count+"条";
// }
//if (lsit[1]!="0")
//{
// return "Load.ini未取消校准";
//}
return "OK";
//} //}
}
/// <summary>
/// 将log文件的位置清理准备点检或抓取
/// </summary>
/// <param name="set"></param>
public void Clearfile(SettingModel set)
{
DirectoryInfo theFolder1 = new DirectoryInfo(set.pathch1);
DirectoryInfo theFolder2 = new DirectoryInfo(set.pathch2);
DirectoryInfo parsent = theFolder1.Parent;
string path1 = parsent.FullName + "\\errch1";
string path2 = parsent.FullName + "\\errch2";
if (!Directory.Exists(path1))
{
Directory.CreateDirectory(path1);
}
if (!Directory.Exists(path2))
{
Directory.CreateDirectory(path2);
}
DirectoryInfo[] dir11 = theFolder1.GetDirectories();
foreach (DirectoryInfo NextFolder1 in dir11)
{
NextFolder1.MoveTo(path1 + "\\" + NextFolder1.Name);
}
DirectoryInfo[] dir12 = theFolder2.GetDirectories();
foreach (DirectoryInfo NextFolder2 in dir12)
{
NextFolder2.MoveTo(path2 + "\\" + NextFolder2.Name);
}
//theFolder1.MoveTo(path1+ "\\" + “xxx_xx_xxx”);
//theFolder2.MoveTo(path2+"\\" + “xxx_xx_xxx”);
}
/// <summary>
/// 将log文件上传共享文件夹并在本地备份
/// </summary>
/// <param name="path"></param>
/// <param name="num"></param>
/// <returns></returns>
public string coply(string path,int num,string devcode)
{
try
{
DateTime dt = sql.db3.GetDate();
string DateStr = dt.ToString("yyyy-MM-dd");
string pathup = "\\\\192.168.2.149\\生产数据-2\\制造二课\\制造二课(模组车间)\\中移上传点检\\日常点检\\" + DateStr + "\\" + devcode;
string pathcp = "";
DirectoryInfo theFolder1 = new DirectoryInfo(path);
pathcp = theFolder1.Parent.FullName+"\\备份\\"+ DateStr;
if (!Directory.Exists(pathcp))
{
Directory.CreateDirectory(pathcp);
}
DirectoryInfo[] dir12 = theFolder1.GetDirectories();
if (dir12.Length != num)
{
return "文件数量错误";
}
foreach (DirectoryInfo NextFolder2 in dir12)
{
if (!Directory.Exists(pathup+"\\"+ NextFolder2.Name))
{
Directory.CreateDirectory(pathup + "\\" + NextFolder2.Name);
}
FileInfo[] dir11 = NextFolder2.GetFiles();
foreach (FileInfo NextFolder3 in dir11)
{
if (Copy_directory(NextFolder3.FullName, pathup + "\\" + NextFolder2.Name))
{
if (File.Exists(pathcp + "\\" + NextFolder2.Name + "\\" + NextFolder3.Name))
{
File.Delete(pathcp + "\\" + NextFolder2.Name + "\\" + NextFolder3.Name);
}
}
else
{
return "文件上传失败"+ NextFolder2.Name;
}
}
NextFolder2.MoveTo(pathcp + "\\" + NextFolder2.Name);
}
return "OK";
}
catch (Exception ee)
{
return ee.ToString();
}
}
/// <summary>
/// 复制文件
/// </summary>
/// <param name="sourcePath"></param>
/// <param name="destinationPath"></param>
/// <returns></returns>
public static bool Copy_directory(string sourcePath, string destinationPath)
{
Boolean fpss = true;
string dPath = destinationPath + sourcePath.Substring(sourcePath.LastIndexOf("\\"));
FileInfo old = new FileInfo(sourcePath);
File.Copy(sourcePath, dPath, true);
if (File.Exists(dPath))
{
FileInfo romote = new FileInfo(dPath);
if (old.Length != romote.Length)
{
fpss = false;
}
}
return fpss;
}
/// <summary>
/// 判断从文件读取的log功率是否读取完整。线损是否小于4
/// </summary>
/// <param name="exclModel"></param>
/// <param name="initestModel"></param>
/// <returns></returns>
public string Checktest(List<ExclModel> exclModel, List<IniModel> initestModel)
{
foreach (var item1 in exclModel)
{
if (item1.Band==""|| item1.Result == "" || item1.Channel == "" )
{
return "log数据未采集完整";
}
}
foreach (var item2 in initestModel)
{
if (item2.LTE_BAND_TX_LOW_LOSS == "" || item2.LTE_BAND_TX_MID_LOSS == ""
|| item2.LTE_BAND_TX_HIGH_LOSS == "" || item2.LTE_BAND_RX_LOW_LOSS == ""
|| item2.LTE_BAND_RX_MID_LOSS == "" || item2.LTE_BAND_RX_HIGH_LOSS == "")
{
return "ini数据未采集完整";
}
if(double.Parse(item2.LTE_BAND_TX_LOW_LOSS) >100)
{
return "ini的index" + item2.several_line_loss + "的LTE_BAND_TX_LOW_LOSS的为" + item2.LTE_BAND_TX_LOW_LOSS + "大于100";
}
if (double.Parse(item2.LTE_BAND_TX_MID_LOSS) > 100)
{
return "ini的index" + item2.several_line_loss + "的LTE_BAND_TX_MID_LOSS的为" + item2.LTE_BAND_TX_MID_LOSS + "大于100";
}
if (double.Parse(item2.LTE_BAND_TX_HIGH_LOSS) > 100)
{
return "ini的index" + item2.several_line_loss + "的LTE_BAND_TX_HIGH_LOSS的为" + item2.LTE_BAND_TX_HIGH_LOSS + "大于100";
}
if (double.Parse(item2.LTE_BAND_RX_LOW_LOSS) > 100)
{
return "ini的index" + item2.several_line_loss + "的LTE_BAND_RX_LOW_LOSS的为" + item2.LTE_BAND_RX_LOW_LOSS + "大于100";
}
if (double.Parse(item2.LTE_BAND_RX_MID_LOSS) > 100)
{
return "ini的index" + item2.several_line_loss + "的LTE_BAND_RX_MID_LOSS的为" + item2.LTE_BAND_RX_MID_LOSS + "大于100";
}
if (double.Parse(item2.LTE_BAND_RX_HIGH_LOSS) > 100)
{
return "ini的index" + item2.several_line_loss + "的LTE_BAND_RX_HIGH_LOSS的为" + item2.LTE_BAND_RX_HIGH_LOSS + "大于100";
}
}
return "OK";
}
/// <summary>
/// 对比两个log功率的差距是否大于0.3
/// </summary>
/// <param name="exclModel"></param>
/// <param name="standardExclModelModel"></param>
/// <returns></returns>
public string Checklog(List<ExclModel> exclModel, List<ExclModel> standardExclModelModel,string exc1name,string exc2name,string type)
{
try
{
if (exclModel.Count != standardExclModelModel.Count)
{
return exc1name+"的数据条数" + exclModel.Count + "与"+ exc2name+"的条数" + standardExclModelModel.Count + "不同";
}
foreach (var item in exclModel)
{
//bool chck = false;
//foreach (var item1 in standardExclModelModel)
//{
// if (item.Channel == item1.Channel)
// {
// chck = true;
// double value1 = double.Parse(item.Result.Replace("dBm", ""));
// double value2 = double.Parse(item1.Result.Replace("dBm", ""));
// double difference = Math.Abs(value1 - value2);
// if (difference >= 0.5)
// {
// return (item.Channel + "的" + item.Result + "与数据库的" + item1.Result + "差超过0.5");
// }
// if (difference >= 0.3)
// {
// return (item.Channel + "的" + item.Result + "与数据库的" + item1.Result + "差超过0.3");
// }
// }
//}
var item2 = standardExclModelModel.Find(m=>m.Band== item.Band&&m.Channel==item.Channel);
if (item2==null)
{
return exc1name + "的数据Channel:" + item.Channel + "在"+ exc2name + "未找到对应的记录";
}
double value1 = double.Parse(item.Result.Replace("dBm", ""));
double value2 = double.Parse(item2.Result.Replace("dBm", ""));
double difference = Math.Abs(value1 - value2);
if (difference >= 0.5)
{
return (exc1name + "的数据Channel:"+item.Channel + "的" + item.Result + "与"+ exc2name+"的" + item2.Result + "差超过0.5");
}
//if (type == "ML307R芯朴" && item.Band == "8")
//{
// if (difference >= 0.4)
// {
// return ("ML307R芯朴"+exc1name + "的数据Channel:" + item.Channel + "的" + item.Result + "与" + exc2name + "的" + item2.Result + "差超过0.4");
// }
//}
//else
//{
// if (difference >= 0.3)
// {
// return (exc1name + "的数据Channel:" + item.Channel + "的" + item.Result + "与" + exc2name + "的" + item2.Result + "差超过0.3");
// }
//}
}
return "OK";
}
catch (Exception ee) {
LogHelper.WriteLog(ee.ToString());
return ee.ToString();
}
}
/// <summary>
/// 对比两个线损的差距是否小于.03
/// </summary>
/// <param name="initestModel"></param>
/// <param name="standardInitestModel"></param>
/// <returns></returns>
public string Checkini(List<IniModel> initestModel, List<IniModel> standardInitestModel, string exc1name, string exc2name)
{
try
{
if (initestModel.Count != standardInitestModel.Count)
{
return exc1name+"线损的数据条数" + initestModel.Count + "与"+ exc2name + "线损的条数" + standardInitestModel.Count + "不同";
}
foreach (var item in initestModel)
{
////bool chck = false;
//foreach (var item1 in standardInitestModel)
//{
// if (item.index == item1.index)
// {
// chck = true;
// string difff ="";
// difff=matchekc(item.LTE_BAND_TX_LOW_LOSS, item1.LTE_BAND_TX_LOW_LOSS);
// if (difff!="OK")
// {
// return "线损的数据index:" + item.index + "LTE_BAND_TX_LOW_LOSS"+ difff;
// }
// difff = matchekc(item.LTE_BAND_TX_MID_LOSS, item1.LTE_BAND_TX_MID_LOSS);
// if (difff != "OK")
// {
// return "线损的数据index:" + item.index + "LTE_BAND_TX_MID_LOSS" + difff;
// }
// difff = matchekc(item.LTE_BAND_TX_HIGH_LOSS, item1.LTE_BAND_TX_HIGH_LOSS);
// if (difff != "OK")
// {
// return "线损的数据index:" + item.index + "LTE_BAND_TX_HIGH_LOSS" + difff;
// }
// difff = matchekc(item.LTE_BAND_RX_LOW_LOSS, item1.LTE_BAND_RX_LOW_LOSS);
// if (difff != "OK")
// {
// return "线损的数据index:" + item.index + "LTE_BAND_RX_LOW_LOSS" + difff;
// }
// difff = matchekc(item.LTE_BAND_RX_MID_LOSS, item1.LTE_BAND_RX_MID_LOSS);
// if (difff != "OK")
// {
// return "线损的数据index:" + item.index + "LTE_BAND_RX_MID_LOSS" + difff;
// }
// difff = matchekc(item.LTE_BAND_RX_HIGH_LOSS, item1.LTE_BAND_RX_HIGH_LOSS);
// if (difff != "OK")
// {
// return "线损的数据index:" + item.index + "LTE_BAND_RX_HIGH_LOSS" + difff;
// }
// }
//}
//if (!chck)
//{
// return "线损的数据index:" + item.index + "未找到对应的记录";
//}
var item2 = standardInitestModel.Find(m=>m.several_line_loss == item.several_line_loss);
if (item2 == null)
{
return exc1name+"线损的数据index:" + item.several_line_loss + "在" +exc2name + "未找到对应的记录";
}
string difff = "";
difff = matchekc(item.LTE_BAND_TX_LOW_LOSS, item2.LTE_BAND_TX_LOW_LOSS);
if (difff != "OK")
{
return exc1name + "线损的数据index:" + item.several_line_loss + "对比"+ exc2name + "LTE_BAND_TX_LOW_LOSS" + difff;
}
difff = matchekc(item.LTE_BAND_TX_MID_LOSS, item2.LTE_BAND_TX_MID_LOSS);
if (difff != "OK")
{
return exc1name + "线损的数据index:" + item.several_line_loss + "对比" + exc2name + "LTE_BAND_TX_MID_LOSS" + difff;
}
difff = matchekc(item.LTE_BAND_TX_HIGH_LOSS, item2.LTE_BAND_TX_HIGH_LOSS);
if (difff != "OK")
{
return exc1name + "线损的数据index:" + item.several_line_loss + "对比" + exc2name + "LTE_BAND_TX_HIGH_LOSS" + difff;
}
difff = matchekc(item.LTE_BAND_RX_LOW_LOSS, item2.LTE_BAND_RX_LOW_LOSS);
if (difff != "OK")
{
return exc1name + "线损的数据index:" + item.several_line_loss + "对比" + exc2name + "LTE_BAND_RX_LOW_LOSS" + difff;
}
difff = matchekc(item.LTE_BAND_RX_MID_LOSS, item2.LTE_BAND_RX_MID_LOSS);
if (difff != "OK")
{
return exc1name + "线损的数据index:" + item.several_line_loss + "对比" + exc2name + "LTE_BAND_RX_MID_LOSS" + difff;
}
difff = matchekc(item.LTE_BAND_RX_HIGH_LOSS, item2.LTE_BAND_RX_HIGH_LOSS);
if (difff != "OK")
{
return "线损的数据index:" + item.several_line_loss + "对比" + exc2name + "LTE_BAND_RX_HIGH_LOSS" + difff;
}
}
return "OK";
}
catch (Exception ee)
{
return ee.ToString();
}
}
/// <summary>
/// 判断两个数是否相差大于0.3
/// </summary>
/// <param name="tvalue1"></param>
/// <param name="tvalue2"></param>
/// <returns></returns>
public string matchekc(string tvalue1,string tvalue2)
{
try
{
double value1 = double.Parse(tvalue1);
double value2 = double.Parse(tvalue2);
double difference = Math.Abs(value1 - value2);
if (difference >= 0.5)
{
return ("差超过0.5");
}
//if (difference >= 0.3)
//{
// return ("差超过0.3");
//}
return "OK";
}
catch (Exception ee) {
return ee.ToString();
}
}
/// <summary>
/// 将共享文件内的文件移动到其他地方
/// </summary>
/// <param name="devcode1"></param>
/// <param name="type"></param>
/// <param name="snimei"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public string moveto(string devcode1, string type, string snimei)
{
DateTime dt = sql.db3.GetDate();
string DateStr = dt.ToString("yyyy-MM-dd");
string path = "\\\\192.168.2.149\\生产数据-2\\制造二课\\制造二课(模组车间)\\中移上传点检\\日常点检\\" + DateStr+"\\"+ devcode1;
string pathto = "\\\\192.168.2.149\\生产数据-2\\制造二课\\制造二课(模组车间)\\中移上传点检\\日常点检备份\\" + DateStr + "\\" + devcode1;
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
DirectoryInfo theFolder1 = new DirectoryInfo(path);
DirectoryInfo[] dir12 = theFolder1.GetDirectories();
if (dir12.Length == 0)
{
return "OK";
}
if (!Directory.Exists(pathto))
{
Directory.CreateDirectory(pathto);
}
foreach (DirectoryInfo NextFolder2 in dir12)
{
//if (!Directory.Exists(pathto + "\\" + NextFolder2.Name))
//{
// Directory.CreateDirectory(pathto + "\\" + NextFolder2.Name);
//}
//FileInfo[] dir11 = NextFolder2.GetFiles();
//foreach (FileInfo NextFolder3 in dir11)
//{
// if (Copy_directory(NextFolder3.FullName, pathto + "\\" + NextFolder2.Name))
// {
// if (File.Exists(pathto + "\\" + NextFolder2.Name + "\\" + NextFolder3.Name))
// {
// File.Delete(pathto + "\\" + NextFolder2.Name + "\\" + NextFolder3.Name);
// }
// }
// else
// {
// return "文件上传失败" + NextFolder2.Name;
// }
//}
NextFolder2.MoveTo(pathto + "\\" + NextFolder2.Name);
}
return "OK";
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("BLL")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("BLL")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("02a200e7-551a-4dd7-b23a-afaa9dbecf81")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

BIN
BLL/bin/Debug/BLL.dll Normal file

Binary file not shown.

BIN
BLL/bin/Debug/BLL.pdb Normal file

Binary file not shown.

BIN
BLL/bin/Debug/Model.dll Normal file

Binary file not shown.

BIN
BLL/bin/Debug/Model.pdb Normal file

Binary file not shown.

BIN
BLL/bin/Debug/SqlSugar.dll Normal file

Binary file not shown.

BIN
BLL/bin/Debug/Tool.dll Normal file

Binary file not shown.

BIN
BLL/bin/Debug/Tool.pdb Normal file

Binary file not shown.

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.2", FrameworkDisplayName = ".NET Framework 4.5.2")]

Binary file not shown.

View File

@ -0,0 +1 @@
b1a84f9457003ac7d2ad72352989e29f41b8275d375cf8d680061b79df40335e

View File

@ -0,0 +1,11 @@
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\bin\Debug\BLL.dll
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\bin\Debug\BLL.pdb
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\obj\Debug\BLL.csproj.AssemblyReference.cache
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\obj\Debug\BLL.csproj.CoreCompileInputs.cache
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\obj\Debug\BLL.dll
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\obj\Debug\BLL.pdb
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\bin\Debug\Model.dll
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\bin\Debug\Tool.dll
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\bin\Debug\Model.pdb
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\bin\Debug\Tool.pdb
D:\桌面文件夹\Desktop\中移版本库\金机点检\BLL\obj\Debug\BLL.csproj.Up2Date

View File

BIN
BLL/obj/Debug/BLL.dll Normal file

Binary file not shown.

BIN
BLL/obj/Debug/BLL.pdb Normal file

Binary file not shown.