| | |
| | | using iWare_SCADA_BusinessLogical.Utils; |
| | | using iWare_SCADA_BusinessLogical; |
| | | using iWare_SCADA_BusinessLogical.Utils; |
| | | using iWare_SCADA_Model; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | |
| | | private void button4_Click(object sender, EventArgs e) |
| | | { |
| | | string paht = "C:\\Users\\Administrator\\Desktop\\临时\\aa\\FO_000006966558.txt"; |
| | | |
| | | DataCaptureHandler_02 dataCaptureHandler_02 = new DataCaptureHandler_02(); |
| | | dataCaptureHandler_02.GetCH5InfoForOP30(paht, new WorkPieceLogMiddle()); |
| | | } |
| | | |
| | | private void btn_TongJi_Click(object sender, EventArgs e) |
| | | { |
| | | //统计 |
| | | |
| | | int store_FDJ = 0;//现有发动机数 |
| | | int store_EmptySalver = 0;//空托盘数量 |
| | | int store_EmptySalver_TS = 0;//空托盘托数 |
| | | |
| | | int count_In_FDJ = 0;//查询某天入库了多少发动机 |
| | | int count_In_EmptySalver = 0;//查询某天入库了多少 空托盘 |
| | | int count_In_EmptySalver_TS = 0;//查询某天入库了多少 空托盘托数 |
| | | |
| | | int count_Out_FDJ = 0;//查询某天出库了多少发动机 |
| | | int count_Out_EmptySalver = 0;//查询某天出库了多少 空托盘 |
| | | int count_Out_EmptySalver_TS = 0;//查询某天出库了多少 空托盘托数 |
| | | |
| | | int count_ZY_EmptySalver = 0;//查询某天转运了多少 空托盘 |
| | | int count_ZY_EmptySalver_TS = 0;//查询某天转运了多少 空托盘托数 |
| | | |
| | | //某段时间的统计 |
| | | var str_start = this.dateTimePicker_Start.Value.ToString("yyyy-MM-dd" + " " + "00:00:00"); |
| | |
| | | |
| | | this.tb_TongJi.Text = str; |
| | | } |
| | | |
| | | private void button5_Click(object sender, EventArgs e) |
| | | { |
| | | //分析缺工序 |
| | | this.tb_TongJi.Text = ""; |
| | | |
| | | //某段时间的统计 |
| | | var str_start = this.dateTimePicker_Start.Value.ToString("yyyy-MM-dd" + " " + "00:00:00"); |
| | | var str_end = this.dateTimePicker_End.Value.ToString("yyyy-MM-dd" + " " + "23:59:59"); |
| | | var start = Convert.ToDateTime(str_start); |
| | | var end = Convert.ToDateTime(str_end); |
| | | |
| | | int allPlacesCount = 0; |
| | | List<WorkPieceProcess> workPieceProcessList = new List<WorkPieceProcess>(); |
| | | List<string> js_strList = new List<string>(); |
| | | List<string> strList = new List<string>() { |
| | | "OP05","OP10","OP20","OP30","OP35","OP40","OP50","OP60","OP70","OP80" |
| | | }; |
| | | var q_strList = string.Join(",", strList); |
| | | var str = ""; |
| | | str += "时间范围: " + str_start + "至" + str_end + " \r\n"; |
| | | using (DbModel edm = new DbModel()) |
| | | { |
| | | var pieces = edm.WorkPieceInfo.AsNoTracking().Where(x => |
| | | (x.CreatedTime >= start && x.CreatedTime <= end)).ToList(); |
| | | |
| | | var queryIds = pieces.Select(x => x.WorkPieceID).ToList(); |
| | | |
| | | var allPlaces = edm.WorkPieceProcess.AsNoTracking().Where(x => queryIds.Contains(x.WorkPieceID)).ToList(); |
| | | |
| | | var groups = allPlaces.GroupBy(x => x.WorkPieceID).OrderBy(x => x.Key); |
| | | foreach (var gg in groups) |
| | | { |
| | | var _key = gg.Key; |
| | | if (_key.Length != 22) |
| | | { |
| | | continue; |
| | | } |
| | | if (!(_key.IndexOf("DZ") > -1)) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | //重新读取数据库 |
| | | var _list = gg.ToList().OrderByDescending(x => x.CreatedTime); |
| | | |
| | | |
| | | if (_key == "DZ045L2408290100451PAS") |
| | | { |
| | | var zz = ""; |
| | | } |
| | | |
| | | var fisrt = _list.FirstOrDefault(); |
| | | var first_pr = fisrt.WorkingProcedureCurrent; |
| | | |
| | | var bb = first_pr.Substring(2, 2); |
| | | int ii = Convert.ToInt32(bb); |
| | | |
| | | List<string> new_strList = GetListForOP(ii);//全部的 |
| | | var curList = _list.Select(x => x.WorkingProcedureCurrent).ToList(); |
| | | var cur_new_strList = new_strList.Where(x => !curList.Contains(x)).ToList(); |
| | | if (cur_new_strList.Count > 0) |
| | | { |
| | | // //再读下数据库 |
| | | // _list = edm.WorkPieceProcess.AsNoTracking().Where(x => |
| | | //x.WorkPieceID == _key).ToList().OrderByDescending(x => x.CreatedTime); |
| | | // curList = _list.Select(x => x.WorkingProcedureCurrent).ToList(); |
| | | // cur_new_strList = new_strList.Where(x => !curList.Contains(x)).ToList(); |
| | | } |
| | | //看看前面的工序是否都有 |
| | | foreach (var item in cur_new_strList) |
| | | { |
| | | |
| | | |
| | | workPieceProcessList.Add(new WorkPieceProcess() |
| | | { |
| | | WorkingProcedureCurrent = item, |
| | | WorkPieceID = _key |
| | | }); |
| | | js_strList.Add(item); |
| | | allPlacesCount++; |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | var hzStr = ""; |
| | | //var groups22 = js_strList.GroupBy(x => x).OrderBy(x => x.Count()); |
| | | var groups22 = js_strList.GroupBy(x => x).OrderBy(x => x.Key); |
| | | foreach (var gg in groups22) |
| | | { |
| | | hzStr += $"工序缺失{gg.Key} 共{gg.ToList().Count()}个" + "\r\n"; |
| | | } |
| | | |
| | | var total = $"总计缺失:{allPlacesCount}。"; |
| | | total += "\r\n"; |
| | | total += hzStr; |
| | | total += "\r\n"; |
| | | |
| | | //处理 |
| | | workPieceProcessList = workPieceProcessList.OrderBy(x => x.WorkingProcedureCurrent).ThenBy(x=>x.WorkPieceID).ToList(); |
| | | foreach (var item in workPieceProcessList) |
| | | { |
| | | str += $"缺少{item.WorkingProcedureCurrent}工序,WorkPieceID: {item.WorkPieceID} \r\n"; |
| | | } |
| | | str += "\r\n"; |
| | | |
| | | this.tb_TongJi.Text = total + str; |
| | | } |
| | | |
| | | |
| | | private List<string> GetListForOP(int ii) |
| | | { |
| | | List<string> new_strList = new List<string>() { }; |
| | | List<string> strList = new List<string>() { |
| | | "OP05","OP10","OP20","OP30","OP35","OP40","OP50","OP60","OP70","OP80" |
| | | }; |
| | | foreach (var item in strList) |
| | | { |
| | | var bb = item.Substring(2, 2); |
| | | int dd = Convert.ToInt32(bb); |
| | | if (dd <= ii) |
| | | { |
| | | new_strList.Add(item); |
| | | } |
| | | } |
| | | return new_strList; |
| | | } |
| | | |
| | | private void button6_Click(object sender, EventArgs e) |
| | | { |
| | | try |
| | | { |
| | | string path = @"U:\\NutrunnerData\\FO\\SEQ_24"; |
| | | |
| | | var newFiles = FileHelper.DetectNewFiles(path, "*.dfq", 300, DateTime.Now.AddDays(-100), DateTime.Now.AddDays(1)); |
| | | |
| | | foreach (System.IO.FileInfo file in newFiles) |
| | | { |
| | | //MessageBox.Show("找到文件:" + file.FullName); |
| | | var toPath = file.FullName.Replace("Measuring_Data_df_Test", "Measuring_Data_df_Copy"); |
| | | //MessageBox.Show("要移动到:" + file.FullName); |
| | | File.Move(file.FullName, toPath);//移动 |
| | | } |
| | | |
| | | MessageBox.Show("成功"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MessageBox.Show("异常:" + ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |