cnf
2025-04-02 0dd3469715a719779b08d0df00b801ea054b2eab
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
using MES.Service.DB;
using MES.Service.Modes.QcIssueResult;
using MES.Service.Modes.SentLaboratory;
using Newtonsoft.Json;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace MES.Service.service.SentLaboratory;
 
public class SaveLaboratoryManager:Repository<UpdateMesQmsSample>
{
    public dynamic Save(GetLaboratoryDetails getLaboratoryDetails)
    {
 
        var mesUpdateMesQmsSample = GetMesQcIssueResults(getLaboratoryDetails);
 
        return UseTransaction(db =>
        {
            return SaveOrUpdateData(db, mesUpdateMesQmsSample) ? 1 : 0;
        }) > 0;
    }
 
    public UpdateMesQmsSample GetMesQcIssueResults(GetLaboratoryDetails getLaboratoryDetails)
    {
        var mesUpdateMesQmsSample = new UpdateMesQmsSample
        {
            ReleaseNo = getLaboratoryDetails.RELEASE_NO,
            DEPARTMENTNAME = getLaboratoryDetails.DEPARTMENTNAME,
            CreateDate = getLaboratoryDetails.CREATE_DATE1,
            QUANTITY = getLaboratoryDetails.QUANTITY,
            CompleteDate = getLaboratoryDetails.COMPLETE_DATE,
            TestReq=getLaboratoryDetails.TEST_REQ,
            SimReq = getLaboratoryDetails.SIM_REQ,
            ItemNo = getLaboratoryDetails.ITEM_NO,
            UrgentFlag = getLaboratoryDetails.URGENT_FLAG,
            JYDH = getLaboratoryDetails.JYDH,
            REMARKS = getLaboratoryDetails.REMARKS,
            ItemName = getLaboratoryDetails.ITEM_NAME,
            DEPARTMENTCODE = getLaboratoryDetails.DEPARTMENTCODE,
            PAPERBILLNO = getLaboratoryDetails.LOT_NO,
 
        };
 
        // 遍历 CHECKBOX 并赋值
        foreach (var item in getLaboratoryDetails.CHECKBOX)
        {
            switch (item.InspectionItems)
            {
                case "磁铁拉力":
                    mesUpdateMesQmsSample.Check01 = 1;
                    break;
                case "磁铁承重":
                    mesUpdateMesQmsSample.Check02 = 1;
                    break;
                case "盐雾":
                    mesUpdateMesQmsSample.Check03 = 1;
                    break;
                case "IP":
                    mesUpdateMesQmsSample.Check04 = 1;
                    break;
                case "老化测试":
                    mesUpdateMesQmsSample.Check05 = 1;
                    break;
                case "传导辐射":
                    mesUpdateMesQmsSample.Check06 = 1;
                    break;
                case "跌落测试":
                    mesUpdateMesQmsSample.Check07 = 1;
                    break;
                case "电线拉力":
                    mesUpdateMesQmsSample.Check08 = 1;
                    break;
                case "接口插拔":
                    mesUpdateMesQmsSample.Check09 = 1;
                    break;
                case "光谱测试":
                    mesUpdateMesQmsSample.Check10 = 1;
                    break;
                case "ROHS":
                    mesUpdateMesQmsSample.Check11 = 1;
                    break;
                case "电池充放电":
                    mesUpdateMesQmsSample.Check12 = 1;
                    break;
                case "高温":
                    mesUpdateMesQmsSample.Check13 = 1;
                    break;
                case "低温":
                    mesUpdateMesQmsSample.Check14 = 1;
                    break;
                case "IK":
                    mesUpdateMesQmsSample.Check15 = 1;
                    break;
                case "温升测试":
                    mesUpdateMesQmsSample.Check16 = 1;
                    break;
                case "寿命":
                    mesUpdateMesQmsSample.Check17 = 1;
                    break;
                case "其它":
                    mesUpdateMesQmsSample.Check18 = 1;
                    mesUpdateMesQmsSample.Line04 = getLaboratoryDetails.Line04;
                    break;
                default:
                    // 如果 InspectionItems 不匹配任何条件,可以选择忽略或记录日志
                    break;
            }
        }
        return mesUpdateMesQmsSample;
    }
 
    /**
    * 插入数据库表
    */
    private bool SaveOrUpdateData(SqlSugarScope db, UpdateMesQmsSample updateMesQmsSample)
    {
 
        ////// 查询 QcIssueResults 表中是否存在匹配的记录
        ////var mapping = db.Queryable<UpdateMesQmsSample>()
        ////    .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo)
        ////    .Select(t => new QcIssueResults
        ////    {
        ////        ReleaseNo = t.ReleaseNo,
        ////    })
        ////    .ToList();
 
        //// 查询 UpdateMesQmsSample 表中是否存在匹配的记录
        //var existingRecord = db.Queryable<UpdateMesQmsSample>()
        //    .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo)
        //    .First(); // 使用 First 获取第一条记录
 
        //if (existingRecord != null)
        //{
        //    // 更新 UpdateMesQaItems 表中的字段
        //    updateMesQmsSample.Id = existingRecord.Id;
 
        //    // 执行更新操作
        //    var updateResult = db.Updateable(updateMesQmsSample).ExecuteCommand();
        //      return updateResult > 0; // 如果更新成功,返回 true
        
        //}
        //else
        //{
        //    Debug.WriteLine("插入");
            // 如果 mapping 为空,插入新记录到 QcIssueResults 表
            var orUpdate = base.Insert(updateMesQmsSample);
            if (orUpdate) return true;
            throw new NotImplementedException("插入或更新失败");
        //}
 
    }
 
    public string DeleteLaboratory(string JYDH)
    {
        try
        {
            var db = SqlSugarHelper.GetInstance();
            // 假设 db 是 SQLSugar 的 SqlSugarClient 实例
            var result = db.Deleteable<UpdateMesQmsSample>()
                .Where(t => t.JYDH == JYDH) // 根据 JYDH 删除
                .ExecuteCommand();
 
            Debug.WriteLine(result);
 
            if (result > 0)
            {
                return "删除成功!";
            }
            else
            {
                return "未找到匹配的记录,删除失败。";
            }
        }
        catch (Exception ex)
        {
            return "删除失败,错误信息:" + ex.Message;
        }
    }
 
}