zrg
2025-06-26 977616d74f913ae5ce1e14f8cfde3b7f4d5a21a2
新增九菱设备采集插件,更改点胶称重下拉框名字不对问题
30个文件已修改
6个文件已添加
2504 ■■■■■ 已修改文件
WFormSynchronizeData_SMR/.vs/WFormSynchronizeData_SMR/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm.cs 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm.csproj 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm_JiuLing.Designer.cs 331 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm_JiuLing.cs 1432 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm_JiuLing.resx 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/Program.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/Config/SQLAPI.config 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/EquipmentCollectionForm.exe 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/EquipmentCollectionForm.pdb 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/Vlog/2025-06-11.txt 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.EquipmentCollectionForm_JiuLing.resources 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.FileListAbsolute.txt 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.GenerateResource.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.exe 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.pdb 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/Program.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCoordinateExcelFrom.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/ZZ_GlueWeigh.Designer.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/ZZ_GlueWeigh.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/bin/Debug/WFormReadData_SMR.exe 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/bin/Debug/WFormReadData_SMR.pdb 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/DesignTimeResolveAssemblyReferences.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.FileListAbsolute.txt 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.GenerateResource.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.exe 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.pdb 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormSynchronizeData_SMR/obj/Debug/DesignTimeResolveAssemblyReferences.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormSynchronizeData_SMR/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/WFormSynchronizeData_SMR/obj/Debug/WFormSynchronizeData_SMR.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
WFormSynchronizeData_SMR/.vs/WFormSynchronizeData_SMR/v16/.suo
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm.cs
@@ -707,6 +707,8 @@
            //设备列表接口
            string urls = url + EquipmentType.Nine;
            CustomWriteLog("获取工艺参数接口:'"+ urls + "'", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            // 准备要发送的表单数据
            var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json");
            JsonEquipmentData jsonEquipment = await EquipmentList(urls, postData, "POST");
@@ -961,80 +963,101 @@
                //获取参数 获取每个设备对应的所有参数
                JsonEquipmentData jsonEquipment = await FindAllDevicePropsDetailByTimeRange(Url, token, nos, TimeDate, time);
                var JsonData = "{\"data\":[";
                CustomWriteLog("01" , DateTime.Now.ToString("yyyy-MM-dd"));
                //通过每个设备进行循环赋值
                for (int i = 0; i < jsonEquipment.data.Count; i++)
                if (jsonEquipment == null)
                {
                    //获取设备对应的编码 判断编码是否满足为螺母压装设备
                    if (jsonEquipment.data[i].deviceNo.Contains("CMR-ZZ-SE-"))
                    CustomWriteLog("jsonEquipment对象为空", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                }
                if (jsonEquipment.data == null)
                {
                    CustomWriteLog("data属性为空",DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                }
                var JsonData = "{\"data\":[";
                CustomWriteLog("开始循环工艺参数总数为::'" + jsonEquipment.data.Count + "'", DateTime.Now.ToString("yyyy-MM-dd"));
                try
                {
                    //通过每个设备进行循环赋值
                    for (int i = 0; i < jsonEquipment.data.Count; i++)
                    {
                        //循环 螺母压装设备对应的所有工艺参数
                        for (int j = 0; j < jsonEquipment.data[i].props.Count; j++)
                        CustomWriteLog("当前循环 第  '"+i+"'  次", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        //获取设备对应的编码 判断编码是否满足为螺母压装设备
                        if (jsonEquipment.data[i].deviceNo.Contains("CMR-ZZ-SE-"))
                        {
                            //循环 每个参数对应的所有数据
                            for (int k = 0; k < jsonEquipment.data[i].props[j].datas.Count; k++)
                            //循环 螺母压装设备对应的所有工艺参数
                            for (int j = 0; j < jsonEquipment.data[i].props.Count; j++)
                            {
                                //日志
                                CustomWriteLog("1-" + k + ":" + jsonEquipment.data[i].props[j].datas[k].value, DateTime.Now.ToString("yyyy-MM-dd"));
                                //获取参数的类型
                                valueData value = JsonConvert.DeserializeObject<valueData>(jsonEquipment.data[i].props[j].datas[k].value);
                                //日志
                                CustomWriteLog("2", DateTime.Now.ToString("yyyy-MM-dd"));
                                if (value.type == "良品")
                                //循环 每个参数对应的所有数据
                                for (int k = 0; k < jsonEquipment.data[i].props[j].datas.Count; k++)
                                {
                                    JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"螺母是否凸出\",\"HResult\":\"OK\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                    //日志
                                    CustomWriteLog("1-" + k + ":" + jsonEquipment.data[i].props[j].datas[k].value, DateTime.Now.ToString("yyyy-MM-dd"));
                                    //获取参数的类型
                                    valueData value = JsonConvert.DeserializeObject<valueData>(jsonEquipment.data[i].props[j].datas[k].value);
                                    //日志
                                    CustomWriteLog("2", DateTime.Now.ToString("yyyy-MM-dd"));
                                    if (value.type == "良品")
                                    {
                                        JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"螺母是否凸出\",\"HResult\":\"OK\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                    }
                                    else
                                    {
                                        JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"螺母是否凸出\",\"HResult\":\"NG\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                    }
                                    JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"生产周期\",\"HResult\":\"" + value.beat + "\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                }
                                else
                            }
                            JsonEquipmentData data = await FindDevicePropCalc(Url, token, jsonEquipment.data[i].deviceNo, TimeDate, time);
                            for (int j = 0; j < data.data.Count; j++)
                            {
                                //合格数
                                if (data.data[j].propId == 469)
                                {
                                    JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"螺母是否凸出\",\"HResult\":\"NG\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                    JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"良品数\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].sum + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                }
                                JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"生产周期\",\"HResult\":\"" + value.beat + "\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                //不良数
                                else if (data.data[j].propId == 470)
                                {
                                    JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"NG数量\",\"HResult\":\"NG\",\"HCount\":" + data.data[j].sum + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                }
                            }
                        }
                        JsonEquipmentData data = await FindDevicePropCalc(Url, token, jsonEquipment.data[i].deviceNo, TimeDate, time);
                        for (int j = 0; j < data.data.Count; j++)
                        else
                        {
                            //合格数
                            if (data.data[j].propId == 469)
                            //循环 螺母压装以外的设备对应的所有工艺参数
                            for (int j = 0; j < jsonEquipment.data[i].props.Count; j++)
                            {
                                JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"良品数\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].sum + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                //循环 每个参数对应的所有数据
                                for (int k = 0; k < jsonEquipment.data[i].props[j].datas.Count; k++)
                                {
                                    JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"" + jsonEquipment.data[i].props[j].propName + "\",\"HResult\":\"" + jsonEquipment.data[i].props[j].datas[k].value + "\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                    CustomWriteLog("工艺参数具体值:{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"" + jsonEquipment.data[i].props[j].propName + "\",\"HResult\":\"" + jsonEquipment.data[i].props[j].datas[k].value + "\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                                }
                            }
                            //不良数
                            else if (data.data[j].propId == 470)
                            //获取设备时间段产量
                            JsonEquipmentData data = await FindProdByNosAndTime(Url, token, jsonEquipment.data[i].deviceNo, TimeDate, time);
                            for (int j = 0; j < data.data.Count; j++)
                            {
                                JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"NG数量\",\"HResult\":\"NG\",\"HCount\":" + data.data[j].sum + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"生产数量\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].prod + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                                CustomWriteLog("设备产量值:{\"HDate\":\"" + time + "\",\"HTechParamName\":\"生产数量\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].prod + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                            }
                        }
                    }
                    else {
                        //循环 螺母压装设备对应的所有工艺参数
                        for (int j = 0; j < jsonEquipment.data[i].props.Count; j++)
                        {
                            //循环 每个参数对应的所有数据
                            for (int k = 0; k < jsonEquipment.data[i].props[j].datas.Count; k++)
                            {
                                JsonData += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"" + jsonEquipment.data[i].props[j].propName + "\",\"HResult\":\""+ jsonEquipment.data[i].props[j].datas[k].value + "\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                            }
                        }
                        //获取设备时间段产量
                        JsonEquipmentData data = await FindProdByNosAndTime(Url, token, jsonEquipment.data[i].deviceNo, TimeDate, time);
                        for (int j = 0; j < data.data.Count; j++)
                        {
                            JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"生产数量\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].prod + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                        }
                    }
                }
                catch (Exception ex)
                {
                    CustomWriteLog("EXCEPTION_CAUGHT", $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - 异常信息:{ex.ToString()}");
                }
                CustomWriteLog("02", DateTime.Now.ToString("yyyy-MM-dd"));
                CustomWriteLog("工艺参数与产量循环结束", DateTime.Now.ToString("yyyy-MM-dd"));
                //获取设备运行状态
                var EquipmentStaus = await FindDeviceStatusByNos(Url, token, nos);
@@ -1053,6 +1076,22 @@
                        }
                        JsonResult HEqDate = await FindDeviceStatusTimeByNo(Url, token, EquipmentStaus.data[i].no, HBegDate, HEndDate);
                        // 记录开机时长
                        CustomWriteLog("设备开机时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"开机时长\",\"HResult\":\"" + ((float)(HEqDate.data.onlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        // 记录关机时长
                        CustomWriteLog("设备关机时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"关机时长\",\"HResult\":\"" + ((float)(HEqDate.data.offlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        // 记录停机时长
                        CustomWriteLog("设备停机时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"停机时长\",\"HResult\":\"" + ((float)(HEqDate.data.standbyTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        // 记录运行时长
                        CustomWriteLog("设备运行时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"运行时长\",\"HResult\":\"" + ((float)(HEqDate.data.runTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"开机时长\",\"HResult\":\"" + ((float)(HEqDate.data.onlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
                        JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"关机时长\",\"HResult\":\"" + ((float)(HEqDate.data.offlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
@@ -1123,7 +1162,7 @@
                    }
                }
                CustomWriteLog("03", DateTime.Now.ToString("yyyy-MM-dd"));
                CustomWriteLog("结束所有", DateTime.Now.ToString("yyyy-MM-dd"));
                JsonData = JsonData.Substring(0, JsonData.Length - 1);
                JsonData += "]}";
@@ -1148,9 +1187,7 @@
values(getdate(),'"+ data.data[i].HSourceCode + "',0,'" + data.data[i].HTechParamName + "'," + data.data[i].HCount
+ ",'" + data.data[i].HDate + "','" + data.data[i].HResult + "','" + data.data[i].HProcNumber + "',0)");
                ListData.Items.Add("时间:" + data.data[i].HDate +
                                  ",工艺参数:" + data.data[i].HTechParamName +
                                  ",工艺参数值:" + data.data[i].HResult);
                ListData.Items.Add("时间:" + data.data[i].HDate +",工艺参数:" + data.data[i].HTechParamName +",工艺参数值:" + data.data[i].HResult);
            }
        }
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm.csproj
@@ -67,6 +67,12 @@
  </ItemGroup>
  <ItemGroup>
    <Compile Include="DBHelper.cs" />
    <Compile Include="EquipmentCollectionForm_JiuLing.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="EquipmentCollectionForm_JiuLing.Designer.cs">
      <DependentUpon>EquipmentCollectionForm_JiuLing.cs</DependentUpon>
    </Compile>
    <Compile Include="EquipmentCollectionForm.cs">
      <SubType>Form</SubType>
    </Compile>
@@ -76,6 +82,9 @@
    <Compile Include="json.cs" />
    <Compile Include="Program.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <EmbeddedResource Include="EquipmentCollectionForm_JiuLing.resx">
      <DependentUpon>EquipmentCollectionForm_JiuLing.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="EquipmentCollectionForm.resx">
      <DependentUpon>EquipmentCollectionForm.cs</DependentUpon>
    </EmbeddedResource>
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm_JiuLing.Designer.cs
New file
@@ -0,0 +1,331 @@

namespace EquipmentCollectionForm
{
    partial class EquipmentCollectionForm_JiuLing
    {
        /// <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.components = new System.ComponentModel.Container();
            this.cmbEquipFile = new System.Windows.Forms.ComboBox();
            this.txtEquipFile = new System.Windows.Forms.Label();
            this.btnBegin = new System.Windows.Forms.Button();
            this.txtBegin = new System.Windows.Forms.TextBox();
            this.txtEnd = new System.Windows.Forms.TextBox();
            this.btnEnd = new System.Windows.Forms.Button();
            this.btnSave = new System.Windows.Forms.Button();
            this.label4 = new System.Windows.Forms.Label();
            this.txtLj = new System.Windows.Forms.TextBox();
            this.btnLj = new System.Windows.Forms.Button();
            this.txtHBathNo = new System.Windows.Forms.TextBox();
            this.HBathNo = new System.Windows.Forms.Label();
            this.btnRest = new System.Windows.Forms.Button();
            this.ListData = new System.Windows.Forms.ListBox();
            this.txtHMaterNumber = new System.Windows.Forms.TextBox();
            this.HMaterID = new System.Windows.Forms.Label();
            this.timer = new System.Windows.Forms.Timer(this.components);
            this.Time_CLHB = new System.Windows.Forms.Timer(this.components);
            this.labHMakerID = new System.Windows.Forms.Label();
            this.txtHMakerNumber = new System.Windows.Forms.TextBox();
            this.label5 = new System.Windows.Forms.Label();
            this.txtHMaker = new System.Windows.Forms.TextBox();
            this.label6 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            //
            // cmbEquipFile
            //
            this.cmbEquipFile.FormattingEnabled = true;
            this.cmbEquipFile.Location = new System.Drawing.Point(108, 62);
            this.cmbEquipFile.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.cmbEquipFile.Name = "cmbEquipFile";
            this.cmbEquipFile.Size = new System.Drawing.Size(166, 23);
            this.cmbEquipFile.TabIndex = 13;
            this.cmbEquipFile.SelectedIndexChanged += new System.EventHandler(this.cmbEquipFile_SelectedIndexChanged);
            //
            // txtEquipFile
            //
            this.txtEquipFile.AutoSize = true;
            this.txtEquipFile.Location = new System.Drawing.Point(55, 68);
            this.txtEquipFile.Name = "txtEquipFile";
            this.txtEquipFile.Size = new System.Drawing.Size(45, 15);
            this.txtEquipFile.TabIndex = 14;
            this.txtEquipFile.Text = "设备:";
            //
            // btnBegin
            //
            this.btnBegin.Location = new System.Drawing.Point(40, 105);
            this.btnBegin.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnBegin.Name = "btnBegin";
            this.btnBegin.Size = new System.Drawing.Size(62, 31);
            this.btnBegin.TabIndex = 15;
            this.btnBegin.Text = "开始";
            this.btnBegin.UseVisualStyleBackColor = true;
            this.btnBegin.Click += new System.EventHandler(this.btnBegin_Click);
            //
            // txtBegin
            //
            this.txtBegin.Location = new System.Drawing.Point(108, 110);
            this.txtBegin.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtBegin.Name = "txtBegin";
            this.txtBegin.Size = new System.Drawing.Size(166, 25);
            this.txtBegin.TabIndex = 16;
            //
            // txtEnd
            //
            this.txtEnd.Location = new System.Drawing.Point(419, 112);
            this.txtEnd.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtEnd.Name = "txtEnd";
            this.txtEnd.Size = new System.Drawing.Size(166, 25);
            this.txtEnd.TabIndex = 18;
            //
            // btnEnd
            //
            this.btnEnd.Location = new System.Drawing.Point(351, 107);
            this.btnEnd.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnEnd.Name = "btnEnd";
            this.btnEnd.Size = new System.Drawing.Size(62, 31);
            this.btnEnd.TabIndex = 17;
            this.btnEnd.Text = "结束";
            this.btnEnd.UseVisualStyleBackColor = true;
            this.btnEnd.Click += new System.EventHandler(this.btnEnd_Click);
            //
            // btnSave
            //
            this.btnSave.Location = new System.Drawing.Point(655, 51);
            this.btnSave.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnSave.Name = "btnSave";
            this.btnSave.Size = new System.Drawing.Size(102, 31);
            this.btnSave.TabIndex = 19;
            this.btnSave.Text = "保存";
            this.btnSave.UseVisualStyleBackColor = true;
            this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
            //
            // label4
            //
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(29, 168);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(45, 15);
            this.label4.TabIndex = 21;
            this.label4.Text = "路径:";
            //
            // txtLj
            //
            this.txtLj.Location = new System.Drawing.Point(93, 166);
            this.txtLj.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtLj.Name = "txtLj";
            this.txtLj.Size = new System.Drawing.Size(541, 25);
            this.txtLj.TabIndex = 20;
            //
            // btnLj
            //
            this.btnLj.Location = new System.Drawing.Point(647, 158);
            this.btnLj.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnLj.Name = "btnLj";
            this.btnLj.Size = new System.Drawing.Size(102, 35);
            this.btnLj.TabIndex = 22;
            this.btnLj.Text = "选择路径";
            this.btnLj.UseVisualStyleBackColor = true;
            this.btnLj.Click += new System.EventHandler(this.btnLj_Click);
            //
            // txtHBathNo
            //
            this.txtHBathNo.Location = new System.Drawing.Point(419, 55);
            this.txtHBathNo.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtHBathNo.Name = "txtHBathNo";
            this.txtHBathNo.Size = new System.Drawing.Size(166, 25);
            this.txtHBathNo.TabIndex = 24;
            this.txtHBathNo.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtHBathNo_KeyUp);
            //
            // HBathNo
            //
            this.HBathNo.AutoSize = true;
            this.HBathNo.Location = new System.Drawing.Point(356, 59);
            this.HBathNo.Name = "HBathNo";
            this.HBathNo.Size = new System.Drawing.Size(52, 15);
            this.HBathNo.TabIndex = 25;
            this.HBathNo.Text = "批次号";
            //
            // btnRest
            //
            this.btnRest.Location = new System.Drawing.Point(655, 102);
            this.btnRest.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnRest.Name = "btnRest";
            this.btnRest.Size = new System.Drawing.Size(102, 31);
            this.btnRest.TabIndex = 26;
            this.btnRest.Text = "重置";
            this.btnRest.UseVisualStyleBackColor = true;
            this.btnRest.Click += new System.EventHandler(this.btnRest_Click);
            //
            // ListData
            //
            this.ListData.FormattingEnabled = true;
            this.ListData.ItemHeight = 15;
            this.ListData.Location = new System.Drawing.Point(-2, 199);
            this.ListData.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.ListData.Name = "ListData";
            this.ListData.Size = new System.Drawing.Size(829, 394);
            this.ListData.TabIndex = 27;
            //
            // txtHMaterNumber
            //
            this.txtHMaterNumber.Location = new System.Drawing.Point(419, 84);
            this.txtHMaterNumber.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtHMaterNumber.Name = "txtHMaterNumber";
            this.txtHMaterNumber.Size = new System.Drawing.Size(166, 25);
            this.txtHMaterNumber.TabIndex = 28;
            //
            // HMaterID
            //
            this.HMaterID.AutoSize = true;
            this.HMaterID.Location = new System.Drawing.Point(290, 62);
            this.HMaterID.Name = "HMaterID";
            this.HMaterID.Size = new System.Drawing.Size(71, 15);
            this.HMaterID.TabIndex = 29;
            this.HMaterID.Text = "HMaterID";
            this.HMaterID.Visible = false;
            //
            // timer
            //
            this.timer.Interval = 60000;
            this.timer.Tick += new System.EventHandler(this.timer_Tick);
            //
            // Time_CLHB
            //
            this.Time_CLHB.Interval = 600000;
            this.Time_CLHB.Tick += new System.EventHandler(this.Time_CLHB_Tick);
            //
            // labHMakerID
            //
            this.labHMakerID.AutoSize = true;
            this.labHMakerID.Location = new System.Drawing.Point(599, 17);
            this.labHMakerID.Name = "labHMakerID";
            this.labHMakerID.Size = new System.Drawing.Size(95, 15);
            this.labHMakerID.TabIndex = 34;
            this.labHMakerID.Text = "labHMakerID";
            this.labHMakerID.Visible = false;
            //
            // txtHMakerNumber
            //
            this.txtHMakerNumber.Location = new System.Drawing.Point(419, 14);
            this.txtHMakerNumber.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtHMakerNumber.Name = "txtHMakerNumber";
            this.txtHMakerNumber.Size = new System.Drawing.Size(166, 25);
            this.txtHMakerNumber.TabIndex = 33;
            //
            // label5
            //
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(356, 18);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(45, 15);
            this.label5.TabIndex = 32;
            this.label5.Text = "编码:";
            //
            // txtHMaker
            //
            this.txtHMaker.Location = new System.Drawing.Point(111, 14);
            this.txtHMaker.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtHMaker.Name = "txtHMaker";
            this.txtHMaker.Size = new System.Drawing.Size(168, 25);
            this.txtHMaker.TabIndex = 20;
            this.txtHMaker.Enter += new System.EventHandler(this.txtHMaker_Enter);
            this.txtHMaker.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtHMaker_KeyDown);
            this.txtHMaker.Leave += new System.EventHandler(this.txtHMaker_Leave);
            //
            // label6
            //
            this.label6.AutoSize = true;
            this.label6.Location = new System.Drawing.Point(42, 18);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(60, 15);
            this.label6.TabIndex = 31;
            this.label6.Text = "制单人:";
            //
            // EquipmentCollectionForm_JiuLing
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(837, 602);
            this.Controls.Add(this.labHMakerID);
            this.Controls.Add(this.txtHMakerNumber);
            this.Controls.Add(this.label5);
            this.Controls.Add(this.txtHMaker);
            this.Controls.Add(this.label6);
            this.Controls.Add(this.HMaterID);
            this.Controls.Add(this.txtHMaterNumber);
            this.Controls.Add(this.ListData);
            this.Controls.Add(this.btnRest);
            this.Controls.Add(this.HBathNo);
            this.Controls.Add(this.txtHBathNo);
            this.Controls.Add(this.btnLj);
            this.Controls.Add(this.label4);
            this.Controls.Add(this.txtLj);
            this.Controls.Add(this.btnSave);
            this.Controls.Add(this.txtEnd);
            this.Controls.Add(this.btnEnd);
            this.Controls.Add(this.txtBegin);
            this.Controls.Add(this.btnBegin);
            this.Controls.Add(this.txtEquipFile);
            this.Controls.Add(this.cmbEquipFile);
            this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.Name = "EquipmentCollectionForm_JiuLing";
            this.Text = "设备数据采集";
            this.Activated += new System.EventHandler(this.EquipmentCollectionForm_Activated);
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.EquipmentCollectionForm_FormClosing);
            this.Load += new System.EventHandler(this.EquipmentCollectionForm_Load);
            this.ResumeLayout(false);
            this.PerformLayout();
        }
        #endregion
        private System.Windows.Forms.ComboBox cmbEquipFile;
        private System.Windows.Forms.Label txtEquipFile;
        private System.Windows.Forms.Button btnBegin;
        private System.Windows.Forms.TextBox txtBegin;
        private System.Windows.Forms.TextBox txtEnd;
        private System.Windows.Forms.Button btnEnd;
        private System.Windows.Forms.Button btnSave;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.TextBox txtLj;
        private System.Windows.Forms.Button btnLj;
        private System.Windows.Forms.TextBox txtHBathNo;
        private System.Windows.Forms.Label HBathNo;
        private System.Windows.Forms.Button btnRest;
        private System.Windows.Forms.ListBox ListData;
        private System.Windows.Forms.TextBox txtHMaterNumber;
        private System.Windows.Forms.Label HMaterID;
        private System.Windows.Forms.Timer Time_CLHB;
        private System.Windows.Forms.Timer timer;
        private System.Windows.Forms.Label labHMakerID;
        private System.Windows.Forms.TextBox txtHMakerNumber;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.TextBox txtHMaker;
        private System.Windows.Forms.Label label6;
    }
}
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm_JiuLing.cs
New file
@@ -0,0 +1,1432 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Windows.Forms;
namespace EquipmentCollectionForm
{
    public partial class EquipmentCollectionForm_JiuLing : Form
    {
        private json objJsonResult = new json();
        DataTable dt = new DataTable();
        public DBHelper oCN = new DBHelper();
        public string TimeDate = "";
        public EquipmentCollectionForm_JiuLing()
        {
            InitializeComponent();
        }
        private void EquipmentCollectionForm_Load(object sender, EventArgs e)
        {
            this.txtBegin.ReadOnly = true;
            this.txtEnd.ReadOnly = true;
            this.txtLj.ReadOnly = true;
            this.btnSave.Enabled = false;
            this.txtHMaterNumber.ReadOnly = true;
            //this.btnRest.Enabled = false;
            //制单编码只读
            this.txtHMakerNumber.ReadOnly = true;
            //制单人提示
            this.txtHMaker.ForeColor = Color.LightGray;
            this.txtHMaker.Text = "请输入用户编码!";
            bindCbox();
        }
        private void btnBegin_Click(object sender, EventArgs e)
        {
            if (this.txtHBathNo.Text == "" || this.txtHBathNo.ReadOnly == false)
            //if (false)
            {
                MessageBox.Show("请输入批次号进行确认!");
            }
            else
            {
                this.txtBegin.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                //this.txtBegin.Text = "2024-11-21 13:40:27";
                this.btnBegin.Enabled = false;
                if (cmbEquipFile.SelectedIndex == 1)
                {
                    this.txtHBathNo.ReadOnly = true;
                    this.timer.Enabled = true;
                }
            }
        }
        private void btnEnd_Click(object sender, EventArgs e)
        {
            if (this.txtBegin.Text == "")
            {
                MessageBox.Show("请点击开始按钮进行开始确认!");
            }
            else
            {
                this.txtEnd.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                //this.txtEnd.Text = "2024-09-24 09:52:39";
                this.btnEnd.Enabled = false;
                if (cmbEquipFile.SelectedIndex == 1)
                {
                    this.btnSave.Enabled = true;
                }
            }
        }
        private void btnLj_Click(object sender, EventArgs e)
        {
            if (this.txtEnd.Text == "")
            {
                MessageBox.Show("请点击结束按钮进行结束确认!");
            }
            else
            {
                //路径赋值给文本
                using (OpenFileDialog openFile = new OpenFileDialog())
                {
                    openFile.Multiselect = true; // 允许选择多个文件
                    DialogResult result = openFile.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        //保存按钮灰掉
                        this.btnSave.Enabled = true;
                        string selectedFolderPath = openFile.FileName;
                        this.txtLj.Text = selectedFolderPath;
                        objJsonResult = Xt_CSVReadText(openFile.FileNames, 1);
                        dt = objJsonResult.dataTable;
                        if (objJsonResult.code == "0")
                        {
                            MessageBox.Show(objJsonResult.Message);
                        }
                        else
                        {
                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                ListData.Items.Add("底孔直径:" + dt.Rows[i]["BottomHoleDiameter"].ToString() +
                                    ",有无螺牙检测数据:" + dt.Rows[i]["TestingData"].ToString() +
                                    ",有无螺牙检测结果:" + dt.Rows[i]["DetectionResult"].ToString() +
                                ",时间:" + dt.Rows[i]["HDate"].ToString());
                            }
                        }
                    }
                }
            }
        }
        //读取CSV文件数据  根据文件路径找到对应文件 并获取对应的数据
        public json Xt_CSVReadText(string[] FilePath, int num)
        {
            try
            {
                DataTable dt = new DataTable(num.ToString());
                dt.Columns.Add("BottomHoleDiameter");
                dt.Columns.Add("TestingData");
                dt.Columns.Add("DetectionResult");
                dt.Columns.Add("HDate");
                DataTable dt2 = new DataTable();
                for (int u = 0; u < FilePath.Length; u++)
                {
                    using (StreamReader sr = new StreamReader(FilePath[u], Encoding.GetEncoding("gb2312")))
                    {
                        string[] headers = sr.ReadLine()?.Split(',');
                        if (headers != null && u == 0)
                        {
                            foreach (var header in headers)
                            {
                                dt2.Columns.Add(header.Trim());
                            }
                        }
                        string line;
                        while ((line = sr.ReadLine()) != null)
                        {
                            var values = line.Split(',');
                            DataRow row = dt2.NewRow();
                            for (int i = 0; i < values.Length; i++)
                            {
                                // 这里可能需要添加类型转换和错误处理
                                row[i] = values[i].Trim();
                            }
                            dt2.Rows.Add(row);
                        }
                    }
                }
                DateTime HBegin = DateTime.Parse(this.txtBegin.Text);
                DateTime HEnd = DateTime.Parse(this.txtEnd.Text);
                for (int i = 0; i < dt2.Rows.Count; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        DateTime Now = DateTime.Parse(dt2.Rows[i][dt2.Columns[6]].ToString() + " " + dt2.Rows[i][dt2.Columns[7]].ToString());
                        if (Now >= HBegin && Now <= HEnd)
                        {
                            DataRow dr = dt.NewRow();
                            dr["BottomHoleDiameter"] = dt2.Rows[i][dt2.Columns[j]].ToString();
                            dr["TestingData"] = dt2.Rows[i][dt2.Columns[j + 2]].ToString();
                            dr["DetectionResult"] = dt2.Rows[i][dt2.Columns[j + 4]].ToString();
                            dr["HDate"] = DateTime.Parse(dt2.Rows[i][dt2.Columns[6]].ToString() + " " + dt2.Rows[i][dt2.Columns[7]].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
                            dt.Rows.Add(dr);
                        }
                    }
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.dataTable = dt;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message;
                objJsonResult.dataTable = null;
                return objJsonResult;
            }
        }
        private void txtHBathNo_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (this.txtHMakerNumber.Text == "")
                {
                    MessageBox.Show("请输入制单人信息!");
                }
                else
                {
                    Get_DisplayBard();
                }
                //this.txtHBathNo.ReadOnly = true;
            }
        }
        //查询条码数据
        public void Get_DisplayBard()
        {
            string HBarCode = this.txtHBathNo.Text;
            DataSet ds = oCN.RunProcReturn("select HBatchNo,m.HNumber,a.HMaterID from Gy_BarCodeBill a left join Gy_Material m on a.HMaterID = m.HItemID where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
            if (ds.Tables[0].Rows.Count == 0)
            {
                MessageBox.Show("条码查无数据!");
            }
            else
            {
                this.txtHBathNo.Text = ds.Tables[0].Rows[0]["HBatchNo"].ToString();
                this.txtHMaterNumber.Text = ds.Tables[0].Rows[0]["HNumber"].ToString();
                this.HMaterID.Text = ds.Tables[0].Rows[0]["HMaterID"].ToString();
            }
            this.txtHBathNo.ReadOnly = true;
        }
        private void btnRest_Click(object sender, EventArgs e)
        {
            this.txtHBathNo.Text = "";
            this.txtHMaterNumber.Text = "";
            this.HMaterID.Text = "0";
            this.txtHBathNo.ReadOnly = false;
            this.btnBegin.Enabled = true;
            this.txtBegin.Text = "";
            this.btnEnd.Enabled = true;
            this.txtEnd.Text = "";
            this.btnSave.Enabled = false;
            this.txtLj.Text = "";
            this.ListData.Items.Clear();
            this.timer.Enabled = false;
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("确认保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            if (dr == DialogResult.Yes)
            {
                string Url = DBHelper.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "Config/SQLAPI.config", "sUrl");
                //通过接口 获取token
                JsonResult_JL jsonResult = await FindAccessToken(Url);
                string EquipFile = this.cmbEquipFile.Text;
                switch (EquipFile)
                {
                    case "螺母全检":
                        SaveFullInspectionOfNuts(jsonResult.data.token, Url);
                        break;
                    case "螺母压装":
                        SaveNutPressFit(jsonResult.data.token, Url, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        break;
                    case "注塑机":
                        SaveInjectionMoldingMachine(jsonResult.data.token, Url, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        break;
                }
                this.btnSave.Enabled = false;
            }
        }
        //螺母全检保存
        public async void SaveFullInspectionOfNuts(string token, string url)
        {
            try
            {
                //获取所有设备数据
                JsonEquipmentData_JL jsonResult = await FindDeviceList(url, token);
                if (jsonResult.code != "0")
                {
                    this.btnSave.Enabled = true;
                    MessageBox.Show("设备列表报错:" + jsonResult.message);
                }
                else
                {
                    string nos = "";
                    //获取设备编码
                    for (int i = 0; i < jsonResult.data.Count; i++)
                    {
                        if (jsonResult.data[i].no == this.cmbEquipFile.SelectedValue.ToString())
                        {
                            nos = jsonResult.data[i].no;
                        }
                    }
                    //开始时间
                    string HBegin = this.txtBegin.Text;
                    //结束时间
                    string HEnd = this.txtEnd.Text;
                    //获取不良数,合数数,可疑数 总数
                    jsonResult = await FindDevicePropCalc(url, token, nos, HBegin, HEnd);
                    if (jsonResult.code != "0")
                    {
                        this.btnSave.Enabled = true;
                        MessageBox.Show("数量获取报错:" + jsonResult.message);
                    }
                    else
                    {
                        double HInSpectQty = 0;//检验数量
                        double HRightQty = 0;//合格
                        double HUnRightQty = 0;//不合格
                        double HUnKnowQty = 0;//可疑
                        for (int i = 0; i < jsonResult.data.Count; i++)
                        {
                            if (jsonResult.data[i].propId == 173)
                            {
                                //HInSpectQty = jsonResult.data[i].sum;
                            }
                            else if (jsonResult.data[i].propId == 469)
                            {
                                HRightQty = jsonResult.data[i].sum;
                            }
                            else if (jsonResult.data[i].propId == 606)
                            {
                                HUnKnowQty = jsonResult.data[i].sum;
                            }
                            else if (jsonResult.data[i].propId == 470)
                            {
                                HUnRightQty = jsonResult.data[i].sum;
                            }
                        }
                        //通过双方讨论 最终采纳 检验数量=合格+不合格+可疑
                        HInSpectQty = HRightQty + HUnKnowQty + HUnRightQty;
                        string HNumber = "";
                        int HSourceID = 0;
                        string HSourceNumber = "";
                        switch (this.cmbEquipFile.Text)
                        {
                            case "螺母全检":
                                HNumber = "LMJC";
                                HSourceNumber = "1030";
                                break;
                            case "螺母压装":
                                HNumber = "LMYZ";
                                HSourceNumber = "1029";
                                break;
                        }
                        //查询生产资源
                        DataSet dsSouce = oCN.RunProcReturn("select * from Gy_Source with(nolock) where HNumber='" + HSourceNumber + "'", "Gy_Source");
                        if (dsSouce.Tables[0].Rows.Count == 0)
                        {
                            this.btnSave.Enabled = true;
                            MessageBox.Show("生产资源查无数据!");
                        }
                        else
                        {
                            HSourceID = int.Parse(dsSouce.Tables[0].Rows[0]["HItemID"].ToString());
                            //查询检验方案
                            DataSet dataSet = oCN.RunProcReturn(@"select a.HInterID HQCSchemeID,b.HQCCheckItemID, ch.HNumber HQCCheckItemNumber,m.HNumber,HUpLimit,HDownLimit,HTargetVal,a.HProcID,b.HInspectInstruMentID
,b.HAnalysisMethod
from  Gy_QCCheckProjectMain a with(nolock)
inner join Gy_QCCheckProjectSub b with(nolock) on a.HInterID=b.HInterID
left join Gy_Material m with(nolock) on a.HMaterID=m.HItemID
left join Gy_QCCheckItem ch with(nolock) on b.HQCCheckItemID=ch.HItemID
left join Gy_InspectInstruMent ment on b.HInspectInstruMentID=ment.HItemID
where m.HNumber='" + this.txtHMaterNumber.Text + "' and ment.HNumber='" + HNumber + "'", "Gy_QCCheckProjectMain");
                            //保存数据
                            if (dataSet.Tables[0].Rows.Count > 0)
                            {
                                string sExeReturnInfo = "";
                                string BillType = "7519";
                                long HInterID = oCN.CreateBillID_Prod(BillType, ref sExeReturnInfo);
                                string HBillNo = oCN.CreateBillCode(BillType, ref sExeReturnInfo, true);
                                if (dataSet.Tables[0].Rows.Count <= dt.Columns.Count - 1)
                                {
                                    oCN.BeginTran();
                                    string HProcID = dataSet.Tables[0].Rows[0]["HProcID"].ToString();
                                    string HMaterID = this.HMaterID.Text;
                                    string HQCSchemeID = dataSet.Tables[0].Rows[0]["HQCSchemeID"].ToString();
                                    string HBatchNo = this.txtHBathNo.Text;
                                    int HLastResults = 1;
                                    for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
                                    {
                                        int HLastResult = 1;
                                        string HAnalysisMethod = dataSet.Tables[0].Rows[i]["HAnalysisMethod"].ToString();
                                        decimal HUpLimit = 0;
                                        decimal HDownLimit = 0;
                                        //分析方法 为定量分析
                                        if (HAnalysisMethod == "2")
                                        {
                                            //获取上限
                                            HUpLimit = decimal.Parse(dataSet.Tables[0].Rows[i]["HTargetVal"].ToString()) + decimal.Parse(dataSet.Tables[0].Rows[i]["HUpLimit"].ToString());
                                            //获取下限
                                            HDownLimit = decimal.Parse(dataSet.Tables[0].Rows[i]["HTargetVal"].ToString()) + decimal.Parse(dataSet.Tables[0].Rows[i]["HDownLimit"].ToString());
                                        }
                                        for (int j = 0; j < dt.Columns.Count - 1; j++)
                                        {
                                            string HQCCheckItemName = "";
                                            switch (dt.Columns[j].ColumnName)
                                            {
                                                case "BottomHoleDiameter":
                                                    HQCCheckItemName = "DKZJ";
                                                    break;
                                                case "TestingData":
                                                    HQCCheckItemName = "LYJCSJ";
                                                    break;
                                                case "DetectionResult":
                                                    HQCCheckItemName = "LYJCJG";
                                                    break;
                                            }
                                            //SRM@101.2@VEN00005@CGDD000167@1.02.002.002@20231129@1000
                                            //判断检验项目的代码 跟列名是否一致
                                            if (dataSet.Tables[0].Rows[i]["HQCCheckItemNumber"].ToString().Contains(HQCCheckItemName))
                                            {
                                                for (int k = 0; k < dt.Rows.Count; k++)
                                                {
                                                    //只取时间范围内的数据
                                                    if (DateTime.Parse(dt.Rows[k]["HDate"].ToString()) >= DateTime.Parse(HBegin) && DateTime.Parse(dt.Rows[k]["HDate"].ToString()) <= DateTime.Parse(HEnd))
                                                    {
                                                        //获取检验值
                                                        decimal HInSpectValue = decimal.Parse(dt.Rows[k][dt.Columns[j].ColumnName].ToString());
                                                        //默认值结论为合格
                                                        int HInSpectResult = 1;
                                                        //定量分析 进行判断是否满足上下限
                                                        if (HAnalysisMethod == "2")
                                                        {
                                                            HInSpectResult = (HInSpectValue > HUpLimit || HDownLimit > HInSpectValue) ? 0 : 1;
                                                        }
                                                        else
                                                        {
                                                            HInSpectResult = int.Parse(HInSpectValue.ToString());
                                                        }
                                                        //如果当前结论为合格 并且历史结论也是合格 则继续保持合格
                                                        if (HInSpectResult == 1 && HLastResult != 0)
                                                        {
                                                            HLastResult = 1;
                                                        }
                                                        else
                                                        {
                                                            HLastResult = 0;
                                                        }
                                                        oCN.RunProc("Insert into QC_StockCheckBillSub_ValueGrid " +
                          " (HInterID,HEntryID,HSEQ" +
                          ",HInSpectResult,HInSpectValue,HInSpectValueB,HInSpectValueT)" +
                          "values(" + HInterID + "," + ((i + 1)) + "," + (k + 1) + "" +
                          "," + HInSpectResult + "," + dt.Rows[k][dt.Columns[j].ColumnName].ToString() + "," + dt.Rows[k][dt.Columns[j].ColumnName].ToString() + "," + dt.Rows[k][dt.Columns[j].ColumnName].ToString() + ") ");
                                                    }
                                                }
                                                break;
                                            }
                                        }
                                        oCN.RunProc("Insert into QC_StockCheckBillSub " +
                        " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
                        ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
                        ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                        ",HQCCheckItemID,HQCStd,HUnit,HQCNote,HResult" +
                        ",HMax,HMin,HAvg,HSampleSchemeID,HSampleQty,HSampleDamageQty,HAcceptQty" +
                        ",HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectVal,HTargetVal" +
                        ",HUpLimit,HDownLimit,HUpOffSet,HDownOffSet,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" +
                        ") values("
                        + HInterID + ",'" + HBillNo + "'," + (i + 1) + ",''" +
                        ",getdate(),0,'',0" +
                        ",0,'','',0,0" +
                        "," + dataSet.Tables[0].Rows[i]["HQCCheckItemID"].ToString() + ",'" + dataSet.Tables[0].Rows[i]["HTargetVal"].ToString() + "','','','" + HLastResult + "'" +
                        ",'" + dataSet.Tables[0].Rows[i]["HUpLimit"].ToString() + "','" + dataSet.Tables[0].Rows[i]["HDownLimit"].ToString() + "','',0,0,0,0" +
                        ",0,0,'',0,'','" + dataSet.Tables[0].Rows[i]["HTargetVal"].ToString() + "'" +
                        ",'" + dataSet.Tables[0].Rows[i]["HUpLimit"].ToString() + "','" + dataSet.Tables[0].Rows[i]["HDownLimit"].ToString() + "','','',0,'" + HAnalysisMethod + "'," + dataSet.Tables[0].Rows[i]["HInspectInstruMentID"].ToString() + ",'" + HLastResult + "'" +
                        ") ");
                                        //如果当前结论为合格 并且历史结论也是合格 则继续保持合格
                                        if (HLastResult == 1 && HLastResults != 0)
                                        {
                                            HLastResults = 1;
                                        }
                                        else
                                        {
                                            HLastResults = 0;
                                        }
                                    }
                                    //主表
                                    oCN.RunProc("Insert Into QC_StockCheckBillMain " +
                                        "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
                                        ",HYear,HPeriod,HRemark" +
                                        ",HSourceID,HICMOInterID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID" +
                                        ",HProcExchBillNo,HProcExchQty,HMaterID,HFirstCheckEmp,HLastResult" +
                                        ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HICMOEntryID,HQCSchemeID,HShiftsID,HErrTreatment" +
                                        ",HProcID,HBatchNo,HInSpectQty ,HRightQty ,HUnRightQty ,HUnKnowQty " +
                                        ") " +
                                        " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "',1,getdate(),'" + this.txtHMaker.Text + "',getdate()" +
                                        "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",''" +
                                        "," + HSourceID + ",0,'',0,0,0" +
                                        ",'',0," + HMaterID + ",'" + this.labHMakerID.Text + "', " + HLastResults +
                                        ",0,0,'','',0," + HQCSchemeID + ",0,''" +
                                        "," + HProcID + ",'" + HBatchNo + "'," + HInSpectQty + "," + HRightQty + ", " + HUnRightQty + ", " + HUnKnowQty + ") ");
                                    oCN.Commit();
                                    MessageBox.Show("保存成功!");
                                    //this.btnRest.Enabled = true;
                                }
                                else
                                {
                                    this.btnSave.Enabled = true;
                                    MessageBox.Show("当前物料的检验方案与Excel的列不匹配!");
                                }
                            }
                            else
                            {
                                this.btnSave.Enabled = true;
                                MessageBox.Show("当前物料没有对应的检验方案!");
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                this.btnSave.Enabled = true;
                MessageBox.Show("保存失败!" + e.Message);
            }
        }
        //获取登录的token
        public async Task<JsonResult_JL> getUrl(string url, FormUrlEncodedContent formData)
        {
            // 创建 HttpClient 实例
            using (var client = new HttpClient())
            {
                // 发送 POST 请求,并等待响应
                HttpResponseMessage response = await client.PostAsync(url, formData);
                Dictionary<object, object> dic = new Dictionary<object, object>();
                JsonResult_JL jsonResult = new JsonResult_JL();
                // 检查响应是否成功
                if (response.IsSuccessStatusCode)
                {
                    // 处理成功响应的逻辑
                    string responseBody = await response.Content.ReadAsStringAsync();
                    jsonResult = JsonConvert.DeserializeObject<JsonResult_JL>(responseBody);
                }
                else
                {
                    // 处理失败响应的逻辑
                    MessageBox.Show("请求失败,状态码:" + response.StatusCode);
                }
                return jsonResult;
            }
        }
        /// <summary>
        /// 获取设备列表
        /// </summary>
        /// <param name="url"></param>
        /// <param name="postData"></param>
        /// <returns></returns>
        public async Task<JsonEquipmentData_JL> EquipmentList(string url, StringContent postData, string Type)
        {
            // 创建 HttpClient 实例
            using (HttpClient client = new HttpClient())
            {
                JsonEquipmentData_JL jsonResult = new JsonEquipmentData_JL();
                try
                {
                    HttpResponseMessage response;
                    if (Type == "POST")
                    {  // 发起 POST 请求
                        response = await client.PostAsync(url, postData);
                    }
                    else
                    {
                        // 发起 get 请求
                        response = await client.GetAsync(url);
                    }
                    // 确保请求成功
                    if (response.IsSuccessStatusCode)
                    {
                        // 读取响应内容
                        string responseBody = await response.Content.ReadAsStringAsync();
                        jsonResult = JsonConvert.DeserializeObject<JsonEquipmentData_JL>(responseBody);
                    }
                    else
                    {
                        MessageBox.Show($"请求失败,: {response.StatusCode}");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("请求报错:" + ex.Message);
                }
                return jsonResult;
            }
        }
        public async Task<JsonResult_JL> EquipResultList(string url, StringContent postData, string Type)
        {
            // 创建 HttpClient 实例
            using (HttpClient client = new HttpClient())
            {
                JsonResult_JL jsonResult = new JsonResult_JL();
                try
                {
                    HttpResponseMessage response;
                    if (Type == "POST")
                    {  // 发起 POST 请求
                        response = await client.PostAsync(url, postData);
                    }
                    else
                    {
                        // 发起 get 请求
                        response = await client.GetAsync(url);
                    }
                    // 确保请求成功
                    if (response.IsSuccessStatusCode)
                    {
                        // 读取响应内容
                        string responseBody = await response.Content.ReadAsStringAsync();
                        jsonResult = JsonConvert.DeserializeObject<JsonResult_JL>(responseBody);
                    }
                    else
                    {
                        MessageBox.Show($"请求失败,: {response.StatusCode}");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("请求报错:" + ex.Message);
                }
                return jsonResult;
            }
        }
        //获取tockID
        public async Task<JsonResult_JL> FindAccessToken(string url)
        {
            string urls = url + EquipmentType_JL.One;
            // 准备要发送的表单数据
            var formData = new FormUrlEncodedContent(new[]
            {
                    new KeyValuePair<string, string>("userName", "admin"),
                    new KeyValuePair<string, string>("password", "admin")
                    // 添加更多键值对,根据您的需要
                });
            JsonResult_JL jsonResult = await getUrl(urls, formData);
            return jsonResult;
        }
        //获取设备列表
        public async Task<JsonEquipmentData_JL> FindDeviceList(string url, string token)
        {
            //设备列表接口
            string urls = url + EquipmentType_JL.Two;
            // 准备要发送的表单数据
            var postData = new StringContent("{\"token\":\"" + token + "\"}", System.Text.Encoding.UTF8, "application/json");
            JsonEquipmentData_JL jsonResult = await EquipmentList(urls, postData, "POST");
            return jsonResult;
        }
        //获取良品、不良品明细、工艺参数
        public async Task<JsonEquipmentData_JL> FindAllDevicePropsDetailByTimeRange(string url, string token, string nos, string HBegin, string HEnd)
        {
            string basePropIds = DBHelper.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "Config/SQLAPI.config", "basePropIds");
            basePropIds = "[" + basePropIds + "]";
            nos = nos.Replace(",", "\",\"");
            string stringJson = "{\"token\":\"" + token + "\",\"deviceNos\":[\"" + nos + "\"],\"startTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\",\"basePropIds\":" + basePropIds + "}";
            //设备列表接口
            string urls = url + EquipmentType_JL.Nine;
            CustomWriteLog("获取工艺参数接口:'" + urls + "'", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            // 准备要发送的表单数据
            var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json");
            JsonEquipmentData_JL jsonEquipment = await EquipmentList(urls, postData, "POST");
            return jsonEquipment;
        }
        //获取不良数,合数数,可疑数 总数
        public async Task<JsonEquipmentData_JL> FindDevicePropCalc(string url, string token, string nos, string HBegin, string HEnd)
        {
            string stringJson = "{\"token\":\"" + token + "\",\"deviceNo\":\"" + nos + "\",\"propIds\":[606,173,469,470],\"beginTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\"}";
            var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json");
            string urls = url + EquipmentType_JL.Seven;
            JsonEquipmentData_JL jsonResult = await EquipmentList(urls, postData, "POST");
            return jsonResult;
        }
        //获取设备运行状态
        public async Task<JsonEquipmentData_JL> FindDeviceStatusByNos(string url, string token, string nos)
        {
            nos = nos.Replace(",", "\",\"");
            nos = "\"" + nos + "\"";
            string stringJson = "{\"token\":\"" + token + "\",\"nos\":[" + nos + "]}";
            var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json");
            string urls = url + EquipmentType_JL.Three;
            JsonEquipmentData_JL jsonResult = await EquipmentList(urls, postData, "POST");
            return jsonResult;
        }
        //获取设备时间段产量
        public async Task<JsonEquipmentData_JL> FindProdByNosAndTime(string url, string token, string nos, string HBegin, string HEnd)
        {
            nos = nos.Replace(",", "\",\"");
            nos = "\"" + nos + "\"";
            string stringJson = "{\"token\":\"" + token + "\",\"nos\":[" + nos + "],\"startTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\"}";
            var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json");
            string urls = url + EquipmentType_JL.Four;
            JsonEquipmentData_JL jsonResult = await EquipmentList(urls, postData, "POST");
            return jsonResult;
        }
        //获取设备运行时间 开机 停机 待机  关机
        public async Task<JsonResult_JL> FindDeviceStatusTimeByNo(string url, string token, string nos, string HBegin, string HEnd)
        {
            nos = nos.Replace(",", "\",\"");
            nos = "\"" + nos + "\"";
            string stringJson = "{\"token\":\"" + token + "\",\"no\":" + nos + ",\"startTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\"}";
            var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json");
            string urls = url + EquipmentType_JL.Five;
            JsonResult_JL jsonResult = await EquipResultList(urls, postData, "POST");
            return jsonResult;
        }
        //获取注塑机的 开机
        public async Task<JsonResult_JL> FindDeviceStatusTimeByNosAndOperationMode(string url, string token, string nos, string HBegin, string HEnd)
        {
            nos = nos.Replace(",", "\",\"");
            nos = "\"" + nos + "\"";
            string stringJson = "{\"token\":\"" + token + "\",\"no\":" + nos + ",\"startTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\"}";
            var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json");
            string urls = url + EquipmentType_JL.Ten;
            JsonResult_JL jsonResult = await EquipResultList(urls, postData, "POST");
            return jsonResult;
        }
        //下拉框绑定数据
        private void bindCbox()
        {
            IList<Info_JL> infoList = new List<Info_JL>();
            Info_JL info1 = new Info_JL() { Id = "CMR-QC-SE-001", Name = "螺母全检" };
            Info_JL info2 = new Info_JL() { Id = "CMR-ZZ-SE-001", Name = "螺母压装" };
            Info_JL info3 = new Info_JL() { Id = "ZSJ07", Name = "注塑机#07" };
            //Info_JL info3 = new Info_JL() { Id = "3", Name = "王五" };
            infoList.Add(info1);
            infoList.Add(info2);
            infoList.Add(info3);
            cmbEquipFile.DataSource = infoList;
            cmbEquipFile.ValueMember = "Id";
            cmbEquipFile.DisplayMember = "Name";
            this.cmbEquipFile.SelectedIndex = 0;
            this.cmbEquipFile.DropDownStyle = ComboBoxStyle.DropDownList;
        }
        //选择下拉框值更改事件
        private void cmbEquipFile_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbEquipFile.SelectedIndex == 0)
            {
                this.btnLj.Enabled = true;
                this.timer.Enabled = false;
            }
            else
            {
                this.btnLj.Enabled = false;
                DialogResult dr = MessageBox.Show("是否确认开始采集?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (dr == DialogResult.Yes)
                {
                    this.txtHBathNo.ReadOnly = true;
                    this.txtBegin.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:00");
                    //this.txtBegin.Text = "2024-11-21 13:40:27";
                    this.btnBegin.Enabled = false;
                    this.timer.Enabled = true;
                    this.Time_CLHB.Enabled = true;
                }
            }
        }
        //定时获取数据
        private async void timer_Tick(object sender, EventArgs e)
        {
            //测试全检
            //this.timer.Enabled = false;
            string Url = DBHelper.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "Config/SQLAPI.config", "sUrl");
            string urls = Url + EquipmentType_JL.One;
            // 准备要发送的表单数据
            var formData = new FormUrlEncodedContent(new[]
            {
                    new KeyValuePair<string, string>("userName", "admin"),
                    new KeyValuePair<string, string>("password", "Youngsunabc123..")
                    // 添加更多键值对,根据您的需要
                });
            JsonResult_JL jsonResult = await getUrl(urls, formData);
            string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:00");
            if (cmbEquipFile.SelectedIndex == 1)
            {
                SaveNutPressFit(Url, jsonResult.data.token, time);
            }
            else if (cmbEquipFile.SelectedIndex == 2)
            {
                SaveInjectionMoldingMachine(jsonResult.data.token, Url, time);
            }
        }
        //螺母压装采集数据 保存
        public async void SaveNutPressFit(string Url, string token, string time)
        {
            if (TimeDate == "")
            {
                TimeDate = this.txtBegin.Text;
            }
            this.timer.Enabled = false;
            JsonEquipmentData_JL jsonResult = await FindDeviceList(Url, token);
            if (jsonResult.code != "0")
            {
                MessageBox.Show("设备列表报错:" + jsonResult.message);
            }
            else
            {
                string nos = "";
                //获取去设备编码
                for (int i = 0; i < jsonResult.data.Count; i++)
                {
                    if (jsonResult.data[i].no.Contains("CMR-ZZ-SE-001"))
                    {
                        nos += jsonResult.data[i].no + ",";
                    }
                }
                nos = nos.Substring(0, nos.Length - 1);
                //TimeDate = "2024-08-14 08:30:39";
                //time = "2024-08-14 15:05:39";
                JsonEquipmentData_JL jsonEquipment = await FindAllDevicePropsDetailByTimeRange(Url, token, nos, TimeDate, time);
                var JsonData_JL = "{\"data\":[";
                for (int i = 0; i < jsonEquipment.data[0].props.Count; i++)
                {
                    for (int j = 0; j < jsonEquipment.data[0].props[i].datas.Count; j++)
                    {
                        valueData_JL value = JsonConvert.DeserializeObject<valueData_JL>(jsonEquipment.data[0].props[i].datas[j].value);
                        if (value.type == "良品")
                        {
                            JsonData_JL += "{\"HDate\":\"" + jsonEquipment.data[0].props[i].datas[j].createTime + "\",\"HTechParamName\":\"螺母是否凸出\",\"HResult\":\"OK\",\"HCount\":1,\"HSourceCode\":\"" + nos + "\"},";
                        }
                        else
                        {
                            JsonData_JL += "{\"HDate\":\"" + jsonEquipment.data[0].props[i].datas[j].createTime + "\",\"HTechParamName\":\"螺母是否凸出\",\"HResult\":\"NG\",\"HCount\":1,\"HSourceCode\":\"" + nos + "\"},";
                        }
                        JsonData_JL += "{\"HDate\":\"" + jsonEquipment.data[0].props[i].datas[j].createTime + "\",\"HTechParamName\":\"生产周期\",\"HResult\":\"" + value.beat + "\",\"HCount\":1,\"HSourceCode\":\"" + nos + "\"},";
                    }
                }
                jsonEquipment = await FindDevicePropCalc(Url, token, nos, TimeDate, time);
                for (int i = 0; i < jsonEquipment.data.Count; i++)
                {
                    //合格数
                    if (jsonEquipment.data[i].propId == 469)
                    {
                        JsonData_JL += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"良品数\",\"HResult\":\"OK\",\"HCount\":" + jsonEquipment.data[i].sum + ",\"HSourceCode\":\"" + nos + "\"},";
                    }
                    //不良数
                    else if (jsonEquipment.data[i].propId == 470)
                    {
                        JsonData_JL += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"NG数量\",\"HResult\":\"NG\",\"HCount\":" + jsonEquipment.data[i].sum + ",\"HSourceCode\":\"" + nos + "\"},";
                    }
                }
                JsonData_JL = JsonData_JL.Substring(0, JsonData_JL.Length - 1);
                JsonData_JL += "]}";
                DataSave(JsonData_JL);
                if (TimeDate != "")
                {
                    TimeDate = time;
                }
            }
        }
        //注塑机采集数据 保存
        public async void SaveInjectionMoldingMachine(string token, string Url, string time)
        {
            ListData.Items.Clear();
            if (TimeDate == "")
            {
                TimeDate = this.txtBegin.Text;
            }
            //this.timer.Enabled = false;
            //TimeDate = "2025-02-10 13:10:50";
            //time = "2025-02-10 13:11:50";
            //获取所有设备数据
            JsonEquipmentData_JL jsonResult = await FindDeviceList(Url, token);
            if (jsonResult.code != "0")
            {
                MessageBox.Show("设备列表报错:" + jsonResult.message);
            }
            else
            {
                string nos = "";
                //获取设备编码
                for (int i = 0; i < jsonResult.data.Count; i++)
                {
                    nos += jsonResult.data[i].no + ",";
                    //if (jsonResult.data[i].no.Contains("JS_ZS"))
                    //{
                    //    nos += jsonResult.data[i].no + ",";
                    //}
                }
                nos = nos.Substring(0, nos.Length - 1);
                //获取参数 获取每个设备对应的所有参数
                JsonEquipmentData_JL jsonEquipment = await FindAllDevicePropsDetailByTimeRange(Url, token, nos, TimeDate, time);
                if (jsonEquipment == null)
                {
                    CustomWriteLog("jsonEquipment对象为空", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                }
                if (jsonEquipment.data == null)
                {
                    CustomWriteLog("data属性为空", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                }
                var JsonData_JL = "{\"data\":[";
                CustomWriteLog("开始循环工艺参数总数为::'" + jsonEquipment.data.Count + "'", DateTime.Now.ToString("yyyy-MM-dd"));
                //通过每个设备进行循环赋值
                for (int i = 0; i < jsonEquipment.data.Count; i++)
                {
                    //循环 螺母压装设备对应的所有工艺参数
                    for (int j = 0; j < jsonEquipment.data[i].props.Count; j++)
                    {
                        //循环 每个参数对应的所有数据
                        for (int k = 0; k < jsonEquipment.data[i].props[j].datas.Count; k++)
                        {
                            JsonData_JL += "{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"" + jsonEquipment.data[i].props[j].propName + "\",\"HResult\":\"" + jsonEquipment.data[i].props[j].datas[k].value + "\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                            CustomWriteLog("工艺参数具体值:{\"HDate\":\"" + jsonEquipment.data[i].props[j].datas[k].createTime + "\",\"HTechParamName\":\"" + jsonEquipment.data[i].props[j].propName + "\",\"HResult\":\"" + jsonEquipment.data[i].props[j].datas[k].value + "\",\"HCount\":1,\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        }
                    }
                    //获取设备时间段产量
                    JsonEquipmentData_JL data = await FindProdByNosAndTime(Url, token, jsonEquipment.data[i].deviceNo, TimeDate, time);
                    for (int j = 0; j < data.data.Count; j++)
                    {
                        JsonData_JL += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"生产数量\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].prod + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},";
                        CustomWriteLog("{\"HDate\":\"" + time + "\",\"HTechParamName\":\"生产数量\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].prod + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"}", DateTime.Now.ToString("yyyy-MM-dd"));
                    }
                }
                CustomWriteLog("02", DateTime.Now.ToString("yyyy-MM-dd"));
                //获取设备运行状态
                var EquipmentStaus = await FindDeviceStatusByNos(Url, token, nos);
                for (int i = 0; i < EquipmentStaus.data.Count; i++)
                {
                    //卷绕  注塑  浸渍  组装  的设备运行 开关停机时间
                    if (EquipmentStaus.data[i].no.Contains("JS_RX_") || EquipmentStaus.data[i].no.Contains("JS_HX_") || EquipmentStaus.data[i].no.Contains("JS_LS_")
                        || EquipmentStaus.data[i].no.Contains("JS_YL_") || EquipmentStaus.data[i].no.Contains("JS_M2_") || EquipmentStaus.data[i].no.Contains("JS_ZS_"))
                    {
                        string HBegDate = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
                        string HEndDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:00");
                        if (DateTime.Parse(HEndDate).AddMinutes(1).ToString("yyyy-MM-dd") != DateTime.Parse(HEndDate).ToString("yyyy-MM-dd"))
                        {
                            HEndDate = DateTime.Parse(HEndDate).AddMinutes(1).ToString("yyyy-MM-dd HH:mm:00");
                        }
                        JsonResult_JL HEqDate = await FindDeviceStatusTimeByNo(Url, token, EquipmentStaus.data[i].no, HBegDate, HEndDate);
                        // 记录开机时长
                        CustomWriteLog("设备开机时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"开机时长\",\"HResult\":\"" + ((float)(HEqDate.data.onlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        // 记录关机时长
                        CustomWriteLog("设备关机时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"关机时长\",\"HResult\":\"" + ((float)(HEqDate.data.offlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        // 记录停机时长
                        CustomWriteLog("设备停机时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"停机时长\",\"HResult\":\"" + ((float)(HEqDate.data.standbyTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        // 记录运行时长
                        CustomWriteLog("设备运行时长: {\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"运行时长\",\"HResult\":\"" + ((float)(HEqDate.data.runTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"}",
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        JsonData_JL += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"开机时长\",\"HResult\":\"" + ((float)(HEqDate.data.onlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
                        JsonData_JL += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"关机时长\",\"HResult\":\"" + ((float)(HEqDate.data.offlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
                        JsonData_JL += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"停机时长\",\"HResult\":\"" + ((float)(HEqDate.data.standbyTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
                        JsonData_JL += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"运行时长\",\"HResult\":\"" + ((float)(HEqDate.data.runTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
                    }
                    string staus = "";
                    switch (EquipmentStaus.data[i].status)
                    {
                        //-1:未知,1:离线,2:待机,3:正常运行,4:告警
                        case "-1":
                            staus = "未知";
                            break;
                        case "1":
                            staus = "离线";
                            break;
                        case "2":
                            staus = "待机";
                            break;
                        case "3":
                            staus = "正常运行";
                            break;
                        case "4":
                            staus = "告警";
                            break;
                    }
                    if (jsonEquipment.data.Count > 0)
                    {
                        JsonData_JL += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"开关机状态\",\"HResult\":\"" + staus + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
                    }
                    else
                    {
                        JsonData_JL += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"开关机状态\",\"HResult\":\"" + staus + "\",\"HCount\":0,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},";
                    }
                }
                //查询当前开工的设备 获取对应的物料信息
                DataSet datable = oCN.RunProcReturn(@"select m.HNumber,eq.HEquipFileNo from Sc_ICMOBillStatus_Tmp a
                                            inner join Gy_EquipFileBillMain eq on a.HSourceID = eq.HSourceID
                                            inner join Gy_Material m on a.HMaterID = m.HItemID
                                            where a.HICMOStatus = '1' ", "Sc_ICMOBillStatus_Tmp");
                if (datable.Tables[0].Rows.Count > 0)
                {
                    for (int i = 0; i < datable.Tables[0].Rows.Count; i++)
                    {
                        string HSourceCode = datable.Tables[0].Rows[i]["HEquipFileNo"].ToString();
                        string HNumber = datable.Tables[0].Rows[i]["HNumber"].ToString();
                        JsonData_JL += "{\"HDate\":\"" + DateTime.Now.ToString() + "\",\"HTechParamName\":\"物料代码\",\"HResult\":\"" + HNumber + "\",\"HCount\":1,\"HSourceCode\":\"" + HSourceCode + "\"},";
                    }
                }
                CustomWriteLog("03", DateTime.Now.ToString("yyyy-MM-dd"));
                JsonData_JL = JsonData_JL.Substring(0, JsonData_JL.Length - 1);
                JsonData_JL += "]}";
                CustomWriteLog("结束所有", DateTime.Now.ToString("yyyy-MM-dd"));
                //保存数据
                DataSave(JsonData_JL);
                if (TimeDate != "")
                {
                    TimeDate = time;
                }
            }
        }
        //数据保存
        public void DataSave(string JsonData_JL)
        {
            JsonEquipmentData_JL data = JsonConvert.DeserializeObject<JsonEquipmentData_JL>(JsonData_JL);
            for (int i = 0; i < data.data.Count; i++)
            {
                oCN.RunProc(@"insert into Sb_EquipMentCollectionTechParam_Temp(HDate,HSourceCode,HTechParamID,HTechParamName,HCount
                ,HCreateTime,HResult,HProcNumber,HFlag)
                values(getdate(),'" + data.data[i].HSourceCode + "',0,'" + data.data[i].HTechParamName + "'," + data.data[i].HCount
                + ",'" + data.data[i].HDate + "','" + data.data[i].HResult + "','" + data.data[i].HProcNumber + "',0)");
            }
            ListData.Items.Add($"时间: {DateTime.Now:yyyy-MM-dd HH:mm:ss},加载成功");
        }
        //定时生成产量汇报单
        private async void Time_CLHB_Tick(object sender, EventArgs e)
        {
            //this.Time_CLHB.Enabled = false;
            string Url = DBHelper.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "Config/SQLAPI.config", "sUrl");
            string urls = Url + EquipmentType_JL.One;
            // 准备要发送的表单数据
            var formData = new FormUrlEncodedContent(new[]
            {
                    new KeyValuePair<string, string>("userName", "admin"),
                    new KeyValuePair<string, string>("password", "Youngsunabc123..")
                    // 添加更多键值对,根据您的需要
                });
            JsonResult_JL jsonResult = await getUrl(urls, formData);
            string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            string token = jsonResult.data.token;
            //获取所有的设备数据
            JsonEquipmentData_JL jsonEquipment = await FindDeviceList(Url, token);
            if (jsonEquipment.code != "0")
            {
                MessageBox.Show("设备列表报错:" + jsonEquipment.message);
            }
            else
            {
                string nos = "";
                //获取去设备编码
                for (int i = 0; i < jsonEquipment.data.Count; i++)
                {
                    nos += "''" + jsonEquipment.data[i].no + "'',";
                    //if (jsonEquipment.data[i].no.Contains("JS_ZS"))
                    //{
                    //    nos += "''" + jsonEquipment.data[i].no + "'',";
                    //}
                }
                nos = nos.Substring(0, nos.Length - 1);
                //this.Time_CLHB.Enabled = false;
                CustomWriteLog("产量汇报单,设备编码:'"+ nos + "'", DateTime.Now.ToString("yyyy-MM-dd"));
                //查询开工的设备信息 以及 查询当天设备对应的开工时间 和完工时间
                DataSet ds = oCN.RunProcReturn("exec h_p_Sc_TimeICMOReporList '" + nos + "'", "h_p_Sc_TimeICMOReporList");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //根据当天只开工没有完工对应的产量数据 生成产量汇报单
                    DataTable dt = ds.Tables[0];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        nos = dt.Rows[i]["设备编码"].ToString();
                        string HICMInterID = dt.Rows[i]["HInterID"].ToString();
                        string HBegDate = DateTime.Parse(dt.Rows[i]["日期"].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
                        string HEndDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                        jsonEquipment = await FindProdByNosAndTime(Url, token, nos, HBegDate, HEndDate);
                        if (decimal.Parse(jsonEquipment.data[0].prod) > 0)
                        {
                            //生成产量汇报单
                            oCN.RunProc("exec h_p_Sc_AddTimeICMORepor " + HICMInterID + "," + jsonEquipment.data[0].prod + ",'" + HEndDate + "'");
                            CustomWriteLog("生成产量汇报单1:'exec h_p_Sc_AddTimeICMORepor " + HICMInterID + "," + jsonEquipment.data[0].prod + ",'" + HEndDate + "''", DateTime.Now.ToString("yyyy-MM-dd"));
                        }
                    }
                }
                if (ds.Tables[1].Rows.Count > 0)
                {
                    //根据当天开工并且完工对应的产量数据 生成产量汇报单
                    DataTable dt = ds.Tables[1];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        nos = dt.Rows[i]["设备编码"].ToString();
                        string HICMInterID = dt.Rows[i]["HInterID"].ToString();
                        string HBegDate = DateTime.Parse(dt.Rows[i]["开始日期"].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
                        string HEndDate = DateTime.Parse(dt.Rows[i]["结束日期"].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
                        jsonEquipment = await FindProdByNosAndTime(Url, token, nos, HBegDate, HEndDate);
                        if (decimal.Parse(jsonEquipment.data[0].prod) > 0)
                        {
                            //生成产量汇报单
                            oCN.RunProc("exec h_p_Sc_AddTimeICMORepor " + HICMInterID + "," + jsonEquipment.data[0].prod + ",'" + HEndDate + "'");
                            CustomWriteLog("生成产量汇报单2:'exec h_p_Sc_AddTimeICMORepor " + HICMInterID + "," + jsonEquipment.data[0].prod + ",'" + HEndDate + "''", DateTime.Now.ToString("yyyy-MM-dd"));
                        }
                    }
                }
            }
        }
        private void EquipmentCollectionForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("确定要关闭吗?", "确认", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                e.Cancel = true;
            }
        }
        private void txtHMaker_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtHMaker.Text))
            {
                this.txtHMaker.ForeColor = Color.LightGray;
                txtHMaker.Text = "请输入用户编码!";
            }
        }
        private void txtHMaker_Enter(object sender, EventArgs e)
        {
            if (txtHMaker.Text.Trim() == "请输入用户编码!")
            {
                txtHMaker.Text = "";
                this.txtHMaker.ForeColor = Color.Black;
            }
        }
        private void txtHMaker_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                SelectHMaker(this.txtHMaker.Text);
            }
        }
        //查询职员信息
        public void SelectHMaker(string txtHMaker)
        {
            try
            {
                DataSet ds = oCN.RunProcReturn("select  HItemID,HName,HNumber from Gy_Employee where HNumber='" + txtHMaker + "' or HName ='" + txtHMaker + "'", "Gy_Employee");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    string HName = ds.Tables[0].Rows[0]["HName"].ToString();
                    string HMakerID = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    string HNumber = ds.Tables[0].Rows[0]["HNumber"].ToString();
                    this.txtHMaker.Text = HName;
                    this.txtHMakerNumber.Text = HNumber;
                    this.labHMakerID.Text = HMakerID;
                    this.txtHMaker.ReadOnly = true;
                }
                else
                {
                    MessageBox.Show(this, "编码:" + txtHMaker + ",查无数据,可能是输入编码有误!", "提示");
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(this, e.Message, "提示");
            }
        }
        private void EquipmentCollectionForm_Activated(object sender, EventArgs e)
        {
            //光标选中制单人
            this.txtHMaker.Focus();
        }
        private static readonly object lockObj = new object();
        //写日志
        public static void CustomWriteLog(object obj, string FileName, string filePath = "Vlog", bool isAppend = true)
        {
            try
            {
                lock (lockObj)
                {
                    filePath = $@"{filePath}\{FileName}.txt";
                    filePath = AppDomain.CurrentDomain.BaseDirectory + filePath;
                    if (!System.IO.Directory.Exists(Path.GetDirectoryName(filePath)))
                    {
                        System.IO.Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                    }
                    bool fileExists = System.IO.File.Exists(filePath);
                    //不存在 则创建该文件
                    if (!fileExists)
                    {
                        System.IO.File.Create(filePath).Close();
                    }
                    using (StreamWriter writer = new StreamWriter(filePath, isAppend))
                    {
                        //存在的时候才写一行
                        if (fileExists && isAppend)
                        {
                            writer.WriteLine();
                        }
                        var content = obj is string ? obj : JsonConvert.SerializeObject(obj);
                        writer.WriteLine($"{DateTime.Now} {content}");
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
    }
    public class JsonResult_JL
    {
        public string code { get; set; }
        public string message { get; set; }
        public string expirationTime { get; set; }
        public string token { get; set; }
        public JsonData_JL data { get; set; }
    }
    public class JsonEquipmentData_JL
    {
        public string code { get; set; }
        public string message { get; set; }
        public string expirationTime { get; set; }
        public string token { get; set; }
        public string deviceNo { get; set; }
        public string deviceName { get; set; }
        public string deviceStatus { get; set; }
        public List<JsonData_JL> data { get; set; }
    }
    public class JsonData_JL
    {
        public double onlineTime { get; set; }
        public double offlineTime { get; set; }
        public double standbyTime { get; set; }
        public double runTime { get; set; }
        public string expirationTime { get; set; }
        public string token { get; set; }
        public string deviceNo { get; set; }
        public List<propsData_JL> props { get; set; }
        public string area { get; set; }
        public string no { get; set; }
        public string name { get; set; }
        public string status { get; set; }
        public string prod { get; set; }
        public string propName { get; set; }
        public string basePropId { get; set; }
        public string value { get; set; }
        public string time { get; set; }
        public int propId { get; set; }
        public double count { get; set; }
        public double min { get; set; }
        public double max { get; set; }
        public double avg { get; set; }
        public double sum { get; set; }
        public string createTime { get; set; }
        public string happenTime { get; set; }
        public string HDate { get; set; }
        public string HTechParamName { get; set; }
        public string HResult { get; set; }
        public string HCount { get; set; }
        public string HSourceCode { get; set; }
        public string HProcNumber { get; set; }
    }
    public class propsData_JL
    {
        public string propName { get; set; }
        public List<JsonData_JL> datas { get; set; }
        public string basePropId { get; set; }
    }
    public class valueData_JL
    {
        public string beat { get; set; }
        public string type { get; set; }
    }
    //设备接口
    public static class EquipmentType_JL
    {
        //设备 获取令牌
        public static string One = "/api/third/findAccessToken";
        //设备列表
        public static string Two = "/api/third/findDeviceList";
        //设备状态
        public static string Three = "/api/third/findDeviceStatusByNos";
        //设备产量
        public static string Four = "/api/third/findProdByNosAndTime";
        //设备时长
        public static string Five = "/api/third/findDeviceStatusTimeByNo";
        //属性列表
        public static string Six = "/api/third/findPropertyListByNos";
        //产量,不良数,合格数,可疑数 总数
        public static string Seven = "/api/third/findDevicePropCalc";
        //一段时间内设备状态的获取
        public static string Eight = "/api/third/dayDeviceStatusTimeline";
        //良品 不良品 明细 注塑机数据
        public static string Nine = "/api/third/findAllDevicePropsDetailByTimeRange";
        //注塑机开机时长 根据 操作模式采集
        public static string Ten = "/api/third/findDeviceStatusTimeByNosAndOperationMode";
        //public static string Eleven = "Monday";
        //public static string Twelve = "Monday";
    }
    public class Info_JL
    {
        public string Id { get; set; }
        public string Name { get; set; }
    }
}
WFormSynchronizeData_SMR/EquipmentCollectionForm/EquipmentCollectionForm_JiuLing.resx
New file
@@ -0,0 +1,126 @@
<?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>
  <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
  <metadata name="Time_CLHB.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>125, 17</value>
  </metadata>
</root>
WFormSynchronizeData_SMR/EquipmentCollectionForm/Program.cs
@@ -16,7 +16,8 @@
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new EquipmentCollectionForm());
            //Application.Run(new EquipmentCollectionForm());//斯莫尔
            Application.Run(new EquipmentCollectionForm_JiuLing());//九菱
        }
    }
}
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/Config/SQLAPI.config
@@ -2,19 +2,39 @@
<configuration>
    <appSettings>
        <!--斯莫尔-->
        <add key="sServer" value="30.10.7.6"></add>
        <!--<add key="sServer" value="30.10.7.6"></add>
        <add key="sDataBase" value="HX_LMESsys_test"></add>
        <add key="sUser" value="HX_USER"></add>
        <add key="sPassword" value="lc@841022"></add>
        <add key="basePropIds" value="173,279,473,474,489,508,513, 562, 563, 564, 565, 566, 567, 568, 569, 570,571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,593, 594, 595, 597, 600, 601, 602, 603, 604, 605,609,608,610,611,612,613,614,615,616,617,618,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,643,645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679"></add>
        <add key="basePropIds" value="173,279,473,474,489,508,513, 562, 563, 564, 565, 566, 567, 568, 569, 570,571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,593, 594, 595, 597, 600, 601, 602, 603, 604, 605,609,608,610,611,612,613,614,615,616,617,618,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,643,645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679"></add>-->
        <!--内部测试-->
        <!--<add key="sUrl" value="https://30.10.7.6:8066"></add>-->
        <!--斯莫尔外网测试-->
        <add key="sUrl" value="https://hzsme.nps.iiot.youngsunnb.com/"></add>
        <!--<add key="sUrl" value="https://hzsme.nps.iiot.youngsunnb.com/"></add>-->
        <!--47-->
        <!--<add key="sServer" value="47.96.97.237,15127"></add>
        <add key="sDataBase" value="HX_LMESsys"></add>
        <add key="sUser" value="HX_USER"></add>
        <add key="sPassword" value="lc@841022"></add>-->
        <!--九菱-->
        <add key="sServer" value="192.168.2.10"></add>
        <add key="sDataBase" value="HX_LMESsys"></add>
        <add key="sUser" value="HX_USER"></add>
        <add key="sPassword" value="lc@841022"></add>
        <add key="sUrl" value="http://192.168.2.200:8080/"></add>
        <add key="basePropIds" value="174,175,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,349,427,527,528,423,529,530,531,
             532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,347,346,554,555,556,557,558,559,560,561,
             562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,
             594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,
             626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,
             658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,
             690,691,692,693,694,695,696,697,370,372,371,439,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,173,
             272,717,718,719,720,721,722,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,
             755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,
             787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,
             819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,
             851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,
             883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,289,295,909,287,292,291,
             275,910,288,911,912,430,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934"></add>
    </appSettings>
</configuration>
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/EquipmentCollectionForm.exe
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/EquipmentCollectionForm.pdb
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/bin/Debug/Vlog/2025-06-11.txt
New file
@@ -0,0 +1,229 @@
2025/6/11 12:49:06 01
2025/6/11 12:52:18 01
2025/6/11 12:52:24 01
2025/6/11 13:45:26 01
2025/6/11 13:45:33 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:45:33 {"HDate":"2025-06-11 13:45:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 13:45:34 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:45:34 {"HDate":"2025-06-11 13:45:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 13:45:34 02
2025/6/11 13:47:27 01
2025/6/11 13:47:27 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:47:27 {"HDate":"2025-06-11 13:47:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 13:47:27 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:47:27 {"HDate":"2025-06-11 13:47:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_29"}
2025/6/11 13:47:27 02
2025/6/11 13:47:28 03
2025/6/11 13:48:23 01
2025/6/11 13:48:23 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:48:23 {"HDate":"2025-06-11 13:48:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 13:48:23 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:48:23 {"HDate":"2025-06-11 13:48:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 13:48:23 02
2025/6/11 13:48:23 03
2025/6/11 13:55:42 01
2025/6/11 13:55:42 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:55:42 {"HDate":"2025-06-11 13:55:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 13:55:42 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:55:42 {"HDate":"2025-06-11 13:55:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 13:55:42 02
2025/6/11 13:55:43 03
2025/6/11 13:56:42 01
2025/6/11 13:56:42 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:56:42 {"HDate":"2025-06-11 13:56:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 13:56:42 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:56:42 {"HDate":"2025-06-11 13:56:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_29"}
2025/6/11 13:56:42 02
2025/6/11 13:56:42 03
2025/6/11 13:58:03 01
2025/6/11 13:58:03 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:58:03 {"HDate":"2025-06-11 13:58:00","HTechParamName":"生产数量","HResult":"OK","HCount":8,"HSourceCode":"JS_ZS_37"}
2025/6/11 13:58:03 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 13:58:03 {"HDate":"2025-06-11 13:58:00","HTechParamName":"生产数量","HResult":"OK","HCount":8,"HSourceCode":"JS_ZS_29"}
2025/6/11 13:58:03 02
2025/6/11 13:58:04 03
2025/6/11 13:58:42 01
2025/6/11 14:02:24 01
2025/6/11 14:02:24 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:02:24 {"HDate":"2025-06-11 14:02:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:02:24 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:02:24 {"HDate":"2025-06-11 14:02:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:02:24 02
2025/6/11 14:02:25 03
2025/6/11 14:03:23 01
2025/6/11 14:03:24 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:03:24 {"HDate":"2025-06-11 14:03:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:03:24 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:03:24 {"HDate":"2025-06-11 14:03:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:03:24 02
2025/6/11 14:03:24 03
2025/6/11 14:08:50 01
2025/6/11 14:08:50 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:08:50 {"HDate":"2025-06-11 14:08:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:08:50 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:08:50 {"HDate":"2025-06-11 14:08:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:08:50 02
2025/6/11 14:08:50 03
2025/6/11 14:32:38 01
2025/6/11 14:32:38 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:32:38 {"HDate":"2025-06-11 14:32:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:32:38 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:32:38 {"HDate":"2025-06-11 14:32:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:32:38 02
2025/6/11 14:32:38 03
2025/6/11 14:33:10 01
2025/6/11 14:33:10 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:33:10 {"HDate":"2025-06-11 14:33:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:33:10 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:33:10 {"HDate":"2025-06-11 14:33:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:33:10 02
2025/6/11 14:33:10 03
2025/6/11 14:43:46 01
2025/6/11 14:43:52 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:43:53 {"HDate":"2025-06-11 14:42:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:43:57 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:43:57 {"HDate":"2025-06-11 14:42:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:43:57 02
2025/6/11 14:43:57 03
2025/6/11 14:47:44 01
2025/6/11 14:47:44 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:47:44 {"HDate":"2025-06-11 14:46:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:47:44 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:47:44 {"HDate":"2025-06-11 14:46:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:47:44 02
2025/6/11 14:47:44 03
2025/6/11 14:48:01 01
2025/6/11 14:48:01 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:48:01 {"HDate":"2025-06-11 14:47:00","HTechParamName":"生产数量","HResult":"OK","HCount":5,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:48:02 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:48:02 {"HDate":"2025-06-11 14:47:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:48:02 02
2025/6/11 14:48:02 03
2025/6/11 14:48:48 01
2025/6/11 14:48:48 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:48:48 {"HDate":"2025-06-11 14:48:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:48:48 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:48:48 {"HDate":"2025-06-11 14:48:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:48:48 02
2025/6/11 14:48:48 03
2025/6/11 14:49:48 01
2025/6/11 14:49:48 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:49:48 {"HDate":"2025-06-11 14:49:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_29"}
2025/6/11 14:49:48 'System.Collections.Generic.List`1[EquipmentCollectionForm.JsonData_JL]'
2025/6/11 14:49:48 {"HDate":"2025-06-11 14:49:00","HTechParamName":"生产数量","HResult":"OK","HCount":4,"HSourceCode":"JS_ZS_37"}
2025/6/11 14:49:48 02
2025/6/11 14:49:48 03
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.EquipmentCollectionForm_JiuLing.resources
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.AssemblyReference.cache
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
7b8df97010623407137a76d178c6f38c03cae1d7
871a7c43056aeb42997e224162bd497a3a3ec561
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.FileListAbsolute.txt
@@ -24,3 +24,17 @@
D:\工作代码\智云迈思\插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.csproj.CopyComplete
D:\工作代码\智云迈思\插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.exe
D:\工作代码\智云迈思\插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\bin\Debug\EquipmentCollectionForm.exe.config
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\bin\Debug\EquipmentCollectionForm.exe
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\bin\Debug\EquipmentCollectionForm.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\bin\Debug\Newtonsoft.Json.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\bin\Debug\Newtonsoft.Json.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.EquipmentCollectionForm.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.Properties.Resources.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.csproj.GenerateResource.cache
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.csproj.CoreCompileInputs.cache
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.csproj.CopyComplete
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.exe
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.EquipmentCollectionForm_JiuLing.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\EquipmentCollectionForm\obj\Debug\EquipmentCollectionForm.csproj.AssemblyReference.cache
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.csproj.GenerateResource.cache
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.exe
Binary files differ
WFormSynchronizeData_SMR/EquipmentCollectionForm/obj/Debug/EquipmentCollectionForm.pdb
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/Program.cs
@@ -16,7 +16,8 @@
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new ReadCSV_New());
            //Application.Run(new ReadCoordinateExcelFrom());
            Application.Run(new ZZ_GlueWeigh());//点胶称重
        }
    }
}
WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCoordinateExcelFrom.cs
@@ -536,7 +536,7 @@
                    oCN.Commit();
                    MessageBox.Show("保存成功!");
                    MessageBox.Show("保存成功! 检验单号:"+ HBillNo);
                }
            }
@@ -641,7 +641,7 @@
                    oCN.Commit();
                    MessageBox.Show("保存成功!");
                    MessageBox.Show("保存成功! 检验单号:" + HBillNo);
                }
            }
            catch (Exception e)
@@ -756,7 +756,7 @@
                    oCN.Commit();
                    MessageBox.Show("保存成功!");
                    MessageBox.Show("保存成功! 检验单号:" + HBillNo);
                }
            }
            catch (Exception e)
WFormSynchronizeData_SMR/WFormReadData_SMR/ZZ_GlueWeigh.Designer.cs
@@ -58,42 +58,45 @@
            // AfterWeigh
            // 
            this.AfterWeigh.Enabled = false;
            this.AfterWeigh.Location = new System.Drawing.Point(327, 188);
            this.AfterWeigh.Location = new System.Drawing.Point(291, 157);
            this.AfterWeigh.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.AfterWeigh.Name = "AfterWeigh";
            this.AfterWeigh.Size = new System.Drawing.Size(133, 28);
            this.AfterWeigh.Size = new System.Drawing.Size(119, 25);
            this.AfterWeigh.TabIndex = 38;
            // 
            // label5
            // 
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(242, 194);
            this.label5.Location = new System.Drawing.Point(215, 162);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(89, 18);
            this.label5.Size = new System.Drawing.Size(75, 15);
            this.label5.TabIndex = 37;
            this.label5.Text = "底部重量:";
            // 
            // BeforeWeigh
            // 
            this.BeforeWeigh.Enabled = false;
            this.BeforeWeigh.Location = new System.Drawing.Point(104, 186);
            this.BeforeWeigh.Location = new System.Drawing.Point(92, 155);
            this.BeforeWeigh.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.BeforeWeigh.Name = "BeforeWeigh";
            this.BeforeWeigh.Size = new System.Drawing.Size(121, 28);
            this.BeforeWeigh.Size = new System.Drawing.Size(108, 25);
            this.BeforeWeigh.TabIndex = 35;
            // 
            // label6
            // 
            this.label6.AutoSize = true;
            this.label6.Location = new System.Drawing.Point(12, 191);
            this.label6.Location = new System.Drawing.Point(11, 159);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(89, 18);
            this.label6.Size = new System.Drawing.Size(75, 15);
            this.label6.TabIndex = 36;
            this.label6.Text = "顶部重量:";
            // 
            // btnRep
            // 
            this.btnRep.Location = new System.Drawing.Point(471, 105);
            this.btnRep.Location = new System.Drawing.Point(419, 87);
            this.btnRep.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnRep.Name = "btnRep";
            this.btnRep.Size = new System.Drawing.Size(78, 38);
            this.btnRep.Size = new System.Drawing.Size(69, 32);
            this.btnRep.TabIndex = 40;
            this.btnRep.Text = "更换";
            this.btnRep.UseVisualStyleBackColor = true;
@@ -101,9 +104,10 @@
            // 
            // btnSave
            // 
            this.btnSave.Location = new System.Drawing.Point(576, 107);
            this.btnSave.Location = new System.Drawing.Point(512, 89);
            this.btnSave.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnSave.Name = "btnSave";
            this.btnSave.Size = new System.Drawing.Size(78, 38);
            this.btnSave.Size = new System.Drawing.Size(69, 32);
            this.btnSave.TabIndex = 41;
            this.btnSave.Text = "保存";
            this.btnSave.UseVisualStyleBackColor = true;
@@ -116,51 +120,54 @@
            "首件检验单",
            "工序检验单",
            "巡检检验单"});
            this.cmbJYSelect.Location = new System.Drawing.Point(104, 98);
            this.cmbJYSelect.Location = new System.Drawing.Point(92, 82);
            this.cmbJYSelect.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.cmbJYSelect.Name = "cmbJYSelect";
            this.cmbJYSelect.Size = new System.Drawing.Size(121, 26);
            this.cmbJYSelect.Size = new System.Drawing.Size(108, 23);
            this.cmbJYSelect.TabIndex = 43;
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(9, 102);
            this.label1.Location = new System.Drawing.Point(8, 85);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(89, 18);
            this.label1.Size = new System.Drawing.Size(75, 15);
            this.label1.TabIndex = 42;
            this.label1.Text = "检验类型:";
            // 
            // labHMakerID
            // 
            this.labHMakerID.AutoSize = true;
            this.labHMakerID.Location = new System.Drawing.Point(611, 30);
            this.labHMakerID.Location = new System.Drawing.Point(543, 25);
            this.labHMakerID.Name = "labHMakerID";
            this.labHMakerID.Size = new System.Drawing.Size(107, 18);
            this.labHMakerID.Size = new System.Drawing.Size(95, 15);
            this.labHMakerID.TabIndex = 48;
            this.labHMakerID.Text = "labHMakerID";
            this.labHMakerID.Visible = false;
            // 
            // txtHMakerNumber
            // 
            this.txtHMakerNumber.Location = new System.Drawing.Point(327, 20);
            this.txtHMakerNumber.Location = new System.Drawing.Point(291, 17);
            this.txtHMakerNumber.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtHMakerNumber.Name = "txtHMakerNumber";
            this.txtHMakerNumber.Size = new System.Drawing.Size(161, 28);
            this.txtHMakerNumber.Size = new System.Drawing.Size(144, 25);
            this.txtHMakerNumber.TabIndex = 47;
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(268, 27);
            this.label2.Location = new System.Drawing.Point(238, 22);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(53, 18);
            this.label2.Size = new System.Drawing.Size(45, 15);
            this.label2.TabIndex = 46;
            this.label2.Text = "编码:";
            // 
            // txtHMaker
            // 
            this.txtHMaker.Location = new System.Drawing.Point(104, 27);
            this.txtHMaker.Location = new System.Drawing.Point(92, 22);
            this.txtHMaker.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtHMaker.Name = "txtHMaker";
            this.txtHMaker.Size = new System.Drawing.Size(121, 28);
            this.txtHMaker.Size = new System.Drawing.Size(108, 25);
            this.txtHMaker.TabIndex = 31;
            this.txtHMaker.Enter += new System.EventHandler(this.textBox2_Enter);
            this.txtHMaker.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox2_KeyDown);
@@ -169,67 +176,71 @@
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(26, 32);
            this.label3.Location = new System.Drawing.Point(23, 27);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(71, 18);
            this.label3.Size = new System.Drawing.Size(60, 15);
            this.label3.TabIndex = 45;
            this.label3.Text = "制单人:";
            // 
            // cmbPro
            // 
            this.cmbPro.FormattingEnabled = true;
            this.cmbPro.Location = new System.Drawing.Point(104, 144);
            this.cmbPro.Location = new System.Drawing.Point(92, 120);
            this.cmbPro.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.cmbPro.Name = "cmbPro";
            this.cmbPro.Size = new System.Drawing.Size(121, 26);
            this.cmbPro.Size = new System.Drawing.Size(108, 23);
            this.cmbPro.TabIndex = 50;
            // 
            // txtPro
            // 
            this.txtPro.AutoSize = true;
            this.txtPro.Location = new System.Drawing.Point(45, 148);
            this.txtPro.Location = new System.Drawing.Point(40, 123);
            this.txtPro.Name = "txtPro";
            this.txtPro.Size = new System.Drawing.Size(53, 18);
            this.txtPro.Size = new System.Drawing.Size(45, 15);
            this.txtPro.TabIndex = 49;
            this.txtPro.Text = "工序:";
            // 
            // label4
            // 
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(304, 66);
            this.label4.Location = new System.Drawing.Point(270, 55);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(71, 18);
            this.label4.Size = new System.Drawing.Size(60, 15);
            this.label4.TabIndex = 54;
            this.label4.Text = "批次码:";
            // 
            // txtPcm
            // 
            this.txtPcm.Location = new System.Drawing.Point(372, 61);
            this.txtPcm.Location = new System.Drawing.Point(331, 51);
            this.txtPcm.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtPcm.Name = "txtPcm";
            this.txtPcm.Size = new System.Drawing.Size(116, 28);
            this.txtPcm.Size = new System.Drawing.Size(104, 25);
            this.txtPcm.TabIndex = 53;
            // 
            // txtLzk
            // 
            this.txtLzk.Location = new System.Drawing.Point(104, 61);
            this.txtLzk.Location = new System.Drawing.Point(92, 51);
            this.txtLzk.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.txtLzk.Name = "txtLzk";
            this.txtLzk.Size = new System.Drawing.Size(194, 28);
            this.txtLzk.Size = new System.Drawing.Size(173, 25);
            this.txtLzk.TabIndex = 52;
            this.txtLzk.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtLzk_KeyDown);
            // 
            // label7
            // 
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(26, 66);
            this.label7.Location = new System.Drawing.Point(23, 55);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(71, 18);
            this.label7.Size = new System.Drawing.Size(60, 15);
            this.label7.TabIndex = 51;
            this.label7.Text = "流转卡:";
            // 
            // btnHMaker
            // 
            this.btnHMaker.Location = new System.Drawing.Point(511, 13);
            this.btnHMaker.Location = new System.Drawing.Point(454, 11);
            this.btnHMaker.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnHMaker.Name = "btnHMaker";
            this.btnHMaker.Size = new System.Drawing.Size(94, 38);
            this.btnHMaker.Size = new System.Drawing.Size(84, 32);
            this.btnHMaker.TabIndex = 55;
            this.btnHMaker.Text = "更换用户";
            this.btnHMaker.UseVisualStyleBackColor = true;
@@ -238,17 +249,19 @@
            // ListData
            // 
            this.ListData.FormattingEnabled = true;
            this.ListData.ItemHeight = 18;
            this.ListData.Location = new System.Drawing.Point(2, 232);
            this.ListData.ItemHeight = 15;
            this.ListData.Location = new System.Drawing.Point(2, 193);
            this.ListData.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.ListData.Name = "ListData";
            this.ListData.Size = new System.Drawing.Size(776, 292);
            this.ListData.Size = new System.Drawing.Size(690, 244);
            this.ListData.TabIndex = 56;
            // 
            // btnBeFoSelect
            // 
            this.btnBeFoSelect.Location = new System.Drawing.Point(480, 181);
            this.btnBeFoSelect.Location = new System.Drawing.Point(427, 151);
            this.btnBeFoSelect.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.btnBeFoSelect.Name = "btnBeFoSelect";
            this.btnBeFoSelect.Size = new System.Drawing.Size(125, 38);
            this.btnBeFoSelect.Size = new System.Drawing.Size(111, 32);
            this.btnBeFoSelect.TabIndex = 39;
            this.btnBeFoSelect.Text = "查询重量";
            this.btnBeFoSelect.UseVisualStyleBackColor = true;
@@ -257,9 +270,9 @@
            // label8
            // 
            this.label8.AutoSize = true;
            this.label8.Location = new System.Drawing.Point(268, 107);
            this.label8.Location = new System.Drawing.Point(238, 89);
            this.label8.Name = "label8";
            this.label8.Size = new System.Drawing.Size(53, 18);
            this.label8.Size = new System.Drawing.Size(45, 15);
            this.label8.TabIndex = 58;
            this.label8.Text = "设备:";
            // 
@@ -268,18 +281,19 @@
            this.cmbEquip.FormattingEnabled = true;
            this.cmbEquip.Items.AddRange(new object[] {
            "全部",
            "组装1",
            "组装2"});
            this.cmbEquip.Location = new System.Drawing.Point(327, 102);
            "组装2",
            "组装3"});
            this.cmbEquip.Location = new System.Drawing.Point(291, 85);
            this.cmbEquip.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.cmbEquip.Name = "cmbEquip";
            this.cmbEquip.Size = new System.Drawing.Size(121, 26);
            this.cmbEquip.Size = new System.Drawing.Size(108, 23);
            this.cmbEquip.TabIndex = 57;
            // 
            // ZZ_GlueWeigh
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(784, 533);
            this.ClientSize = new System.Drawing.Size(697, 444);
            this.Controls.Add(this.label8);
            this.Controls.Add(this.cmbEquip);
            this.Controls.Add(this.ListData);
@@ -304,6 +318,7 @@
            this.Controls.Add(this.label5);
            this.Controls.Add(this.BeforeWeigh);
            this.Controls.Add(this.label6);
            this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.Name = "ZZ_GlueWeigh";
            this.Text = "点胶称重";
            this.Activated += new System.EventHandler(this.ZZ_GlueWeigh_Activated);
WFormSynchronizeData_SMR/WFormReadData_SMR/ZZ_GlueWeigh.cs
@@ -146,10 +146,10 @@
                string HNumber = "";
                switch (cmbEquip)
                {
                    case "组装1":
                    case "组装2":
                        HNumber = "CMR-ZD-SD-002S2";  // CMR-ZD-SD-002
                        break;
                    case "组装2":
                    case "组装3":
                        HNumber = "CMR-ZD-SD-006S2";  //  CMR-ZD-SD-004
                        break;
                    default:
WFormSynchronizeData_SMR/WFormReadData_SMR/bin/Debug/WFormReadData_SMR.exe
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/bin/Debug/WFormReadData_SMR.pdb
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.AssemblyReference.cache
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
4e64d6417effead0601237ab1f2ba09cb6ee9653
163f08f15d14d2b8fd16bc5ab8d0fe7bc8b936a7
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.FileListAbsolute.txt
@@ -77,3 +77,44 @@
D:\工作代码\智云迈思\插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.pdb
D:\工作代码\智云迈思\插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ReadyDataForm_New.resources
D:\工作代码\智云迈思\插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ReadCSV_New.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\HslCommunication.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\WFormReadData_SMR.exe.config
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\WFormReadData_SMR.exe
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\WFormReadData_SMR.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\BouncyCastle.Crypto.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\DocumentFormat.OpenXml.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\DocumentFormat.OpenXml.Framework.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\ICSharpCode.SharpZipLib.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\Newtonsoft.Json.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OOXML.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OpenXml4Net.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OpenXmlFormats.dll
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\BouncyCastle.Crypto.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\DocumentFormat.OpenXml.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\DocumentFormat.OpenXml.Framework.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\HslCommunication.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\ICSharpCode.SharpZipLib.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\ICSharpCode.SharpZipLib.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\Newtonsoft.Json.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OOXML.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OOXML.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OpenXml4Net.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OpenXml4Net.xml
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\bin\Debug\NPOI.OpenXmlFormats.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.JZ_ReadDate.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.Properties.Resources.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ReadCoordinateExcelFrom.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ReadCSV_New.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ReadCSV.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ReadyDataForm_New.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ReadyDataForm.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.ZZ_GlueWeigh.resources
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.csproj.GenerateResource.cache
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.csproj.CoreCompileInputs.cache
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.csproj.CopyComplete
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.exe
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.pdb
D:\工作代码\智云迈思\单品过站插件\WFormSynchronizeData_SMR\WFormSynchronizeData_SMR\WFormReadData_SMR\obj\Debug\WFormReadData_SMR.csproj.AssemblyReference.cache
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.csproj.GenerateResource.cache
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.exe
Binary files differ
WFormSynchronizeData_SMR/WFormReadData_SMR/obj/Debug/WFormReadData_SMR.pdb
Binary files differ
WFormSynchronizeData_SMR/WFormSynchronizeData_SMR/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Binary files differ
WFormSynchronizeData_SMR/WFormSynchronizeData_SMR/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
WFormSynchronizeData_SMR/WFormSynchronizeData_SMR/obj/Debug/WFormSynchronizeData_SMR.csproj.AssemblyReference.cache
Binary files differ