From c53a461aef16902ca78cdb7bd0c62305e2fee809 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期二, 29 七月 2025 19:23:04 +0800
Subject: [PATCH] Update OQC search API functionality

---
 MES.Service/service/QC/MesOqcItemsDetect02Manager.cs |  523 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 477 insertions(+), 46 deletions(-)

diff --git a/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs b/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs
index a461509..881ee92 100644
--- a/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs
+++ b/MES.Service/service/QC/MesOqcItemsDetect02Manager.cs
@@ -1,10 +1,11 @@
-锘縰sing Masuit.Tools;
+锘縰sing System.Data;
+using Masuit.Tools;
 using MES.Service.DB;
 using MES.Service.Dto.service;
 using MES.Service.Modes;
 using MES.Service.util;
-using Microsoft.CSharp.RuntimeBinder;
 using SqlSugar;
+using DbType = System.Data.DbType;
 
 namespace MES.Service.service.QC;
 
@@ -29,45 +30,55 @@
 
         var totalCount = 0;
 
-        //var itemIds = GetQaItem(db, queryObj.createUser);
+        var pageList = Db.Queryable<MesOqcItemsDetect02, MesItems
+                , SysUser, SysUser, MesDepots>((a, b, c, d, e) =>
+                new JoinQueryInfos(JoinType.Left, a.ItemId == b.Id,
+                    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)
+            .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.createUser), 
+                (a, b, c, d, e) => c.Fname.Contains(queryObj.createUser))
+            .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.ItemNo), 
+                (a, b, c, d, e) => b.ItemNo.Contains(queryObj.ItemNo))
+            .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.ItemName), 
+                (a, b, c, d, e) => b.ItemName.Contains(queryObj.ItemName))
+            .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);
+    }
 
-        // var pageList = db.Queryable<LtsLlj>()
-        //     .WhereIF(
-        //         StringUtil.IsNotNullOrEmpty(queryObj.result) &&
-        //         "鏈畬鎴�".Equals(queryObj.result),
-        //         a => a.FcheckResu == null)
-        //     .WhereIF(
-        //         StringUtil.IsNotNullOrEmpty(queryObj.result) &&
-        //         !"鏈畬鎴�".Equals(queryObj.result),
-        //         a => a.FcheckResu != null)
-        //     .WhereIF(id > 0, a => a.Id == id)
+    public List<MesOqcItemsDetectDetail5> GetDetail5(OQCDto dto)
+    {
+        return Db.Queryable<MesOqcItemsDetectDetail5>()
+            .Where(s => s.ReleaseNo == dto.ReleaseNo)
+            .ToList();
+    }
 
-        //鍔犵瓫閫夋潯浠�,鏍规嵁渚涘簲鍟嗭紝鐗╂枡缂栫爜锛岀墿鏂欏悕绉版悳绱�
-        //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue )
-        // .WhereIF(
-        //     queryObj.SelectedIndex == "0" &&
-        //     !string.IsNullOrEmpty(queryObj.SearchValue),
-        //     a => (a.ItemNo.ToLower()
-        //         .Contains(queryObj.SearchValue.ToLower())))
-        // .WhereIF(
-        //     queryObj.SelectedIndex == "1" &&
-        //     !string.IsNullOrEmpty(queryObj.SearchValue),
-        //     a => (a.ItemName.ToLower()
-        //         .Contains(queryObj.SearchValue.ToLower())))
-        // .WhereIF(
-        //     queryObj.SelectedIndex == "2" &&
-        //     !string.IsNullOrEmpty(queryObj.SearchValue),
-        //     a => (a.SuppName.ToLower()
-        //         .Contains(queryObj.SearchValue.ToLower())))
-        // .WhereIF(queryObj.result == "宸插畬鎴�",
-        //     a => (a.IqcDate >= queryObj.startDate.ToDateTime() &&
-        //           a.IqcDate <= queryObj.endDate.ToDateTime().AddDays(1)))
-        // .WhereIF(queryObj.result == "宸插畬鎴�" && queryObj.state != "鎵�鏈夌姸鎬�",
-        //     a => a.FcheckResu == queryObj.state)
-        //     .OrderByDescending(a => a.Id)
-        //     .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
-        // return (pageList, totalCount);
-        return (new List<MesOqcItemsDetect02>(), totalCount);
+    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)
@@ -86,6 +97,16 @@
             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();
 
@@ -94,21 +115,431 @@
             throw new NotImplementedException("鍙兘鎵弿" + mesDepots.DepotCode +
                                               "浠撳簱鐨勭爜");
         }
-        
+
         if (mesInvItemStocks.ItemId is null or 0)
         {
             throw new NotImplementedException("鐗╂枡鏄潪娉曠殑");
         }
 
         var mesItems = Db.Queryable<MesItems>()
-            .Where(b=>b.Id == mesInvItemStocks.ItemId)
+            .Where(b => b.Id == mesInvItemStocks.ItemId)
+            .Select<MesItems>(b => new MesItems
+            {
+                ItemName = b.ItemName,
+                ItemModel = b.ItemModel,
+            })
             .First();
-        
-        // mesInvItemStocks.ItemName = mesItems.ItemName;
-        // mesInvItemStocks.ItemModel = mesItems.ItemModel;
+
+        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_ID", from.ItemId, DbType.Int32,
+                    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 bool Regenerate(MesOqcItemsDetect02 from)
+    {
+        // 瀹氫箟杈撳嚭鍙傛暟
+        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_ID", from.ItemId, DbType.Int32,
+                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 true;
+    }
+
+    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;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3