From 88a1ab54409ebf39c0bfa269aa7d513a7ac9219e Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期一, 14 四月 2025 14:17:04 +0800
Subject: [PATCH] 111
---
MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs | 462 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 425 insertions(+), 37 deletions(-)
diff --git a/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs b/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs
index b548b57..5f9df44 100644
--- a/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs
+++ b/MES.Service/service/SentLaboratory/SaveLaboratoryManager.cs
@@ -1,4 +1,5 @@
锘縰sing MES.Service.DB;
+using MES.Service.Dto.webApi.QcIssueResult;
using MES.Service.Modes.QcIssueResult;
using MES.Service.Modes.SentLaboratory;
using Newtonsoft.Json;
@@ -7,6 +8,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
@@ -14,6 +16,219 @@
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 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,
+ 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();
+
+
+ // 杩欓噷搴旇鏄疄闄呯殑鏁版嵁搴撴煡璇㈤�昏緫
+ // 渚嬪锛歳eturn 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)
{
@@ -21,12 +236,17 @@
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,
@@ -43,8 +263,29 @@
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)
@@ -117,41 +358,161 @@
/**
* 鎻掑叆鏁版嵁搴撹〃
*/
- 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.SJ_NO == updateMesQmsSample.ReleaseNo)
+ .Select(t => new UpdateMesQmsSamplePjt
+ {
+ PID=t.PID
+ })
+ .ToList();
+ 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.PID == updateMesQmsSample.Id) // 鏄惧紡鎸囧畾鏇存柊鏉′欢
+ .ExecuteCommand();
+
+ }
+ else
+ {
+ Debug.WriteLine("hhhhhhhhaddadah!");
+ var mesUpdateMesQmsSamplePjt = new UpdateMesQmsSamplePjt
+ {
- // // 鎵ц鏇存柊鎿嶄綔
- // var updateResult = db.Updateable(updateMesQmsSample).ExecuteCommand();
- // return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥� true
-
- //}
- //else
- //{
- // Debug.WriteLine("鎻掑叆");
- // 濡傛灉 mapping 涓虹┖锛屾彃鍏ユ柊璁板綍鍒� QcIssueResults 琛�
+ 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("鎻掑叆鎴栨洿鏂板け璐�");
+ }
}
@@ -161,24 +522,51 @@
{
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();
Debug.WriteLine(result);
+ var mapping = db.Queryable<UpdateMesQaItems>()
+ .Where(t => t.ReleaseNo ==JYDH)
+ .Select(t => new UpdateMesQaItems
+ {
+ ISSJ = t.ISSJ,
+ })
+ .ToList();
- if (result > 0)
+ 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;
}
}
--
Gitblit v1.9.3