From c9789cdd33a44c78255e48f9571a834767821aaf Mon Sep 17 00:00:00 2001
From: 如洲 陈 <1278080563@qq.com>
Date: 星期二, 05 八月 2025 20:16:37 +0800
Subject: [PATCH] 出库检

---
 MESApplication/bin/Release/net8.0/MESApplication.exe                                    |    0 
 MES.Service/Modes/MesOqcItemsDetectDetail12.cs                                          |   89 ++
 MESApplication/bin/Release/net8.0/publish/MESApplication.pdb                            |    0 
 MESApplication/Controllers/Base/LoginController.cs                                      |   39 
 MES.Service/service/QC/MesOqcItemsDetect02Manager.cs                                    |  632 +++++++++++++++
 MESApplication/bin/Debug/net8.0/MES.Service.pdb                                         |    0 
 MESApplication/bin/Release/net8.0/MESApplication.deps.json                              |    5 
 MESApplication/bin/Release/net8.0/MESApplication.xml                                    |   64 +
 MES.Service/Dto/service/LLJDto.cs                                                       |   36 
 MES.Service/Modes/MesOqcItemsDetect02.cs                                                |  154 +++
 MESApplication/bin/Release/net8.0/publish/MESApplication.dll                            |    0 
 MESApplication/bin/Debug/net8.0/MES.Service.dll                                         |    0 
 MES.Service/Modes/MesOqcBarcode.cs                                                      |   66 +
 MES.Service/Modes/MesOqcCheckitem.cs                                                    |  174 ++++
 MESApplication/bin/Debug/net8.0/MESApplication.pdb                                      |    0 
 MESApplication/bin/Release/net8.0/MES.Service.dll                                       |    0 
 MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs                          |  427 ++++++++++
 MESApplication/bin/Release/net8.0/MESApplication.dll                                    |    0 
 MESApplication/bin/Debug/net8.0/MESApplication.deps.json                                |    5 
 MESApplication/bin/Release/net8.0/publish/MES.Service.pdb                               |    0 
 MESApplication/bin/Release/net8.0/MESApplication.staticwebassets.endpoints.json         |    1 
 MESApplication/bin/Release/net8.0/MES.Service.pdb                                       |    0 
 MESApplication/bin/Release/net8.0/publish/MESApplication.exe                            |    0 
 MES.Service/service/QC/BaseService.cs                                                   |   34 
 MES.Service/Dto/service/XJPageResult.cs                                                 |    3 
 MESApplication/Controllers/QC/BaseController.cs                                         |   26 
 MESApplication/bin/Release/net8.0/MESApplication.pdb                                    |    0 
 MES.Service/bin/Debug/net8.0/MES.Service.pdb                                            |    0 
 MESApplication/bin/Release/net8.0/publish/MES.Service.dll                               |    0 
 MESApplication/bin/Release/net8.0/publish/MESApplication.xml                            |   64 +
 MESApplication/bin/Release/net8.0/publish/MESApplication.staticwebassets.endpoints.json |    1 
 MESApplication/bin/Release/net8.0/publish/MESApplication.deps.json                      |    5 
 MESApplication/bin/Debug/net8.0/MESApplication.dll                                      |    0 
 MES.Service/Dto/service/OQCDto.cs                                                       |   24 
 MES.Service/bin/Debug/net8.0/MES.Service.dll                                            |    0 
 MESApplication/bin/Debug/net8.0/MESApplication.xml                                      |   43 +
 MES.Service/Modes/MesInvItemStocks.cs                                                   |    6 
 MES.Service/Modes/MesOqcCheckitemDt.cs                                                  |  214 +++++
 MESApplication/MESApplication.csproj.user                                               |    2 
 MES.Service/Modes/MesQsImage.cs                                                         |    3 
 MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user                     |    4 
 MESApplication/bin/Debug/net8.0/MESApplication.exe                                      |    0 
 MES.Service/Modes/MesOqcCheckitemType.cs                                                |  174 ++++
 MES.Service/bin/Release/net8.0/MES.Service.dll                                          |    0 
 MES.Service/Modes/MesOqcItemsDetectDetail5.cs                                           |  197 ++++
 MES.Service/bin/Release/net8.0/MES.Service.pdb                                          |    0 
 MESApplication/bin/Debug/net8.0/MESApplication.staticwebassets.endpoints.json           |    1 
 47 files changed, 2,487 insertions(+), 6 deletions(-)

diff --git a/MES.Service/Dto/service/LLJDto.cs b/MES.Service/Dto/service/LLJDto.cs
new file mode 100644
index 0000000..5f42b50
--- /dev/null
+++ b/MES.Service/Dto/service/LLJDto.cs
@@ -0,0 +1,36 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.service;
+
+public class LLJDto
+{
+    public string? userNo { get; set; }
+
+    //妫�楠屽崟鍙�
+    public string? releaseNo { get; set; }
+
+    //涓昏〃id
+    public int? gid { get; set; }
+
+    //瀛愯〃id
+    public int? pid { get; set; }
+
+    //瀛欒〃id
+    public int? id { get; set; }
+
+    //澶囨敞
+    public string? Remarks { get; set; }
+
+    //==========================================
+    //宸℃涓诲瓙琛ㄩ渶瑕佺殑鏁版嵁
+    public QsItemOqcReq? from { get; set; }
+
+    public List<MesQaItemsDetectDetail5>? items { get; set; }
+
+    //==========================================
+    //宸℃瀛愬瓩琛ㄩ渶瑕佺殑鏁版嵁
+
+    public MesQaItemsDetectDetail5? ItemXj01 { get; set; }
+
+   // public List<MesQaItemsDetectDetail12>? ItemXj02s { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/OQCDto.cs b/MES.Service/Dto/service/OQCDto.cs
new file mode 100644
index 0000000..31dc87d
--- /dev/null
+++ b/MES.Service/Dto/service/OQCDto.cs
@@ -0,0 +1,24 @@
+锘縰sing MES.Service.Dto.@base;
+using MES.Service.Modes;
+
+namespace MES.Service.Dto.service;
+
+public class OQCDto : Page
+{
+    public string? CreateUser { get; set; }
+
+    public decimal? Id { get; set; }
+
+    public decimal? MainId { get; set; }
+
+    public string? ReleaseNo { get; set; }
+    
+    public string? OrderNo { get; set; }
+
+    public List<MesInvItemStocks>? ItemBarCodeData { get; set; }
+    
+    
+    public MesOqcItemsDetectDetail5? ItemXj01 { get; set; }
+
+    public List<MesOqcItemsDetectDetail12>? ItemXj02s { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/XJPageResult.cs b/MES.Service/Dto/service/XJPageResult.cs
index dee4180..71621b0 100644
--- a/MES.Service/Dto/service/XJPageResult.cs
+++ b/MES.Service/Dto/service/XJPageResult.cs
@@ -82,4 +82,7 @@
     [SugarColumn(ColumnName = "DAA008")]
     public decimal? Daa008 { get; set; }
 
+    [SugarColumn(ColumnName = "ItemCode")]
+    public string? ItemCode { get; set; }
+    //public string? id { get; set; }
 }
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemStocks.cs b/MES.Service/Modes/MesInvItemStocks.cs
index 2a5a4d1..95775f2 100644
--- a/MES.Service/Modes/MesInvItemStocks.cs
+++ b/MES.Service/Modes/MesInvItemStocks.cs
@@ -200,4 +200,10 @@
     /// </summary>
     [SugarColumn(ColumnName = "LINE_K3ID")]
     public decimal? LineK3id { get; set; }
+
+    [SugarColumn(IsIgnore = true)]
+    public string? ItemName { get; set; }
+
+    [SugarColumn(IsIgnore = true)]
+    public string? ItemModel { get; set; }
 }
\ No newline at end of file
diff --git a/MES.Service/Modes/MesOqcBarcode.cs b/MES.Service/Modes/MesOqcBarcode.cs
new file mode 100644
index 0000000..4206e8a
--- /dev/null
+++ b/MES.Service/Modes/MesOqcBarcode.cs
@@ -0,0 +1,66 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     OQC鍑哄簱鏉$爜
+/// </summary>
+[SugarTable("MES_OQC_BARCODE")]
+public class MesOqcBarcode
+{
+    /// <summary>
+    ///     涓婚敭搴忓垪涓篜OWER_ID
+    /// </summary>
+    [SugarColumn(ColumnName = "ID", OracleSequenceName = "POWER_ID",
+        IsPrimaryKey = true)]
+    public decimal Id { get; set; }
+
+    /// <summary>
+    ///     MES_OQC_ITEMS_DETECT_02琛ㄧ殑id
+    /// </summary>
+    [SugarColumn(ColumnName = "PID")]
+    public decimal? Pid { get; set; }
+
+    /// <summary>
+    ///     鎵爜浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "CREATE_BY")]
+    public string? CreateBy { get; set; }
+
+    /// <summary>
+    ///     鎵爜鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡鏉$爜
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_BARCODE")]
+    public string? ItemBarcode { get; set; }
+
+    /// <summary>
+    ///     鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "QTY")]
+    public decimal? Qty { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡id
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_ID")]
+    public decimal? ItemId { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_NO")]
+    public string? ItemNo { get; set; }
+
+    /// <summary>
+    ///     宸ュ崟鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "SALE_ORDER_NO")]
+    public string? SaleOrderNo { get; set; }
+    
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesOqcCheckitem.cs b/MES.Service/Modes/MesOqcCheckitem.cs
new file mode 100644
index 0000000..723faaa
--- /dev/null
+++ b/MES.Service/Modes/MesOqcCheckitem.cs
@@ -0,0 +1,174 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_OQC_CHECKITEM")]
+public class MesOqcCheckitem
+{
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ID")]
+    public decimal Id { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+    public string CreateBy { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+    public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+    public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+    public string Memo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+    public string ItemNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTYPE")]
+    public string Ftype { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_TYPE")]
+    public string CheckType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "NAME1")]
+    public string Name1 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FSPECIAL_ITEM")]
+    public decimal? FspecialItem { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+    public string Factory { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FINSPECTION_LEVEL")]
+    public string FinspectionLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_LEVEL")]
+    public string FcheckLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FRECEIVING_LEVEL")]
+    public string FreceivingLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FONE_CHECKED")]
+    public short? FoneChecked { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FONE_CHECKOR")]
+    public string FoneCheckor { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FONE_CHECKDATE")]
+    public DateTime? FoneCheckdate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTWO_CHECKED")]
+    public short? FtwoChecked { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTWO_CHECKOR")]
+    public string FtwoCheckor { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTWO_CHECKDATE")]
+    public DateTime? FtwoCheckdate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "EDIT_STATUS")]
+    public short? EditStatus { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FVERSION")]
+    public long? Fversion { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ISENABLED")]
+    public short? Isenabled { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+    public string Company { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "KUNNR")]
+    public string Kunnr { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "MAX_CHECK_QTY")]
+    public decimal? MaxCheckQty { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "REM_QTY")]
+    public decimal? RemQty { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "OTHERFLAG")]
+    public short? Otherflag { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "BATTYPE")]
+    public string Battype { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "PROJECT_NAME")]
+    public string ProjectName { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "TNAME")]
+    public string Tname { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_ID")]
+    public decimal? ItemId { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesOqcCheckitemDt.cs b/MES.Service/Modes/MesOqcCheckitemDt.cs
new file mode 100644
index 0000000..e6bd577
--- /dev/null
+++ b/MES.Service/Modes/MesOqcCheckitemDt.cs
@@ -0,0 +1,214 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_OQC_CHECKITEM_DT")]
+public class MesOqcCheckitemDt
+{
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ID")]
+    public decimal Id { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+    public string CreateBy { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+    public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+    public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+    public string Memo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+    public string ItemNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FORDER")]
+    public decimal? Forder { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FUP_ALLOW")]
+    public string FupAllow { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_ITEM")]
+    public string FcheckItem { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FSPEC_TYPE")]
+    public string FspecType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")]
+    public decimal? WorkshopCenterCode { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "PROC_NO")]
+    public string ProcNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "SAMPLE_SIZE_NO")]
+    public string SampleSizeNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_TOOL")]
+    public string FcheckTool { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FDOWN_ALLOW")]
+    public string FdownAllow { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_LEVEL")]
+    public string FcheckLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FSTAND")]
+    public string Fstand { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FAC_LEVEL")]
+    public string FacLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FEATU_PROC")]
+    public string FeatuProc { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FEATU_PROD")]
+    public string FeatuProd { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "AQL1_ID")]
+    public string Aql1Id { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FQA_TYPE")]
+    public string FqaType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ISDANWEI")]
+    public decimal? Isdanwei { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTYPE")]
+    public decimal? Ftype { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "EDIT_STATUS")]
+    public short? EditStatus { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+    public decimal? CheckQty { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FAC_QTY")]
+    public decimal? FacQty { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "PID")]
+    public decimal? Pid { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+    public string Company { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+    public string Factory { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "F_TYPE")]
+    public string FType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FREQUENCY")]
+    public string Frequency { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FSPEC_REQU")]
+    public string FspecRequ { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_TYPE")]
+    public string FcheckType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FUNIT")]
+    public string Funit { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "REPORF_CHECK")]
+    public short? ReporfCheck { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "GIVEN_MODIFY")]
+    public short? GivenModify { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FUCL")]
+    public decimal? Fucl { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FLCL")]
+    public decimal? Flcl { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FRUCL")]
+    public decimal? Frucl { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesOqcCheckitemType.cs b/MES.Service/Modes/MesOqcCheckitemType.cs
new file mode 100644
index 0000000..f32d02a
--- /dev/null
+++ b/MES.Service/Modes/MesOqcCheckitemType.cs
@@ -0,0 +1,174 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_OQC_CHECKITEM_TYPE")]
+public class MesOqcCheckitemType
+{
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ID")]
+    public decimal Id { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+    public string CreateBy { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+    public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+    public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+    public string Memo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_TYPE")]
+    public string ItemType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTYPE")]
+    public string Ftype { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_TYPE")]
+    public string CheckType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "NAME1")]
+    public string Name1 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FSPECIAL_ITEM")]
+    public decimal? FspecialItem { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+    public string Factory { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FINSPECTION_LEVEL")]
+    public string FinspectionLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_LEVEL")]
+    public string FcheckLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FRECEIVING_LEVEL")]
+    public string FreceivingLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FONE_CHECKED")]
+    public short? FoneChecked { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FONE_CHECKOR")]
+    public string FoneCheckor { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FONE_CHECKDATE")]
+    public DateTime? FoneCheckdate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTWO_CHECKED")]
+    public short? FtwoChecked { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTWO_CHECKOR")]
+    public string FtwoCheckor { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FTWO_CHECKDATE")]
+    public DateTime? FtwoCheckdate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "EDIT_STATUS")]
+    public short? EditStatus { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FVERSION")]
+    public long? Fversion { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ISENABLED")]
+    public short? Isenabled { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+    public string Company { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "KUNNR")]
+    public string Kunnr { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "MAX_CHECK_QTY")]
+    public decimal? MaxCheckQty { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "REM_QTY")]
+    public decimal? RemQty { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "OTHERFLAG")]
+    public short? Otherflag { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "BATTYPE")]
+    public string Battype { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "PROJECT_NAME")]
+    public string ProjectName { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "TNAME")]
+    public string Tname { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_TYPE_ID")]
+    public decimal? ItemTypeId { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesOqcItemsDetect02.cs b/MES.Service/Modes/MesOqcItemsDetect02.cs
new file mode 100644
index 0000000..2e3896b
--- /dev/null
+++ b/MES.Service/Modes/MesOqcItemsDetect02.cs
@@ -0,0 +1,154 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// IQC鎶芥琛ㄥご
+    ///</summary>
+    [SugarTable("MES_OQC_ITEMS_DETECT_02")]
+    public class MesOqcItemsDetect02
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_QM_ID",
+            IsPrimaryKey = true)]
+        public decimal Id { get; set; }
+
+        /// <summary>
+        /// 妫�楠屽崟鍙� 
+        ///</summary>
+        [SugarColumn(ColumnName = "RELEASE_NO")]
+        public string? ReleaseNo { get; set; }
+
+        /// <summary>
+        /// 妫�楠屼汉鍛� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_BY")]
+        public string? FcheckBy { get; set; }
+
+        /// <summary>
+        /// 鎻愪氦鏍囪瘑 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSUBMIT")]
+        public decimal? Fsubmit { get; set; }
+
+        /// <summary>
+        /// 妫�楠岀粨鏋� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_RESU")]
+        public string? FcheckResu { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡缂栫爜 
+        ///</summary>
+        [SugarColumn(ColumnName = "ITEM_NO")]
+        public string? ItemNo { get; set; }
+
+        /// <summary>
+        /// 浜屾鍒ゅ畾缁撴灉 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSECOND_RESU")]
+        public string? FsecondResu { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "CREATE_BY")]
+        public string? CreateBy { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "CREATE_DATE")]
+        public DateTime? CreateDate { get; set; }
+
+        /// <summary>
+        /// 鏇存柊浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+        public string? LastupdateBy { get; set; }
+
+        /// <summary>
+        /// 鏇存柊鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+        public DateTime? LastupdateDate { get; set; }
+
+        /// <summary>
+        /// 瀹℃牳鏍囪瘑 
+        ///</summary>
+        [SugarColumn(ColumnName = "ISMODIFY1")]
+        public decimal? Ismodify1 { get; set; }
+
+        /// <summary>
+        /// 瀹℃牳浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "MODIFY1_BY")]
+        public string? Modify1By { get; set; }
+
+        /// <summary>
+        /// 瀹℃牳鏃堕棿 
+        ///</summary>
+        [SugarColumn(ColumnName = "MODIFY1_DATE")]
+        public DateTime? Modify1Date { get; set; }
+
+        /// <summary>
+        /// 浣滃簾鏍囪瘑 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCANCEL")]
+        public string? Fcancel { get; set; }
+
+        /// <summary>
+        /// 妫�楠屾棩鏈� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_DATE")]
+        public DateTime? FcheckDate { get; set; }
+
+        /// <summary>
+        /// 璁″垝鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "PLAN_QTY")]
+        public decimal? PlanQty { get; set; }
+
+        /// <summary>
+        /// 澶囨敞 
+        ///</summary>
+        [SugarColumn(ColumnName = "REMEKE")]
+        public string? Remeke { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡id 
+        ///</summary>
+        [SugarColumn(ColumnName = "ITEM_ID")]
+        public decimal? ItemId { get; set; }
+
+        /// <summary>
+        /// 閿�鍞鍗曞彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "SALE_ORDER_NO")]
+        public string? SaleOrderNo { get; set; }
+
+        /// <summary>
+        /// 浠撳簱id 
+        ///</summary>
+        [SugarColumn(ColumnName = "DEPOT_ID")]
+        public decimal? DepotId { get; set; }
+        
+        [SugarColumn(IsIgnore = true)]
+        public string? ItemName{ get; set; }
+    
+        [SugarColumn(IsIgnore = true)]
+        public string? ItemModel { get; set; }
+        
+        [SugarColumn(IsIgnore = true)]
+        public string? CreateUser { get; set; }
+        
+        //fcheckBy
+        [SugarColumn(IsIgnore = true)]
+        public string? FcheckUser { get; set; }
+        
+        [SugarColumn(IsIgnore = true)]
+        public string? DepotName { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesOqcItemsDetectDetail12.cs b/MES.Service/Modes/MesOqcItemsDetectDetail12.cs
new file mode 100644
index 0000000..91e638d
--- /dev/null
+++ b/MES.Service/Modes/MesOqcItemsDetectDetail12.cs
@@ -0,0 +1,89 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// OQC妫�楠�
+    ///</summary>
+    [SugarTable("MES_OQC_ITEMS_DETECT_DETAIL12")]
+    public class MesOqcItemsDetectDetail12
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_QM_ID",
+            IsPrimaryKey = true)]
+        public decimal Id { get; set; }
+
+        /// <summary>
+        /// 妫�楠岀粨鏋� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_RESU")]
+        public string? FcheckResu { get; set; }
+
+        /// <summary>
+        /// 妫�楠岄」鐩� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_ITEM")]
+        public string? FcheckItem { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鏉$爜 
+        ///</summary>
+        [SugarColumn(ColumnName = "ITEM_BARCODE")]
+        public string? ItemBarcode { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "RELEASE_NO")]
+        public string? ReleaseNo { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "MAIN_ID")]
+        public decimal? MainId { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "CREATE_DATE")]
+        public DateTime? CreateDate { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "COMPANY")]
+        public string? Company { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "FACTORY")]
+        public string? Factory { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTAND")]
+        public string? Fstand { get; set; }
+
+        /// <summary>
+        /// 鐢熸垚浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+        public string? LastupdateBy { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "CREATE_BY")]
+        public string? CreateBy { get; set; }
+        
+        [SugarColumn(IsIgnore = true)] public int? count { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesOqcItemsDetectDetail5.cs b/MES.Service/Modes/MesOqcItemsDetectDetail5.cs
new file mode 100644
index 0000000..7368f96
--- /dev/null
+++ b/MES.Service/Modes/MesOqcItemsDetectDetail5.cs
@@ -0,0 +1,197 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// OQC妫�楠屼粠琛�
+    ///</summary>
+    [SugarTable("MES_OQC_ITEMS_DETECT_DETAIL5")]
+    public class MesOqcItemsDetectDetail5
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_QM_ID",
+            IsPrimaryKey = true)]
+        public decimal Id { get; set; }
+
+        /// <summary>
+        /// 鏍囧噯鍊肩被鍨� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FTEXT_TYPE")]
+        public string? FtextType { get; set; }
+
+        /// <summary>
+        /// 鏍囧噯鍊� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTAND")]
+        public decimal? Fstand { get; set; }
+
+        /// <summary>
+        /// 涓婂叕宸� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FUP_ALLOW")]
+        public string? FupAllow { get; set; }
+
+        /// <summary>
+        /// 涓嬪叕宸� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDOWN_ALLOW")]
+        public string? FdownAllow { get; set; }
+
+        /// <summary>
+        /// 妫�楠屾按鍑� 
+        ///</summary>
+        [SugarColumn(ColumnName = "SAMPLE_SIZE_NO")]
+        public string? SampleSizeNo { get; set; }
+
+        /// <summary>
+        /// 妫�楠屾按骞� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_LEVEL")]
+        public string? FcheckLevel { get; set; }
+
+        /// <summary>
+        /// 鎷掓敹姘村钩 
+        ///</summary>
+        [SugarColumn(ColumnName = "FAC_LEVEL")]
+        public string? FacLevel { get; set; }
+
+        /// <summary>
+        /// 妫�楠岄」鐩� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_ITEM")]
+        public string? FcheckItem { get; set; }
+
+        /// <summary>
+        /// 瑙勬牸瑕佹眰 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSPEC_REQU")]
+        public string? FspecRequ { get; set; }
+
+        /// <summary>
+        /// 鎶芥鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "CHECK_QYT")]
+        public decimal? CheckQyt { get; set; }
+
+        /// <summary>
+        /// 妫�楠岀粨鏋� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_RESU")]
+        public string? FcheckResu { get; set; }
+
+        /// <summary>
+        /// AC鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FAC_QTY")]
+        public decimal? FacQty { get; set; }
+
+        /// <summary>
+        /// RE鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FRE_QTY")]
+        public decimal? FreQty { get; set; }
+
+        /// <summary>
+        /// 涓嶅悎鏍兼暟 
+        ///</summary>
+        [SugarColumn(ColumnName = "FNG_QTY")]
+        public decimal? FngQty { get; set; }
+
+        /// <summary>
+        /// 涓嶈壇鐜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FNG_RATE")]
+        public decimal? FngRate { get; set; }
+
+        /// <summary>
+        /// 宸插綍鍏ユ暟閲� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FENTER_QTY")]
+        public decimal? FenterQty { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "RELEASE_NO")]
+        public string? ReleaseNo { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "COMPANY")]
+        public string? Company { get; set; }
+
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "FACTORY")]
+        public string? Factory { get; set; }
+
+        /// <summary>
+        /// 妫�楠岄」鐩弿杩� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_ITEM_DESC")]
+        public string? FcheckItemDesc { get; set; }
+
+        /// <summary>
+        /// 宸ュ簭鍙� 
+        ///</summary>
+        [SugarColumn(ColumnName = "PROC_NO")]
+        public string? ProcNo { get; set; }
+
+        /// <summary>
+        /// 宸ヤ綔涓績缂栫爜 
+        ///</summary>
+        [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")]
+        public string? WorkshopCenterCode { get; set; }
+
+        /// <summary>
+        /// 鍗曚綅 
+        ///</summary>
+        [SugarColumn(ColumnName = "FUNIT")]
+        public string? Funit { get; set; }
+
+        /// <summary>
+        /// 鐗瑰畾淇敼 
+        ///</summary>
+        [SugarColumn(ColumnName = "GIVEN_MODIFY")]
+        public short? GivenModify { get; set; }
+
+        /// <summary>
+        /// 妫�楠屽伐鍏� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHECK_TOOL")]
+        public string? FcheckTool { get; set; }
+
+        /// <summary>
+        /// 鏇存柊浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+        public string? LastupdateBy { get; set; }
+
+        /// <summary>
+        /// 鏇存柊鏃堕棿 
+        ///</summary>
+        [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+        public DateTime? LastupdateDate { get; set; }
+
+        /// <summary>
+        /// 涓嶈壇鎻忚堪 
+        ///</summary>
+        [SugarColumn(ColumnName = "REMARKS")]
+        public string? Remarks { get; set; }
+
+        /// <summary>
+        /// 妫�楠屼緷鎹� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FEATU_PROC")]
+        public string? FeatuProc { get; set; }
+        
+        [SugarColumn(IsIgnore = true)] public int? Unqualified { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesQsImage.cs b/MES.Service/Modes/MesQsImage.cs
index 3f627b2..92c627d 100644
--- a/MES.Service/Modes/MesQsImage.cs
+++ b/MES.Service/Modes/MesQsImage.cs
@@ -52,4 +52,7 @@
     public string? Picturename { get; set; }
 
     [SugarColumn(IsIgnore = true)] public string? base64Date { get; set; }
+
+    [SugarColumn(ColumnName = "ORDER_NO")] //鐢ㄤ簬SqlSugar
+    public string? OrderNo { get; set; }
 }
\ No newline at end of file
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.dll b/MES.Service/bin/Debug/net8.0/MES.Service.dll
index 10a9243..c635514 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.dll
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.pdb b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
index e7b8c62..ead8e76 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.pdb
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MES.Service/bin/Release/net8.0/MES.Service.dll b/MES.Service/bin/Release/net8.0/MES.Service.dll
index 89c1349..e574157 100644
--- a/MES.Service/bin/Release/net8.0/MES.Service.dll
+++ b/MES.Service/bin/Release/net8.0/MES.Service.dll
Binary files differ
diff --git a/MES.Service/bin/Release/net8.0/MES.Service.pdb b/MES.Service/bin/Release/net8.0/MES.Service.pdb
index 6d46b3f..02a90ce 100644
--- a/MES.Service/bin/Release/net8.0/MES.Service.pdb
+++ b/MES.Service/bin/Release/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MES.Service/service/QC/BaseService.cs b/MES.Service/service/QC/BaseService.cs
index 10bef34..48e6026 100644
--- a/MES.Service/service/QC/BaseService.cs
+++ b/MES.Service/service/QC/BaseService.cs
@@ -51,4 +51,38 @@
 
         
     }
+    public List<MesQsImage> getByOqcFid(decimal id, string qsType)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        var mesQsImages = db.Queryable<MesQsImage>()
+            .Where(s => s.Fid == id && s.QsType == qsType).ToList();
+
+        var mesOqcItemsDetect02 = db.Queryable<MesOqcItemsDetect02>()
+            .Where(s => s.Id == id).First();
+
+        if (mesOqcItemsDetect02?.SaleOrderNo != null)
+        {
+            var baseOrderNo = mesOqcItemsDetect02.SaleOrderNo.Split('-')[0];
+
+            var additionalImages = db.Queryable<MesQsImage>()
+                .Where(s => s.OrderNo == baseOrderNo && s.QsType == qsType)
+                .Where(s => !mesQsImages.Any(existing => existing.Id == s.Id))
+                .ToList();
+
+            mesQsImages.AddRange(additionalImages);
+
+            if (mesQsImages.Count > 9)
+            {
+                mesQsImages = mesQsImages.Take(9).ToList();
+            }
+        }
+
+        mesQsImages.ForEach(s =>
+        {
+            if (s.ImageData is { Length: > 0 })
+                s.base64Date = Convert.ToBase64String(s.ImageData);
+        });
+        return mesQsImages;
+    }
+
 }
\ No newline at end of file
diff --git a/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs b/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs
new file mode 100644
index 0000000..33a7b2f
--- /dev/null
+++ b/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs
@@ -0,0 +1,632 @@
+锘縰sing System.Data;
+using Masuit.Tools;
+using MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.util;
+using SqlSugar;
+using DbType = System.Data.DbType;
+
+namespace MES.Service.service.QC;
+
+public class MesOqcItemsDetect02Manager : Repository<MesOqcItemsDetect02>
+{
+    public (List<MesOqcItemsDetect02> item, int TotalCount) GetPage(
+        XJPageResult queryObj)
+    {
+        if (queryObj == null)
+            throw new ArgumentNullException(nameof(queryObj));
+
+        //if (string.IsNullOrEmpty(queryObj.CreateBy))
+        //    return (new List<MesOqcItemsDetect02>(), 0);
+
+        //if (queryObj.CreateBy.IsNullOrEmpty()) return ([], 0);
+
+        var db = Db;
+
+        //瀹夊叏鐨勭被鍨嬭浆鎹�
+        if (!decimal.TryParse(queryObj.Id.ToString(), out decimal id))
+        {
+            id = 0;
+            // 澶勭悊杞崲澶辫触鐨勬儏鍐�
+        }
+
+
+        var totalCount = 0;
+
+        var pageList = Db.Queryable<MesOqcItemsDetect02, MesItems
+                , SysUser, SysUser, MesDepots>((a, b, c, d, e) =>
+                new JoinQueryInfos(JoinType.Left, a.ItemNo == b.ItemNo,
+                    JoinType.Left, a.CreateBy == c.Fcode,
+                    JoinType.Left, a.FcheckBy == d.Fcode,
+                    JoinType.Left, a.DepotId == e.DepotId
+                ))
+            .WhereIF(
+                StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+                "鏈畬鎴�".Equals(queryObj.Result),
+                (a, b, c, d, e) => a.FcheckResu == null || a.Fsubmit == 0)
+            .WhereIF(
+                StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+                !"鏈畬鎴�".Equals(queryObj.Result),
+                (a, b, c, d, e) => a.FcheckResu != null && a.Fsubmit == 1)
+            .WhereIF(id > 0, (a, b, c, d, e) => a.Id == id)
+            .OrderByDescending((a, b, c, d, e) => a.Id)
+            .Select((a, b, c, d, e) => new MesOqcItemsDetect02()
+            {
+                ItemNo = b.ItemNo,
+                ItemName = b.ItemName,
+                ItemModel = b.ItemModel,
+                CreateUser = c.Fname,
+                FcheckUser = d.Fname,
+                DepotName = e.DepotName
+            }, true)
+            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+        return (pageList, totalCount);
+    }
+
+    public List<MesOqcItemsDetectDetail5> GetDetail5(OQCDto dto)
+    {
+        return Db.Queryable<MesOqcItemsDetectDetail5>()
+            .Where(s => s.ReleaseNo == dto.ReleaseNo)
+            .ToList();
+    }
+
+    public List<MesOqcItemsDetectDetail12> GetDetail12(OQCDto dto)
+    {
+        return Db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.ReleaseNo == dto.ReleaseNo
+                        && s.MainId == dto.MainId)
+            .ToList();
+    }
+
+    public MesInvItemStocks GetItemBarCode(XJPageResult queryObj)
+    {
+        if (queryObj.ItemCode.IsNullOrEmpty())
+        {
+            throw new NotImplementedException("璇锋壂鎻忔潯鐮�");
+        }
+
+        var mesInvItemStocks = Db.Queryable<MesInvItemStocks>()
+            .Where(a => a.ItemBarcode == queryObj.ItemCode)
+            .First();
+
+        if (mesInvItemStocks == null)
+        {
+            throw new NotImplementedException("鏉$爜涓嶅瓨鍦ㄤ簬搴撳瓨涓�");
+        }
+
+        // 妫�鏌ユ潯鐮佹槸鍚﹀凡缁忓瓨鍦ㄤ簬MesOqcBarcode琛ㄤ腑锛堝凡妫�楠岃繃锛�
+        var existingBarcode = Db.Queryable<MesOqcBarcode>()
+            .Where(a => a.ItemBarcode == queryObj.ItemCode)
+            .First();
+
+        if (existingBarcode != null)
+        {
+            throw new NotImplementedException("璇ユ潯鐮佸凡缁忔楠岃繃锛屼笉鑳介噸澶嶆楠�");
+        }
+
+        /*var mesDepots = Db.Queryable<MesDepots>()
+            .Where(s => s.DepotId == 121163).First();
+
+        if (!mesDepots.Equals(mesInvItemStocks.DepotsCode))
+        {
+            throw new NotImplementedException("鍙兘鎵弿" + mesDepots.DepotCode +
+                                              "浠撳簱鐨勭爜");
+        }*/
+
+        if (mesInvItemStocks.ItemNo is null)
+        {
+            throw new NotImplementedException("鐗╂枡鏄潪娉曠殑");
+        }
+
+        var mesItems = Db.Queryable<MesItems>()
+            .Where(b => b.ItemNo == mesInvItemStocks.ItemNo)
+            .Select<MesItems>(b => new MesItems
+            {
+                ItemName = b.ItemName,
+                ItemModel = b.ItemModel,
+            })
+            .First();
+
+        mesInvItemStocks.ItemName = mesItems.ItemName;
+        mesInvItemStocks.ItemModel = mesItems.ItemModel;
+
+        return mesInvItemStocks;
+    }
+
+    //OQCDto
+    public int ItemBarCodeSubmit(OQCDto dto)
+    {
+        //getbillcode1
+        var billNo = Db.Ado.GetString(
+            "SELECT getbillcode1('1000', '1000', 'OQC') FROM DUAL");
+
+        var dtoItemBarCodeData = dto.ItemBarCodeData;
+
+        var sum = dtoItemBarCodeData.Sum(s => s.Quantity);
+
+        MesOqcItemsDetect02 from = new MesOqcItemsDetect02
+        {
+            CreateBy = dto.CreateUser,
+            CreateDate = DateTime.Now,
+            ReleaseNo = billNo,
+            Fsubmit = 0,
+            Ismodify1 = 0,
+            FcheckBy = dto.CreateUser,
+            FcheckDate = DateTime.Now,
+            ItemNo = dtoItemBarCodeData[0].ItemNo,
+            //ItemId = dtoItemBarCodeData[0].ItemId,
+            PlanQty = sum,
+            SaleOrderNo = dtoItemBarCodeData[0].TaskNo,
+            DepotId = 121163
+        };
+
+        var id = Db.Insertable(from)
+            .IgnoreColumns(ignoreNullColumn: true)
+            .ExecuteReturnIdentity();
+
+        //璁板綍鏉$爜
+        List<MesOqcBarcode> oqcBarcodes = new List<MesOqcBarcode>();
+
+        foreach (var mesInvItemStockse in dtoItemBarCodeData)
+        {
+            MesOqcBarcode entity = new MesOqcBarcode()
+            {
+                CreateBy = dto.CreateUser,
+                CreateDate = DateTime.Now,
+                ItemBarcode = mesInvItemStockse.ItemBarcode,
+                //ItemId = mesInvItemStockse.ItemId,
+                ItemNo = mesInvItemStockse.ItemNo,
+                Qty = mesInvItemStockse.Quantity,
+                Pid = id,
+                SaleOrderNo = mesInvItemStockse.TaskNo,
+            };
+            oqcBarcodes.Add(entity);
+        }
+
+        var executeCommand = Db.Insertable(oqcBarcodes).PageSize(1)
+            .IgnoreColumnsNull()
+            .ExecuteCommand();
+
+        //PRC_OQC_ITEM_INSERT_BTN
+        if (executeCommand > 0 && id > 0)
+        {
+            // 瀹氫箟杈撳嚭鍙傛暟
+            var outputResult = new SugarParameter("PO_RESULT", null,
+                DbType.Int32, ParameterDirection.Output, 4000);
+            var outputMessage = new SugarParameter("PO_TEXT", null,
+                DbType.String,
+                ParameterDirection.Output, 4000);
+
+            // 瀹氫箟杈撳叆鍙傛暟
+            var parameters = new List<SugarParameter>
+            {
+                new("P_RELEASE_NO", from.ReleaseNo, DbType.String,
+                    ParameterDirection.Input),
+                new("P_ITEM_NO", from.ItemNo, DbType.String ,
+                    ParameterDirection.Input),
+                new("P_BILL_NO  ", "", DbType.String,
+                    ParameterDirection.Input),
+                outputResult,
+                outputMessage
+            };
+
+            var db = SqlSugarHelper.GetInstance();
+
+            // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+            db.Ado.ExecuteCommand(
+                "BEGIN PRC_OQC_ITEM_INSERT_BTN(:P_RELEASE_NO,:P_ITEM_ID,:P_BILL_NO,:PO_RESULT, :PO_TEXT); END;",
+                parameters.ToArray());
+
+            // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+            var resultValue = outputResult.Value?.ToString();
+            var messageValue = outputMessage.Value?.ToString();
+
+            if ("1".Equals(resultValue))
+                // 澶勭悊澶辫触鎯呭喌锛岃繑鍥為敊璇俊鎭�
+                throw new Exception($"鎿嶄綔澶辫触: {messageValue}");
+
+            // 褰� resultValue 涓� "0" 鏃惰繑鍥炴垚鍔熺姸鎬�
+            return id;
+        }
+
+        return 0;
+    }
+
+    public OQCDto getXjDetail02ById(decimal? id)
+    {
+        var rkjDto = new OQCDto();
+
+        var qsItemOqcItem =
+            Db.Queryable<MesOqcItemsDetectDetail5>().Single(s => s.Id == id);
+
+        /* if (qsItemOqcItem.IsPass == 0)
+             qsItemOqcItem.Result = "涓嶅悎鏍�";
+         else if (qsItemOqcItem.IsPass == 1)
+             qsItemOqcItem.Result = "鍚堟牸";
+         else
+             qsItemOqcItem.Result = "鏈畬鎴�";
+
+         if (qsItemOqcItem.Picture is { Length: > 0 })
+             qsItemOqcItem.imageData =
+                 Convert.ToBase64String(qsItemOqcItem.Picture);
+ */
+        //鑾峰彇涓嶅悎鏍兼暟
+        var count = Db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.Fstand == "脳" && s.MainId == id).Count();
+
+        qsItemOqcItem.Unqualified = count;
+
+        rkjDto.ItemXj01 = qsItemOqcItem;
+
+
+        rkjDto.ItemXj02s = Db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.MainId == id)
+            .ToList();
+
+        return rkjDto;
+    }
+
+    public int UpdateQSItemDetail(MesOqcItemsDetectDetail12 detail)
+    {
+        var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<MesOqcItemsDetectDetail12>()
+                .SetColumns(s => s.LastupdateBy == detail.LastupdateBy)
+                // .SetColumns(s => s.LastupdateDate == DateTime.Now)
+                .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.Fstand),
+                    s => s.Fstand == detail.Fstand)
+                .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.FcheckResu),
+                    s => s.FcheckResu == detail.FcheckResu)
+                .Where(s => s.MainId == detail.MainId && s.Id == detail.Id)
+                .ExecuteCommand();
+        });
+
+        detail.CreateBy = detail.LastupdateBy;
+
+        withOracle += autoResult(detail);
+
+        return withOracle;
+    }
+
+    private int autoResult(MesOqcItemsDetectDetail12 detail)
+    {
+        var db = SqlSugarHelper.GetInstance();
+
+        // Single 娌℃湁鏌ヨ鍒扮粨鏋滄椂杩斿洖Null锛屽鏋滅粨鏋滃ぇ浜�1鏉′細鎶涘嚭閿欒
+        var QsItemOqcItem = db.Queryable<MesOqcItemsDetectDetail5>()
+            .Single(s => s.Id == detail.MainId);
+
+        if (QsItemOqcItem == null) return 0;
+
+        //鏌ヨ杩欎釜妫�楠岄」鐩笅鐨勬楠岀粨鏋�
+        var count = db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.MainId == detail.MainId).Count();
+
+        updateDetail5(detail);
+        var result = "";
+
+        //妫�楠屽疄闄呯粨鏋滀笉绛変簬搴旇妫�楠岀殑涓暟鏃剁洿鎺ユ帹鍑�
+        if (QsItemOqcItem.CheckQyt != count) return 0;
+
+        //鍚堟牸鐨勬湁澶氬皯涓�
+        var passCount = db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.MainId == detail.MainId && s.Fstand == "鈭�").Count();
+        //涓嶅悎鏍肩殑鏈夊灏戜釜
+        var noCount = db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.MainId == detail.MainId && s.Fstand == "脳").Count();
+
+        if (count == passCount)
+            result = "鍚堟牸";
+        //else if (count - passCount < QsItemOqcItem.FreQty) 
+        //    result = "涓嶅悎鏍�";
+        else if (noCount >= QsItemOqcItem.FreQty)
+            result = "涓嶅悎鏍�";
+        var useTransactionWithOracle =
+            SqlSugarHelper.UseTransactionWithOracle(db =>
+            {
+                var commit = 0;
+                commit += db.Updateable<MesOqcItemsDetectDetail5>()
+                    .SetColumns(s => s.FcheckResu == result)
+                    .SetColumns(s => s.FenterQty == count)
+                    .Where(s => s.Id == detail.MainId)
+                    .ExecuteCommand();
+
+                return commit;
+            });
+
+        var isNull = db.Queryable<MesOqcItemsDetectDetail5>()
+            .Where(s => s.ReleaseNo == detail.ReleaseNo && s.FcheckResu == null)
+            .Count();
+
+        if (isNull > 0) return 1;
+        //鑾峰彇妫�楠屽崟鐨勬楠岄」鐩殑涓暟
+        var sum = db.Queryable<MesOqcItemsDetectDetail5>()
+            .Where(s => s.ReleaseNo == detail.ReleaseNo).Count();
+
+        if (sum == 0) return 1;
+
+        //鑾峰彇妫�楠屽崟涓嬬殑鍚堟牸鐨勬楠岄」鐩釜鏁�
+        var icount = db.Queryable<MesOqcItemsDetectDetail5>()
+            .Where(s => s.ReleaseNo == detail.ReleaseNo && s.FcheckResu == "鍚堟牸")
+            .Count();
+
+        var FcheckResu = "涓嶅悎鏍�";
+
+        //瀹為檯涓暟绛変簬鐞嗚涓暟鏃跺妫�楠屽崟杩涜鍒ゅ畾
+        if (sum == icount)
+            //鍚堟牸鐨勬楠岀粨鏋滅瓑浜庢�绘楠屾暟瑙嗕负鍚堟牸
+            FcheckResu = "鍚堟牸";
+        //var sysUser = db.Queryable<SysUser>()
+        //    .Where(s => s.Fcode == detail.CreateBy).First();
+
+        SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<MesOqcItemsDetect02>()
+                .SetColumns(s => s.FcheckResu == FcheckResu)
+                .SetColumns(s => s.FcheckDate == DateTime.Now)
+                //.SetColumns(s => s.FcheckBy == sysUser.Fname)
+                .SetColumns(s => s.LastupdateBy == detail.CreateBy)
+                .SetColumns(s => s.LastupdateDate == DateTime.Now)
+                .Where(s => s.ReleaseNo == detail.ReleaseNo)
+                .ExecuteCommand();
+        });
+        //  if (FcheckResu.Equals("涓嶅悎鏍�"))
+        //鑷姩鐢熸垚鍏ュ簱妫�寮傚父瀵圭瓥
+        ///     saveDetect02(detail.Id, detail.CreateBy);
+
+        return useTransactionWithOracle;
+    }
+
+    private int updateDetail5(MesOqcItemsDetectDetail12 detail)
+    {
+        var db = SqlSugarHelper.GetInstance();
+
+        //鏌ヨ杩欎釜妫�楠岄」鐩笅鐨勬楠屾暟閲�
+        var count = db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.MainId == detail.MainId).Count();
+
+        //鑾峰彇涓嶅悎鏍兼暟
+        var countNo = db.Queryable<MesOqcItemsDetectDetail12>()
+            .Where(s => s.MainId == detail.MainId && s.Fstand == "脳").Count();
+        //鏇存柊妫�楠屾槑缁嗗凡妫�鏁伴噺  
+        var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<MesOqcItemsDetectDetail5>()
+                .SetColumns(s => s.FenterQty == count)
+                .SetColumns(s => s.FngQty == countNo)
+                .Where(s => s.Id == detail.MainId)
+                .ExecuteCommand();
+        });
+
+        return withOracle;
+    }
+
+    public int saveRemarksPid(LLJDto dto)
+    {
+        return SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<MesOqcItemsDetectDetail5>()
+                .SetColumns(it =>
+                    it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+                .Where(it => it.Id == dto.pid)
+                .ExecuteCommand();
+        });
+    }
+
+    public bool IqcQaSubmit(LLJDto dto)
+    {
+        try
+        {
+            // 瀹氫箟杈撳嚭鍙傛暟
+            var outputResult = new SugarParameter("o_Result", null,
+                DbType.Int32, ParameterDirection.Output,
+                4000);
+
+            var outputMessage = new SugarParameter("o_Msg", null,
+                DbType.String,
+                ParameterDirection.Output, 4000);
+
+            // 瀹氫箟杈撳叆鍙傛暟
+            var parameters = new List<SugarParameter>
+            {
+                new("p_Release_No", dto.releaseNo, DbType.String,
+                    ParameterDirection.Input),
+                new("p_User", dto.userNo, DbType.String,
+                    ParameterDirection.Input),
+                outputResult,
+                outputMessage
+            };
+
+            var db = SqlSugarHelper.GetInstance();
+
+            // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+            db.Ado.ExecuteCommand(
+                "BEGIN PRC_MES_OQC_QA_SUBMIT82(:p_Release_No, :p_User, :o_Result, :o_Msg); END;",
+                parameters.ToArray());
+
+            // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+            var resultValue = outputResult.Value?.ToString();
+            var messageValue = outputMessage.Value?.ToString();
+
+            if ("1".Equals(resultValue)) throw new Exception(messageValue);
+
+            return true;
+        }
+        catch (Exception ex)
+        {
+            throw new Exception(ex.Message);
+        }
+    }
+    
+    public int saveRemarksGid(LLJDto dto)
+    {
+        return SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<MesOqcItemsDetect02>()
+                .SetColumns(it =>
+                    it.Remeke == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+                .Where(it => it.ReleaseNo == dto.releaseNo)
+                .ExecuteCommand();
+        });
+    }
+    
+    public int SetQSItemDetail(MesOqcItemsDetectDetail12 detail)
+    {
+        var oracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            List<MesOqcItemsDetectDetail12> result = new();
+            for (var i = 0; i < detail.count; i++)
+            {
+                var item = new MesOqcItemsDetectDetail12();
+                item.MainId = detail.MainId;
+                item.ReleaseNo = detail.ReleaseNo;
+                item.Fstand = detail.Fstand;
+                item.FcheckResu = detail.FcheckResu;
+                item.CreateBy = detail.LastupdateBy;
+                item.CreateDate = DateTime.Now;
+                item.Factory = "1000";
+                item.Company = "1000";
+                result.Add(item);
+            }
+
+            return db.Insertable(result).ExecuteCommand();
+        });
+
+        detail.CreateBy = detail.LastupdateBy;
+        
+        autoResult(detail);
+
+        return oracle;
+    }
+
+    public List<QsItemIpiItem> SetQSItems(string itemNo)
+    {
+        var db = SqlSugarHelper.GetInstance();
+
+        // 棣栧厛妫�鏌ES_QA琛ㄤ腑璇ョ墿鏂欑殑妫�楠岄」鐩槸鍚﹀凡瀹℃牳
+        var qaCount = db.Queryable<MesQa>()
+            .Where(q => q.ItemNo == itemNo && q.QsType == "6" && q.Fsubmit == 1).Count();
+
+        if (qaCount <= 0) return [];
+
+        // 鐩存帴鏌ヨMesQualityStandard琛ㄤ腑qsType涓�"6"鐨勬楠岄」鐩�
+        var count = db.Queryable<MesQualityStandard>()
+            .Where(b => b.QsType == "6" && b.ItemNo == itemNo).Count();
+
+        if (count <= 0) return [];
+
+        return db
+            .Queryable<MesQualityStandard>()
+            .Where(b => b.QsType == "6" && b.ItemNo == itemNo).Select(
+                b => new QsItemIpiItem
+                {
+                    ProjName = b.ProjName,
+                    ItemMod = b.ItemMod,
+                    InspectionMethod = b.InspectionMethod,
+                    UsingInstruments = b.UsingInstruments, 
+                    LevelNum = SqlFunc.IsNull(
+                        SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
+                        b.InspectionLevel),
+                    MaxValue = b.MaxValue,
+                    StandardValue = b.StandardValue,
+                    MinValue = b.MinValue,
+                    Notes = b.Notes,
+                    FcheckLevel = b.FcheckLevel,
+                    FacLevel = b.FacLevel,
+                    QsCode = b.QsCode,
+                    QsName = b.QsName,
+                    Picture = b.Picture,
+                    Picturename = b.Picturename,
+                    result = "鏈娴�",
+                    isCheck = 0
+                }).ToList();
+    }
+
+    public List<MesOqcItemsDetectDetail5> SaveItem(string releaseNo, List<QsItemIpiItem> items)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        
+        SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            // 鏂板鍓嶅厛杩涜鍒犻櫎鏃ч」鐩紙瑕嗙洊鎿嶄綔锛�
+            db.Deleteable<MesOqcItemsDetectDetail5>().Where(it => it.ReleaseNo == releaseNo).ExecuteCommand();
+            db.Deleteable<MesOqcItemsDetectDetail12>().Where(it => it.ReleaseNo == releaseNo).ExecuteCommand();
+
+            // 杞崲QsItemIpiItem涓篗esOqcItemsDetectDetail5骞舵彃鍏�
+            var oqcItems = items.Select(item => new MesOqcItemsDetectDetail5
+            {
+                ReleaseNo = releaseNo,
+                FcheckItem = item.ProjName,
+                FcheckItemDesc = item.ItemMod,
+                CheckQyt = item.LevelNum,
+                FcheckResu = "鏈楠�",
+                FenterQty = 0,
+                Company = "1000",
+                Factory = "1000",
+                FcheckLevel = item.FcheckLevel,
+                FacLevel = item.FacLevel,
+                FcheckTool = item.UsingInstruments,
+                FspecRequ = item.InspectionMethod,
+                Fstand = item.StandardValue,
+                FupAllow = item.MaxValue?.ToString(),
+                FdownAllow = item.MinValue?.ToString(),
+                Remarks = item.Notes,
+                LastupdateBy = "system",
+                LastupdateDate = DateTime.Now,
+                // AC鏁板拰RE鏁板皢閫氳繃瀛樺偍杩囩▼璁剧疆
+                FacQty = 0,
+                FreQty = 0
+            }).ToList();
+
+            // 鎻掑叆妫�楠岄」鐩�
+            var insertResult = db.Insertable(oqcItems).ExecuteCommand();
+
+            // 璋冪敤瀛樺偍杩囩▼璁剧疆AC鏁板拰RE鏁�
+            if (insertResult > 0)
+            {
+                try
+                {
+                    // 瀹氫箟杈撳嚭鍙傛暟
+                    var outputResult = new SugarParameter("PO_RESULT", null,
+                        DbType.Int32, ParameterDirection.Output, 4000);
+                    var outputMessage = new SugarParameter("PO_TEXT", null,
+                        DbType.String, ParameterDirection.Output, 4000);
+
+                    // 瀹氫箟杈撳叆鍙傛暟
+                    var parameters = new List<SugarParameter>
+                    {
+                        new("P_RELEASE_NO", releaseNo, DbType.String, ParameterDirection.Input),
+                        outputResult,
+                        outputMessage
+                    };
+
+                    // 鎵ц瀛樺偍杩囩▼
+                    db.Ado.ExecuteCommand(
+                        "BEGIN prc_mes_oqc_check_items(:P_RELEASE_NO, :PO_RESULT, :PO_TEXT); END;",
+                        parameters.ToArray());
+
+                    // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+                    var resultValue = outputResult.Value?.ToString();
+                    var messageValue = outputMessage.Value?.ToString();
+
+                    if ("1".Equals(resultValue))
+                    {
+                        // 澶勭悊澶辫触鎯呭喌锛岃繑鍥為敊璇俊鎭�
+                        throw new Exception($"璁剧疆AC鏁癛E鏁板け璐�: {messageValue}");
+                    }
+                }
+                catch (Exception ex)
+                {
+                    // 濡傛灉瀛樺偍杩囩▼璋冪敤澶辫触锛岃褰曢敊璇絾涓嶅奖鍝嶄富娴佺▼
+                    Console.WriteLine($"璋冪敤prc_mes_oqc_check_items瀛樺偍杩囩▼澶辫触: {ex.Message}");
+                }
+            }
+
+            return insertResult;
+        });
+
+        // 杩斿洖鏇存柊鍚庣殑妫�楠岄」鐩垪琛�
+        return GetDetail5(new OQCDto { ReleaseNo = releaseNo });
+    }
+}
\ No newline at end of file
diff --git a/MESApplication/Controllers/Base/LoginController.cs b/MESApplication/Controllers/Base/LoginController.cs
index aede14c..8559942 100644
--- a/MESApplication/Controllers/Base/LoginController.cs
+++ b/MESApplication/Controllers/Base/LoginController.cs
@@ -3,6 +3,7 @@
 using MES.Service.service;
 using MES.Service.util;
 using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 
 namespace MESApplication.Controllers.Base;
@@ -14,6 +15,12 @@
 [ApiController]
 public class LoginController : ControllerBase
 {
+    public class Root
+    {
+        public string version { get; set; }
+
+        public string apkUrl { get; set; }
+    }
     /// <summary>
     ///     鐧诲綍
     /// </summary>
@@ -105,4 +112,36 @@
             return ResponseResult.ResponseError(ex);
         }
     }
+
+    /// <summary>
+    ///    鑾峰彇App鏈�鏂扮増鏈俊鎭�
+    /// </summary>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    [HttpPost("getAppUpgradeInfo")]
+    public async Task<ResponseResult> getAppUpgradeInfo()
+    {
+
+        try
+        {
+            HttpClient client = new();
+            var requestUrl = $"http://192.168.1.223:10054/UpgradeInformation.json";
+            var response = await client.GetAsync(requestUrl);
+            response.EnsureSuccessStatusCode(); // 妫�鏌TTP鐘舵�佺爜
+            var responseContent = await response.Content.ReadAsStringAsync();
+            var a = JsonConvert.DeserializeObject<Root>(responseContent);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = a
+            };
+
+        }
+        catch (Exception ex)
+        {
+            return null;
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/MESApplication/Controllers/QC/BaseController.cs b/MESApplication/Controllers/QC/BaseController.cs
index dd54e7f..71ad051 100644
--- a/MESApplication/Controllers/QC/BaseController.cs
+++ b/MESApplication/Controllers/QC/BaseController.cs
@@ -81,4 +81,30 @@
             return ResponseResult.ResponseError(ex);
         }
     }
+
+    //getByOqcFid
+    [HttpPost("getByOqcFid")]
+    public ResponseResult getByOqcFid([FromBody] JObject data)
+    {
+        var id = Convert.ToInt32(data["fid"].ToString());
+        var qsType = data["qsType"].ToString();
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList =
+                new BaseService().getByOqcFid(id, qsType);
+            resultInfos.tbBillList = tbBillList;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs b/MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs
new file mode 100644
index 0000000..e4a9ccf
--- /dev/null
+++ b/MESApplication/Controllers/QC/MesOqcItemsDetect02Controller.cs
@@ -0,0 +1,427 @@
+锘縰sing System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.QC;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
+
+namespace MESApplication.Controllers.QC;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesOqcItemsDetect02Controller : ControllerBase
+{
+    private readonly MesOqcItemsDetect02Manager m = new();
+
+    [HttpPost("SetQSItemDetail")]
+    public ResponseResult SetQSItemDetail(
+        [FromBody] MesOqcItemsDetectDetail12 detail)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var detail021 = m.SetQSItemDetail(detail);
+            resultInfos.tbBillList = detail021;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //saveRemarksGid 涓昏〃娣诲姞涓嶅悎鏍兼弿杩�
+    [HttpPost("saveRemarksGid")]
+    public ResponseResult saveRemarksGid([FromBody] LLJDto rkjDto)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = m.saveRemarksGid(rkjDto);
+            resultInfos.tbBillList = tbBillList;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("SetQSItems")]
+    public ResponseResult SetQSItems([FromBody] JObject data)
+    {
+        var itemNo = data["itemNo"].ToString();
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var detail021 = m.SetQSItems(itemNo);
+            resultInfos.tbBillList = detail021;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("SaveItem")]
+    public ResponseResult SaveItem([FromBody] JObject data)
+    {
+        var releaseNo = data["releaseNo"].ToString();
+        var items = data["items"].ToObject<List<QsItemIpiItem>>();
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var detail021 = m.SaveItem(releaseNo, items);
+            resultInfos.tbBillList = detail021;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //IqcQaSubmit
+    [HttpPost("IqcQaSubmit")]
+    public ResponseResult IqcQaSubmit(LLJDto rkjDto)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = m.IqcQaSubmit(rkjDto);
+            resultInfos.tbBillList = tbBillList;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("saveRemarksPid")]
+    public ResponseResult saveRemarksPid([FromBody] LLJDto rkjDto)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = m.saveRemarksPid(rkjDto);
+            resultInfos.tbBillList = tbBillList;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("UpdateQSItemDetail")]
+    public ResponseResult UpdateQSItemDetail(
+        [FromBody] MesOqcItemsDetectDetail12 detail)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var detail021 = m.UpdateQSItemDetail(detail);
+            resultInfos.tbBillList = detail021;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("getXjDetail02ById")]
+    public ResponseResult getXjDetail02ById([FromBody] JObject data)
+    {
+        var id = data["id"]?.ToString();
+
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = m.getXjDetail02ById(Convert.ToDecimal(id));
+            resultInfos.tbBillList = tbBillList;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //ItemBarCodeSubmit(OQCDto dto)
+    [HttpPost("ItemBarCodeSubmit")]
+    public ResponseResult ItemBarCodeSubmit([FromBody] OQCDto dto)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var item = m.ItemBarCodeSubmit(dto);
+            var tbBillList =
+                resultInfos.tbBillList = item;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = tbBillList
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("GetDetail5")]
+    public ResponseResult GetDetail5([FromBody] OQCDto dto)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var item = m.GetDetail5(dto);
+            var tbBillList =
+                resultInfos.tbBillList = item;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = tbBillList
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("getPage")]
+    public ResponseResult getPage([FromBody] XJPageResult queryObj)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var (item, totalCount) = m.GetPage(queryObj);
+            var tbBillList =
+                resultInfos.tbBillList = item;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = tbBillList,
+                TotalCount = totalCount
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("GetItemBarCode")]
+    public ResponseResult GetItemBarCode(XJPageResult queryObj)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetItemBarCode(queryObj);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鑾峰彇鎵�鏈�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetList")]
+    public ResponseResult GetList()
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetList();
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鑾峰彇
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetById")]
+    public ResponseResult GetById(int id)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetById(id);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鍒犻櫎
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("DeleteByIds")]
+    public ResponseResult DeleteByIds([FromBody] object[] ids)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.DeleteByIds(ids);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Insert")]
+    public ResponseResult Add([FromBody] MesOqcItemsDetect02 data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Insert(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞杩斿洖鑷
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("InsertReturnIdentity")]
+    public ResponseResult InsertReturnIdentity(
+        [FromBody] MesOqcItemsDetect02 data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.InsertReturnIdentity(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     淇敼
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Update")]
+    public ResponseResult Update([FromBody] MesOqcItemsDetect02 data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Update(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+}
\ No newline at end of file
diff --git a/MESApplication/MESApplication.csproj.user b/MESApplication/MESApplication.csproj.user
index 66f91bf..3de1e5f 100644
--- a/MESApplication/MESApplication.csproj.user
+++ b/MESApplication/MESApplication.csproj.user
@@ -5,6 +5,6 @@
   </PropertyGroup>
   <PropertyGroup>
     <ActiveDebugProfile>IIS Express</ActiveDebugProfile>
-    <NameOfLastUsedPublishProfile>F:\F鐩樻闈笓灞瀄娑﹁揪椤圭洰\娑﹁揪椤圭洰api\StandardPda\MESApplication\Properties\PublishProfiles\FolderProfile1.pubxml</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>E:\Desktop\鎺ュ彛\RD\RD_MES_Api\MESApplication\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user b/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user
index 9378eae..ca32636 100644
--- a/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,8 +4,8 @@
 -->
 <Project>
   <PropertyGroup>
-    <_PublishTargetUrl>F:\F鐩樻闈笓灞瀄娑﹁揪椤圭洰\娑﹁揪椤圭洰api\StandardPda\MESApplication\bin\Release\net8.0\publish\</_PublishTargetUrl>
-    <History>True|2025-03-27T15:22:42.3501020Z;True|2025-03-10T16:49:08.3476948+08:00;True|2024-12-24T15:39:58.5366570+08:00;True|2024-11-26T18:32:03.9568766+08:00;True|2024-11-21T02:11:35.8050745+08:00;True|2024-09-21T16:35:22.6651659+08:00;True|2024-09-21T16:14:11.3450387+08:00;True|2024-09-19T17:16:11.7338751+08:00;True|2024-09-19T17:11:21.0116707+08:00;True|2024-09-19T13:54:25.7455472+08:00;True|2024-09-15T13:55:51.7095153+08:00;True|2024-09-12T17:10:20.4734556+08:00;True|2024-09-10T15:54:07.7463519+08:00;True|2024-09-06T14:40:56.3762241+08:00;True|2024-08-20T17:12:00.2924570+08:00;True|2024-08-17T10:57:05.6670396+08:00;True|2024-08-17T10:56:46.8068041+08:00;True|2024-08-16T14:09:17.0526491+08:00;True|2024-08-15T08:40:32.8134665+08:00;True|2024-08-14T10:00:27.7017207+08:00;True|2024-08-14T08:54:44.8284031+08:00;True|2024-08-07T10:32:10.3689256+08:00;True|2024-08-05T15:45:03.0864530+08:00;True|2024-08-03T09:59:13.7916520+08:00;True|2024-07-31T17:27:28.1965929+08:00;True|2024-07-31T15:27:34.7943845+08:00;True|2024-07-30T15:04:50.5849235+08:00;True|2024-07-30T14:09:06.2877325+08:00;True|2024-07-29T16:11:30.4493940+08:00;True|2024-07-23T14:30:34.4591002+08:00;True|2024-07-22T14:17:39.8186158+08:00;True|2024-04-10T12:55:31.3963752+08:00;True|2024-04-08T13:59:25.5487203+08:00;True|2024-04-06T09:30:09.5350539+08:00;True|2024-04-06T08:46:05.8814658+08:00;True|2024-04-05T14:06:52.0448024+08:00;True|2024-04-05T12:47:46.0561601+08:00;True|2024-02-26T08:46:22.0988887+08:00;True|2024-02-24T19:17:13.6770376+08:00;True|2024-02-24T14:32:37.4450337+08:00;True|2024-02-23T10:22:06.5150173+08:00;True|2024-02-22T13:19:56.6997993+08:00;True|2024-02-22T10:53:17.7929585+08:00;True|2024-02-21T17:08:06.5553444+08:00;True|2024-02-19T16:24:37.4912012+08:00;True|2024-02-02T10:07:23.2726075+08:00;True|2024-02-02T08:36:49.2904460+08:00;True|2024-01-29T17:44:43.6800769+08:00;True|2024-01-23T09:47:26.7811926+08:00;True|2024-01-18T16:23:30.3373836+08:00;True|2024-01-17T14:22:04.2552286+08:00;True|2024-01-16T16:54:42.2316892+08:00;True|2024-01-16T16:37:23.8028858+08:00;True|2024-01-16T09:25:24.4007775+08:00;True|2024-01-15T10:18:57.3362616+08:00;True|2024-01-15T10:07:14.2044763+08:00;True|2024-01-10T14:03:36.4451130+08:00;True|2024-01-09T16:45:32.9601815+08:00;True|2024-01-06T14:16:34.2732220+08:00;True|2024-01-06T14:11:45.2134717+08:00;True|2024-01-06T11:30:58.9198887+08:00;</History>
+    <_PublishTargetUrl>E:\Desktop\鎺ュ彛\RD\RD_MES_Api\MESApplication\bin\Release\net8.0\publish\</_PublishTargetUrl>
+    <History>True|2025-08-03T10:48:37.3295098Z||;True|2025-08-01T17:29:02.4576952+08:00||;True|2025-03-27T23:22:42.3501020+08:00||;True|2025-03-10T16:49:08.3476948+08:00||;True|2024-12-24T15:39:58.5366570+08:00||;True|2024-11-26T18:32:03.9568766+08:00||;True|2024-11-21T02:11:35.8050745+08:00||;True|2024-09-21T16:35:22.6651659+08:00||;True|2024-09-21T16:14:11.3450387+08:00||;True|2024-09-19T17:16:11.7338751+08:00||;True|2024-09-19T17:11:21.0116707+08:00||;True|2024-09-19T13:54:25.7455472+08:00||;True|2024-09-15T13:55:51.7095153+08:00||;True|2024-09-12T17:10:20.4734556+08:00||;True|2024-09-10T15:54:07.7463519+08:00||;True|2024-09-06T14:40:56.3762241+08:00||;True|2024-08-20T17:12:00.2924570+08:00||;True|2024-08-17T10:57:05.6670396+08:00||;True|2024-08-17T10:56:46.8068041+08:00||;True|2024-08-16T14:09:17.0526491+08:00||;True|2024-08-15T08:40:32.8134665+08:00||;True|2024-08-14T10:00:27.7017207+08:00||;True|2024-08-14T08:54:44.8284031+08:00||;True|2024-08-07T10:32:10.3689256+08:00||;True|2024-08-05T15:45:03.0864530+08:00||;True|2024-08-03T09:59:13.7916520+08:00||;True|2024-07-31T17:27:28.1965929+08:00||;True|2024-07-31T15:27:34.7943845+08:00||;True|2024-07-30T15:04:50.5849235+08:00||;True|2024-07-30T14:09:06.2877325+08:00||;True|2024-07-29T16:11:30.4493940+08:00||;True|2024-07-23T14:30:34.4591002+08:00||;True|2024-07-22T14:17:39.8186158+08:00||;True|2024-04-10T12:55:31.3963752+08:00||;True|2024-04-08T13:59:25.5487203+08:00||;True|2024-04-06T09:30:09.5350539+08:00||;True|2024-04-06T08:46:05.8814658+08:00||;True|2024-04-05T14:06:52.0448024+08:00||;True|2024-04-05T12:47:46.0561601+08:00||;True|2024-02-26T08:46:22.0988887+08:00||;True|2024-02-24T19:17:13.6770376+08:00||;True|2024-02-24T14:32:37.4450337+08:00||;True|2024-02-23T10:22:06.5150173+08:00||;True|2024-02-22T13:19:56.6997993+08:00||;True|2024-02-22T10:53:17.7929585+08:00||;True|2024-02-21T17:08:06.5553444+08:00||;True|2024-02-19T16:24:37.4912012+08:00||;True|2024-02-02T10:07:23.2726075+08:00||;True|2024-02-02T08:36:49.2904460+08:00||;True|2024-01-29T17:44:43.6800769+08:00||;True|2024-01-23T09:47:26.7811926+08:00||;True|2024-01-18T16:23:30.3373836+08:00||;True|2024-01-17T14:22:04.2552286+08:00||;True|2024-01-16T16:54:42.2316892+08:00||;True|2024-01-16T16:37:23.8028858+08:00||;True|2024-01-16T09:25:24.4007775+08:00||;True|2024-01-15T10:18:57.3362616+08:00||;True|2024-01-15T10:07:14.2044763+08:00||;True|2024-01-10T14:03:36.4451130+08:00||;True|2024-01-09T16:45:32.9601815+08:00||;True|2024-01-06T14:16:34.2732220+08:00||;True|2024-01-06T14:11:45.2134717+08:00||;True|2024-01-06T11:30:58.9198887+08:00||;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.dll b/MESApplication/bin/Debug/net8.0/MES.Service.dll
index 10a9243..c635514 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.dll
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.pdb b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
index e7b8c62..ead8e76 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.pdb
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.deps.json b/MESApplication/bin/Debug/net8.0/MESApplication.deps.json
index a38b276..523a7cc 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.deps.json
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.deps.json
@@ -1412,7 +1412,10 @@
           "SqlSugarCore": "5.1.4.158"
         },
         "runtime": {
-          "MES.Service.dll": {}
+          "MES.Service.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       }
     }
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.dll b/MESApplication/bin/Debug/net8.0/MESApplication.dll
index 9747279..0bf89ae 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.dll
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.exe b/MESApplication/bin/Debug/net8.0/MESApplication.exe
index fa1166a..4cad622 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.exe
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.pdb b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
index 3cbae3e..482b469 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.pdb
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.staticwebassets.endpoints.json b/MESApplication/bin/Debug/net8.0/MESApplication.staticwebassets.endpoints.json
new file mode 100644
index 0000000..5576e88
--- /dev/null
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.staticwebassets.endpoints.json
@@ -0,0 +1 @@
+{"Version":1,"ManifestType":"Build","Endpoints":[]}
\ No newline at end of file
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.xml b/MESApplication/bin/Debug/net8.0/MESApplication.xml
index 7118a8e..1d48ccf 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.xml
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.xml
@@ -30,6 +30,13 @@
             <param name="data"></param>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.Base.LoginController.getAppUpgradeInfo">
+            <summary>
+               鑾峰彇App鏈�鏂扮増鏈俊鎭�
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.Base.MessageCenterController.GetList">
             <summary>
                 鑾峰彇鎵�鏈�
@@ -915,6 +922,42 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.GetList">
+            <summary>
+                鑾峰彇鎵�鏈�
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.GetById(System.Int32)">
+            <summary>
+                鏍规嵁涓婚敭鑾峰彇
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.DeleteByIds(System.Object[])">
+            <summary>
+                鏍规嵁涓婚敭鍒犻櫎
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.Add(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                娣诲姞
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.InsertReturnIdentity(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                娣诲姞杩斿洖鑷
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.Update(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                淇敼
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.QC.XJController.getDaa001(Newtonsoft.Json.Linq.JObject)">
             <summary>
                 鑾峰彇宸ュ崟
diff --git a/MESApplication/bin/Release/net8.0/MES.Service.dll b/MESApplication/bin/Release/net8.0/MES.Service.dll
index 89c1349..e574157 100644
--- a/MESApplication/bin/Release/net8.0/MES.Service.dll
+++ b/MESApplication/bin/Release/net8.0/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MES.Service.pdb b/MESApplication/bin/Release/net8.0/MES.Service.pdb
index 6d46b3f..02a90ce 100644
--- a/MESApplication/bin/Release/net8.0/MES.Service.pdb
+++ b/MESApplication/bin/Release/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.deps.json b/MESApplication/bin/Release/net8.0/MESApplication.deps.json
index a38b276..523a7cc 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.deps.json
+++ b/MESApplication/bin/Release/net8.0/MESApplication.deps.json
@@ -1412,7 +1412,10 @@
           "SqlSugarCore": "5.1.4.158"
         },
         "runtime": {
-          "MES.Service.dll": {}
+          "MES.Service.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       }
     }
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.dll b/MESApplication/bin/Release/net8.0/MESApplication.dll
index f7602f1..b8bc2e3 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.dll
+++ b/MESApplication/bin/Release/net8.0/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.exe b/MESApplication/bin/Release/net8.0/MESApplication.exe
index 8baae59..4cad622 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.exe
+++ b/MESApplication/bin/Release/net8.0/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.pdb b/MESApplication/bin/Release/net8.0/MESApplication.pdb
index 4587e80..998d41b 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.pdb
+++ b/MESApplication/bin/Release/net8.0/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.staticwebassets.endpoints.json b/MESApplication/bin/Release/net8.0/MESApplication.staticwebassets.endpoints.json
new file mode 100644
index 0000000..5576e88
--- /dev/null
+++ b/MESApplication/bin/Release/net8.0/MESApplication.staticwebassets.endpoints.json
@@ -0,0 +1 @@
+{"Version":1,"ManifestType":"Build","Endpoints":[]}
\ No newline at end of file
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.xml b/MESApplication/bin/Release/net8.0/MESApplication.xml
index 0696b68..1d48ccf 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.xml
+++ b/MESApplication/bin/Release/net8.0/MESApplication.xml
@@ -30,6 +30,13 @@
             <param name="data"></param>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.Base.LoginController.getAppUpgradeInfo">
+            <summary>
+               鑾峰彇App鏈�鏂扮増鏈俊鎭�
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.Base.MessageCenterController.GetList">
             <summary>
                 鑾峰彇鎵�鏈�
@@ -498,6 +505,27 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.BasicData.ModulesController.QueryPurview(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鏌ヨ鏉冮檺
+            </summary>
+            <param name="userno">鐢ㄦ埛Id</param>
+            <returns>鏉冮檺淇℃伅</returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.ModulesController.GetRfSetup(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鍔熻兘鐣岄潰
+            </summary>
+            <param name="functionName">鏂规硶鍚嶇О</param>
+            <returns>鍔熻兘鐣岄潰淇℃伅</returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.ModulesController.GetExcProc(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鍔熻兘鎵ц瀛樺偍杩囩▼
+            </summary>
+            <param name="data">璇锋眰鍙傛暟</param>
+            <returns>API鍝嶅簲缁撴灉</returns>
+        </member>
         <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.GetList">
             <summary>
                 鑾峰彇鎵�鏈�
@@ -894,6 +922,42 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.GetList">
+            <summary>
+                鑾峰彇鎵�鏈�
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.GetById(System.Int32)">
+            <summary>
+                鏍规嵁涓婚敭鑾峰彇
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.DeleteByIds(System.Object[])">
+            <summary>
+                鏍规嵁涓婚敭鍒犻櫎
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.Add(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                娣诲姞
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.InsertReturnIdentity(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                娣诲姞杩斿洖鑷
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.Update(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                淇敼
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.QC.XJController.getDaa001(Newtonsoft.Json.Linq.JObject)">
             <summary>
                 鑾峰彇宸ュ崟
diff --git a/MESApplication/bin/Release/net8.0/publish/MES.Service.dll b/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
index 89c1349..e574157 100644
--- a/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
+++ b/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb b/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
index 6d46b3f..02a90ce 100644
--- a/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
+++ b/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.deps.json b/MESApplication/bin/Release/net8.0/publish/MESApplication.deps.json
index e23a3b1..43250f4 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.deps.json
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.deps.json
@@ -1160,7 +1160,10 @@
           "SqlSugarCore": "5.1.4.158"
         },
         "runtime": {
-          "MES.Service.dll": {}
+          "MES.Service.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
         }
       }
     }
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.dll b/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
index f7602f1..b8bc2e3 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.exe b/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
index 8baae59..4cad622 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb b/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
index 4587e80..998d41b 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.staticwebassets.endpoints.json b/MESApplication/bin/Release/net8.0/publish/MESApplication.staticwebassets.endpoints.json
new file mode 100644
index 0000000..21da96b
--- /dev/null
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.staticwebassets.endpoints.json
@@ -0,0 +1 @@
+{"Version":1,"ManifestType":"Publish","Endpoints":[]}
\ No newline at end of file
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.xml b/MESApplication/bin/Release/net8.0/publish/MESApplication.xml
index 0696b68..1d48ccf 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.xml
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.xml
@@ -30,6 +30,13 @@
             <param name="data"></param>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.Base.LoginController.getAppUpgradeInfo">
+            <summary>
+               鑾峰彇App鏈�鏂扮増鏈俊鎭�
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.Base.MessageCenterController.GetList">
             <summary>
                 鑾峰彇鎵�鏈�
@@ -498,6 +505,27 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.BasicData.ModulesController.QueryPurview(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鏌ヨ鏉冮檺
+            </summary>
+            <param name="userno">鐢ㄦ埛Id</param>
+            <returns>鏉冮檺淇℃伅</returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.ModulesController.GetRfSetup(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鍔熻兘鐣岄潰
+            </summary>
+            <param name="functionName">鏂规硶鍚嶇О</param>
+            <returns>鍔熻兘鐣岄潰淇℃伅</returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.ModulesController.GetExcProc(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鍔熻兘鎵ц瀛樺偍杩囩▼
+            </summary>
+            <param name="data">璇锋眰鍙傛暟</param>
+            <returns>API鍝嶅簲缁撴灉</returns>
+        </member>
         <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.GetList">
             <summary>
                 鑾峰彇鎵�鏈�
@@ -894,6 +922,42 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.GetList">
+            <summary>
+                鑾峰彇鎵�鏈�
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.GetById(System.Int32)">
+            <summary>
+                鏍规嵁涓婚敭鑾峰彇
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.DeleteByIds(System.Object[])">
+            <summary>
+                鏍规嵁涓婚敭鍒犻櫎
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.Add(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                娣诲姞
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.InsertReturnIdentity(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                娣诲姞杩斿洖鑷
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.QC.MesOqcItemsDetect02Controller.Update(MES.Service.Modes.MesOqcItemsDetect02)">
+            <summary>
+                淇敼
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.QC.XJController.getDaa001(Newtonsoft.Json.Linq.JObject)">
             <summary>
                 鑾峰彇宸ュ崟

--
Gitblit v1.9.3