| | |
| | | using MES.Service.DB; |
| | | using MES.Service.Dto.webApi.QcIssueResult; |
| | | using MES.Service.Modes.QcIssueResult; |
| | | using MES.Service.Modes.SentLaboratory; |
| | | using Newtonsoft.Json; |
| | |
| | | using System.Collections.Generic; |
| | | using System.Diagnostics; |
| | | using System.Linq; |
| | | using System.Security.Cryptography; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | |
| | | |
| | | public class SaveLaboratoryManager:Repository<UpdateMesQmsSample> |
| | | { |
| | | |
| | | public class ResultObject |
| | | { |
| | | public string? SjReleaseNo { get; set; } |
| | | public decimal? IS_SJ { get; set; } |
| | | public string? DEPARTMENTNAME { get; set; } |
| | | public string? DEPARTMENTCODE { get; set; } |
| | | public DateTime? CREATE_DATE { get; set; } |
| | | public DateTime? CompleteDate { get; set; } |
| | | public string? REMARKS { get; set; } |
| | | public string? SIM_REQ { get; set; } |
| | | public string? Test_REQ { get; set; } |
| | | //磁铁拉力 |
| | | public decimal? Check01 { get; set; } |
| | | |
| | | //磁铁承重 |
| | | public decimal? Check02 { get; set; } |
| | | |
| | | //盐雾 |
| | | |
| | | public decimal? Check03 { get; set; } |
| | | |
| | | //IP |
| | | public decimal? Check04 { get; set; } |
| | | |
| | | //老化测试 |
| | | public decimal? Check05 { get; set; } |
| | | |
| | | //传导辐射 |
| | | public decimal? Check06 { get; set; } |
| | | |
| | | public decimal? Check07 { get; set; } |
| | | |
| | | //电线拉力 |
| | | public decimal? Check08 { get; set; } |
| | | |
| | | //接口插拔 |
| | | public decimal? Check09 { get; set; } |
| | | |
| | | //光谱测试 |
| | | public decimal? Check10 { get; set; } |
| | | |
| | | //ROHS |
| | | public decimal? Check11 { get; set; } |
| | | |
| | | //电池充放电 |
| | | public decimal? Check12 { get; set; } |
| | | |
| | | //高温 |
| | | public decimal? Check13 { get; set; } |
| | | |
| | | //低温 |
| | | public decimal? Check14 { get; set; } |
| | | |
| | | //IK |
| | | public decimal? Check15 { get; set; } |
| | | |
| | | //温升测试 |
| | | public decimal? Check16 { get; set; } |
| | | |
| | | //寿命 |
| | | public decimal? Check17 { get; set; } |
| | | |
| | | //其它 |
| | | public decimal? Check18 { get; set; } |
| | | |
| | | //其它的内容 |
| | | public string? Line04 { get; set; } |
| | | public List<AllItem>? allItem { get; set; } |
| | | } |
| | | |
| | | public class AllItem |
| | | { |
| | | public decimal? Pid { get; set; } |
| | | public string? sj_no { get; set; } |
| | | public string? release_no { get; set; } |
| | | public decimal? ITEM_ID { get; set; } |
| | | public string? ITEM_NO { get; set; } |
| | | public string? QUANTITY { get; set; } |
| | | public decimal? URGENT_FLAG { get; set; } |
| | | public DateTime? CREATE_DATE { get; set; } |
| | | public string? SUPP_NAME { get; set; } |
| | | public string? DECISION_OUTCOMES { get; set; } |
| | | |
| | | } |
| | | |
| | | public ResultObject GetListAll(string RELEASE_NO) |
| | | { |
| | | // 假设你有一个数据库上下文或数据访问层 |
| | | // 这里用模拟数据代替实际数据库查询 |
| | | var mainTable = GetMainTableData(RELEASE_NO); |
| | | var subTable = GetSubTableData(RELEASE_NO); |
| | | |
| | | // 创建返回对象 |
| | | var result = new ResultObject |
| | | { |
| | | |
| | | SjReleaseNo = mainTable.ReleaseNo, |
| | | IS_SJ = mainTable.IsSubmit, |
| | | DEPARTMENTNAME = mainTable.DEPARTMENTNAME, |
| | | DEPARTMENTCODE=mainTable.DEPARTMENTCODE, |
| | | REMARKS = mainTable.REMARKS, |
| | | SIM_REQ = mainTable.SimReq, |
| | | CompleteDate=mainTable.CompleteDate, |
| | | Test_REQ=mainTable.TestReq, |
| | | Check01 = mainTable.Check01, |
| | | Check02 = mainTable.Check02, |
| | | Check03 = mainTable.Check03, |
| | | Check04 = mainTable.Check04, |
| | | Check05 = mainTable.Check05, |
| | | Check06 = mainTable.Check06, |
| | | Check07 = mainTable.Check07, |
| | | Check08 = mainTable.Check08, |
| | | Check09 = mainTable.Check09, |
| | | Check10 = mainTable.Check10, |
| | | Check11 = mainTable.Check11, |
| | | Check12 = mainTable.Check12, |
| | | Check13 = mainTable.Check13, |
| | | Check14 = mainTable.Check14, |
| | | Check15 = mainTable.Check15, |
| | | Check16 = mainTable.Check16, |
| | | Check17 = mainTable.Check17, |
| | | Check18 = mainTable.Check18, |
| | | Line04 = mainTable.Line04, |
| | | allItem = subTable.Select(item => new AllItem |
| | | { |
| | | Pid=item.PID, |
| | | sj_no = item.SJ_NO, |
| | | CREATE_DATE = item.CREATE_DATE, |
| | | ITEM_ID = item.ITEM_ID, |
| | | release_no=item.RELEASE_NO, |
| | | ITEM_NO = item.ITEM_NO, |
| | | SUPP_NAME = item.SUPP_NAME, |
| | | QUANTITY=item.QUANTITY, |
| | | URGENT_FLAG=item.URGENT_FLAG, |
| | | DECISION_OUTCOMES=item.DECISION_OUTCOMES, |
| | | |
| | | }).ToList() |
| | | }; |
| | | |
| | | return result; |
| | | } |
| | | |
| | | // 模拟主表数据查询 |
| | | private UpdateMesQmsSample GetMainTableData(string RELEASE_NO) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | var map = db.Queryable<UpdateMesQmsSample>() |
| | | .Where(t => t.ReleaseNo == RELEASE_NO) |
| | | .First(); |
| | | |
| | | |
| | | // 这里应该是实际的数据库查询逻辑 |
| | | // 例如:return db.MainTable.FirstOrDefault(m => m.RELEASE_NO == RELEASE_NO); |
| | | return new UpdateMesQmsSample |
| | | { |
| | | ReleaseNo = map.ReleaseNo, |
| | | DEPARTMENTNAME = map.DEPARTMENTNAME, |
| | | CreateDate = map.CreateDate, |
| | | QUANTITY = map.QUANTITY, |
| | | CompleteDate = map.CompleteDate, |
| | | TestReq = map.TestReq, |
| | | SimReq = map.SimReq, |
| | | ItemNo = map.ItemNo, |
| | | UrgentFlag = map.UrgentFlag, |
| | | JYDH = map.JYDH, |
| | | REMARKS = map.REMARKS, |
| | | ItemName = map.ItemName, |
| | | DEPARTMENTCODE = map.DEPARTMENTCODE, |
| | | PAPERBILLNO = map.PAPERBILLNO, |
| | | IsSubmit = map.IsSubmit, |
| | | ZHBS = map.ZHBS, |
| | | Check01 = map.Check01, |
| | | Check02 = map.Check02, |
| | | Check03 = map.Check03, |
| | | Check04 = map.Check04, |
| | | Check05 = map.Check05, |
| | | Check06 = map.Check06, |
| | | Check07 = map.Check07, |
| | | Check08 = map.Check08, |
| | | Check09 = map.Check09, |
| | | Check10 = map.Check10, |
| | | Check11 = map.Check11, |
| | | Check12 = map.Check12, |
| | | Check13 = map.Check13, |
| | | Check14 = map.Check14, |
| | | Check15 = map.Check15, |
| | | Check16 = map.Check16, |
| | | Check17 = map.Check17, |
| | | Check18 = map.Check18, |
| | | Line04=map.Line04 |
| | | |
| | | }; |
| | | } |
| | | |
| | | // 模拟子表数据查询 |
| | | private List<UpdateMesQmsSamplePjt> GetSubTableData(string RELEASE_NO) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | var mapping = db.Queryable<UpdateMesQmsSamplePjt>() |
| | | .Where(t => t.SJ_NO == RELEASE_NO) |
| | | .ToList(); |
| | | |
| | | // 如果查询结果为空,返回空列表 |
| | | if (mapping == null || mapping.Count == 0) |
| | | { |
| | | return new List<UpdateMesQmsSamplePjt>(); |
| | | } |
| | | |
| | | // 返回查询结果 |
| | | return mapping; |
| | | |
| | | } |
| | | |
| | | public dynamic Save(GetLaboratoryDetails getLaboratoryDetails) |
| | | { |
| | | |
| | |
| | | |
| | | return UseTransaction(db => |
| | | { |
| | | return SaveOrUpdateData(db, mesUpdateMesQmsSample) ? 1 : 0; |
| | | return SaveOrUpdateData(db, mesUpdateMesQmsSample,getLaboratoryDetails) ? 1 : 0; |
| | | }) > 0; |
| | | } |
| | | |
| | | public UpdateMesQmsSample GetMesQcIssueResults(GetLaboratoryDetails getLaboratoryDetails) |
| | | { |
| | | |
| | | if (getLaboratoryDetails.URGENT_FLAG == null) { |
| | | getLaboratoryDetails.URGENT_FLAG = 0; |
| | | } |
| | | |
| | | var mesUpdateMesQmsSample = new UpdateMesQmsSample |
| | | { |
| | | ReleaseNo = getLaboratoryDetails.RELEASE_NO, |
| | |
| | | ItemName = getLaboratoryDetails.ITEM_NAME, |
| | | DEPARTMENTCODE = getLaboratoryDetails.DEPARTMENTCODE, |
| | | PAPERBILLNO = getLaboratoryDetails.LOT_NO, |
| | | IsSubmit = getLaboratoryDetails.IS_SUBMIT, |
| | | ZHBS = getLaboratoryDetails.ZH_BS |
| | | |
| | | }; |
| | | |
| | | mesUpdateMesQmsSample.Check01 = 0; |
| | | mesUpdateMesQmsSample.Check02 = 0; |
| | | mesUpdateMesQmsSample.Check03 = 0; |
| | | mesUpdateMesQmsSample.Check04 = 0; |
| | | mesUpdateMesQmsSample.Check05 = 0; |
| | | mesUpdateMesQmsSample.Check06 = 0; |
| | | mesUpdateMesQmsSample.Check07 = 0; |
| | | mesUpdateMesQmsSample.Check08 = 0; |
| | | mesUpdateMesQmsSample.Check09 = 0; |
| | | mesUpdateMesQmsSample.Check10 = 0; |
| | | mesUpdateMesQmsSample.Check11 = 0; |
| | | mesUpdateMesQmsSample.Check12 = 0; |
| | | mesUpdateMesQmsSample.Check13 = 0; |
| | | mesUpdateMesQmsSample.Check14 = 0; |
| | | mesUpdateMesQmsSample.Check15 = 0; |
| | | mesUpdateMesQmsSample.Check16 = 0; |
| | | mesUpdateMesQmsSample.Check17 = 0; |
| | | mesUpdateMesQmsSample.Check18 = 0; |
| | | |
| | | // 遍历 CHECKBOX 并赋值 |
| | | foreach (var item in getLaboratoryDetails.CHECKBOX) |
| | |
| | | /** |
| | | * 插入数据库表 |
| | | */ |
| | | private bool SaveOrUpdateData(SqlSugarScope db, UpdateMesQmsSample updateMesQmsSample) |
| | | private bool SaveOrUpdateData(SqlSugarScope db, UpdateMesQmsSample updateMesQmsSample, GetLaboratoryDetails getLaboratoryDetails) |
| | | { |
| | | |
| | | ////// 查询 QcIssueResults 表中是否存在匹配的记录 |
| | | ////var mapping = db.Queryable<UpdateMesQmsSample>() |
| | | //// .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo) |
| | | //// .Select(t => new QcIssueResults |
| | | //// { |
| | | //// ReleaseNo = t.ReleaseNo, |
| | | //// }) |
| | | //// .ToList(); |
| | | // 查询 MES_QMS_SAMPLE 表中是否存在匹配的记录 |
| | | var existingRecord = db.Queryable<UpdateMesQmsSample>() |
| | | .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo) |
| | | .First(); // 使用 First 获取第一条记录 |
| | | |
| | | if (existingRecord != null) |
| | | { |
| | | Debug.WriteLine("hhhhhhhhh!"); |
| | | // 更新 UpdateMesQaItems 表中的字段 |
| | | updateMesQmsSample.Id = existingRecord.Id; |
| | | |
| | | //// 查询 UpdateMesQmsSample 表中是否存在匹配的记录 |
| | | //var existingRecord = db.Queryable<UpdateMesQmsSample>() |
| | | // .Where(t => t.ReleaseNo == updateMesQmsSample.ReleaseNo) |
| | | // .First(); // 使用 First 获取第一条记录 |
| | | // 执行更新操作 |
| | | var updateResult = db.Updateable(updateMesQmsSample).ExecuteCommand(); |
| | | |
| | | //if (existingRecord != null) |
| | | //{ |
| | | // // 更新 UpdateMesQaItems 表中的字段 |
| | | // updateMesQmsSample.Id = existingRecord.Id; |
| | | var mapping = db.Queryable<UpdateMesQmsSamplePjt>() |
| | | .Where(t => t.RELEASE_NO == updateMesQmsSample.JYDH && t.PID == updateMesQmsSample.Id) |
| | | .Select(t => new UpdateMesQmsSamplePjt |
| | | { |
| | | PID=t.PID |
| | | }) |
| | | .ToList(); |
| | | |
| | | // // 执行更新操作 |
| | | // var updateResult = db.Updateable(updateMesQmsSample).ExecuteCommand(); |
| | | // return updateResult > 0; // 如果更新成功,返回 true |
| | | |
| | | //} |
| | | //else |
| | | //{ |
| | | // Debug.WriteLine("插入"); |
| | | // 如果 mapping 为空,插入新记录到 QcIssueResults 表 |
| | | |
| | | Debug.WriteLine(updateMesQmsSample.JYDH); |
| | | |
| | | if (mapping.Any()) |
| | | { |
| | | updateResult = db.Updateable<UpdateMesQmsSamplePjt>() |
| | | .SetColumns(t => new UpdateMesQmsSamplePjt |
| | | { |
| | | SJ_NO = updateMesQmsSample.ReleaseNo, |
| | | RELEASE_NO = updateMesQmsSample.JYDH, |
| | | ITEM_NO = updateMesQmsSample.ItemNo, |
| | | QUANTITY = updateMesQmsSample.QUANTITY, |
| | | URGENT_FLAG = updateMesQmsSample.UrgentFlag, |
| | | CREATE_DATE = System.DateTime.Now, |
| | | ITEM_ID = getLaboratoryDetails.ITEM_ID, |
| | | SUPP_NAME = getLaboratoryDetails.SUPP_NAME |
| | | }) |
| | | .Where(t => t.RELEASE_NO == updateMesQmsSample.JYDH && t.PID == updateMesQmsSample.Id) // 显式指定更新条件 |
| | | .ExecuteCommand(); |
| | | |
| | | } |
| | | else |
| | | { |
| | | Debug.WriteLine("hhhhhhhhaddadah!"); |
| | | var mesUpdateMesQmsSamplePjt = new UpdateMesQmsSamplePjt |
| | | { |
| | | |
| | | PID = updateMesQmsSample.Id, |
| | | SJ_NO = updateMesQmsSample.ReleaseNo, |
| | | RELEASE_NO = updateMesQmsSample.JYDH, |
| | | ITEM_NO = updateMesQmsSample.ItemNo, |
| | | QUANTITY = updateMesQmsSample.QUANTITY, |
| | | URGENT_FLAG = updateMesQmsSample.UrgentFlag, |
| | | CREATE_DATE = System.DateTime.Now, |
| | | ITEM_ID = getLaboratoryDetails.ITEM_ID, |
| | | SUPP_NAME = getLaboratoryDetails.SUPP_NAME |
| | | |
| | | }; |
| | | |
| | | updateResult = db.Insertable(mesUpdateMesQmsSamplePjt).ExecuteCommand(); |
| | | |
| | | } |
| | | |
| | | |
| | | var maping = db.Queryable<UpdateMesQaItems>() |
| | | .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) |
| | | .Select(t => new UpdateMesQaItems |
| | | { |
| | | ISSJ = t.ISSJ, |
| | | SJ_NO = t.SJ_NO |
| | | }) |
| | | .ToList(); |
| | | |
| | | if (maping.Any()) |
| | | { |
| | | updateResult = db.Updateable<UpdateMesQaItems>() |
| | | .SetColumns(t => new UpdateMesQaItems |
| | | { |
| | | ISSJ = updateMesQmsSample.IsSubmit, |
| | | SJ_NO = updateMesQmsSample.ReleaseNo |
| | | }) |
| | | .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) // 显式指定更新条件 |
| | | .ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | throw new NotImplementedException("未找到对应来料检验申请单"); |
| | | } |
| | | |
| | | return updateResult > 0; // 如果更新成功,返回 true |
| | | |
| | | } |
| | | else |
| | | { |
| | | //Debug.WriteLine("插入"); |
| | | //如果 mapping 为空,插入新记录到 QcIssueResults 表 |
| | | var orUpdate = base.Insert(updateMesQmsSample); |
| | | if (orUpdate) return true; |
| | | throw new NotImplementedException("插入或更新失败"); |
| | | //} |
| | | |
| | | var insertedId = 0; |
| | | |
| | | if (orUpdate) |
| | | { |
| | | // 使用 RELEASE_NO 查询刚刚插入的记录的 id |
| | | insertedId =(int) db.Queryable<UpdateMesQmsSample>() |
| | | .Where(it => it.ReleaseNo == updateMesQmsSample.ReleaseNo) |
| | | .Select(it => it.Id) |
| | | .Single(); // 如果 RELEASE_NO 是唯一字段,可以使用 Single() |
| | | }; |
| | | |
| | | var mesUpdateMesQmsSamplePjt = new UpdateMesQmsSamplePjt |
| | | { |
| | | |
| | | PID= insertedId, |
| | | SJ_NO= updateMesQmsSample.ReleaseNo, |
| | | RELEASE_NO= updateMesQmsSample.JYDH, |
| | | ITEM_NO= updateMesQmsSample.ItemNo, |
| | | QUANTITY= updateMesQmsSample.QUANTITY, |
| | | URGENT_FLAG= updateMesQmsSample.UrgentFlag, |
| | | CREATE_DATE = System.DateTime.Now, |
| | | ITEM_ID= getLaboratoryDetails.ITEM_ID, |
| | | SUPP_NAME=getLaboratoryDetails.SUPP_NAME |
| | | |
| | | }; |
| | | |
| | | var updateResult = db.Insertable(mesUpdateMesQmsSamplePjt).ExecuteCommand(); |
| | | |
| | | var mapping = db.Queryable<UpdateMesQaItems>() |
| | | .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) |
| | | .Select(t => new UpdateMesQaItems |
| | | { |
| | | ISSJ = t.ISSJ, |
| | | SJ_NO= t.SJ_NO |
| | | }) |
| | | .ToList(); |
| | | |
| | | if (mapping.Any()) |
| | | { |
| | | updateResult = db.Updateable<UpdateMesQaItems>() |
| | | .SetColumns(t => new UpdateMesQaItems |
| | | { |
| | | ISSJ= updateMesQmsSample.IsSubmit, |
| | | SJ_NO = updateMesQmsSample.ReleaseNo |
| | | }) |
| | | .Where(t => t.ReleaseNo == updateMesQmsSample.JYDH) // 显式指定更新条件 |
| | | .ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | throw new NotImplementedException("未找到对应来料检验申请单"); |
| | | } |
| | | |
| | | if (orUpdate) return true; |
| | | throw new NotImplementedException("插入或更新失败"); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | // 假设 db 是 SQLSugar 的 SqlSugarClient 实例 |
| | | var result = db.Deleteable<UpdateMesQmsSample>() |
| | | .Where(t => t.JYDH == JYDH) // 根据 JYDH 删除 |
| | | .ExecuteCommand(); |
| | | var result = db.Updateable<UpdateMesQmsSample>() |
| | | .SetColumns(t => new UpdateMesQmsSample |
| | | { |
| | | IsSubmit = 2, |
| | | }) |
| | | .Where(t => t.JYDH == JYDH) // 显式指定更新条件 |
| | | .ExecuteCommand(); |
| | | |
| | | if (result > 0) |
| | | Debug.WriteLine(result); |
| | | var mapping = db.Queryable<UpdateMesQaItems>() |
| | | .Where(t => t.ReleaseNo ==JYDH) |
| | | .Select(t => new UpdateMesQaItems |
| | | { |
| | | ISSJ = t.ISSJ, |
| | | }) |
| | | .ToList(); |
| | | |
| | | if (mapping.Any()) |
| | | { |
| | | return "删除成功!"; |
| | | var updateResult = db.Updateable<UpdateMesQaItems>() |
| | | .SetColumns(t => new UpdateMesQaItems |
| | | { |
| | | ISSJ = 2, |
| | | SJ_NO=null |
| | | }) |
| | | .Where(t => t.ReleaseNo == JYDH) // 显式指定更新条件 |
| | | .ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | return "未找到匹配的记录,删除失败。"; |
| | | throw new NotImplementedException("未找到对应来料检验申请单"); |
| | | } |
| | | |
| | | if (result > 0) |
| | | { |
| | | return "撤回成功!"; |
| | | } |
| | | else |
| | | { |
| | | return "未找到匹配的记录,撤回失败。"; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return "删除失败,错误信息:" + ex.Message; |
| | | return "撤回失败,错误信息:" + ex.Message; |
| | | } |
| | | } |
| | | |