From a5019b475f8620dba3b495da983f4db9e32f7ca8 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期四, 10 七月 2025 08:18:36 +0800
Subject: [PATCH] AOI

---
 MES.Service/service/QC/RKJService.cs |  157 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 107 insertions(+), 50 deletions(-)

diff --git a/MES.Service/service/QC/RKJService.cs b/MES.Service/service/QC/RKJService.cs
index 8656f8a..f26b366 100644
--- a/MES.Service/service/QC/RKJService.cs
+++ b/MES.Service/service/QC/RKJService.cs
@@ -1,4 +1,6 @@
-锘縰sing MES.Service.DB;
+锘縰sing System.Net.NetworkInformation;
+using Masuit.Tools.Models;
+using MES.Service.DB;
 using MES.Service.Dto.service;
 using MES.Service.Modes;
 using MES.Service.util;
@@ -57,10 +59,6 @@
     public List<RkDaa002> GetDaa001s(string lineNo)
     {
         var db = SqlSugarHelper.GetInstance();
-        // return db.Queryable<RKJDaa001>()
-        //     .Where(t => t.LineNo == lineNo)
-        //     .OrderBy(t => t.BillNo, OrderByType.Desc)
-        //     .ToList();
         return null;
     }
 
@@ -230,10 +228,15 @@
         {
             var commit = 0;
 
-            xj.CreateBy = userNo;
-            xj.CreateDate = DateTime.Now;
+            // xj.CreateBy = userNo;
+            // xj.CreateDate = DateTime.Now;
 
-            var pid = db.Insertable(xj).ExecuteReturnIdentity();
+            var qsItemOqcReq = db.Queryable<QsItemOqcReq>()
+                .Where(s => s.Id == xj.Id)
+                .First();
+
+            decimal? pid = 0;
+            pid = qsItemOqcReq == null ? db.Insertable(xj).ExecuteReturnIdentity() : qsItemOqcReq.Id;
 
             xj.Id = pid;
 
@@ -402,9 +405,26 @@
                 .ExecuteCommand();
         });
 
-        if (FcheckResu.Equals("涓嶅悎鏍�"))
-            //鑷姩鐢熸垚鍏ュ簱妫�寮傚父瀵圭瓥
-            saveDetect02(detail.Gid, detail.CreateBy);
+        //if (FcheckResu.Equals("涓嶅悎鏍�"))
+        //    //鑷姩鐢熸垚鍏ュ簱妫�寮傚父瀵圭瓥
+        //    saveDetect02(detail.Gid, detail.CreateBy);
+
+
+       var oqcReq = db.Queryable<QsItemOqcReq>() 
+                .Where(s => s.Id == detail.Gid)
+                .Select<string?>(s=>s.BillNo)
+                .First();
+
+        if (oqcReq != null)
+        {
+            //FSTATUS
+            //CHECK_RES
+            db.Updateable<MesInvItemIns>()
+                .SetColumns(s => s.Fstatus == 1)
+                .SetColumns(s=>s.CheckRes == FcheckResu)
+                .Where(s => s.BillNo == oqcReq)
+                .ExecuteCommand();
+        }
 
         return useTransactionWithOracle;
     }
@@ -454,48 +474,61 @@
     }
 
 
-    public List<QsItemOqcReq> getPage(XJPageResult queryObj)
+    public (List<QsItemOqcReq> items, int TotalCount) getPage(XJPageResult queryObj)
     {
         var db = SqlSugarHelper.GetInstance();
 
-        return db
-            .Queryable<QsItemOqcReq, Womdaa, MesItems, MesInvItemIns, Womdab,
-                MesInvTransaction, RKJDaa001>(
-                (a, da, b, c, d, ca, m) => new JoinQueryInfos(
-                    JoinType.Left, da.Daa001 == a.BillNo,
-                    JoinType.Left, a.ItemId == b.Id,
-                    JoinType.Left, a.BillNo == c.BillNo,
-                    JoinType.Left, c.CbillNo == d.Dab001,
-                    JoinType.Left,
-                    c.TransctionNo == ca.TransactionNo.ToString() &&
-                    c.Company == ca.Company && c.Factory == ca.Factory,
-                    JoinType.Left, c.Id == m.ItemInId && a.ItemNo == m.ItemNo
-                ))
-            .Select((a, da, b, c, d, ca, m) => new QsItemOqcReq
-            {
-                BillNo = a.BillNo,
-                Remarks = a.Remarks,
-                Id = a.Id,
-                CreateDate = a.CreateDate,
-                CreateBy = a.CreateBy,
-                FcheckResu = a.FcheckResu,
-                ItemNo = a.ItemNo,
-                FcheckBy = a.FcheckBy,
-                FcheckDate = a.FcheckDate,
-                ReleaseNo = a.ReleaseNo,
-                // 娣诲姞鍏朵粬瀛楁
-                // 濡傛灉鍦� QsItemOqcReq 涓畾涔変簡棰濆瀛楁锛屽垯闇�瑕佸皢瀹冧滑璧嬪��
-                // 渚嬪:
-                ItemName = b.ItemName,
-                ItemModel = b.ItemModel,
-                TaskNo = c.TaskNo,
-                CbillNo = c.CbillNo,
-                Dab001 = d.Dab001,
-                Daa015 = da.Daa015,
-                LineNo = c.LineNo,
-                Quantity = m.Quantity
-            }).OrderBy(a => a.CreateDate, OrderByType.Desc)
-            .ToPageList(queryObj.PageIndex, queryObj.Limit);
+        var totalCount = 0;
+
+        var qsItemOqcReqs = db.Queryable<QsItemOqcReq, MesItems, MesInvItemIns, Womdaa, MesInvTransaction, RKJDaa001, MesLine>(
+                 (a, b, c, da, ca, m, l) => new JoinQueryInfos(
+                     JoinType.Left, a.ItemNo == b.Id.ToString(),
+                     JoinType.Left, a.BillNo == c.BillNo,
+                     JoinType.Left, da.Daa001 == c.RbillNo,
+                     JoinType.Left, c.TransctionNo == ca.TransactionNo.ToString()
+                                   && c.Company == ca.Company
+                                   && c.Factory == ca.Factory,
+                     JoinType.Left, m.ItemInId == c.Id,
+                     JoinType.Left, l.LineNo == da.Daa015
+                 ))
+             //.WhereIF(!"PL017".Equals(queryObj.createUser),
+             //    (a, b, c, da, ca, m) => lineNo.Contains(da.Daa015))
+             .WhereIF(!string.IsNullOrEmpty(queryObj.id), (a, b, c, da, ca, m, l) => a.Id.ToString() == queryObj.id)
+             .WhereIF(
+                 StringUtil.IsNotNullOrEmpty(queryObj.result) && "鏈畬鎴�".Equals(queryObj.result),
+                 (a, b, c, da, ca, m, l) => a.FcheckResu == null)
+             .WhereIF(
+                 StringUtil.IsNotNullOrEmpty(queryObj.result) && !"鏈畬鎴�".Equals(queryObj.result),
+                 (a, b, c, da, ca, m, l) => a.FcheckResu != null)
+             .WhereIF(
+                 StringUtil.IsNotNullOrEmpty(queryObj.SearchValue),
+                 (a, b, c, da, ca, m, l) => a.ReleaseNo.Contains(queryObj.SearchValue)
+                 || b.ItemNo.Contains(queryObj.SearchValue)
+                 )
+             .Select((a, b, c, da, ca, m, l) => new QsItemOqcReq
+             {
+                 BillNo = a.BillNo,
+                 Remarks = a.Remarks,
+                 Id = a.Id,
+                 CreateDate = a.CreateDate,
+                 CreateBy = a.CreateBy,
+                 FcheckResu = a.FcheckResu,
+                 ItemNo = b.ItemNo,
+                 FcheckBy = a.FcheckBy,
+                 FcheckDate = a.FcheckDate,
+                 ReleaseNo = a.ReleaseNo,
+                 ItemName = b.ItemName,
+                 ItemModel = b.ItemModel,
+                 TaskNo = c.RbillNo,
+                 //CbillNo = c.CbillNo,  
+                 //LineNo = da.Daa015,
+                 LineNo = l.LineName,
+                 Quantity = m.Quantity
+             })
+             .OrderBy(a => a.CreateDate, OrderByType.Desc)
+             .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+        return (qsItemOqcReqs, totalCount);
     }
 
     //鍒犻櫎涓昏〃骞朵笖杩炵骇鍒犻櫎瀛愯〃鍜屽瓩琛�
@@ -648,4 +681,28 @@
 
         return Convert.ToInt32(rkjDto.gid);
     }
+
+    public List<MesInvItemInCDetails2> GetRKDetail(RKJDto rkjDto)
+    {
+        //鐗╂枡鏉$爜鍜岀墿鏂欑紪鐮侊紝鏁伴噺   MES_INV_ITEM_IN_C_DETAILS2
+        var db = SqlSugarHelper.GetInstance();
+
+        var oqcReq = db.Queryable<QsItemOqcReq>()
+                .Where(s => s.Id == rkjDto.gid)
+                .Select<string?>(s => s.BillNo)
+                .First();
+
+        if (oqcReq != null)
+        {
+            //FSTATUS
+            //CHECK_RES
+           var mesInvItemIns = db.Queryable<MesInvItemIns>() 
+                .Where(s => s.BillNo == oqcReq).First();
+
+           return db.Queryable<MesInvItemInCDetails2>()
+                .Where(a=>a.ItemInId == mesInvItemIns.Id).ToList();
+        }
+
+        return new List<MesInvItemInCDetails2>();
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3