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;
|
}
|
}
|
|
}
|