v1.2.0.10 禾欣现场1209 优化 分卷-裁切-报表-ERP完善版本

This commit is contained in:
CPL 2024-12-09 16:08:24 +08:00
parent 356408c47f
commit 17cdce52b0
53 changed files with 2941 additions and 300 deletions

View File

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

View File

@ -0,0 +1,130 @@
namespace HttpTestApp
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 12);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(441, 91);
this.textBox1.TabIndex = 0;
//
// button1
//
this.button1.Location = new System.Drawing.Point(89, 219);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "查询";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(10, 127);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 12);
this.label1.TabIndex = 2;
this.label1.Text = "批号:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(10, 161);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(35, 12);
this.label2.TabIndex = 3;
this.label2.Text = "卷号:";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(51, 124);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(153, 21);
this.textBox2.TabIndex = 4;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(51, 158);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(153, 21);
this.textBox3.TabIndex = 5;
//
// button2
//
this.button2.Location = new System.Drawing.Point(322, 219);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 6;
this.button2.Text = "下载";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(465, 256);
this.Controls.Add(this.button2);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Name = "Form1";
this.Text = "服务器测试程序";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Button button2;
}
}

View File

@ -0,0 +1,157 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HttpTestApp
{
public partial class Form1 : Form
{
string SIP = "172.16.21.210";//"172.30.8.2";//"172.16.21.210";
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
JObject parm = new JObject()
{
{"batch",textBox2.Text },
{"reel",textBox3.Text }
};
//从主机台取缺陷文件名列表和JSON数组
var obj = getDefectFromBatchReel(parm);
if (obj.Value<int>("code") != 200)
throw new Exception(obj.Value<string>("data"));
//
var defectInfo = obj.Value<JArray>("data"); //文件名列表(主机台已对文件名排序,这里不需再排序(主机台按各自index进行的排序比对在缺陷文件名后面)
if (defectInfo.Count < 1)
throw new Exception("主机台缺陷文件已不存在!");
textBox1.Text = "";
for (int i = 0; i < defectInfo.Count; i++)
{
textBox1.AppendText(defectInfo[i].ToString() + "\r\n");
}
}
/// <summary>
/// date,sn
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
private JObject getDefectFromBatchReel(JObject req)
{
JObject resp = postSync($"http://{SIP}:10086" + "/api/query_table", req.ToString());
if (!resp.Value<bool>("success"))//框架库内
throw new Exception(resp.Value<string>("data"));//框架库内
//成功接收返回
JObject obj = JObject.Parse(resp.Value<string>("data"));
return obj;
}
//HttpClient方式
private JObject postSync(string url, string json, bool recvResp = true, bool isJson = true)
{
JObject resp = new JObject();
try
{
HttpClient http = new HttpClient();
StringContent dataContent;
//第一种方式data是json格式
if (isJson)
dataContent = new StringContent(json, System.Text.Encoding.UTF8, "application/json"); // {"PageNum":"1","PageSIze":"20","info":"311011500300661"}
else
{
// 第二种方式form表单提交 内容post 提交都在StringContent请求body中添加
string lsUrlEncodeStr = json2Params(JObject.Parse(json));
dataContent = new StringContent(lsUrlEncodeStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded"); //PageNum=1&PageSize=20&info=311011500300661
}
http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "token");
var taskstr = http.PostAsync(url, dataContent).Result.Content.ReadAsStringAsync();
//API.OutputDebugString("wlq postSync:url=" + url + ";resp=" + taskstr.Result);
//读取返回数据
//return taskstr.Result;
if (recvResp)
{
resp.Add("data", taskstr.Result);
resp.Add("success", true);
}
else
{
resp.Add("data", "");
resp.Add("success", true);
}
}
catch (Exception ex)
{
resp.Add("success", false);
resp.Add("data", ex.Message);
}
return resp;
}
private string json2Params(JObject json)
{
string result = "";
IEnumerable<JProperty> properties = json.Properties();
foreach (JProperty item in properties)
{
result += item.Name.ToString() + "=" + item.Value.ToString() + "&";
// item.Name 为 键
// item.Value 为 值
}
result = result.Substring(0, result.Length - 1);
//string result1 = WebUtility.UrlEncode(result);//转义字符大写
////string result2 = HttpUtility.UrlEncode(result);//转义字符小写
return result;
}
private void button2_Click(object sender, EventArgs e)
{
JObject parm = new JObject()
{
{"batch",textBox2.Text },
{"reel",textBox3.Text }
};
var obj = getDefectFromBatchReelToExcel(parm);
var datas = Convert.FromBase64String(obj.Value<string>("data"));
//var datas = resp.Value<byte[]>("data");
string path = $"{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx";
File.WriteAllBytes(path, datas);
return;
}
private JObject getDefectFromBatchReelToExcel(JObject req)
{
JObject resp = postSync($"http://{SIP}:10086" + "/api/get_defect_from_batch_reel", req.ToString());
if (!resp.Value<bool>("success"))//框架库内
throw new Exception(resp.Value<string>("data"));//框架库内
//成功接收返回
JObject obj = JObject.Parse(resp.Value<string>("data"));
return obj;
//var bmp = (new MemoryStream(Convert.FromBase64String(resp.Value<string>("data"))));
//var strDAta = resp.Value<string>("data");
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,84 @@
<?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>{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>HttpTestApp</RootNamespace>
<AssemblyName>HttpTestApp</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>
<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' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" />
<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.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HttpTestApp
{
internal static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

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

View File

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace HttpTestApp.Properties
{
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HttpTestApp.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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>
//------------------------------------------------------------------------------
namespace HttpTestApp.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Binary file not shown.

View File

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

View File

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

View File

@ -0,0 +1,12 @@
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\bin\Debug\HttpTestApp.exe.config
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\bin\Debug\HttpTestApp.exe
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\bin\Debug\HttpTestApp.pdb
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\bin\Debug\Newtonsoft.Json.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.csproj.AssemblyReference.cache
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.Form1.resources
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.Properties.Resources.resources
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.csproj.GenerateResource.cache
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.csproj.CoreCompileInputs.cache
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.csproj.CopyComplete
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.exe
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\HttpTestApp\obj\Debug\HttpTestApp.pdb

View File

@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GeBoShi", "GeBoShi\GeBoShi.
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerApp", "ServerApp\ServerApp.csproj", "{F1876CE2-8446-4EAE-8707-FE4BB19A1C18}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerApp", "ServerApp\ServerApp.csproj", "{F1876CE2-8446-4EAE-8707-FE4BB19A1C18}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpTestApp", "HttpTestApp\HttpTestApp.csproj", "{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@ -71,6 +73,14 @@ Global
{F1876CE2-8446-4EAE-8707-FE4BB19A1C18}.Release|Any CPU.Build.0 = Release|Any CPU {F1876CE2-8446-4EAE-8707-FE4BB19A1C18}.Release|Any CPU.Build.0 = Release|Any CPU
{F1876CE2-8446-4EAE-8707-FE4BB19A1C18}.Release|x64.ActiveCfg = Release|Any CPU {F1876CE2-8446-4EAE-8707-FE4BB19A1C18}.Release|x64.ActiveCfg = Release|Any CPU
{F1876CE2-8446-4EAE-8707-FE4BB19A1C18}.Release|x64.Build.0 = Release|Any CPU {F1876CE2-8446-4EAE-8707-FE4BB19A1C18}.Release|x64.Build.0 = Release|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Debug|x64.ActiveCfg = Debug|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Debug|x64.Build.0 = Debug|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Release|Any CPU.Build.0 = Release|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Release|x64.ActiveCfg = Release|Any CPU
{9CCDBB60-3A3B-4B52-BD97-CD1EDB1D5376}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -355,6 +355,12 @@
<Compile Include="Page\PartitionFrm.designer.cs"> <Compile Include="Page\PartitionFrm.designer.cs">
<DependentUpon>PartitionFrm.cs</DependentUpon> <DependentUpon>PartitionFrm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Page\SelectReelFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Page\SelectReelFrm.Designer.cs">
<DependentUpon>SelectReelFrm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="UIExtend\UCColorItem.cs"> <Compile Include="UIExtend\UCColorItem.cs">
@ -458,6 +464,9 @@
<EmbeddedResource Include="Page\PartitionFrm.resx"> <EmbeddedResource Include="Page\PartitionFrm.resx">
<DependentUpon>PartitionFrm.cs</DependentUpon> <DependentUpon>PartitionFrm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Page\SelectReelFrm.resx">
<DependentUpon>SelectReelFrm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <LastGenOutput>Resources.Designer.cs</LastGenOutput>

View File

@ -41,6 +41,7 @@
this.lblLen = new Sunny.UI.UILabel(); this.lblLen = new Sunny.UI.UILabel();
this.lblSpeed = new Sunny.UI.UISymbolLabel(); this.lblSpeed = new Sunny.UI.UISymbolLabel();
this.uiTitlePanel1 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel1 = new Sunny.UI.UITitlePanel();
this.button4 = new System.Windows.Forms.Button();
this.txtDefectName = new Sunny.UI.UITextBox(); this.txtDefectName = new Sunny.UI.UITextBox();
this.uiLabel10 = new Sunny.UI.UILabel(); this.uiLabel10 = new Sunny.UI.UILabel();
this.button3 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button();
@ -66,6 +67,7 @@
this.btnEnd = new Sunny.UI.UISymbolButton(); this.btnEnd = new Sunny.UI.UISymbolButton();
this.btnStart = new Sunny.UI.UISymbolButton(); this.btnStart = new Sunny.UI.UISymbolButton();
this.uiTitlePanel2 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel2 = new Sunny.UI.UITitlePanel();
this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList();
this.lineChartDefect = new Sunny.UI.UILineChart(); this.lineChartDefect = new Sunny.UI.UILineChart();
this.uiTitlePanel3 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel3 = new Sunny.UI.UITitlePanel();
this.uiDataGridView1 = new Sunny.UI.UIDataGridView(); this.uiDataGridView1 = new Sunny.UI.UIDataGridView();
@ -89,6 +91,7 @@
this.lstboxLog = new Sunny.UI.UIListBox(); this.lstboxLog = new Sunny.UI.UIListBox();
this.uiTitlePanel6 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel6 = new Sunny.UI.UITitlePanel();
this.uiPanel3 = new Sunny.UI.UIPanel(); this.uiPanel3 = new Sunny.UI.UIPanel();
this.picDefectImage = new LeatherApp.UIExtend.UCImageView();
this.pnlScannerImg = new Sunny.UI.UITitlePanel(); this.pnlScannerImg = new Sunny.UI.UITitlePanel();
this.picScanner2 = new System.Windows.Forms.PictureBox(); this.picScanner2 = new System.Windows.Forms.PictureBox();
this.picScanner1 = new System.Windows.Forms.PictureBox(); this.picScanner1 = new System.Windows.Forms.PictureBox();
@ -109,8 +112,6 @@
this.uiLabel6 = new Sunny.UI.UILabel(); this.uiLabel6 = new Sunny.UI.UILabel();
this.uiTitlePanel8 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel8 = new Sunny.UI.UITitlePanel();
this.lineChartHouDu = new Sunny.UI.UILineChart(); this.lineChartHouDu = new Sunny.UI.UILineChart();
this.picDefectImage = new LeatherApp.UIExtend.UCImageView();
this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList();
this.uiPanel1.SuspendLayout(); this.uiPanel1.SuspendLayout();
this.uiTitlePanel1.SuspendLayout(); this.uiTitlePanel1.SuspendLayout();
this.uiPanel2.SuspendLayout(); this.uiPanel2.SuspendLayout();
@ -182,6 +183,7 @@
// uiTitlePanel1 // uiTitlePanel1
// //
this.uiTitlePanel1.BackColor = System.Drawing.Color.White; this.uiTitlePanel1.BackColor = System.Drawing.Color.White;
this.uiTitlePanel1.Controls.Add(this.button4);
this.uiTitlePanel1.Controls.Add(this.txtDefectName); this.uiTitlePanel1.Controls.Add(this.txtDefectName);
this.uiTitlePanel1.Controls.Add(this.uiLabel10); this.uiTitlePanel1.Controls.Add(this.uiLabel10);
this.uiTitlePanel1.Controls.Add(this.button3); this.uiTitlePanel1.Controls.Add(this.button3);
@ -219,6 +221,18 @@
this.uiTitlePanel1.TitleColor = System.Drawing.Color.White; this.uiTitlePanel1.TitleColor = System.Drawing.Color.White;
this.uiTitlePanel1.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiTitlePanel1.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
// //
// button4
//
this.button4.ForeColor = System.Drawing.Color.Black;
this.button4.Location = new System.Drawing.Point(282, 36);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(50, 36);
this.button4.TabIndex = 15;
this.button4.Text = "界面";
this.button4.UseVisualStyleBackColor = true;
this.button4.Visible = false;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// txtDefectName // txtDefectName
// //
this.txtDefectName.ButtonFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.txtDefectName.ButtonFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
@ -266,7 +280,7 @@
// button3 // button3
// //
this.button3.ForeColor = System.Drawing.Color.Black; this.button3.ForeColor = System.Drawing.Color.Black;
this.button3.Location = new System.Drawing.Point(261, 5); this.button3.Location = new System.Drawing.Point(226, 36);
this.button3.Name = "button3"; this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(50, 36); this.button3.Size = new System.Drawing.Size(50, 36);
this.button3.TabIndex = 3; this.button3.TabIndex = 3;
@ -297,7 +311,7 @@
// button2 // button2
// //
this.button2.ForeColor = System.Drawing.Color.Black; this.button2.ForeColor = System.Drawing.Color.Black;
this.button2.Location = new System.Drawing.Point(205, 5); this.button2.Location = new System.Drawing.Point(170, 36);
this.button2.Name = "button2"; this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(50, 36); this.button2.Size = new System.Drawing.Size(50, 36);
this.button2.TabIndex = 2; this.button2.TabIndex = 2;
@ -323,7 +337,7 @@
// button1 // button1
// //
this.button1.ForeColor = System.Drawing.Color.Black; this.button1.ForeColor = System.Drawing.Color.Black;
this.button1.Location = new System.Drawing.Point(151, 5); this.button1.Location = new System.Drawing.Point(116, 36);
this.button1.Name = "button1"; this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(50, 36); this.button1.Size = new System.Drawing.Size(50, 36);
this.button1.TabIndex = 1; this.button1.TabIndex = 1;
@ -816,6 +830,29 @@
this.uiTitlePanel2.TitleColor = System.Drawing.Color.White; this.uiTitlePanel2.TitleColor = System.Drawing.Color.White;
this.uiTitlePanel2.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiTitlePanel2.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
// //
// ucColorListDefect
//
this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ucColorListDefect.ColorChanged = null;
this.ucColorListDefect.FillColor = System.Drawing.Color.White;
this.ucColorListDefect.FillColor2 = System.Drawing.Color.White;
this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ucColorListDefect.Location = new System.Drawing.Point(1, 38);
this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1);
this.ucColorListDefect.Name = "ucColorListDefect";
this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
this.ucColorListDefect.RectColor = System.Drawing.Color.White;
this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom;
this.ucColorListDefect.Size = new System.Drawing.Size(52, 42);
this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom;
this.ucColorListDefect.StyleCustomMode = true;
this.ucColorListDefect.TabIndex = 1;
this.ucColorListDefect.Text = "ucColorList1";
this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// lineChartDefect // lineChartDefect
// //
this.lineChartDefect.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.lineChartDefect.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -897,7 +934,7 @@
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle6.BackColor = System.Drawing.Color.White; dataGridViewCellStyle6.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle6.ForeColor = System.Drawing.Color.White; dataGridViewCellStyle6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238))))); dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); dataGridViewCellStyle6.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
@ -1083,7 +1120,7 @@
this.uiTitlePanel4.RectColor = System.Drawing.Color.White; this.uiTitlePanel4.RectColor = System.Drawing.Color.White;
this.uiTitlePanel4.RectDisableColor = System.Drawing.Color.White; this.uiTitlePanel4.RectDisableColor = System.Drawing.Color.White;
this.uiTitlePanel4.ShowText = false; this.uiTitlePanel4.ShowText = false;
this.uiTitlePanel4.Size = new System.Drawing.Size(420, 210); this.uiTitlePanel4.Size = new System.Drawing.Size(420, 267);
this.uiTitlePanel4.Style = Sunny.UI.UIStyle.Custom; this.uiTitlePanel4.Style = Sunny.UI.UIStyle.Custom;
this.uiTitlePanel4.TabIndex = 1; this.uiTitlePanel4.TabIndex = 1;
this.uiTitlePanel4.Text = "▶ 幅宽"; this.uiTitlePanel4.Text = "▶ 幅宽";
@ -1121,7 +1158,7 @@
this.lineChartFaceWidth.MouseDownType = Sunny.UI.UILineChartMouseDownType.Zoom; this.lineChartFaceWidth.MouseDownType = Sunny.UI.UILineChartMouseDownType.Zoom;
this.lineChartFaceWidth.Name = "lineChartFaceWidth"; this.lineChartFaceWidth.Name = "lineChartFaceWidth";
this.lineChartFaceWidth.Radius = 0; this.lineChartFaceWidth.Radius = 0;
this.lineChartFaceWidth.Size = new System.Drawing.Size(414, 170); this.lineChartFaceWidth.Size = new System.Drawing.Size(414, 227);
this.lineChartFaceWidth.Style = Sunny.UI.UIStyle.Custom; this.lineChartFaceWidth.Style = Sunny.UI.UIStyle.Custom;
this.lineChartFaceWidth.SubFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lineChartFaceWidth.SubFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lineChartFaceWidth.TabIndex = 1; this.lineChartFaceWidth.TabIndex = 1;
@ -1156,14 +1193,14 @@
this.uiTitlePanel5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.uiTitlePanel5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiTitlePanel5.ForeColor = System.Drawing.Color.White; this.uiTitlePanel5.ForeColor = System.Drawing.Color.White;
this.uiTitlePanel5.ForeDisableColor = System.Drawing.Color.White; this.uiTitlePanel5.ForeDisableColor = System.Drawing.Color.White;
this.uiTitlePanel5.Location = new System.Drawing.Point(433, 694); this.uiTitlePanel5.Location = new System.Drawing.Point(433, 754);
this.uiTitlePanel5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.uiTitlePanel5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTitlePanel5.MinimumSize = new System.Drawing.Size(1, 1); this.uiTitlePanel5.MinimumSize = new System.Drawing.Size(1, 1);
this.uiTitlePanel5.Name = "uiTitlePanel5"; this.uiTitlePanel5.Name = "uiTitlePanel5";
this.uiTitlePanel5.RectColor = System.Drawing.Color.White; this.uiTitlePanel5.RectColor = System.Drawing.Color.White;
this.uiTitlePanel5.RectDisableColor = System.Drawing.Color.White; this.uiTitlePanel5.RectDisableColor = System.Drawing.Color.White;
this.uiTitlePanel5.ShowText = false; this.uiTitlePanel5.ShowText = false;
this.uiTitlePanel5.Size = new System.Drawing.Size(753, 142); this.uiTitlePanel5.Size = new System.Drawing.Size(753, 82);
this.uiTitlePanel5.Style = Sunny.UI.UIStyle.Custom; this.uiTitlePanel5.Style = Sunny.UI.UIStyle.Custom;
this.uiTitlePanel5.TabIndex = 1; this.uiTitlePanel5.TabIndex = 1;
this.uiTitlePanel5.Text = "▶ 日志"; this.uiTitlePanel5.Text = "▶ 日志";
@ -1186,7 +1223,7 @@
this.lstboxLog.Name = "lstboxLog"; this.lstboxLog.Name = "lstboxLog";
this.lstboxLog.Padding = new System.Windows.Forms.Padding(2); this.lstboxLog.Padding = new System.Windows.Forms.Padding(2);
this.lstboxLog.ShowText = false; this.lstboxLog.ShowText = false;
this.lstboxLog.Size = new System.Drawing.Size(745, 97); this.lstboxLog.Size = new System.Drawing.Size(745, 37);
this.lstboxLog.Style = Sunny.UI.UIStyle.Custom; this.lstboxLog.Style = Sunny.UI.UIStyle.Custom;
this.lstboxLog.TabIndex = 0; this.lstboxLog.TabIndex = 0;
this.lstboxLog.Text = "uiListBox1"; this.lstboxLog.Text = "uiListBox1";
@ -1242,6 +1279,15 @@
this.uiPanel3.Text = null; this.uiPanel3.Text = null;
this.uiPanel3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter; this.uiPanel3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
// //
// picDefectImage
//
this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill;
this.picDefectImage.Location = new System.Drawing.Point(0, 0);
this.picDefectImage.Margin = new System.Windows.Forms.Padding(0);
this.picDefectImage.Name = "picDefectImage";
this.picDefectImage.Size = new System.Drawing.Size(350, 188);
this.picDefectImage.TabIndex = 1;
//
// pnlScannerImg // pnlScannerImg
// //
this.pnlScannerImg.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.pnlScannerImg.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -1549,7 +1595,7 @@
this.uiTitlePanel8.RectColor = System.Drawing.Color.White; this.uiTitlePanel8.RectColor = System.Drawing.Color.White;
this.uiTitlePanel8.RectDisableColor = System.Drawing.Color.White; this.uiTitlePanel8.RectDisableColor = System.Drawing.Color.White;
this.uiTitlePanel8.ShowText = false; this.uiTitlePanel8.ShowText = false;
this.uiTitlePanel8.Size = new System.Drawing.Size(330, 210); this.uiTitlePanel8.Size = new System.Drawing.Size(330, 267);
this.uiTitlePanel8.Style = Sunny.UI.UIStyle.Custom; this.uiTitlePanel8.Style = Sunny.UI.UIStyle.Custom;
this.uiTitlePanel8.TabIndex = 2; this.uiTitlePanel8.TabIndex = 2;
this.uiTitlePanel8.Text = "▶ 厚度"; this.uiTitlePanel8.Text = "▶ 厚度";
@ -1570,44 +1616,12 @@
this.lineChartHouDu.MouseDownType = Sunny.UI.UILineChartMouseDownType.Zoom; this.lineChartHouDu.MouseDownType = Sunny.UI.UILineChartMouseDownType.Zoom;
this.lineChartHouDu.Name = "lineChartHouDu"; this.lineChartHouDu.Name = "lineChartHouDu";
this.lineChartHouDu.Radius = 0; this.lineChartHouDu.Radius = 0;
this.lineChartHouDu.Size = new System.Drawing.Size(324, 170); this.lineChartHouDu.Size = new System.Drawing.Size(324, 227);
this.lineChartHouDu.Style = Sunny.UI.UIStyle.Custom; this.lineChartHouDu.Style = Sunny.UI.UIStyle.Custom;
this.lineChartHouDu.SubFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lineChartHouDu.SubFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lineChartHouDu.TabIndex = 1; this.lineChartHouDu.TabIndex = 1;
this.lineChartHouDu.TouchPressClick = true; this.lineChartHouDu.TouchPressClick = true;
// //
// picDefectImage
//
this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill;
this.picDefectImage.Location = new System.Drawing.Point(0, 0);
this.picDefectImage.Margin = new System.Windows.Forms.Padding(0);
this.picDefectImage.Name = "picDefectImage";
this.picDefectImage.Size = new System.Drawing.Size(350, 188);
this.picDefectImage.TabIndex = 1;
//
// ucColorListDefect
//
this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ucColorListDefect.ColorChanged = null;
this.ucColorListDefect.FillColor = System.Drawing.Color.White;
this.ucColorListDefect.FillColor2 = System.Drawing.Color.White;
this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ucColorListDefect.Location = new System.Drawing.Point(1, 38);
this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1);
this.ucColorListDefect.Name = "ucColorListDefect";
this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
this.ucColorListDefect.RectColor = System.Drawing.Color.White;
this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom;
this.ucColorListDefect.Size = new System.Drawing.Size(52, 42);
this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom;
this.ucColorListDefect.StyleCustomMode = true;
this.ucColorListDefect.TabIndex = 1;
this.ucColorListDefect.Text = "ucColorList1";
this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// FHome // FHome
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@ -1733,5 +1747,6 @@
private Sunny.UI.UILabel uiLabel10; private Sunny.UI.UILabel uiLabel10;
private Sunny.UI.UISymbolButton btnCut; private Sunny.UI.UISymbolButton btnCut;
private Sunny.UI.UISymbolButton btnFenJuan; private Sunny.UI.UISymbolButton btnFenJuan;
private System.Windows.Forms.Button button4;
} }
} }

View File

@ -19,6 +19,7 @@ using OpenCvSharp.Extensions;
using S7.Net; using S7.Net;
using Service; using Service;
using SqlSugar; using SqlSugar;
using SqlSugar.DbConvert;
using Sunny.UI; using Sunny.UI;
using Sunny.UI.Win32; using Sunny.UI.Win32;
using System; using System;
@ -181,6 +182,12 @@ namespace LeatherApp.Page
this.uilbHD.Visible = true; this.uilbHD.Visible = true;
else else
this.uilbHD.Visible = false; this.uilbHD.Visible = false;
if (Config.CustomerName != "XCL")
{
btnCut.Visible = false;
btnFenJuan.Visible = false;
}
} }
private void uiDataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) private void uiDataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
@ -569,7 +576,7 @@ namespace LeatherApp.Page
})); }));
} }
private void reDrawHouDu(List<Thickness> HDpoints, double[] XSizeRange, double[] YSizeRange) private void reDrawHouDu(Thickness HDpoints, double[] XSizeRange, double[] YSizeRange)
{ {
//AddTextEvent(DateTime.Now,$"绘图", $"门幅宽度, W={string.Join(", ", XSizeRange)},H={string.Join(", ", YSizeRange)}, LastData={JsonConvert.SerializeObject(points[points.Count-1])}"); //AddTextEvent(DateTime.Now,$"绘图", $"门幅宽度, W={string.Join(", ", XSizeRange)},H={string.Join(", ", YSizeRange)}, LastData={JsonConvert.SerializeObject(points[points.Count-1])}");
if (YSizeRange[0] == YSizeRange[1]) if (YSizeRange[0] == YSizeRange[1])
@ -583,8 +590,23 @@ namespace LeatherApp.Page
//防止超限 //防止超限
XSizeRange[1] += 0.01; XSizeRange[1] += 0.01;
YSizeRange[1] += 0.1; YSizeRange[1] += 0.1;
this.BeginInvoke(new System.Action(() =>
{
UILineOption option;
UILineSeries series1, series2, series3;
if (this.lineChartHouDu.Option.Series.Count > 0)
{
option = this.lineChartHouDu.Option;
series1 = this.lineChartHouDu.Option.Series["厚度1"];
series2 = this.lineChartHouDu.Option.Series["厚度2"];
series3 = this.lineChartHouDu.Option.Series["厚度3"];
UILineOption option = new UILineOption(); option.XAxis.SetRange(XSizeRange[0], XSizeRange[1]);
option.YAxis.SetRange(YSizeRange[0], YSizeRange[1]);
}
else
{
option = new UILineOption();
option.XAxis.Name = "长度(米)"; option.XAxis.Name = "长度(米)";
option.YAxis.Name = "厚度(mm)"; option.YAxis.Name = "厚度(mm)";
option.Grid.Top = 20; option.Grid.Top = 20;
@ -595,7 +617,7 @@ namespace LeatherApp.Page
option.XAxis.SetRange(XSizeRange[0], XSizeRange[1]); option.XAxis.SetRange(XSizeRange[0], XSizeRange[1]);
option.YAxis.SetRange(YSizeRange[0], YSizeRange[1]); option.YAxis.SetRange(YSizeRange[0], YSizeRange[1]);
//坐标轴显示小数位数 //坐标轴显示小数位数
option.XAxis.AxisLabel.DecimalPlaces = option.YAxis.AxisLabel.DecimalPlaces = 1; option.XAxis.AxisLabel.DecimalPlaces = option.YAxis.AxisLabel.DecimalPlaces = 2;
//X/Y轴画参考线 //X/Y轴画参考线
//option.YAxisScaleLines.Add(new UIScaleLine("上限", 3.5, Color.Red)); //option.YAxisScaleLines.Add(new UIScaleLine("上限", 3.5, Color.Red));
//option.YAxisScaleLines.Add(new UIScaleLine("下限", 2.2, Color.Gold)); //option.YAxisScaleLines.Add(new UIScaleLine("下限", 2.2, Color.Gold));
@ -609,7 +631,7 @@ namespace LeatherApp.Page
option.Title.SubText = ""; option.Title.SubText = "";
Color color1 = Color.Blue; Color color1 = Color.Blue;
UILineSeries series1 = null; series1 = null;
series1 = option.AddSeries(new UILineSeries("厚度1", color1)); series1 = option.AddSeries(new UILineSeries("厚度1", color1));
series1.Symbol = UILinePointSymbol.Circle; series1.Symbol = UILinePointSymbol.Circle;
series1.ShowLine = true; series1.ShowLine = true;
@ -617,10 +639,10 @@ namespace LeatherApp.Page
series1.SymbolLineWidth = 1;//2 series1.SymbolLineWidth = 1;//2
series1.SymbolColor = color1; series1.SymbolColor = color1;
series1.XAxisDecimalPlaces = 2; series1.XAxisDecimalPlaces = 2;
series1.YAxisDecimalPlaces = 1; series1.YAxisDecimalPlaces = 2;
Color color2 = Color.Red; Color color2 = Color.Red;
UILineSeries series2 = null; series2 = null;
series2 = option.AddSeries(new UILineSeries("厚度2", color2)); series2 = option.AddSeries(new UILineSeries("厚度2", color2));
series2.Symbol = UILinePointSymbol.Circle; series2.Symbol = UILinePointSymbol.Circle;
series2.ShowLine = true; series2.ShowLine = true;
@ -628,10 +650,10 @@ namespace LeatherApp.Page
series2.SymbolLineWidth = 1;//2 series2.SymbolLineWidth = 1;//2
series2.SymbolColor = color2; series2.SymbolColor = color2;
series2.XAxisDecimalPlaces = 2; series2.XAxisDecimalPlaces = 2;
series2.YAxisDecimalPlaces = 1; series2.YAxisDecimalPlaces = 2;
Color color3 = Color.Green; Color color3 = Color.Green;
UILineSeries series3 = null; series3 = null;
series3 = option.AddSeries(new UILineSeries("厚度3", color3)); series3 = option.AddSeries(new UILineSeries("厚度3", color3));
series3.Symbol = UILinePointSymbol.Circle; series3.Symbol = UILinePointSymbol.Circle;
series3.ShowLine = true; series3.ShowLine = true;
@ -639,35 +661,41 @@ namespace LeatherApp.Page
series3.SymbolLineWidth = 1;//2 series3.SymbolLineWidth = 1;//2
series3.SymbolColor = color3; series3.SymbolColor = color3;
series3.XAxisDecimalPlaces = 2; series3.XAxisDecimalPlaces = 2;
series3.YAxisDecimalPlaces = 1; series3.YAxisDecimalPlaces = 2;
}
double x; double x;
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
foreach (var item in HDpoints)
{ var item = HDpoints;
x = item.Y_Dis / 100; //cm -> m x = item.Y_Dis / 100.0; //cm -> m
series1.Add(x, item.Value1); series1.Add(x, item.Value1);
series2.Add(x, item.Value2); series2.Add(x, item.Value2);
series3.Add(x, item.Value3); series3.Add(x, item.Value3);
if (x < XSizeRange[0]) break;// AddTextEvent(DateTime.Now,$"绘图", $"门幅宽度超限 1 {x}<{XSizeRange[0]}",WarningEnum.High);
if (x > XSizeRange[1]) break;// AddTextEvent(DateTime.Now,$"绘图", $"门幅宽度超限 2 {x}>{XSizeRange[1]}", WarningEnum.High); //foreach (var item in HDpoints)
//if (item.Value1 < YSizeRange[0]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 3 {item.Value1}<{YSizeRange[0]}", WarningEnum.High); //{
//if (item.Value1 > YSizeRange[1]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 4 {item.Value1}>{YSizeRange[1]}", WarningEnum.High); // x = item.Y_Dis / 100.0; //cm -> m
//if (item.Value2 < YSizeRange[0]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 5 {item.Value2}<{YSizeRange[0]}", WarningEnum.High); // series1.Add(x, item.Value1);
//if (item.Value2 > YSizeRange[1]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 6 {item.Value2}>{YSizeRange[1]}", WarningEnum.High); // series2.Add(x, item.Value2);
//if (item.Value3 < YSizeRange[0]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 7 {item.Value3}<{YSizeRange[0]}", WarningEnum.High); // series3.Add(x, item.Value3);
//if (item.Value3 > YSizeRange[1]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 8 {item.Value3}>{YSizeRange[1]}", WarningEnum.High); // if (x < XSizeRange[0]) break;// AddTextEvent(DateTime.Now,$"绘图", $"门幅宽度超限 1 {x}<{XSizeRange[0]}",WarningEnum.High);
if ((DateTime.Now - dt).Seconds > 1) // if (x > XSizeRange[1]) break;// AddTextEvent(DateTime.Now,$"绘图", $"门幅宽度超限 2 {x}>{XSizeRange[1]}", WarningEnum.High);
{ // //if (item.Value1 < YSizeRange[0]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 3 {item.Value1}<{YSizeRange[0]}", WarningEnum.High);
AddTextEvent(DateTime.Now, $"绘图", $"测厚超时!!!!", WarningEnum.High, false); // //if (item.Value1 > YSizeRange[1]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 4 {item.Value1}>{YSizeRange[1]}", WarningEnum.High);
break; // //if (item.Value2 < YSizeRange[0]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 5 {item.Value2}<{YSizeRange[0]}", WarningEnum.High);
} // //if (item.Value2 > YSizeRange[1]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 6 {item.Value2}>{YSizeRange[1]}", WarningEnum.High);
} // //if (item.Value3 < YSizeRange[0]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 7 {item.Value3}<{YSizeRange[0]}", WarningEnum.High);
// //if (item.Value3 > YSizeRange[1]) AddTextEvent(DateTime.Now, $"绘图", $"测厚超限 8 {item.Value3}>{YSizeRange[1]}", WarningEnum.High);
// if ((DateTime.Now - dt).Seconds > 1)
// {
// AddTextEvent(DateTime.Now, $"绘图", $"测厚超时!!!!", WarningEnum.High, false);
// break;
// }
//}
//==== //====
//option.GreaterWarningArea = new UILineWarningArea(3.5); //option.GreaterWarningArea = new UILineWarningArea(3.5);
//option.LessWarningArea = new UILineWarningArea(2.2, Color.Gold); //option.LessWarningArea = new UILineWarningArea(2.2, Color.Gold);
this.BeginInvoke(new System.Action(() =>
{
this.lineChartHouDu.SetOption(option); this.lineChartHouDu.SetOption(option);
})); }));
} }
@ -932,13 +960,46 @@ namespace LeatherApp.Page
if (!string.IsNullOrWhiteSpace(Config.ErpDBConStr) && !string.IsNullOrWhiteSpace(Config.ErpSql) && !string.IsNullOrWhiteSpace(barCode)) if (!string.IsNullOrWhiteSpace(Config.ErpDBConStr) && !string.IsNullOrWhiteSpace(Config.ErpSql) && !string.IsNullOrWhiteSpace(barCode))
{ {
AddTextEvent(DateTime.Now,"扫码", $"产品条码({barCode})到ERP查询对应数据...", WarningEnum.Normal); AddTextEvent(DateTime.Now,"扫码", $"产品条码({barCode})到ERP查询对应数据...", WarningEnum.Normal);
var rowData = this.loadErpData(barCode); DataRow rowData = null; ;
if (Config.CustomerName == "XCL")
{
var datatb = this.loadErpDataTable(barCode);
if (datatb == null || datatb.Rows.Count == 0)
{
AddTextEvent(DateTime.Now, "扫码", $"产品条码({barCode})无对应ERP数据不做响应", WarningEnum.Low);
return;
}
if (datatb.Rows.Count > 1)
{
SelectReelFrm srf = new SelectReelFrm(datatb);
srf.Render();
srf.Text = "ERP卷号选择";
srf.ShowDialog();
if (srf.IsOK)
{
rowData = datatb.Rows[srf.RowIndex];
AddTextEvent(DateTime.Now, "卷号选择", $"Index({srf.RowIndex})-批号:{srf.SelectBatch},卷号:{srf.SelectReel},长度:{srf.SelectLen}");
}
else
{
AddTextEvent(DateTime.Now, "卷号选择", $"未选择卷号!", WarningEnum.High);
srf.Dispose();
return;
}
srf.Dispose();
}
else
rowData = datatb.Rows[0];
}
else
{
rowData = this.loadErpData(barCode);
if (rowData == null) if (rowData == null)
{ {
AddTextEvent(DateTime.Now, "扫码", $"产品条码({barCode})无对应ERP数据不做响应", WarningEnum.Low); AddTextEvent(DateTime.Now, "扫码", $"产品条码({barCode})无对应ERP数据不做响应", WarningEnum.Low);
return; return;
} }
}
barCodeName = rowData[0].ToString(); barCodeName = rowData[0].ToString();
if (rowData.ItemArray.Length > 1) len = rowData[1].ToString(); if (rowData.ItemArray.Length > 1) len = rowData[1].ToString();
@ -1460,6 +1521,27 @@ namespace LeatherApp.Page
// } // }
//}); //});
} }
private DataTable loadErpDataTable(string barCode)
{
var paramList = new List<SugarParameter>() {
new SugarParameter("@code", barCode)
};
Stopwatch stopwatch = Stopwatch.StartNew();
#if Oracle
var data = Utils.DBUtils.execSql(Config.ErpSql, paramList, SqlSugar.DbType.Oracle);
#else
var data = Utils.DBUtils.execSql(Config.ErpSql, paramList);
#endif
if (data == null || data.Rows.Count < 1)
{
AddTextEvent(DateTime.Now, "Erp查询结果", $"{barCode}: 时长={stopwatch.ElapsedMilliseconds}ms, 无数据!", WarningEnum.Normal);
return null;
}
AddTextEvent(DateTime.Now, "Erp查询结果", $"{barCode}: 时长={stopwatch.ElapsedMilliseconds}ms, {JsonConvert.SerializeObject(data.Rows[0])}", WarningEnum.Normal);
return data;
}
private class ScanPhotoInfo private class ScanPhotoInfo
{ {
/// <summary> /// <summary>
@ -1731,7 +1813,7 @@ namespace LeatherApp.Page
errStep = 7; errStep = 7;
{ {
List<DefectInfo> lstEditDefect0 = GetDefectPuaseListByIndex(pindex); List<DefectInfo> lstEditDefect0 = GetDefectPuaseListByIndex(pindex);
AddTextEvent(DateTime.Now, $"暂停", $"(图像{pindex})已达观察台,瑕疵二次判断=》({string.Join(",", lstEditDefect0.Select(m => m.Code).ToArray())})是否包含在({string.Join(",", curRecord.ProductInfo.DefectPauseOption.ToArray())})中。"); AddTextEvent(DateTime.Now, $"暂停", $"(图像{pindex})已达观察台,瑕疵二次判断=》({string.Join(",", lstEditDefect0.Select(m => m.Code).ToArray())})是否包含在({string.Join(",", curRecord.ProductInfo.DefectPauseOption.ToArray())})中。", WarningEnum.Normal, false);
//瑕疵选项过滤 curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0 //瑕疵选项过滤 curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0
if (curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect0.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0) if (curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect0.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0)
{ {
@ -1740,7 +1822,7 @@ namespace LeatherApp.Page
try try
{ {
//暂停 //暂停
AddTextEvent(DateTime.Now, $"暂停", $"(图像{pindex})需瑕疵二次判断,已达观察台,进入暂停。"); AddTextEvent(DateTime.Now, $"暂停", $"(图像{pindex})需瑕疵二次判断,已达观察台,进入暂停。",WarningEnum.Normal, false);
if (!Config.StopPLC) if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev(); this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit) else if (!Config.StopIO && devContainer.devIOCard.IsInit)
@ -1796,7 +1878,7 @@ namespace LeatherApp.Page
if (row.uid == uid) if (row.uid == uid)
{ {
oldCode = this.uiDataGridView1.Rows[i].Cells["colCode"].Value.ToString(); oldCode = this.uiDataGridView1.Rows[i].Cells["colCode"].Value.ToString();
AddTextEvent(DateTime.Now, $"暂停", $"修改第({i + 1})行瑕疵名称 ({this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value})->({row.Name})"); AddTextEvent(DateTime.Now, $"暂停", $"修改第({i + 1})行瑕疵名称 ({this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value})->({row.Name})", WarningEnum.Normal, false);
this.uiDataGridView1.Rows[i].Cells["colCode"].Value = row.Code; this.uiDataGridView1.Rows[i].Cells["colCode"].Value = row.Code;
this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value = row.Name; this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value = row.Name;
//this.uiDataGridView1.Refresh(); //this.uiDataGridView1.Refresh();
@ -1825,7 +1907,7 @@ namespace LeatherApp.Page
//double len = (double)this.lblLen.Tag; //double len = (double)this.lblLen.Tag;
//this.reDrawDefectPoints(curRecord.DefectInfoList, new double[] { 0, Math.Round(curRecord.FaceWidthMax + 0.005f, 2) }, new double[] { 0, len }); //this.reDrawDefectPoints(curRecord.DefectInfoList, new double[] { 0, Math.Round(curRecord.FaceWidthMax + 0.005f, 2) }, new double[] { 0, len });
AddTextEvent(DateTime.Now, $"二次检测", $"本次忽略{frmDefect.lstDel.Count}个瑕疵,本张图由{liDefectCount} -> {lstEditDefect.Count},总数{curRecord.DefectInfoList.Count}"); AddTextEvent(DateTime.Now, $"二次检测", $"本次忽略{frmDefect.lstDel.Count}个瑕疵,本张图由{liDefectCount} -> {lstEditDefect.Count},总数{curRecord.DefectInfoList.Count}", WarningEnum.Normal, false);
} }
this.uiMiniPagination1.TotalCount = curRecord.DefectTotalCount = curRecord.DefectInfoList.Count; this.uiMiniPagination1.TotalCount = curRecord.DefectTotalCount = curRecord.DefectInfoList.Count;
// //
@ -1945,13 +2027,17 @@ namespace LeatherApp.Page
double d1 = 0, d2 = 0, d3 = 0; double d1 = 0, d2 = 0, d3 = 0;
if (devContainer.GetThicknessValue(out d1, out d2, out d3)) if (devContainer.GetThicknessValue(out d1, out d2, out d3))
{ {
if (Math.Abs(yqjimi - hdJMDis) * 100 > 3) //在3cm以内不做记录 if (Math.Abs(yqjimi - hdJMDis) * 100 > 10) //在10cm以内不做记录
{ {
//加入偏差计算 //加入偏差计算
d1 = Math.Round(d1 + Config.DataOffset1, 2); d1 = Math.Round(d1 + Config.DataOffset1, 2);
d2 = Math.Round(d2 + Config.DataOffset2, 2); d2 = Math.Round(d2 + Config.DataOffset2, 2);
d3 = Math.Round(d3 + Config.DataOffset3, 2); d3 = Math.Round(d3 + Config.DataOffset3, 2);
//限制0-5mm范围
d1 = d1 > 5 ? 5 : d1;
d2 = d2 > 5 ? 5 : d2;
d3 = d3 > 5 ? 5 : d3;
this.BeginInvoke(new System.Action(() => this.BeginInvoke(new System.Action(() =>
{ {
this.uilbHD.Text = $"当前厚度:{d1}, {d2}, {d3}"; this.uilbHD.Text = $"当前厚度:{d1}, {d2}, {d3}";
@ -1980,9 +2066,10 @@ namespace LeatherApp.Page
curRecord.ThicknessList.Select(t => t.Value2).ToList().Min(), curRecord.ThicknessList.Select(t => t.Value2).ToList().Min(),
curRecord.ThicknessList.Select(t => t.Value3).ToList().Min(), curRecord.ThicknessList.Select(t => t.Value3).ToList().Min(),
}; };
reDrawHouDu(curRecord.ThicknessList, reDrawHouDu(ThicknessInfo,
new double[] { 0, Math.Round(yqjimi * 100 + 0.005f, 2) }, new double[] { 0, Math.Round(yqjimi * 100 + 0.005f, 2) },
new double[] { Math.Round(hdMin.Min() - 0.5, 2), Math.Round(hdMax.Max() + 0.5f, 2) }); new double[] { (hdMin.Min()-0.1) <=0? 0: (hdMin.Min() - 0.1),
(hdMax.Max() + 0.1)> 5?5: (hdMax.Max() + 0.1) });
} }
} }
else else
@ -2229,12 +2316,12 @@ namespace LeatherApp.Page
//循环等待数据后期处理完成 //循环等待数据后期处理完成
Thread.Sleep(500); Thread.Sleep(500);
List<DefectInfo> lstEditDefect = curRecord.DefectInfoList.Where(m => m.PhotoIndex == liPhotoIndex).ToList(); List<DefectInfo> lstEditDefect = curRecord.DefectInfoList.Where(m => m.PhotoIndex == liPhotoIndex).ToList();
AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})已达观察台,瑕疵二次判断=》({string.Join(",", lstEditDefect.Select(m => m.Code).ToArray())})是否包含在({string.Join(",", curRecord.ProductInfo.DefectPauseOption.ToArray())})中。"); AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})已达观察台,瑕疵二次判断=》({string.Join(",", lstEditDefect.Select(m => m.Code).ToArray())})是否包含在({string.Join(",", curRecord.ProductInfo.DefectPauseOption.ToArray())})中。", WarningEnum.Normal, false);
//瑕疵选项过滤 //瑕疵选项过滤
if (Config.OpenHalconDefect || curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0) if (Config.OpenHalconDefect || curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0)
{ {
//暂停 //暂停
AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。"); AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。", WarningEnum.Normal, false);
if (!Config.StopPLC) if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev(); this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit) else if (!Config.StopIO && devContainer.devIOCard.IsInit)
@ -2283,7 +2370,7 @@ namespace LeatherApp.Page
if (row.uid == uid) if (row.uid == uid)
{ {
oldCode = this.uiDataGridView1.Rows[i].Cells["colCode"].Value.ToString(); oldCode = this.uiDataGridView1.Rows[i].Cells["colCode"].Value.ToString();
AddTextEvent(DateTime.Now, $"暂停", $"修改第({i + 1})行瑕疵名称 ({this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value})->({row.Name})"); AddTextEvent(DateTime.Now, $"暂停", $"修改第({i + 1})行瑕疵名称 ({this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value})->({row.Name})", WarningEnum.Normal, false);
this.uiDataGridView1.Rows[i].Cells["colCode"].Value = row.Code; this.uiDataGridView1.Rows[i].Cells["colCode"].Value = row.Code;
this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value = row.Name; this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value = row.Name;
//this.uiDataGridView1.Refresh(); //this.uiDataGridView1.Refresh();
@ -2312,7 +2399,7 @@ namespace LeatherApp.Page
//double len = (double)this.lblLen.Tag; //double len = (double)this.lblLen.Tag;
//this.reDrawDefectPoints(curRecord.DefectInfoList, new double[] { 0, Math.Round(curRecord.FaceWidthMax + 0.005f, 2) }, new double[] { 0, len }); //this.reDrawDefectPoints(curRecord.DefectInfoList, new double[] { 0, Math.Round(curRecord.FaceWidthMax + 0.005f, 2) }, new double[] { 0, len });
AddTextEvent(DateTime.Now, $"二次检测", $"本次忽略{frmDefect.lstDel.Count}个瑕疵,本张图由{liDefectCount} -> {lstEditDefect.Count},总数{curRecord.DefectInfoList.Count}"); AddTextEvent(DateTime.Now, $"二次检测", $"本次忽略{frmDefect.lstDel.Count}个瑕疵,本张图由{liDefectCount} -> {lstEditDefect.Count},总数{curRecord.DefectInfoList.Count}", WarningEnum.Normal, false);
} }
this.uiMiniPagination1.TotalCount = curRecord.DefectTotalCount = curRecord.DefectInfoList.Count; this.uiMiniPagination1.TotalCount = curRecord.DefectTotalCount = curRecord.DefectInfoList.Count;
// //
@ -3627,6 +3714,8 @@ namespace LeatherApp.Page
string imgid = currentDate + i.ToString("000"); string imgid = currentDate + i.ToString("000");
defectNameInfo = Config.getDefectItem(res.modelName, int.Parse(res.excelTable.Rows[i]["类别"].ToString())); defectNameInfo = Config.getDefectItem(res.modelName, int.Parse(res.excelTable.Rows[i]["类别"].ToString()));
if (defectNameInfo != null)
{
defectInfo = new DefectInfo defectInfo = new DefectInfo
{ {
PhotoIndex = res.photoIndex, PhotoIndex = res.photoIndex,
@ -3644,9 +3733,34 @@ namespace LeatherApp.Page
PicY = double.Parse(res.excelTable.Rows[i]["Y"].ToString()),//cm PicY = double.Parse(res.excelTable.Rows[i]["Y"].ToString()),//cm
CurrDis = res.CurrDis, CurrDis = res.CurrDis,
}; };
}
else
{
step = 5000;
JArray defectItemList;
Config.LoadModelDefectItemList(res.modelName, out defectItemList);
AddTextEvent(DateTime.Now, $"label缺失", $"模型{res.modelName}label缺失ID{int.Parse(res.excelTable.Rows[i][""].ToString())},对应label数组:{defectItemList.ToString()}", WarningEnum.Low, true);
defectInfo = new DefectInfo
{
PhotoIndex = res.photoIndex,
Code = res.excelTable.Rows[i]["类别"].ToString()+"-未知",
Name = res.excelTable.Rows[i]["类别"].ToString() + "-未知",
X = double.Parse(res.excelTable.Rows[i]["X"].ToString()),//cm
Y = Math.Round((res.photoIndex * res.bmp.Height * 1.0d / Config.cm2px_y + double.Parse(res.excelTable.Rows[i]["Y"].ToString())), 2),//cm
//Y = Math.Round((res.PicDis * 100 - double.Parse(res.excelTable.Rows[i]["Y"].ToString())), 2),//cm
Width = double.Parse(res.excelTable.Rows[i]["W"].ToString()),//cm
Height = double.Parse(res.excelTable.Rows[i]["H"].ToString()),//cm
ZXD = double.Parse(res.excelTable.Rows[i]["置信度"].ToString()),
Contrast = double.Parse(res.excelTable.Rows[i]["对比度"].ToString()),
Target = int.Parse(res.excelTable.Rows[i]["目标"].ToString()),
imageID = imgid,//res.lstDefectBmp[i].Clone(),
PicY = double.Parse(res.excelTable.Rows[i]["Y"].ToString()),//cm
CurrDis = res.CurrDis,
};
}
defectInfo.ModifyUserCode = defectInfo.CreateUserCode = res.record.CreateUserCode; defectInfo.ModifyUserCode = defectInfo.CreateUserCode = res.record.CreateUserCode;
if (defectPauseForUser && res.record.ProductInfo.DefectPauseOption.Contains(defectInfo.Code)) if (defectPauseForUser && (res.record.ProductInfo.DefectPauseOption == null || res.record.ProductInfo.DefectPauseOption.Count == 0) && res.record.ProductInfo.DefectPauseOption.Contains(defectInfo.Code))
{ {
lock (lock_defectPuase) lock (lock_defectPuase)
{ {
@ -5524,5 +5638,66 @@ namespace LeatherApp.Page
[Description("疵点数")] [Description("疵点数")]
public int Count { get; set; } public int Count { get; set; }
} }
#region
private void button4_Click(object sender, EventArgs e)
{
this.BeginInvoke(new System.Action(() =>
{
int length = 10000;
List<Thickness> ThicknessList = new List<Thickness>();
for (int i = 0; i < length; i++)
{
double yqjimi = i * 0.1;
int n1 = 1019, n2 = 1089, n3 = 1167;
//Random ran = new Random();
//int n1 = ran.Next(0, 5000);
double d1 = n1 / 1000.0;
//int n2 = ran.Next(0, 5000);
double d2 = n2 / 1000.0;
//int n3 = ran.Next(0, 5000);
double d3 = n3 / 1000.0;
//加入偏差计算
d1 = Math.Round(d1 + Config.DataOffset1, 2);
d2 = Math.Round(d2 + Config.DataOffset2, 2);
d3 = Math.Round(d3 + Config.DataOffset3, 2);
//限制0-5mm范围
d1 = d1 > 5 ? 5 : d1;
d2 = d2 > 5 ? 5 : d2;
d3 = d3 > 5 ? 5 : d3;
this.BeginInvoke(new System.Action(() =>
{
this.uilbHD.Text = $"当前厚度:{d1}, {d2}, {d3}";
}));
Thickness ThicknessInfo = new Thickness
{
Y_Dis = Math.Round(yqjimi * 100, 2),//cm
Value1 = d1,
Value2 = d2,
Value3 = d3,
};
ThicknessList.Add(ThicknessInfo);
List<double> hdMax = new List<double>(){
ThicknessList.Select(t=> t.Value1).ToList().Max(),
ThicknessList.Select(t => t.Value2).ToList().Max(),
ThicknessList.Select(t => t.Value3).ToList().Max(),
};
List<double> hdMin = new List<double>(){
ThicknessList.Select(t=> t.Value1).ToList().Min(),
ThicknessList.Select(t => t.Value2).ToList().Min(),
ThicknessList.Select(t => t.Value3).ToList().Min(),
};
reDrawHouDu(ThicknessInfo,
new double[] { 0, Math.Round(yqjimi * 100 + 0.005f, 2) },
new double[] { (hdMin.Min()-0.5) <=0? 0: (hdMin.Min() - 0.5),
(hdMax.Max() + 0.5)> 5?5: (hdMax.Max() + 0.5) });
//this.lineChartHouDu.Refresh();
//Thread.Sleep(100);
}
}));
}
#endregion
} }
} }

View File

@ -33,12 +33,12 @@
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
this.uiTitlePanel2 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel2 = new Sunny.UI.UITitlePanel();
this.tcbarTensionValue = new Sunny.UI.UITrackBar(); this.tcbarTensionValue = new Sunny.UI.UITrackBar();
this.tcbarGain = new Sunny.UI.UITrackBar(); this.tcbarGain = new Sunny.UI.UITrackBar();
@ -74,14 +74,6 @@
this.uiLabel7 = new Sunny.UI.UILabel(); this.uiLabel7 = new Sunny.UI.UILabel();
this.uiTitlePanel5 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel5 = new Sunny.UI.UITitlePanel();
this.uiDataGridView1 = new Sunny.UI.UIDataGridView(); this.uiDataGridView1 = new Sunny.UI.UIDataGridView();
this.col_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_zxd = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_area = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_contrast_lower = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_contrast_top = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_IsOR = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.col_Len = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_Cnt = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.uiTitlePanel6 = new Sunny.UI.UITitlePanel(); this.uiTitlePanel6 = new Sunny.UI.UITitlePanel();
this.uiDataGridView2 = new Sunny.UI.UIDataGridView(); this.uiDataGridView2 = new Sunny.UI.UIDataGridView();
this.col2_code = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.col2_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
@ -105,6 +97,14 @@
this.cmbColor = new Sunny.UI.UIComboBox(); this.cmbColor = new Sunny.UI.UIComboBox();
this.uiLabel3 = new Sunny.UI.UILabel(); this.uiLabel3 = new Sunny.UI.UILabel();
this.uiLabel2 = new Sunny.UI.UILabel(); this.uiLabel2 = new Sunny.UI.UILabel();
this.col_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_zxd = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_area = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_contrast_lower = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_contrast_top = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_IsOR = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.col_Len = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col_Cnt = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.uiTitlePanel2.SuspendLayout(); this.uiTitlePanel2.SuspendLayout();
this.uiTitlePanel3.SuspendLayout(); this.uiTitlePanel3.SuspendLayout();
this.uiTitlePanel4.SuspendLayout(); this.uiTitlePanel4.SuspendLayout();
@ -724,68 +724,6 @@
this.uiDataGridView1.Style = Sunny.UI.UIStyle.Custom; this.uiDataGridView1.Style = Sunny.UI.UIStyle.Custom;
this.uiDataGridView1.TabIndex = 21; this.uiDataGridView1.TabIndex = 21;
// //
// col_code
//
this.col_code.DataPropertyName = "Code";
this.col_code.HeaderText = "code";
this.col_code.MinimumWidth = 8;
this.col_code.Name = "col_code";
this.col_code.ReadOnly = true;
this.col_code.Visible = false;
this.col_code.Width = 150;
//
// col_zxd
//
this.col_zxd.DataPropertyName = "ZXD";
dataGridViewCellStyle3.NullValue = null;
this.col_zxd.DefaultCellStyle = dataGridViewCellStyle3;
this.col_zxd.HeaderText = "置信度";
this.col_zxd.MinimumWidth = 20;
this.col_zxd.Name = "col_zxd";
this.col_zxd.Width = 150;
//
// col_area
//
this.col_area.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.col_area.DataPropertyName = "Area";
this.col_area.HeaderText = "面积(mm^2)";
this.col_area.MinimumWidth = 20;
this.col_area.Name = "col_area";
//
// col_contrast_lower
//
this.col_contrast_lower.DataPropertyName = "Contrast";
this.col_contrast_lower.HeaderText = "对比度(下限)";
this.col_contrast_lower.MinimumWidth = 80;
this.col_contrast_lower.Name = "col_contrast_lower";
this.col_contrast_lower.Width = 120;
//
// col_contrast_top
//
this.col_contrast_top.HeaderText = "对比度(上限)";
this.col_contrast_top.MinimumWidth = 80;
this.col_contrast_top.Name = "col_contrast_top";
this.col_contrast_top.Width = 120;
//
// col_IsOR
//
this.col_IsOR.HeaderText = "或向选择";
this.col_IsOR.MinimumWidth = 8;
this.col_IsOR.Name = "col_IsOR";
this.col_IsOR.Width = 150;
//
// col_Len
//
this.col_Len.HeaderText = "报警长度(m)";
this.col_Len.Name = "col_Len";
this.col_Len.Visible = false;
//
// col_Cnt
//
this.col_Cnt.HeaderText = "报警数量";
this.col_Cnt.Name = "col_Cnt";
this.col_Cnt.Visible = false;
//
// uiTitlePanel6 // uiTitlePanel6
// //
this.uiTitlePanel6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.uiTitlePanel6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -1164,6 +1102,67 @@
this.uiLabel2.Text = "产品颜色"; this.uiLabel2.Text = "产品颜色";
this.uiLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.uiLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
// //
// col_code
//
this.col_code.DataPropertyName = "Code";
this.col_code.HeaderText = "code";
this.col_code.MinimumWidth = 8;
this.col_code.Name = "col_code";
this.col_code.ReadOnly = true;
this.col_code.Visible = false;
this.col_code.Width = 150;
//
// col_zxd
//
this.col_zxd.DataPropertyName = "ZXD";
dataGridViewCellStyle3.NullValue = null;
this.col_zxd.DefaultCellStyle = dataGridViewCellStyle3;
this.col_zxd.HeaderText = "置信度";
this.col_zxd.MinimumWidth = 20;
this.col_zxd.Name = "col_zxd";
this.col_zxd.Width = 150;
//
// col_area
//
this.col_area.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.col_area.DataPropertyName = "Area";
this.col_area.HeaderText = "面积(mm^2)";
this.col_area.MinimumWidth = 20;
this.col_area.Name = "col_area";
//
// col_contrast_lower
//
this.col_contrast_lower.DataPropertyName = "Contrast";
this.col_contrast_lower.HeaderText = "对比度(下限)";
this.col_contrast_lower.MinimumWidth = 80;
this.col_contrast_lower.Name = "col_contrast_lower";
this.col_contrast_lower.Width = 120;
//
// col_contrast_top
//
this.col_contrast_top.HeaderText = "对比度(上限)";
this.col_contrast_top.MinimumWidth = 80;
this.col_contrast_top.Name = "col_contrast_top";
this.col_contrast_top.Width = 120;
//
// col_IsOR
//
this.col_IsOR.HeaderText = "或向选择";
this.col_IsOR.MinimumWidth = 8;
this.col_IsOR.Name = "col_IsOR";
this.col_IsOR.Width = 150;
//
// col_Len
//
this.col_Len.HeaderText = "报警长度(m)";
this.col_Len.Name = "col_Len";
this.col_Len.Width = 130;
//
// col_Cnt
//
this.col_Cnt.HeaderText = "报警数量";
this.col_Cnt.Name = "col_Cnt";
//
// FProductInfo // FProductInfo
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@ -1248,14 +1247,6 @@
private Sunny.UI.UIRadioButton rbMaterial4; private Sunny.UI.UIRadioButton rbMaterial4;
private Sunny.UI.UIRadioButton rbMaterial3; private Sunny.UI.UIRadioButton rbMaterial3;
private Sunny.UI.UIRadioButton rbMaterial2; private Sunny.UI.UIRadioButton rbMaterial2;
private System.Windows.Forms.DataGridViewTextBoxColumn col_code;
private System.Windows.Forms.DataGridViewTextBoxColumn col_zxd;
private System.Windows.Forms.DataGridViewTextBoxColumn col_area;
private System.Windows.Forms.DataGridViewTextBoxColumn col_contrast_lower;
private System.Windows.Forms.DataGridViewTextBoxColumn col_contrast_top;
private System.Windows.Forms.DataGridViewCheckBoxColumn col_IsOR;
private System.Windows.Forms.DataGridViewTextBoxColumn col_Len;
private System.Windows.Forms.DataGridViewTextBoxColumn col_Cnt;
private Sunny.UI.UINumPadTextBox uiNumPadTextBox1; private Sunny.UI.UINumPadTextBox uiNumPadTextBox1;
private Sunny.UI.UILabel uiLabel11; private Sunny.UI.UILabel uiLabel11;
private Sunny.UI.UISwitch uiSwitch1; private Sunny.UI.UISwitch uiSwitch1;
@ -1265,5 +1256,13 @@
private Sunny.UI.UITextBox tbClass; private Sunny.UI.UITextBox tbClass;
private Sunny.UI.UILabel uiLabel14; private Sunny.UI.UILabel uiLabel14;
private Sunny.UI.UISymbolButton uiSymbolButton1; private Sunny.UI.UISymbolButton uiSymbolButton1;
private System.Windows.Forms.DataGridViewTextBoxColumn col_code;
private System.Windows.Forms.DataGridViewTextBoxColumn col_zxd;
private System.Windows.Forms.DataGridViewTextBoxColumn col_area;
private System.Windows.Forms.DataGridViewTextBoxColumn col_contrast_lower;
private System.Windows.Forms.DataGridViewTextBoxColumn col_contrast_top;
private System.Windows.Forms.DataGridViewCheckBoxColumn col_IsOR;
private System.Windows.Forms.DataGridViewTextBoxColumn col_Len;
private System.Windows.Forms.DataGridViewTextBoxColumn col_Cnt;
} }
} }

View File

@ -259,8 +259,8 @@ namespace LeatherApp.Page
uiDataGridView1.Rows[i].Cells["col_contrast_top"].Value = ContrastToPercent(item1.ContrastTop); uiDataGridView1.Rows[i].Cells["col_contrast_top"].Value = ContrastToPercent(item1.ContrastTop);
uiDataGridView1.Rows[i].Cells["col_contrast_lower"].Value = ContrastToPercent(item1.ContrastLower); uiDataGridView1.Rows[i].Cells["col_contrast_lower"].Value = ContrastToPercent(item1.ContrastLower);
uiDataGridView1.Rows[i].Cells["col_IsOR"].Value = item1.IsOR; uiDataGridView1.Rows[i].Cells["col_IsOR"].Value = item1.IsOR;
//uiDataGridView1.Rows[i].Cells["col_Len"].Value = item1.DefectWarnLength; uiDataGridView1.Rows[i].Cells["col_Len"].Value = item1.DefectWarnLength;
//uiDataGridView1.Rows[i].Cells["col_Cnt"].Value = item1.DefectWarnCnt; uiDataGridView1.Rows[i].Cells["col_Cnt"].Value = item1.DefectWarnCnt;
} }
} }
GradeLimit item2; GradeLimit item2;

View File

@ -224,7 +224,8 @@ namespace LeatherApp.Page
}; };
reDrawHouDu(record.ThicknessList, reDrawHouDu(record.ThicknessList,
new double[] { 0, Math.Round(len + 0.005f, 2) }, new double[] { 0, Math.Round(len + 0.005f, 2) },
new double[] { hdMin.Min(), Math.Round(hdMax.Max() + 0.005f, 2) }); new double[] { (hdMin.Min()-0.1) <=0? 0: (hdMin.Min() - 0.1),
(hdMax.Max() + 0.1)> 5?5: (hdMax.Max() + 0.1) });
} }
err = 3; err = 3;
// //
@ -435,7 +436,7 @@ namespace LeatherApp.Page
var row2_cell6 = wsDefectsDetail.Row(rowIndex).Cell(cellIndex + 5); var row2_cell6 = wsDefectsDetail.Row(rowIndex).Cell(cellIndex + 5);
//row2_cell6.SetDataType(XLDataType.Text);//类型设置不起作用 用"'"+内容代替 //row2_cell6.SetDataType(XLDataType.Text);//类型设置不起作用 用"'"+内容代替
//row2_cell6.DataType = XLDataType.Text; //row2_cell6.DataType = XLDataType.Text;
row2_cell6.Value = "'" + ProductDefects.ReelId; row2_cell6.Value = ProductDefects.ReelId;
row2_cell6.Style = row2_cell2.Style; row2_cell6.Style = row2_cell2.Style;
var row2_cell7 = wsDefectsDetail.Row(rowIndex).Cell(cellIndex + 6); var row2_cell7 = wsDefectsDetail.Row(rowIndex).Cell(cellIndex + 6);

View File

@ -0,0 +1,225 @@
namespace LeatherApp.Page
{
partial class SelectReelFrm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txtBatch = new Sunny.UI.UITextBox();
this.label3 = new System.Windows.Forms.Label();
this.txtLen = new Sunny.UI.UITextBox();
this.cmbReel = new Sunny.UI.UIComboBox();
this.lbErr = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.pnlBtm.SuspendLayout();
this.SuspendLayout();
//
// pnlBtm
//
this.pnlBtm.Location = new System.Drawing.Point(1, 265);
this.pnlBtm.Size = new System.Drawing.Size(623, 55);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(495, 12);
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnOK
//
this.btnOK.Location = new System.Drawing.Point(380, 12);
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(31, 87);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(79, 16);
this.label1.TabIndex = 2;
this.label1.Text = "当前批号:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(31, 210);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(79, 16);
this.label2.TabIndex = 4;
this.label2.Text = "卷号选择:";
//
// txtBatch
//
this.txtBatch.ButtonFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ButtonFillHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ButtonFillPressColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ButtonRectColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ButtonRectHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ButtonRectPressColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ButtonStyleInherited = false;
this.txtBatch.ButtonSymbolOffset = new System.Drawing.Point(0, 0);
this.txtBatch.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtBatch.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
this.txtBatch.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtBatch.Location = new System.Drawing.Point(130, 80);
this.txtBatch.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.txtBatch.MinimumSize = new System.Drawing.Size(1, 16);
this.txtBatch.Name = "txtBatch";
this.txtBatch.Padding = new System.Windows.Forms.Padding(5);
this.txtBatch.ReadOnly = true;
this.txtBatch.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ScrollBarColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtBatch.ScrollBarStyleInherited = false;
this.txtBatch.ShowText = false;
this.txtBatch.Size = new System.Drawing.Size(466, 29);
this.txtBatch.Style = Sunny.UI.UIStyle.Custom;
this.txtBatch.StyleCustomMode = true;
this.txtBatch.TabIndex = 5;
this.txtBatch.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.txtBatch.Watermark = "";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(31, 139);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(47, 16);
this.label3.TabIndex = 6;
this.label3.Text = "长度:";
//
// txtLen
//
this.txtLen.ButtonFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ButtonFillHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ButtonFillPressColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ButtonRectColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ButtonRectHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ButtonRectPressColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ButtonStyleInherited = false;
this.txtLen.ButtonSymbolOffset = new System.Drawing.Point(0, 0);
this.txtLen.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtLen.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
this.txtLen.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtLen.Location = new System.Drawing.Point(130, 133);
this.txtLen.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.txtLen.MinimumSize = new System.Drawing.Size(1, 16);
this.txtLen.Name = "txtLen";
this.txtLen.Padding = new System.Windows.Forms.Padding(5);
this.txtLen.ReadOnly = true;
this.txtLen.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ScrollBarColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
this.txtLen.ScrollBarStyleInherited = false;
this.txtLen.ShowText = false;
this.txtLen.Size = new System.Drawing.Size(466, 29);
this.txtLen.Style = Sunny.UI.UIStyle.Custom;
this.txtLen.StyleCustomMode = true;
this.txtLen.TabIndex = 7;
this.txtLen.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.txtLen.Watermark = "";
//
// cmbReel
//
this.cmbReel.DataSource = null;
this.cmbReel.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.cmbReel.FillColor = System.Drawing.Color.White;
this.cmbReel.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmbReel.ItemHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(200)))), ((int)(((byte)(255)))));
this.cmbReel.ItemSelectForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.cmbReel.Location = new System.Drawing.Point(130, 202);
this.cmbReel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.cmbReel.MinimumSize = new System.Drawing.Size(63, 0);
this.cmbReel.Name = "cmbReel";
this.cmbReel.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.cmbReel.Size = new System.Drawing.Size(466, 29);
this.cmbReel.Style = Sunny.UI.UIStyle.Custom;
this.cmbReel.TabIndex = 8;
this.cmbReel.Text = "uiComboBox1";
this.cmbReel.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.cmbReel.Watermark = "";
this.cmbReel.SelectedIndexChanged += new System.EventHandler(this.cmbReel_SelectedIndexChanged);
//
// lbErr
//
this.lbErr.AutoSize = true;
this.lbErr.Location = new System.Drawing.Point(127, 167);
this.lbErr.Name = "lbErr";
this.lbErr.Size = new System.Drawing.Size(47, 16);
this.lbErr.TabIndex = 9;
this.lbErr.Text = "Error";
this.lbErr.Visible = false;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(127, 48);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(63, 16);
this.label4.TabIndex = 10;
this.label4.Text = "ERP信息";
//
// SelectReelFrm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(625, 323);
this.Controls.Add(this.label4);
this.Controls.Add(this.lbErr);
this.Controls.Add(this.cmbReel);
this.Controls.Add(this.txtLen);
this.Controls.Add(this.label3);
this.Controls.Add(this.txtBatch);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Name = "SelectReelFrm";
this.Text = "选择对应卷号";
this.ZoomScaleRect = new System.Drawing.Rectangle(15, 15, 800, 450);
this.Controls.SetChildIndex(this.pnlBtm, 0);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.txtBatch, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.txtLen, 0);
this.Controls.SetChildIndex(this.cmbReel, 0);
this.Controls.SetChildIndex(this.lbErr, 0);
this.Controls.SetChildIndex(this.label4, 0);
this.pnlBtm.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private Sunny.UI.UITextBox txtBatch;
private System.Windows.Forms.Label label3;
private Sunny.UI.UITextBox txtLen;
private Sunny.UI.UIComboBox cmbReel;
private System.Windows.Forms.Label lbErr;
private System.Windows.Forms.Label label4;
}
}

View File

@ -0,0 +1,114 @@
using Models;
using Service;
using SqlSugar;
using Sunny.UI;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LeatherApp.Page
{
public partial class SelectReelFrm : UIEditForm
{
//private DataTable ErpTb;
RecordsService service = new RecordsService();
List<string[]> ErpData = new List<string[]>();
List<int> Indexs = new List<int>();
public string SelectBatch;
public string SelectReel;
public string SelectLen;
public int RowIndex = 0;
public SelectReelFrm(DataTable tb)
{
InitializeComponent();
txtBatch.Text = tb.Rows[0][2].ToString();
//ErpTb = tb.Clone();
label4.Text = $"ERP信息:{tb.Rows.Count}条";
InitView(tb);
}
private Expression<Func<Records, bool>> createQueryExpression()
{
return Expressionable.Create<Records>()
.And(it => it.CreateTime >= DateTime.Now.SetTime(0, 0, 0).AddDays(-1))
.And(it => it.CreateTime < DateTime.Now.SetTime(0, 0, 0).AddDays(1))
.AndIF(!string.IsNullOrWhiteSpace(txtBatch.Text), it => it.BatchId.Contains(txtBatch.Text.Trim()))
.ToExpression();//注意 这一句 不能少
}
private void InitView(DataTable ErpTb)
{
List<string> list = new List<string>();
int totalCount =0;
//var list2 = service.GetListNav(1, 10000, ref totalCount, createQueryExpression());
//if (list2 != null && list2.Count > 0)
//{
// for (int i = 0; i < ErpTb.Rows.Count; i++)
// {
// var find = list2.Find(x => x.ReelId == ErpTb.Rows[i][3].ToString() || x.BatchId == ErpTb.Rows[i][2].ToString());
// if (find == null)
// {
// Indexs.Add(i);
// list.Add(ErpTb.Rows[i][3].ToString());
// ErpData.Add(new string[] { ErpTb.Rows[i][2].ToString(), ErpTb.Rows[i][4].ToString(), ErpTb.Rows[i][1].ToString() });
// }
// }
//}
//else
{
for (int i = 0; i < ErpTb.Rows.Count; i++)
{
Indexs.Add(i);
list.Add(ErpTb.Rows[i][3].ToString());
ErpData.Add(new string[] { ErpTb.Rows[i][2].ToString(), ErpTb.Rows[i][4].ToString(), ErpTb.Rows[i][1].ToString() });
}
}
if (list.Count > 0)
{
cmbReel.DataSource = list;
cmbReel.SelectedIndex = 0;
txtLen.Text = ErpData[0][2];
}
else
{
lbErr.Visible = true;
lbErr.Text = $"ERP数据卷号都已经记录-{ErpTb.Rows.Count}";
}
}
private void cmbReel_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmbReel.SelectedIndex >= 0)
{
txtBatch.Text = ErpData[cmbReel.SelectedIndex][0];
txtLen.Text = ErpData[cmbReel.SelectedIndex][2];
RowIndex = Indexs[cmbReel.SelectedIndex];
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void btnOK_Click(object sender, EventArgs e)
{
RowIndex = Indexs[cmbReel.SelectedIndex];
SelectBatch = txtBatch.Text;
SelectReel = cmbReel.Text;
SelectLen = txtLen.Text;
this.DialogResult= DialogResult.OK;
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -118,15 +118,13 @@ namespace LeatherApp.Utils
//dt2.Columns.RemoveAt(0); //dt2.Columns.RemoveAt(0);
//dt2.Columns.RemoveAt(0); //dt2.Columns.RemoveAt(0);
//条码查询 mfg_material_goods
string sqlstr = $"select id,current_qty,batch_no,goods_code,material_id,mo_id from mfg_material_goods where id={parameters[0].Value}"; string sqlstr = $"select id,current_qty,batch_no,goods_code,material_id,mo_id from mfg_material_goods where id={parameters[0].Value}";
var dt2 = db.Ado.GetDataTable(sqlstr); var dt2 = db.Ado.GetDataTable(sqlstr);
//根据mo_id 从 order_main_order 查询 material_id
sqlstr = $"select id,material_id from order_main_order where id={dt2.Rows[0]["mo_id"]}"; sqlstr = $"select id,material_id from order_main_order where id={dt2.Rows[0]["mo_id"]}";
var dt4 = db.Ado.GetDataTable(sqlstr); var dt4 = db.Ado.GetDataTable(sqlstr);
//根据material_id 从 base_material 查询 material_code material_name
sqlstr = $"select id,material_code,material_name from base_material where id={dt4.Rows[0]["material_id"]}"; sqlstr = $"select id,material_code,material_name from base_material where id={dt4.Rows[0]["material_id"]}";
var dt3 = db.Ado.GetDataTable(sqlstr); var dt3 = db.Ado.GetDataTable(sqlstr);

View File

@ -253,3 +253,9 @@ Global捕获到未处理异常System.OverflowException
在 Sunny.UI.UIControl.WndProc(Message& m) 在 Sunny.UI.UIControl.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
2024-12-04 10:05:23
Global捕获到未处理异常System.Collections.Generic.KeyNotFoundException
异常信息:给定关键字不在字典中。
异常堆栈: 在 System.Collections.Concurrent.ConcurrentDictionary`2.get_Item(TKey key)
在 LeatherApp.Page.FHome.<>c__DisplayClass38_0.<reDrawHouDu>b__0()

View File

@ -27,6 +27,11 @@ CeHouIP=192.168.1.1
CeHouPort=64000 CeHouPort=64000
[Material] [Material]
SuedeList=BSF,SF,SL,SD SuedeList=BSF,SF,SL,SD
SuedeList2=
SuedeList3=XN
SuedeList4=
SuedeList5=
SuedeList6=
[LIB] [LIB]
model_path=./models/best_1113_bs12.fp16.trt model_path=./models/best_1113_bs12.fp16.trt
labels_path=./models/hexin.names labels_path=./models/hexin.names
@ -47,9 +52,9 @@ MiddleSuperposition=700
DBConStr=server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true DBConStr=server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true
ErpDBType=PostgreSQL ErpDBType=PostgreSQL
[ErpDB] [ErpDB]
ErpDBConStr1=Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=200.1.1.15)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=PUDB)));User Id=qcvi;Password=qcvi;Pooling='true';Max Pool Size=150 ErpDBConStr1=Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=200.1.1.15)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=PUDB)));User Id=qcvi;Password=qcvi;Pooling='true';Max Pool Size=150;Validate Connection=true
ErpSql1=select * from tb_qc_prodinfo where PJXTBH= ErpSql1=select * from tb_qc_prodinfo where PJXTBH=
ServerDBConStr1=server=172.16.21.210;Database=LeatherDB;Uid=XCL001;Pwd=123456;AllowLoadLocalInfile=true ServerDBConStr=server=200.1.1.142;Database=LeatherDB;Uid=root;Pwd=Maimu888;AllowLoadLocalInfile=true
[LOG] [LOG]
LogPath=D:\log\ LogPath=D:\log\
[Halcon] [Halcon]
@ -62,7 +67,7 @@ BeepTime=3000
CustomerName= CustomerName=
[Fun] [Fun]
OpenJinShuJianCe=False OpenJinShuJianCe=False
OpenHouDuJiLu=False OpenHouDuJiLu=True
OpenFenJuan=True OpenFenJuan=True
OpenJMStop=True OpenJMStop=True
StopLookDis=5.5 StopLookDis=5.5
@ -72,6 +77,6 @@ ClearDays=3
[BOffset] [BOffset]
EdgeOffset=3 EdgeOffset=3
[HouDuOffset] [HouDuOffset]
DataOffset1=1 DataOffset1=0
DataOffset2=2 DataOffset2=0
DataOffset3=3 DataOffset3=0

View File

@ -678,3 +678,4 @@ H:\CPL\GeBoshi\hy1127\V1.0\LeatherProject\LeatherApp\obj\Debug\LeatherApp.csproj
H:\CPL\GeBoshi\hy1127\V1.0\LeatherProject\LeatherApp\obj\Debug\LeatherApp.csproj.CopyComplete H:\CPL\GeBoshi\hy1127\V1.0\LeatherProject\LeatherApp\obj\Debug\LeatherApp.csproj.CopyComplete
H:\CPL\GeBoshi\hy1127\V1.0\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.exe H:\CPL\GeBoshi\hy1127\V1.0\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.exe
H:\CPL\GeBoshi\hy1127\V1.0\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.pdb H:\CPL\GeBoshi\hy1127\V1.0\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.pdb
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\obj\Debug\LeatherApp.Page.SelectReelFrm.resources

View File

@ -14,7 +14,7 @@
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
@ -32,6 +32,9 @@
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<ApplicationIcon>服务器.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="ClosedXML, Version=0.96.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL"> <Reference Include="ClosedXML, Version=0.96.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL">
<HintPath>..\packages\ClosedXML.0.96.0\lib\net46\ClosedXML.dll</HintPath> <HintPath>..\packages\ClosedXML.0.96.0\lib\net46\ClosedXML.dll</HintPath>
@ -102,5 +105,8 @@
<ItemGroup> <ItemGroup>
<None Include="App.config" /> <None Include="App.config" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Content Include="服务器.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

View File

@ -37,6 +37,7 @@
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
System.Windows.Forms.DataVisualization.Charting.Legend legend3 = new System.Windows.Forms.DataVisualization.Charting.Legend(); System.Windows.Forms.DataVisualization.Charting.Legend legend3 = new System.Windows.Forms.DataVisualization.Charting.Legend();
System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series(); System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerFrm));
this.lstboxLog = new System.Windows.Forms.ListBox(); this.lstboxLog = new System.Windows.Forms.ListBox();
this.lineChartDefect = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.lineChartDefect = new System.Windows.Forms.DataVisualization.Charting.Chart();
this.lineChartFaceWidth = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.lineChartFaceWidth = new System.Windows.Forms.DataVisualization.Charting.Chart();
@ -48,6 +49,9 @@
// //
// lstboxLog // lstboxLog
// //
this.lstboxLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lstboxLog.FormattingEnabled = true; this.lstboxLog.FormattingEnabled = true;
this.lstboxLog.ItemHeight = 12; this.lstboxLog.ItemHeight = 12;
this.lstboxLog.Location = new System.Drawing.Point(12, 12); this.lstboxLog.Location = new System.Drawing.Point(12, 12);
@ -115,6 +119,7 @@
this.Controls.Add(this.lineChartFaceWidth); this.Controls.Add(this.lineChartFaceWidth);
this.Controls.Add(this.lineChartDefect); this.Controls.Add(this.lineChartDefect);
this.Controls.Add(this.lineChartHouDu); this.Controls.Add(this.lineChartHouDu);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "ServerFrm"; this.Name = "ServerFrm";
this.Text = "服务器监控"; this.Text = "服务器监控";
this.Load += new System.EventHandler(this.ServerFrm_Load); this.Load += new System.EventHandler(this.ServerFrm_Load);

View File

@ -32,7 +32,8 @@ namespace ServerApp
{ {
this.lstboxLog.Items.Clear(); this.lstboxLog.Items.Clear();
WebService web = new WebService(); WebService web = new WebService();
web.dbConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true"; //web.dbConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true";
web.dbConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=Maimu888; AllowLoadLocalInfile=true";
web.LogEvent = (warning, msg) => web.LogEvent = (warning, msg) =>
{ {
try try
@ -63,7 +64,7 @@ namespace ServerApp
MessageBox.Show($"数据报表生成失败:{ex.Message}"); MessageBox.Show($"数据报表生成失败:{ex.Message}");
} }
}; };
web.start("172.30.8.2", 10086); web.start("172.16.21.210", 10086); //172.16.21.210 172.30.8.2
} }
private void lstboxLog_DrawItem(object sender, DrawItemEventArgs e) private void lstboxLog_DrawItem(object sender, DrawItemEventArgs e)
{ {
@ -121,7 +122,8 @@ namespace ServerApp
}; };
reDrawHouDu(data.ThicknessList, reDrawHouDu(data.ThicknessList,
new double[] { 0, Math.Round(len + 0.005f, 2) }, new double[] { 0, Math.Round(len + 0.005f, 2) },
new double[] { hdMin.Min(), Math.Round(hdMax.Max() + 0.005f, 2) }); new double[] { (hdMin.Min()-0.1) <=0? 0: (hdMin.Min() - 0.1),
(hdMax.Max() + 0.1)> 5?5: (hdMax.Max() + 0.1) });
} }
err = 2; err = 2;
foreach (var item in list) foreach (var item in list)
@ -149,6 +151,8 @@ namespace ServerApp
PartNote2 = data.PartReelNote2, PartNote2 = data.PartReelNote2,
}; };
err = 5; err = 5;
if (data.DefectInfoList != null)
{
jdata.DefectTotal = data.DefectInfoList.GroupBy(x => x.Name).Select(g => new JDefectTotal { Name = g.Key, Count = g.Count() }).ToList(); jdata.DefectTotal = data.DefectInfoList.GroupBy(x => x.Name).Select(g => new JDefectTotal { Name = g.Key, Count = g.Count() }).ToList();
jdata.DefectDetail = data.DefectInfoList.Select(x => new JDefectDetail jdata.DefectDetail = data.DefectInfoList.Select(x => new JDefectDetail
{ {
@ -163,11 +167,17 @@ namespace ServerApp
Contrast = x.Contrast Contrast = x.Contrast
}) })
.OrderBy(x => x.Index).ThenBy(x => x.Y).ToList(); .OrderBy(x => x.Index).ThenBy(x => x.Y).ToList();
}
if (data.FacePointList != null)
{
jdata.FaceWidthDetail = data.FacePointList.Select(x => new JFaceWidthDetail jdata.FaceWidthDetail = data.FacePointList.Select(x => new JFaceWidthDetail
{ {
Y = x[0], Y = x[0],
data = x[1], data = x[1],
}).OrderBy(x => x.Y).ThenBy(x => x.Y).ToList(); }).OrderBy(x => x.Y).ThenBy(x => x.Y).ToList();
}
if (data.ThicknessList != null)
{
jdata.ThicknessDetail = data.ThicknessList.Select(x => new JThicknessDetail jdata.ThicknessDetail = data.ThicknessList.Select(x => new JThicknessDetail
{ {
Y = x.Y_Dis, Y = x.Y_Dis,
@ -176,6 +186,7 @@ namespace ServerApp
d3 = x.Value3, d3 = x.Value3,
}) })
.OrderBy(x => x.Y).ThenBy(x => x.Y).ToList(); .OrderBy(x => x.Y).ThenBy(x => x.Y).ToList();
}
err = 6; err = 6;
Product pd = new Product(); Product pd = new Product();
@ -191,7 +202,7 @@ namespace ServerApp
var image1 = captureControl(this.lineChartDefect); var image1 = captureControl(this.lineChartDefect);
var image2 = captureControl(this.lineChartFaceWidth); var image2 = captureControl(this.lineChartFaceWidth);
var image3 = captureControl(this.lineChartHouDu); var image3 = captureControl(this.lineChartHouDu);
var filePath = $"{path}缺陷列表_{data.BatchId}_{data.ReelId}.xlsx"; var filePath = $"{path}\\缺陷列表_{data.BatchId}_{data.ReelId}.xlsx";
err = 8; err = 8;
filePath = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\temp.xlsx"; filePath = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\temp.xlsx";
exportTabel(jdata, image1, image2, image3, filePath); exportTabel(jdata, image1, image2, image3, filePath);
@ -1069,6 +1080,9 @@ namespace ServerApp
} }
// 截图操作函数 // 截图操作函数
private byte[] captureControl(System.Windows.Forms.Control control) private byte[] captureControl(System.Windows.Forms.Control control)
{
byte[] bytes = null;
this.Invoke(new System.Action(() =>
{ {
Bitmap bmp = new Bitmap(control.Width, control.Height); Bitmap bmp = new Bitmap(control.Width, control.Height);
Graphics graphics = Graphics.FromImage(bmp); Graphics graphics = Graphics.FromImage(bmp);
@ -1077,10 +1091,11 @@ namespace ServerApp
//bmp to jpg //bmp to jpg
MemoryStream ms = new MemoryStream(); MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);//bmp是已经获得的bitmap数据 bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);//bmp是已经获得的bitmap数据
byte[] bytes = ms.GetBuffer(); bytes = ms.GetBuffer();
ms.Close(); ms.Close();
graphics.Dispose(); graphics.Dispose();
}));
return bytes; return bytes;
//bitmap.Save(@"C:\Images\Capture.jpg", ImageFormat.Jpeg); //bitmap.Save(@"C:\Images\Capture.jpg", ImageFormat.Jpeg);
//return Image.FromStream(new MemoryStream(bytes)); //return Image.FromStream(new MemoryStream(bytes));

File diff suppressed because it is too large Load Diff

View File

@ -371,7 +371,8 @@ namespace ServerApp.WebServer
.First(m => m.BatchId == batch && m.ReelId == reel); .First(m => m.BatchId == batch && m.ReelId == reel);
if(data == null )
throw new Exception($"批号:{batch},卷号:{reel},数据不存在!");
err = 2; err = 2;
getReportEvent(data); getReportEvent(data);
@ -384,7 +385,8 @@ namespace ServerApp.WebServer
throw new Exception(file_path + " 缺陷文件不存在!"); throw new Exception(file_path + " 缺陷文件不存在!");
res.Add("code", 200); res.Add("code", 200);
res.Add("data", Convert.ToBase64String(File.ReadAllBytes(file_path))); //res.Add("data", Convert.ToBase64String(File.ReadAllBytes(file_path)));
res.Add("data", (File.ReadAllBytes(file_path)));
} }
else else
throw new Exception($"文件错误file_name={file_path}"); throw new Exception($"文件错误file_name={file_path}");

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB