kingno
2025-06-09 305e2990bb2161177e87ab7711f9dfb205762bcd
src/Bro.M135.Common/ProductModel.cs
@@ -3,6 +3,7 @@
using Bro.Common.Model;
using Bro.M135.DBManager;
using Newtonsoft.Json;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
namespace Bro.M135.Common
{
@@ -194,10 +195,12 @@
                });
            });
            allSpecs.RemoveAll(u => (u.Code.ToLower() == "ngspec" || u.Code == "检测TBD"));
            head = $"时间,PID,栏具码,物料码,条码,汇总检测结果,";
            positionList = new List<string>();
            Details = Details.OrderBy(u => u.PositionName).ToList();
            Details = Details.OrderBy(u => u.STATION_CODE).ThenBy(u => u.PositionName).ToList();
            foreach (var d in Details)
            {
                positionList.Add($"{d.STATION_CODE}_{d.PositionName}");
@@ -303,6 +306,8 @@
                });
            });
            allSpecs.RemoveAll(u => u.Code.ToLower() == "ngspec" || u.Code == "检测TBD");
            head = $"时间,栏具码,PID,序号,条码,";
            foreach (var d in positionDetail)
@@ -380,22 +385,22 @@
                }
            });
            positionDetail.ForEach(detail =>
            {
                if (detail.IsDone)
                {
            //positionDetail.ForEach(detail =>
            //{
            //    if (detail.IsDone)
            //    {
                    var results = detail.ResultList;
            //        var results = detail.ResultList;
                    var list = results.Where((DetectResult u) => u.ResultState != EnumHelper.ResultState.OK).SelectMany((DetectResult u) => u.NetResults.Where((NetResult m) => !m.IsAbandoned && m.CurResult != EnumHelper.ResultState.OK).SelectMany((NetResult m) => from n in m.DetectDetails where !n.IsAbandoned && n.FinalResult != EnumHelper.ResultState.OK select n)).ToList();
            //        var list = results.Where((DetectResult u) => u.ResultState != EnumHelper.ResultState.OK).SelectMany((DetectResult u) => u.NetResults.Where((NetResult m) => !m.IsAbandoned && m.CurResult != EnumHelper.ResultState.OK).SelectMany((NetResult m) => from n in m.DetectDetails where !n.IsAbandoned && n.FinalResult != EnumHelper.ResultState.OK select n)).ToList();
                    list.ForEach(d =>
                    {
                        data += $"{(d.Rect.Height * d.PixelSize).ToString("f4")},";
                        data += $"{(d.Rect.Width * d.PixelSize).ToString("f4")},";
                    });
                }
            });
            //        list.ForEach(d =>
            //        {
            //            data += $"{(d.Rect.Height * d.PixelSize).ToString("f4")},";
            //            data += $"{(d.Rect.Width * d.PixelSize).ToString("f4")},";
            //        });
            //    }
            //});
@@ -417,12 +422,20 @@
        #endregion
        #region PositionCheckTimes
        public void InitialPositionCheckList(string positionName, List<int> checkTimes)
        public void InitialPositionCheckList(string positionName, List<int> checkTimes,string stationName)
        {
            lock (_checkResultLock)
            {
                PositionCheckList[positionName] = new List<int>(checkTimes);
                Details.RemoveAll(u => u.PositionName == positionName);
                P_PRODUCT_DETAIL detail = new P_PRODUCT_DETAIL();
                detail.STATION_CODE = stationName;
                detail.PositionName = positionName;
                detail.PID = PID;
                detail.IsDone = false;
                Details.Add(detail);
            }
        }