From f3ac4e7983dd475d800acc31cbbb8bbaf2e6c638 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 29 8月 2024 15:08:18 +0800 Subject: [PATCH] 修复 OP05工位 获取打标二维码,会漏获取数据 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_FormTest/Form1.cs | 130 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 130 insertions(+), 0 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_FormTest/Form1.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_FormTest/Form1.cs index 1d8b48c..a06b941 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_FormTest/Form1.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_FormTest/Form1.cs @@ -183,5 +183,135 @@ 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).ToList(); + foreach (var item in workPieceProcessList) + { + str += $"缂哄皯{item.WorkingProcedureCurrent}宸ュ簭锛學orkPieceID: {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; + } } } -- Gitblit v1.9.3