From 5de35354e8dfcb4933350d0d1b645d400bcf23ab Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期二, 22 七月 2025 15:30:09 +0800
Subject: [PATCH] 优化多组织

---
 MES.Service/service/QC/XJService.cs |  145 +++++++++++++++++++++++-------------------------
 1 files changed, 70 insertions(+), 75 deletions(-)

diff --git a/MES.Service/service/QC/XJService.cs b/MES.Service/service/QC/XJService.cs
index 7c35c43..145d6cc 100644
--- a/MES.Service/service/QC/XJService.cs
+++ b/MES.Service/service/QC/XJService.cs
@@ -13,7 +13,7 @@
     private readonly BaseService _baseService = new();
 
 
-    private readonly string[] statusArray = ["鐢熶骇", "寰呬骇"];
+    private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�"];
 
     //鐢熸垚鏈�鏂扮殑妫�楠屽崟鍙�
     public string getMaxReleaseNo()
@@ -38,35 +38,16 @@
         return "XJN" + date + number;
     }
 
-    public List<MesSchemeResult> getItem(string daa001)
+    public List<Womdaa> getItem(string daa001)
     {
         var db = SqlSugarHelper.GetInstance();
 
         //in鐨勫啓娉� https://www.donet5.com/Home/Doc?typeId=1187
 
-        return db.Queryable<MesSchemeResult, MesDepTask, MesBoardBaseInfo>(
-                (a, c, b) =>
-                    new JoinQueryInfos(
-                        JoinType.Left, a.TaskNo == c.TaskNo,
-                        JoinType.Left, c.BoardItem == b.BoardItem
-                    )
-            )
-            .Where(a => a.PmoveMk == 0 &&
-                        a.BillNo == daa001 &&
-                        statusArray.Contains(a.ProcStatus))
-            .Select((a, c, b) => new MesSchemeResult
-            {
-                BillNo = a.BillNo,
-                CatQty = a.CatQty,
-                DetailMem = a.DetailMem,
-                TaskNo = a.TaskNo,
-                BoardItem = a.BoardItem,
-                BoardModel = b.BoardModel,
-                PlanQty = c.PlanQty,
-                Mocode = a.Mocode,
-                // BoardStyle = c.BoardStyle,
-                Id = a.Id
-            })
+        return db.Queryable<Womdaa>()
+            .Where(a =>
+                a.Daa001 == daa001 &&
+                a.Daa018 != "瀹屽伐")
             .ToList();
     }
 
@@ -74,50 +55,56 @@
     {
         var db = SqlSugarHelper.GetInstance();
 
-        return db.Queryable<MesSchemeResult, MesLine>((a, b) =>
-                new JoinQueryInfos(JoinType.Left, a.LineNo == b.LineNo))
-            .Where((a, b) => a.PmoveMk == 0 && b.LineName != null &&
-                             statusArray.Contains(a.ProcStatus))
-            .Where("BOARD_ITEM like @BoardItem", new { BoardItem = "20%" })
+        return db.Queryable<Womdaa, MesLine>((a, b) =>
+                new JoinQueryInfos(JoinType.Left, a.Daa015 == b.LineNo))
+            .Where((a, b) => b.LineName != null &&
+                             a.Daa018 != "瀹屽伐")
             .GroupBy((a, b) => new
             {
-                a.LineNo, b.LineName
+                b.LineNo,
+                b.LineName
             })
             .Select((a, b) => new MesLine
             {
-                LineNo = a.LineNo,
+                LineNo = b.LineNo,
                 LineName = b.LineName
-            }).OrderBy("a.LINE_NO").ToList();
+            }).OrderBy("b.LINE_NO").ToList();
     }
 
-    public List<MesSchemeResult> getDaa001(string daa020, string item)
+    public List<Womdaa> getDaa001(string daa020, string item)
     {
         var db = SqlSugarHelper.GetInstance();
-        return db.Queryable<MesSchemeResult>().Where(a =>
-                a.PmoveMk == 0 && a.LineNo == daa020 && a.BillNo != null &&
-                a.BoardItem == item &&
-                statusArray.Contains(a.ProcStatus))
-            .Select<MesSchemeResult>(a => new MesSchemeResult
+        return db.Queryable<Womdaa, MesItems>((a, b) =>
+                new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString()))
+            .Where((a, b) =>
+                a.Daa015 == daa020 &&
+                b.ItemNo == item &&
+                a.Daa018 != "瀹屽伐")
+            .Select<Womdaa>(a => new Womdaa
             {
-                BillNo = a.BillNo,
-                DetailMem = a.DetailMem
+                Id = a.Id,
+                Daa001 = a.Daa001,
+                Daa003 = a.Daa003,
+                Daa008 = a.Daa008
             }).ToList();
     }
 
-    public List<MesSchemeResult> getBoardItem(string lineNo)
+    public List<MesItems> getBoardItem(string lineNo)
     {
         var db = SqlSugarHelper.GetInstance();
-        return db.Queryable<MesSchemeResult>()
-            .Where(a =>
-                a.PmoveMk == 0 && statusArray.Contains(a.ProcStatus) &&
-                a.LineNo == lineNo)
-            .Where("BOARD_ITEM like @BoardItem", new { BoardItem = "20%" })
-            .Select<MesSchemeResult>(a =>
-                new MesSchemeResult
+        return db.Queryable<Womdaa, MesItems>((a, b) =>
+                new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString()))
+            .Where((a, b) => a.Daa018 != "瀹屽伐" &&
+                             a.Daa015 == lineNo)
+            .OrderBy((a, b) => b.ItemName)
+            .Select<MesItems>((a, b) =>
+                new MesItems
                 {
-                    BoardItem = a.BoardItem,
-                    DetailMem = a.DetailMem
-                }).OrderBy(a => a.BoardItem).ToList();
+                    ItemId = b.ItemId,
+                    ItemNo = b.ItemNo,
+                    ItemName = b.ItemName,
+                    ItemModel = b.ItemModel
+                }).ToList();
     }
 
     public List<QsQaItemXj> getPage(XJPageResult queryObj)
@@ -132,16 +119,16 @@
             lineNo = _baseService.getUserLineNo(queryObj.createUser);
 
         return db
-            .Queryable<QsQaItemXj, MesSchemeResult, MesDepTask,
-                MesBoardBaseInfo>((s, a, c, b) =>
+            .Queryable<QsQaItemXj, Womdaa, MesLine,
+                MesItems>((s, a, c, b) =>
                 new JoinQueryInfos(
-                    JoinType.Inner, s.BillNo == a.BillNo,
-                    JoinType.Left, a.TaskNo == c.TaskNo,
-                    JoinType.Left, c.BoardItem == b.BoardItem
+                    JoinType.Inner, s.BillNo == a.Daa001,
+                    JoinType.Left, a.Daa015 == c.LineNo,
+                    JoinType.Left, s.ItemId == b.Id
                 )
             )
             .WhereIF(lineNo != null && lineNo.Length > 0,
-                (s, a, c, b) => lineNo.Contains(a.LineNo))
+                (s, a, c, b) => lineNo.Contains(c.LineNo))
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                 "鏈畬鎴�".Equals(queryObj.result),
@@ -151,27 +138,23 @@
                 !"鏈畬鎴�".Equals(queryObj.result),
                 (s, a, c, b) => s.FcheckResu != null)
             .WhereIF(id > 0, (s, a, c, b) => s.Id == id)
+            //.WhereIF(queryObj.Comments != null, (s, a, c, b) => s.Comments == queryObj.Comments)
             .Select((s, a, c, b) => new QsQaItemXj
             {
-                CatQty = a.CatQty,
-                MoidNum = s.MoidNum,
-                Daa020 = a.LineNo,
-                // DetailMem = a.DetailMem,
-                TaskNo = a.TaskNo,
+                Daa020 = c.LineNo,
                 Id = s.Id,
+                PlanQty = a.Daa008,
                 CreateBy = s.CreateBy,
                 CreateDate = s.CreateDate,
                 ReleaseNo = s.ReleaseNo,
                 ItemNo = s.ItemNo,
-                ItemUnit = s.ItemUnit,
                 BillNo = s.BillNo,
+                ItemName = b.ItemName,
+                ItemModel = b.ItemModel,
                 FcheckBy = s.FcheckBy,
                 FcheckResu = s.FcheckResu,
                 Remarks = s.Remarks,
-                BoardModel = b.BoardModel,
-                PlanQty = c.PlanQty
-                // Mocode = a.Mocode,
-                // BoardStyle = c.BoardStyle
+                Comments = s.Comments
             }).OrderBy(s => s.CreateDate, OrderByType.Desc)
             .ToPageList(queryObj.PageIndex, queryObj.Limit);
     }
@@ -181,16 +164,15 @@
     {
         var db = SqlSugarHelper.GetInstance();
 
-        var count = db.Queryable<MesQa>().Where(s => s.QsType == "2"
-            && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+        var count = db.Queryable<MesQa>().Where(s =>
+            s.QsType == "2" && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
 
         if (count <= 0) return new List<QsQaItemXj01>();
 
         return db
             .Queryable<MesQualityStandard>()
-            .Where(b => b.QsType == "2"
-                        && b.ItemNo == itemNo).Select(
-                b => new QsQaItemXj01
+            .Where(b => b.QsType == "2" && b.ItemNo == itemNo).Select(b =>
+                new QsQaItemXj01
                 {
                     ProjName = b.ProjName,
                     ItemMod = b.ItemMod,
@@ -418,8 +400,8 @@
 
         if (count == passCount) result = 1;
 
-        var useTransactionWithOracle = SqlSugarHelper.UseTransactionWithOracle(
-            db =>
+        var useTransactionWithOracle =
+            SqlSugarHelper.UseTransactionWithOracle(db =>
             {
                 var commit = 0;
                 commit += db.Updateable<QsQaItemXj01>()
@@ -523,6 +505,19 @@
         });
     }
 
+
+    public int saveCommentGid(XJDto dto)
+    {
+        return SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<QsQaItemXj>()
+                .SetColumns(it =>
+                    it.Comments == dto.Comments) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+                .Where(it => it.Id == dto.gid)
+                .ExecuteCommand();
+        });
+    }
+
     //瀛愯〃淇敼澶囨敞瀛楁
     public int saveRemarksPid(XJDto dto)
     {

--
Gitblit v1.9.3