| | |
| | | //设备列表接口 |
| | | 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"); |
| | |
| | | //获取参数 获取每个设备对应的所有参数 |
| | | 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); |
| | |
| | | } |
| | | |
| | | 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 + "\"},"; |
| | |
| | | } |
| | | } |
| | | |
| | | CustomWriteLog("03", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | CustomWriteLog("结束所有", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | JsonData = JsonData.Substring(0, JsonData.Length - 1); |
| | | JsonData += "]}"; |
| | |
| | | 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); |
| | | } |
| | | } |
| | | |