From f31edb8fa31c6608d34d303e750890f7eea1930b Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期二, 26 八月 2025 14:08:02 +0800
Subject: [PATCH] 首检获取检验项目前 删除原有检验项

---
 MES.Service/service/QC/SJService.cs |  101 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 74 insertions(+), 27 deletions(-)

diff --git a/MES.Service/service/QC/SJService.cs b/MES.Service/service/QC/SJService.cs
index 6b56ca5..6b6cf31 100644
--- a/MES.Service/service/QC/SJService.cs
+++ b/MES.Service/service/QC/SJService.cs
@@ -43,10 +43,17 @@
 
         string[]? lineNo = null;
 
+        int totalCount = 0;
+
         //if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
         //    lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
 
-        var data = db.Queryable<SJPageResult>()
+        var data = db.Queryable<SJPageResult, Womdaa, Womcaa> ((a,
+                    da,ca) =>
+                new JoinQueryInfos(
+                    JoinType.Left, Convert.ToDecimal(a.Pbaid) == da.Id, // 鍏宠仈宸ュ崟淇℃伅
+                    JoinType.Left, da.Daa021 == ca.Caa020//浠诲姟鍗曪紝鐢ㄤ簬鏌ヨ閿�鍞鍗曞彿
+                ))
             //.WhereIF(lineNo != null && lineNo.Length > 0,
             //    a => lineNo.Contains(a.line))
             .WhereIF(queryObj.Id != null, a => a.Id == queryObj.Id)
@@ -55,14 +62,41 @@
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
                 "鏈畬鎴�".Equals(queryObj.Result),
-                a => a.FSubmit == null)
+                a => a.FSubmit == "0")
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
                 !"鏈畬鎴�".Equals(queryObj.Result),
-                a => a.FSubmit != null)
+                a => a.FSubmit == "1")
+            .Select((a, da, ca) => new SJPageResult
+            {
+                Id = a.Id,
+                BillNo = a.BillNo,
+                StatusDate = a.StatusDate,
+                FName = a.FName,
+                Result = a.Result,
+                FSubmit = a.FSubmit,
+                FSubmitBy = a.FSubmitBy,
+                FSubmitDate = a.FSubmitDate,
+                MoidNum = a.MoidNum,
+                StatusUser = a.StatusUser,
+                Pbaid = a.Pbaid,
+                CreateTime = a.CreateTime,
+                Comments = a.Comments,
+                ItemMod = a.ItemMod,
+                ItemNo = a.ItemNo,
+                daa001 = a.daa001,
+                line = a.line,
+                Remarks = a.Remarks,
+                Daa003 = a.Daa003,
+                Daa004 = a.Daa004,
+                Daa008 = a.Daa008,
+                LineName = a.LineName,
+
+                // 鏄犲皠棰濆鐨勫瓧娈碉紙閿�鍞鍗曞彿锛�
+                SaleOrder = ca.Caa015
+            })
             .OrderBy(a => a.CreateTime, OrderByType.Desc);
-             var totalCount = data.Count();
-        var items = data.ToPageList(queryObj.PageIndex, queryObj.Limit);
+        var items = data.ToPageList(queryObj.PageIndex, queryObj.Limit,ref totalCount);
 
         return (items, totalCount);
     }
@@ -135,15 +169,10 @@
     public List<QsItemIpiItem> getQSItems(decimal? pid, decimal? id)
     {
         var db = SqlSugarHelper.GetInstance();
-        var qsItemIpiItems = db
-            .Queryable<QsItemIpiItem>()
-            .WhereIF(pid > 0, a => a.Pid == pid)
-            .WhereIF(id > 0, a => a.Id == id).ToList();
+        var qsItemIpiItems = db.Queryable<QsItemIpiItem>().WhereIF(pid > 0, a => a.Pid == pid).WhereIF(id > 0, a => a.Id == id).ToList();
 
         var array = qsItemIpiItems.Select(s => s.Id).ToArray();
-        var qsItemIpiItemDetails = db.Queryable<QsItemIpiItemDetail>()
-            .Where(s => array.Contains(s.Pid))
-            .GroupBy(s => s.Pid)
+        var qsItemIpiItemDetails = db.Queryable<QsItemIpiItemDetail>().Where(s => array.Contains(s.Pid)).GroupBy(s => s.Pid)
             .Select(s => new
             {
                 s.Pid,
@@ -171,9 +200,7 @@
         });
 
         //浣跨敤linq琛ㄨ揪寮忚繃婊ゅ嚭鍥剧墖id涓嶄负绌虹殑鏁版嵁
-        var itemIpiItems =
-            qsItemIpiItems.Where(s => s.Picture is { Length: > 0 })
-                .ToList();
+        var itemIpiItems =qsItemIpiItems.Where(s => s.Picture is { Length: > 0 }).ToList();
         if (itemIpiItems.Count > 0)
             itemIpiItems.ForEach(s =>
             {
@@ -196,16 +223,14 @@
             db =>
             {
                 qsItemIpiReq.StatusDate = DateTime.Now;
-                var pid = db.Insertable(qsItemIpiReq)
-                    .ExecuteReturnIdentity();
+                var pid = db.Insertable(qsItemIpiReq).ExecuteReturnIdentity();
                 qsItemIpiReq.Id = pid;
 
                 item.gid = pid;
 
                 qsItemIpiItems.ForEach(s => s.Pid = pid);
 
-                return db.Insertable(qsItemIpiItems)
-                    .ExecuteCommand();
+                return db.Insertable(qsItemIpiItems).ExecuteCommand();
             });
         item.Items = getQSItems(qsItemIpiReq.Id, null);
 
@@ -234,22 +259,33 @@
 
     public QsItem SaveItem(QsItem item)
     {
+        var db = SqlSugarHelper.GetInstance();
+
+        var del = db.Deleteable<QsItemIpiItem>()
+            .Where(s=>s.Pid == item.gid)
+            .ExecuteCommand();
+
+        //QsItemIpiItemDetail
+        var del1 = db.Deleteable<QsItemIpiItemDetail>()
+            .Where(s => s.Gid == item.gid)
+            .ExecuteCommand();
+
         var qsItemIpiItems = item.Items;
         SqlSugarHelper.UseTransactionWithOracle(
             db =>
             {
                 qsItemIpiItems.ForEach(s => s.Pid = item.gid);
-
-                return db.Insertable(qsItemIpiItems)
-                    .ExecuteCommand();
+                return db.Insertable(qsItemIpiItems).ExecuteCommand();
             });
         item.Items = getQSItems(item.gid, null);
 
         //娌℃湁涓婁笅闄愮殑妫�楠岄」鐩嚜鍔ㄧ洏鐐逛负鍚堟牸
         item.Items.ForEach(s =>
         {
-            if (s.MaxValue != null || s.StandardValue != null ||
-                s.MinValue != null) return;
+            if (s.MaxValue != null || s.StandardValue != null || s.MinValue != null)
+            {
+                return;
+            }
             var detail = new QsItemIpiItemDetail();
             detail.Pid = s.Id;
             detail.Gid = item.gid;
@@ -281,7 +317,6 @@
                 item.CreateDate = DateTime.Now;
                 result.Add(item);
             }
-
             return db.Insertable(result).ExecuteCommand();
         });
 
@@ -425,6 +460,19 @@
                 .ExecuteCommand();
         });
     }
+    
+     
+    //NOTES
+    public int saveNotesPid(QsItem dto)
+    {
+        return SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<QsItemIpiItem>()
+                .SetColumns(it =>it.Notes == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+                .Where(it => it.Id == dto.pid)
+                .ExecuteCommand();
+        });
+    }
 
     //瀛欒〃淇敼澶囨敞瀛楁
     public int saveRemarksById(QsItem dto)
@@ -432,8 +480,7 @@
         return SqlSugarHelper.UseTransactionWithOracle(db =>
         {
             return db.Updateable<QsItemIpiItemDetail>()
-                .SetColumns(it =>
-                    it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+                .SetColumns(it =>it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
                 .Where(it => it.Id == dto.id)
                 .ExecuteCommand();
         });

--
Gitblit v1.9.3