From 8276722de62e0be1e68adf65f150686a236268bd Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期五, 18 七月 2025 10:08:44 +0800
Subject: [PATCH] 产测接口代码提交

---
 StandardPda/MES.Service/service/QC/SuspendService.cs |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 120 insertions(+), 0 deletions(-)

diff --git a/StandardPda/MES.Service/service/QC/SuspendService.cs b/StandardPda/MES.Service/service/QC/SuspendService.cs
new file mode 100644
index 0000000..2c690c0
--- /dev/null
+++ b/StandardPda/MES.Service/service/QC/SuspendService.cs
@@ -0,0 +1,120 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.QC;
+
+public class SuspendService
+{
+    private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�"];
+
+    public List<SysDepartment> getDept()
+    {
+        var db = SqlSugarHelper.GetInstance();
+        //return db.Queryable<SysDepartment>().ToList();
+        return db
+            .Queryable<Womdaa, MesLine, QsQaItemXj,
+                SysDepartment>((a, b, c, d) =>
+                new JoinQueryInfos(JoinType.Left,
+                    a.Daa002 == b.Id.ToString(),
+                    JoinType.Inner, a.Daa001 == c.BillNo,
+                    JoinType.Left, b.Departmentcode == d.Departmentcode))
+            .Where((a, b, c, d) => b.LineName != null &&
+                                   statusArray.Contains(a.Daa018))
+            .GroupBy((a, b, c, d) => new
+            {
+                b.Departmentcode,
+                d.Departmentname
+            })
+            .Select((a, b, c, d) => new SysDepartment
+            {
+                Departmentcode = b.Departmentcode,
+                Departmentname = d.Departmentname
+            }).ToList();
+    }
+
+    public List<MesLine> GetLines(string deptCode)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        var mesLines = db.Queryable<Womdaa, MesLine, QsQaItemXj>((a, b, c) =>
+                new JoinQueryInfos(JoinType.Left,
+                    a.Daa002 == b.Id.ToString(),
+                    JoinType.Inner, a.Daa001 == c.BillNo))
+            .Where((a, b, c) => b.LineName != null &&
+                                statusArray.Contains(a.Daa018)
+                                && b.Departmentcode == deptCode)
+            .GroupBy((a, b, c) => new
+            {
+                b.LineNo,
+                b.LineName
+            })
+            .Select((a, b, c) => new MesLine
+            {
+                LineNo = b.LineNo,
+                LineName = b.LineName
+            }).ToList();
+
+        var mesQsSuspends = db.Queryable<MesQsSuspend>()
+            .Where(s => s.IsSuspend == 0).ToList();
+
+        return mesLines.Where(p => mesQsSuspends.All(e => e.LineNo != p.LineNo))
+            .ToList();
+    }
+
+    public int save(MesQsSuspend entity)
+    {
+        entity.CreateDate = DateTime.Now;
+        return SqlSugarHelper.UseTransactionWithOracle(db =>
+            db.Insertable(entity).ExecuteCommand());
+    }
+
+    public List<MesQsSuspend> getAllByDeptNo(string deptNo)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        return db.Queryable<MesQsSuspend>()
+            .Where(a => a.DeptNo == deptNo && a.IsSuspend == 0).ToList();
+    }
+
+    public List<MesQsSuspend> getOpenDept()
+    {
+        var db = SqlSugarHelper.GetInstance();
+        return db.Queryable<MesQsSuspend>().GroupBy(a => new
+        {
+            a.DeptNo,
+            a.DeptName
+        }).Select<MesQsSuspend>(a => new MesQsSuspend
+        {
+            DeptNo = a.DeptNo,
+            DeptName = a.DeptName
+        }).ToList();
+    }
+
+    public List<MesQsSuspend> getOpenLine(string deptNo)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        return db.Queryable<MesQsSuspend>()
+            .Where(a => a.DeptNo == deptNo && a.IsSuspend == 0)
+            .GroupBy(a => new
+            {
+                a.LineNo,
+                a.LineName
+            }).Select<MesQsSuspend>(a => new MesQsSuspend
+            {
+                LineNo = a.LineNo,
+                LineName = a.LineName
+            }).ToList();
+    }
+
+    public int UpdateById(MesQsSuspend entity)
+    {
+        return SqlSugarHelper.UseTransactionWithOracle(db =>
+        {
+            return db.Updateable<MesQsSuspend>()
+                .SetColumns(a => a.IsSuspend == entity.IsSuspend)
+                .SetColumns(a => a.OpenDate == DateTime.Now)
+                .SetColumns(a => a.TimeDifference == entity.TimeDifference)
+                .Where(a => a.Id == entity.Id)
+                .ExecuteCommand();
+        });
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3