| | |
| | | this.txtHMaker.Text = "请输入用户编码!"; |
| | | |
| | | bindCbox(); |
| | | |
| | | |
| | | } |
| | | |
| | | private void btnBegin_Click(object sender, EventArgs e) |
| | | private void btnBegin_Click(object sender, EventArgs e) |
| | | { |
| | | if (this.txtHBathNo.Text == "" || this.txtHBathNo.ReadOnly == false) |
| | | //if (false) |
| | |
| | | ",有无螺牙检测结果:" + dt.Rows[i]["DetectionResult"].ToString() + |
| | | ",时间:" + dt.Rows[i]["HDate"].ToString()); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | 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) { |
| | | 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(); |
| | |
| | | { |
| | | MessageBox.Show("请输入制单人信息!"); |
| | | } |
| | | else { |
| | | else |
| | | { |
| | | Get_DisplayBard(); |
| | | } |
| | | //this.txtHBathNo.ReadOnly = true; |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | //查询条码数据 |
| | | public void Get_DisplayBard() { |
| | | 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"); |
| | | |
| | |
| | | { |
| | | MessageBox.Show("条码查无数据!"); |
| | | } |
| | | else { |
| | | 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(); |
| | |
| | | { |
| | | DialogResult dr = MessageBox.Show("确认保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); |
| | | |
| | | if (dr == DialogResult.Yes) { |
| | | if (dr == DialogResult.Yes) |
| | | { |
| | | |
| | | string Url = DBHelper.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "Config/SQLAPI.config", "sUrl"); |
| | | //通过接口 获取token |
| | |
| | | } |
| | | |
| | | //螺母全检保存 |
| | | public async void SaveFullInspectionOfNuts(string token,string url) { |
| | | public async void SaveFullInspectionOfNuts(string token, string url) |
| | | { |
| | | try |
| | | { |
| | | |
| | | |
| | | //获取所有设备数据 |
| | | JsonEquipmentData jsonResult =await FindDeviceList(url, token); |
| | | JsonEquipmentData jsonResult = await FindDeviceList(url, token); |
| | | |
| | | if (jsonResult.code != "0") |
| | | { |
| | |
| | | this.btnSave.Enabled = true; |
| | | MessageBox.Show("数量获取报错:" + jsonResult.message); |
| | | } |
| | | else { |
| | | else |
| | | { |
| | | double HInSpectQty = 0;//检验数量 |
| | | double HRightQty = 0;//合格 |
| | | double HUnRightQty = 0;//不合格 |
| | |
| | | this.btnSave.Enabled = true; |
| | | MessageBox.Show("生产资源查无数据!"); |
| | | } |
| | | else { |
| | | else |
| | | { |
| | | |
| | | HSourceID = int.Parse(dsSouce.Tables[0].Rows[0]["HItemID"].ToString()); |
| | | |
| | |
| | | //分析方法 为定量分析 |
| | | 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()); |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取设备列表 |
| | | /// </summary> |
| | | /// <param name="url"></param> |
| | | /// <param name="postData"></param> |
| | | /// <returns></returns> |
| | | public async Task<JsonEquipmentData> EquipmentList(string url, StringContent postData,string Type) |
| | | /// <summary> |
| | | /// 获取设备列表 |
| | | /// </summary> |
| | | /// <param name="url"></param> |
| | | /// <param name="postData"></param> |
| | | /// <returns></returns> |
| | | public async Task<JsonEquipmentData> EquipmentList(string url, StringContent postData, string Type) |
| | | { |
| | | |
| | | // 创建 HttpClient 实例 |
| | |
| | | // 发起 get 请求 |
| | | response = await client.GetAsync(url); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | // 确保请求成功 |
| | | if (response.IsSuccessStatusCode) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | MessageBox.Show($"请求失败,: {response.StatusCode}"); |
| | | MessageBox.Show($"请求失败:{response.StatusCode} - {url} - 当前时间:{DateTime.Now:yyyy-MM-dd HH:mm:ss}"); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | MessageBox.Show($"请求失败,: {response.StatusCode}"); |
| | | MessageBox.Show($"请求失败:{response.StatusCode} - {url} - 当前时间:{DateTime.Now:yyyy-MM-dd HH:mm:ss}"); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | //获取设备列表 |
| | | public async Task<JsonEquipmentData> FindDeviceList(string url,string token) { |
| | | public async Task<JsonEquipmentData> FindDeviceList(string url, string token) |
| | | { |
| | | //设备列表接口 |
| | | string urls = url + EquipmentType.Two; |
| | | // 准备要发送的表单数据 |
| | |
| | | } |
| | | |
| | | //获取良品、不良品明细 |
| | | public async Task<JsonEquipmentData> FindAllDevicePropsDetailByTimeRange(string url, string token,string nos, string HBegin, string HEnd) |
| | | public async Task<JsonEquipmentData> FindAllDevicePropsDetailByTimeRange(string url, string token, string nos, string HBegin, string HEnd) |
| | | { |
| | | string basePropIds = DBHelper.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "Config/SQLAPI.config", "basePropIds"); |
| | | basePropIds = "[" + basePropIds + "]"; |
| | |
| | | //设备列表接口 |
| | | string urls = url + EquipmentType.Nine; |
| | | |
| | | CustomWriteLog("获取工艺参数接口:'"+ urls + "'", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | CustomWriteLog("工艺参数接口:'" + urls + "' 参数值: '" + stringJson + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | // 准备要发送的表单数据 |
| | | var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json"); |
| | |
| | | } |
| | | |
| | | //获取不良数,合数数,可疑数 总数 |
| | | public async Task<JsonEquipmentData> FindDevicePropCalc(string url, string token,string nos,string HBegin,string HEnd) |
| | | public async Task<JsonEquipmentData> 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.Seven; |
| | | CustomWriteLog("获取不良数,合数数,可疑数 总数:'" + urls + "' 参数值: '" + stringJson + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | JsonEquipmentData jsonResult = await EquipmentList(urls, postData, "POST"); |
| | | return jsonResult; |
| | | } |
| | |
| | | string stringJson = "{\"token\":\"" + token + "\",\"nos\":[" + nos + "]}"; |
| | | var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json"); |
| | | string urls = url + EquipmentType.Three; |
| | | CustomWriteLog("设备运行状态:'" + urls + "' 参数值: '" + stringJson + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | JsonEquipmentData jsonResult = await EquipmentList(urls, postData, "POST"); |
| | | return jsonResult; |
| | | } |
| | |
| | | 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.Four; |
| | | CustomWriteLog("设备时间段产量:'" + urls + "' 参数值: '" + stringJson + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | JsonEquipmentData jsonResult = await EquipmentList(urls, postData, "POST"); |
| | | return jsonResult; |
| | | } |
| | |
| | | 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.Five; |
| | | CustomWriteLog("设备运行时间接口:'" + urls + "' 参数值: '" + stringJson + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | JsonResult jsonResult = await EquipResultList(urls, postData, "POST"); |
| | | return jsonResult; |
| | | } |
| | |
| | | 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.Ten; |
| | | CustomWriteLog("注塑机的 开机接口:'" + urls + "' 参数值: '" + stringJson + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | JsonResult jsonResult = await EquipResultList(urls, postData, "POST"); |
| | | return jsonResult; |
| | | } |
| | |
| | | private void bindCbox() |
| | | { |
| | | IList<Info> infoList = new List<Info>(); |
| | | Info info1 = new Info() { Id = "CMR-QC-SE-001", Name = "螺母全检" }; |
| | | Info info1 = new Info() { Id = "CMR-QC-SE-001", Name = "螺母全检" }; |
| | | Info info2 = new Info() { Id = "CMR-ZZ-SE-001", Name = "螺母压装" }; |
| | | Info info3 = new Info() { Id = "ZSJ07", Name = "注塑机#07" }; |
| | | //Info info3 = new Info() { Id = "3", Name = "王五" }; |
| | |
| | | this.btnLj.Enabled = true; |
| | | this.timer.Enabled = false; |
| | | } |
| | | else |
| | | else |
| | | { |
| | | this.btnLj.Enabled = false; |
| | | DialogResult dr = MessageBox.Show("是否确认开始采集?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); |
| | |
| | | } |
| | | |
| | | //螺母压装采集数据 保存 |
| | | public async void SaveNutPressFit(string Url , string token, string time) { |
| | | public async void SaveNutPressFit(string Url, string token, string time) |
| | | { |
| | | if (TimeDate == "") |
| | | { |
| | | TimeDate = this.txtBegin.Text; |
| | |
| | | } |
| | | else |
| | | { |
| | | string nos = ""; |
| | | string nos = ""; |
| | | //获取去设备编码 |
| | | for (int i = 0; i < jsonResult.data.Count; i++) |
| | | { |
| | |
| | | //合格数 |
| | | if (jsonEquipment.data[i].propId == 469) |
| | | { |
| | | JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"良品数\",\"HResult\":\"OK\",\"HCount\":" + jsonEquipment.data[i].sum + ",\"HSourceCode\":\""+ nos + "\"},"; |
| | | } |
| | | JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"良品数\",\"HResult\":\"OK\",\"HCount\":" + jsonEquipment.data[i].sum + ",\"HSourceCode\":\"" + nos + "\"},"; |
| | | } |
| | | //不良数 |
| | | else if (jsonEquipment.data[i].propId == 470) |
| | | { |
| | |
| | | } |
| | | |
| | | //注塑机采集数据 保存 |
| | | public async void SaveInjectionMoldingMachine(string token, string Url, string 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 jsonResult = await FindDeviceList(Url, token); |
| | | if (jsonResult.code != "0") |
| | | { |
| | | MessageBox.Show("设备列表报错:" + jsonResult.message); |
| | | } |
| | | else { |
| | | else |
| | | { |
| | | |
| | | string nos = ""; |
| | | //获取设备编码 |
| | |
| | | nos = nos.Substring(0, nos.Length - 1); |
| | | //获取参数 获取每个设备对应的所有参数 |
| | | JsonEquipmentData jsonEquipment = await FindAllDevicePropsDetailByTimeRange(Url, token, nos, TimeDate, time); |
| | | var JsonData = "{\"data\":["; |
| | | |
| | | if (jsonEquipment == null) |
| | | { |
| | | CustomWriteLog("jsonEquipment对象为空", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | CustomWriteLog("jsonEquipment对象为空", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | } |
| | | |
| | | if (jsonEquipment.data == null) |
| | | { |
| | | CustomWriteLog("data属性为空",DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | CustomWriteLog("jsonEquipment.data属性为空", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | } |
| | | |
| | | var JsonData = "{\"data\":["; |
| | | CustomWriteLog("开始循环工艺参数总数为::'" + jsonEquipment.data.Count + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | try |
| | | else |
| | | { |
| | | CustomWriteLog("开始循环工艺参数总数为::'" + jsonEquipment.data.Count + "'", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | //通过每个设备进行循环赋值 |
| | | for (int i = 0; i < jsonEquipment.data.Count; i++) |
| | | { |
| | | CustomWriteLog("当前循环 第 '"+i+"' 次", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); |
| | | CustomWriteLog("当前循环 第 '" + i + "' 次", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | //获取设备对应的编码 判断编码是否满足为螺母压装设备 |
| | | if (jsonEquipment.data[i].deviceNo.Contains("CMR-ZZ-SE-")) |
| | | { |
| | |
| | | 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")); |
| | | //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")); |
| | | } |
| | | } |
| | | |
| | | //获取设备时间段产量 |
| | | JsonEquipmentData data = await FindProdByNosAndTime(Url, token, jsonEquipment.data[i].deviceNo, TimeDate, time); |
| | | 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 + "\"},"; |
| | | 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")); |
| | | //CustomWriteLog("设备产量值:{\"HDate\":\"" + time + "\",\"HTechParamName\":\"生产数量\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].prod + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"}", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | CustomWriteLog("EXCEPTION_CAUGHT", $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - 异常信息:{ex.ToString()}"); |
| | | } |
| | | |
| | | CustomWriteLog("工艺参数与产量循环结束", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | CustomWriteLog("工艺参数与产量循环结束", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | } |
| | | |
| | | CustomWriteLog("1", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | |
| | | //获取设备运行状态 |
| | | var EquipmentStaus = await FindDeviceStatusByNos(Url, token, nos); |
| | |
| | | { |
| | | //卷绕 注塑 浸渍 组装 的设备运行 开关停机时间 |
| | | if (EquipmentStaus.data[i].no.Contains("CMR-JR-SD-") || EquipmentStaus.data[i].no.Contains("CMR-JZ-SD-") || EquipmentStaus.data[i].no.Contains("CMR-HX-SD-") |
| | | || EquipmentStaus.data[i].no.Contains("CMR-ZD-SD")|| EquipmentStaus.data[i].no.Contains("CMR-ZS-SE-")) |
| | | || EquipmentStaus.data[i].no.Contains("CMR-ZD-SD") || EquipmentStaus.data[i].no.Contains("CMR-ZS-SE-")) |
| | | { |
| | | 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"); |
| | | 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 HEqDate = await FindDeviceStatusTimeByNo(Url, token, EquipmentStaus.data[i].no, HBegDate, HEndDate); |
| | | if (HEqDate != null && HEqDate.data != null) |
| | | { |
| | | |
| | | // 记录开机时长 |
| | | 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("设备开机时长: 开机时长" + ((float)(HEqDate.data.onlineTime / 60 / 60)).ToString("0.00") + " " + EquipmentStaus.data[i].no + "", |
| | | DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | // 记录关机时长 |
| | | 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("设备关机时长: 关机时长" + ((float)(HEqDate.data.offlineTime / 60 / 60)).ToString("0.00") + " " + EquipmentStaus.data[i].no + "", |
| | | DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | // 记录停机时长 |
| | | 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("设备停机时长: 停机时长" + ((float)(HEqDate.data.standbyTime / 60 / 60)).ToString("0.00") + " " + EquipmentStaus.data[i].no + "", |
| | | DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | // 记录运行时长 |
| | | 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")); |
| | | // 记录运行时长 |
| | | CustomWriteLog("设备运行时长: 运行时长" + ((float)(HEqDate.data.runTime / 60 / 60)).ToString("0.00") + " " + EquipmentStaus.data[i].no + "", |
| | | DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | 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 + "\"},"; |
| | | JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"停机时长\",\"HResult\":\"" + ((float)(HEqDate.data.standbyTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},"; |
| | | JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"运行时长\",\"HResult\":\"" + ((float)(HEqDate.data.runTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},"; |
| | | 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 + "\"},"; |
| | | JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"停机时长\",\"HResult\":\"" + ((float)(HEqDate.data.standbyTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},"; |
| | | JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"运行时长\",\"HResult\":\"" + ((float)(HEqDate.data.runTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},"; |
| | | } |
| | | else |
| | | { |
| | | // 记录运行时长 |
| | | CustomWriteLog("设备开停机时长为空 HEqDate:" + HEqDate + " , HEqDate.data " + HEqDate.data + "", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | } |
| | | } |
| | | //卷绕 注塑 浸渍 组装 的设备运行 开关停机时间 |
| | | //if (EquipmentStaus.data[i].no.Contains("CMR-ZS-SE-")) |
| | | //{ |
| | | // string HBegDate = DateTime.Now.ToString("yyyy-MM-dd 00:00:00"); |
| | | // string HEndDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | // JsonResult kj = await FindDeviceStatusTimeByNosAndOperationMode(Url, token, EquipmentStaus.data[i].no, HBegDate, HEndDate); |
| | | // JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"开机时长\",\"HResult\":\"" + ((float)(kj.data.onlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},"; |
| | | |
| | | // JsonResult HEqDate = await FindDeviceStatusTimeByNo(Url, token, EquipmentStaus.data[i].no, HBegDate, HEndDate); |
| | | |
| | | // JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"关机时长\",\"HResult\":\"" + ((float)(HEqDate.data.offlineTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},"; |
| | | // JsonData += "{\"HDate\":\"" + HEndDate + "\",\"HTechParamName\":\"停机时长\",\"HResult\":\"" + ((float)(HEqDate.data.standbyTime / 60 / 60)).ToString("0.00") + "\",\"HCount\":1,\"HSourceCode\":\"" + EquipmentStaus.data[i].no + "\"},"; |
| | | // JsonData += "{\"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) |
| | | { |
| | |
| | | } |
| | | |
| | | //数据保存 |
| | | public void DataSave(string JsonData) { |
| | | JsonEquipmentData data = JsonConvert.DeserializeObject<JsonEquipmentData>(JsonData); |
| | | public void DataSave(string JsonData) |
| | | { |
| | | JsonEquipmentData data = JsonConvert.DeserializeObject<JsonEquipmentData>(JsonData); |
| | | |
| | | 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 |
| | | 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($"时间: {DateTime.Now:yyyy-MM-dd HH:mm:ss},加载成功"); |
| | | } |
| | | |
| | | //定时生成产量汇报单 |
| | |
| | | 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) |
| | | { |
| | | //根据当天只开工没有完工对应的产量数据 生成产量汇报单 |
| | |
| | | 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) { |
| | | if (decimal.Parse(jsonEquipment.data[0].prod) > 0) |
| | | { |
| | | //生成产量汇报单 |
| | | oCN.RunProc("exec h_p_Sc_AddTimeICMORepor " + HICMInterID + "," + jsonEquipment.data[0].prod+",'"+ HEndDate + "'"); |
| | | 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++) |
| | |
| | | { |
| | | //生成产量汇报单 |
| | | 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")); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | public class JsonResult { |
| | | public class JsonResult |
| | | { |
| | | public string code { get; set; } |
| | | public string message { get; set; } |
| | | public string expirationTime { get; set; } |
| | |
| | | public double sum { get; set; } |
| | | public string createTime { get; set; } |
| | | public string happenTime { get; set; } |
| | | public string HDate{ get; set; } |
| | | public string HDate { get; set; } |
| | | public string HTechParamName { get; set; } |
| | | public string HResult { get; set; } |
| | | public string HCount { get; set; } |
| | |
| | | public string HProcNumber { get; set; } |
| | | } |
| | | |
| | | public class propsData { |
| | | public class propsData |
| | | { |
| | | public string propName { get; set; } |
| | | public List<JsonData> datas { get; set; } |
| | | public string basePropId { get; set; } |