| | |
| | | this.txtLj.ReadOnly = true; |
| | | this.btnSave.Enabled = false; |
| | | this.txtHMaterNumber.ReadOnly = true; |
| | | //this.btnRest.Enabled = false; |
| | | bindCbox(); |
| | | |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | //this.txtBegin.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | this.txtBegin.Text = "2024-8-7 15:20:06"; |
| | | this.txtBegin.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | //this.txtBegin.Text = "2024-09-06 10:52:39"; |
| | | this.btnBegin.Enabled = false; |
| | | if (cmbEquipFile.SelectedIndex == 1) |
| | | { |
| | |
| | | MessageBox.Show("请点击开始按钮进行开始确认!"); |
| | | } |
| | | else |
| | | { //this.txtEnd.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | this.txtEnd.Text = "2024-8-7 17:20:06"; |
| | | { |
| | | this.txtEnd.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | //this.txtEnd.Text = "2024-09-06 11:20:39"; |
| | | this.btnEnd.Enabled = false; |
| | | |
| | | if (cmbEquipFile.SelectedIndex == 1) |
| | |
| | | //路径赋值给文本 |
| | | using (OpenFileDialog openFile = new OpenFileDialog()) |
| | | { |
| | | openFile.Multiselect = true; // 允许选择多个文件 |
| | | DialogResult result = openFile.ShowDialog(); |
| | | if (result == DialogResult.OK) |
| | | { |
| | |
| | | string selectedFolderPath = openFile.FileName; |
| | | this.txtLj.Text = selectedFolderPath; |
| | | |
| | | objJsonResult = Xt_CSVReadText(selectedFolderPath, 1); |
| | | objJsonResult = Xt_CSVReadText(openFile.FileNames, 1); |
| | | dt = objJsonResult.dataTable; |
| | | |
| | | if (objJsonResult.code == "0") |
| | | { |
| | | MessageBox.Show(objJsonResult.Message); |
| | | } |
| | | else { |
| | | 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) |
| | | public json Xt_CSVReadText(string[] FilePath, int num) |
| | | { |
| | | try |
| | | { |
| | |
| | | dt.Columns.Add("TestingData"); |
| | | dt.Columns.Add("DetectionResult"); |
| | | dt.Columns.Add("HDate"); |
| | | |
| | | DataTable dt2 = new DataTable(); |
| | | List<string[]> records = new List<string[]>(); |
| | | |
| | | using (StreamReader sr = new StreamReader(FilePath, Encoding.GetEncoding("gb2312"))) |
| | | for (int u = 0; u < FilePath.Length; u++) |
| | | { |
| | | string[] headers = sr.ReadLine()?.Split(','); |
| | | if (headers != null) |
| | | using (StreamReader sr = new StreamReader(FilePath[u], Encoding.GetEncoding("gb2312"))) |
| | | { |
| | | foreach (var header in headers) |
| | | string[] headers = sr.ReadLine()?.Split(','); |
| | | if (headers != null && u == 0) |
| | | { |
| | | 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(); |
| | | foreach (var header in headers) |
| | | { |
| | | dt2.Columns.Add(header.Trim()); |
| | | } |
| | | } |
| | | |
| | | dt2.Rows.Add(row); |
| | | 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++) |
| | | { |
| | | 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); |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | break; |
| | | } |
| | | this.btnSave.Enabled = false; |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (jsonResult.code != "0") |
| | | { |
| | | this.btnSave.Enabled = true; |
| | | MessageBox.Show("设备列表报错:" + jsonResult.message); |
| | | } |
| | | else |
| | |
| | | jsonResult = await FindDevicePropCalc(url, token, nos, HBegin, HEnd); |
| | | if (jsonResult.code != "0") |
| | | { |
| | | this.btnSave.Enabled = true; |
| | | MessageBox.Show("数量获取报错:" + jsonResult.message); |
| | | } |
| | | else { |
| | |
| | | |
| | | for (int i = 0; i < jsonResult.data.Count; i++) |
| | | { |
| | | if (jsonResult.data[i].propId == 173) |
| | | if (jsonResult.data[i].propId == 467) |
| | | { |
| | | HInSpectQty = jsonResult.data[i].sum; |
| | | } |
| | |
| | | { |
| | | HRightQty = jsonResult.data[i].sum; |
| | | } |
| | | else if (jsonResult.data[i].propId == 606) |
| | | else if (jsonResult.data[i].propId == 466) |
| | | { |
| | | HUnKnowQty = jsonResult.data[i].sum; |
| | | } |
| | |
| | | HUnRightQty = jsonResult.data[i].sum; |
| | | } |
| | | } |
| | | |
| | | |
| | | string HNumber = ""; |
| | | int HSourceID = 0; |
| | | string HSourceNumber = ""; |
| | |
| | | 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]["HInterID"].ToString()); |
| | | 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 |
| | |
| | | { |
| | | int HLastResult = 1; |
| | | string HAnalysisMethod = dataSet.Tables[0].Rows[i]["HAnalysisMethod"].ToString(); |
| | | decimal HUpLimit = 0; |
| | | decimal HDownLimit = 0; |
| | | |
| | | decimal HUpLimit = decimal.Parse(dataSet.Tables[0].Rows[i]["HTargetVal"].ToString()) + decimal.Parse(dataSet.Tables[0].Rows[i]["HUpLimit"].ToString()); |
| | | decimal HDownLimit = decimal.Parse(dataSet.Tables[0].Rows[i]["HTargetVal"].ToString()) + decimal.Parse(dataSet.Tables[0].Rows[i]["HDownLimit"].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()); |
| | | } |
| | | |
| | | |
| | | for (int j = 0; j < dt.Columns.Count - 1; j++) |
| | | { |
| | |
| | | ",HSourceID,HICMOInterID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID" + |
| | | ",HProcExchBillNo,HProcExchQty,HMaterID,HFirstCheckEmp,HLastResult" + |
| | | ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HICMOEntryID,HQCSchemeID,HShiftsID,HErrTreatment" + |
| | | ",HProcID,HBatchNo" + |
| | | ",HProcID,HBatchNo,HInSpectQty ,HRightQty ,HUnRightQty ,HUnKnowQty " + |
| | | ") " + |
| | | " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "',1,getdate(),'',getdate()" + |
| | | "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",''" + |
| | | "," + HSourceID + ",0,'',0,0,0" + |
| | | ",'',0," + HMaterID + ",'', " + HLastResults + |
| | | ",0,0,'','',0," + HQCSchemeID + ",0,''" + |
| | | "," + HProcID + ",'" + HBatchNo + "') "); |
| | | "," + 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); |
| | | } |
| | | } |
| | |
| | | public async Task<JsonEquipmentData> FindAllDevicePropsDetailByTimeRange(string url, string token,string nos, string HBegin, string HEnd) |
| | | { |
| | | nos = nos.Replace(",", "\",\""); |
| | | string stringJson = "{\"token\":\"" + token + "\",\"deviceNos\":[\"" + nos + "\"],\"startTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\",\"basePropIds\":[473,474,600,601,602,603,604,605,576,577,578,562,563,564,565,566,567]}"; |
| | | string stringJson = "{\"token\":\"" + token + "\",\"deviceNos\":[\"" + nos + "\"],\"startTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\",\"basePropIds\":[473,474,489,508, 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, 597, 600, 601, 602, 603, 604, 605, 593, 594, 595]}"; |
| | | //设备列表接口 |
| | | string urls = url + EquipmentType.Nine; |
| | | |
| | |
| | | //获取不良数,合数数,可疑数 总数 |
| | | public async Task<JsonEquipmentData> FindDevicePropCalc(string url, string token,string nos,string HBegin,string HEnd) |
| | | { |
| | | string stringJson = "{\"token\":\"" + token + "\",\"deviceNo\":\"" + nos + "\",\"propIds\":[173,469,470,606],\"beginTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\"}"; |
| | | string stringJson = "{\"token\":\"" + token + "\",\"deviceNo\":\"" + nos + "\",\"propIds\":[466,467,469,470],\"beginTime\":\"" + HBegin + "\",\"endTime\":\"" + HEnd + "\"}"; |
| | | var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json"); |
| | | string urls = url + EquipmentType.Seven; |
| | | JsonEquipmentData jsonResult = await EquipmentList(urls, postData, "POST"); |
| | |
| | | string stringJson = "{\"token\":\"" + token + "\",\"nos\":[" + nos + "]}"; |
| | | var postData = new StringContent(stringJson, System.Text.Encoding.UTF8, "application/json"); |
| | | string urls = url + EquipmentType.Three; |
| | | JsonEquipmentData jsonResult = await EquipmentList(urls, postData, "POST"); |
| | | return jsonResult; |
| | | } |
| | | |
| | | //获取设备时间段产量 |
| | | public async Task<JsonEquipmentData> 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.Four; |
| | | JsonEquipmentData jsonResult = await EquipmentList(urls, postData, "POST"); |
| | | return jsonResult; |
| | | } |
| | |
| | | this.txtBegin.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | this.btnBegin.Enabled = false; |
| | | this.timer.Enabled = true; |
| | | this.Time_CLHB.Enabled = true; |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | nos = nos.Substring(0, nos.Length - 1); |
| | | TimeDate = "2024-08-14 08:30:39"; |
| | | time = "2024-08-14 15:05:39"; |
| | | //TimeDate = "2024-08-14 08:30:39"; |
| | | //time = "2024-08-14 15:05:39"; |
| | | |
| | | JsonEquipmentData jsonEquipment = await FindAllDevicePropsDetailByTimeRange(Url, token, nos, TimeDate, time); |
| | | |
| | |
| | | } |
| | | //this.timer.Enabled = false; |
| | | |
| | | //TimeDate = "2024-08-14 17:00:39"; |
| | | //time = "2024-08-14 17:05:39"; |
| | | //TimeDate = "2024-08-19 19:38:14.540"; |
| | | //time = "2024-08-19 19:39:14.540"; |
| | | |
| | | JsonEquipmentData jsonResult = await FindDeviceList(Url, token); |
| | | if (jsonResult.code != "0") |
| | |
| | | { |
| | | for (int j = 0; j < jsonEquipment.data[i].props.Count; j++) |
| | | { |
| | | for (int k = 0; k < jsonEquipment.data[0].props[j].datas.Count; k++) |
| | | for (int k = 0; k < jsonEquipment.data[i].props[j].datas.Count; k++) |
| | | { |
| | | valueData value = JsonConvert.DeserializeObject<valueData>(jsonEquipment.data[i].props[j].datas[k].value); |
| | | if (value.type == "良品") |
| | |
| | | JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"良品数\",\"HResult\":\"OK\",\"HCount\":" + data.data[j].sum + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},"; |
| | | } |
| | | //不良数 |
| | | else if (data.data[i].propId == 470) |
| | | else if (data.data[j].propId == 470) |
| | | { |
| | | JsonData += "{\"HDate\":\"" + time + "\",\"HTechParamName\":\"NG数量\",\"HResult\":\"NG\",\"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\":\"\",\"HCount\":" + jsonEquipment.data[i].props[j].datas[k].value + ",\"HSourceCode\":\"" + jsonEquipment.data[i].deviceNo + "\"},"; |
| | | 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 + "\"},"; |
| | | } |
| | | } |
| | | } |
| | |
| | | ",工艺参数值:" + data.data[i].HResult); |
| | | } |
| | | } |
| | | |
| | | //定时生成产量汇报单 |
| | | private async void Time_CLHB_Tick(object sender, EventArgs e) |
| | | { |
| | | string Url = DBHelper.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "Config/SQLAPI.config", "sUrl"); |
| | | string urls = Url + EquipmentType.One; |
| | | // 准备要发送的表单数据 |
| | | var formData = new FormUrlEncodedContent(new[] |
| | | { |
| | | new KeyValuePair<string, string>("userName", "admin"), |
| | | new KeyValuePair<string, string>("password", "admin") |
| | | // 添加更多键值对,根据您的需要 |
| | | }); |
| | | JsonResult jsonResult = await getUrl(urls, formData); |
| | | string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | string token = jsonResult.data.token; |
| | | JsonEquipmentData 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++) |
| | | { |
| | | if (jsonEquipment.data[i].no.Contains("CMR-ZS-SE")) |
| | | { |
| | | nos += "''" + jsonEquipment.data[i].no + "'',"; |
| | | } |
| | | else if (jsonEquipment.data[i].no.Contains("CMR_ZZ_SE_")) |
| | | { |
| | | nos += "''" + jsonEquipment.data[i].no + "'',"; |
| | | } |
| | | } |
| | | nos = nos.Substring(0, nos.Length - 1); |
| | | |
| | | //this.Time_CLHB.Enabled = false; |
| | | |
| | | 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 + "'"); |
| | | } |
| | | } |
| | | } |
| | | 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 + "'"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void EquipmentCollectionForm_FormClosing(object sender, FormClosingEventArgs e) |
| | | { |
| | | if (MessageBox.Show("确定要关闭吗?", "确认", MessageBoxButtons.YesNo) == DialogResult.No) |
| | | { |
| | | e.Cancel = true; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |