M182轴承端盖外观缺陷AOI
kingno
2025-05-26 5a405c7dce20d8c79a733c9c786cc42eb59fe81c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using Bro.Common.Helper;
using Bro.M135.DBManager;
 
namespace Bro.M141.Process
{
    public partial class M141Process
    {
        Lazy<Manager_P_PRODUCT> managerPProductLazy = new Lazy<Manager_P_PRODUCT>();
        protected Manager_P_PRODUCT _manager_P_Product => managerPProductLazy.Value;
        TaskFactory _taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.LongRunning);
 
        protected void InitialProductList()
        {
            if (M141Config.DBBufferListCount > 0)
            {
                Request_P_Product request = new Request_P_Product();
                request.PageNum = 1;
                request.PageSize = M141Config.DBBufferListCount;
                request.IsOrderAsc = false;
                request.IsIncludeDetail = true;
 
                var list = _manager_P_Product.QueryProduct(request).OrderByDescending(u => u.ID).ToList();
                if (list != null && list.Count > 0)
                {
                    ProductList.AddRange(list.Select(u => new M135.Common.ProductModel(u)));
                }
            }
 
            LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"产品队列初始化载入{ProductList.Count}");
        }
 
        protected async void UpdateProductSNIntoDB(string pid, string sn)
        {
            await _taskFactory.StartNew(() =>
            {
                _manager_P_Product.UpdateProductSN(pid, sn);
            });
        }
 
 
        protected async void UpdateProductSNIntopid(string pid, string newse,string newpid)
        {
            await _taskFactory.StartNew(() =>
            {
                _manager_P_Product.UpdateProductPID(pid, newse, newpid);
            });
        }
 
        protected async void UpdatePositionResultToDB(P_PRODUCT_DETAIL detail)
        {
            await _taskFactory.StartNew(() =>
            {
                _manager_P_Product.UpdatePositionResult(detail);
            });
        }
    }
}