liuying
2025-04-28 0630126012170da25291d55f0a1bd3130e64f434
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
 
using iWare_SCADA_BusinessLogical.BLL;
using iWare_SCADA_Model;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
 
namespace iWare_SCADA_BusinessLogical.Utils
{
    /// <summary>
    /// 工序帮助类
    /// </summary>
    public class WorkPieceProcessHelper
    {
 
        /// <summary>
        /// 创建OP05工序数据
        /// </summary>
        /// <param name="db"></param>
        /// <param name="pieceInfo"></param>
        /// <returns></returns>
        public static WorkPieceProcess CreateWorkPieceProcessForOP05(WorkPieceLogMiddle logMiddle, DbModel db, WorkPieceInfo pieceInfo)
        {
            if (!logMiddle.MonitoringPoint.Equals("OP1002"))
            {
                return null;
            }
 
            var _procedureCurrent_05 = "OP05";
 
            var pro_05 = db.WorkPieceProcess.Where(o => o.WorkPieceID == pieceInfo.WorkPieceID && o.WorkingProcedureCurrent == _procedureCurrent_05
            && o.OperationType == OperationType.生产.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
 
            if (pro_05 == null)
            {
                WorkPieceProcess process = new WorkPieceProcess();
                process.WorkPieceID = pieceInfo.WorkPieceID;
 
                var _time = DateTimeHelper.GetDateTime().AddMinutes(-3);
                var _user = "OP0501";
                process.StartTime = _time;
                process.EndTime = _time;
 
                process.EquipmentID = "EOP05";
                process.WorkingProcedureCurrent = _procedureCurrent_05;
 
 
                process.QualityState = (int)QualityStateEnum.OK;
 
 
                process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                process.CreatedUserName = _user;
                process.JiaJuGongWei = "";
                process.DataCapturePointCname = "打码完成标记";
                process.CreatedTime = _time;
                process.UpdatedUserName = _user;
                process.UpdateDataCapturePointCname = "打码完成标记";
                process.UpdatedTime = _time;
                process.OperationType = OperationType.生产.ToString();
 
                process.Remarks = "";
 
                process.MyRemarks = "CreateWorkPieceProcessForOP05根据OP1002时添加";
 
                return process;
            }
            return null;
        }
 
 
        /// <summary>
        /// 创建OP70工序数据
        /// </summary>
        /// <param name="db"></param>
        /// <param name="pieceInfo"></param>
        /// <returns></returns>
        public static WorkPieceProcess CreateWorkPieceProcessForOP70(WorkPieceLog logMiddle, DbModel db, WorkPieceInfo pieceInfo)
        {
            if (!logMiddle.WorkingProcedure.Equals("OP80"))
            {
                return null;
            }
 
            var _procedureCurrent_70 = "OP70";
 
            var pro_70 = db.WorkPieceProcess.Where(o => o.WorkPieceID == pieceInfo.WorkPieceID && o.WorkingProcedureCurrent == _procedureCurrent_70
            ).OrderByDescending(o => o.StartTime).FirstOrDefault();
 
            if (pro_70 == null)
            {
                WorkPieceProcess process = new WorkPieceProcess();
                process.WorkPieceID = pieceInfo.WorkPieceID;
                process.Update70Flag = 1;
 
                var _end_time = DateTimeHelper.GetDateTime().AddSeconds(-10);
                var _startTime = _end_time.AddSeconds(-SystemBussinessHelper.MoNiTimeForWorkingProcedure(_procedureCurrent_70));
                var _user = "OP7001";
                process.StartTime = _startTime;
                process.EndTime = _end_time;
 
                process.EquipmentID = "EOP70";
                process.WorkingProcedureCurrent = _procedureCurrent_70;
 
 
                process.QualityState = (int)QualityStateEnum.OK;
 
 
                process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                process.CreatedUserName = _user;
                process.JiaJuGongWei = "";
                process.DataCapturePointCname = "工序完成标记";
                process.CreatedTime = _end_time;
                process.UpdatedUserName = _user;
                process.UpdateDataCapturePointCname = "工序完成标记";
                process.UpdatedTime = _end_time;
                process.OperationType = OperationType.生产.ToString();
 
                process.Remarks = "";
 
                process.MyRemarks = "CreateWorkPieceProcessForOP70添加";
 
                return process;
            }
            return null;
        }
    }
}