From b98df034707a61fd2857dbccd5a232605076ca59 Mon Sep 17 00:00:00 2001
From: lg <123456>
Date: 星期四, 20 十一月 2025 10:26:08 +0800
Subject: [PATCH] 标准版初始化

---
 WebApi/GS.QC/Service/MesQmCheckitemManager.cs |  139 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 127 insertions(+), 12 deletions(-)

diff --git a/WebApi/GS.QC/Service/MesQmCheckitemManager.cs b/WebApi/GS.QC/Service/MesQmCheckitemManager.cs
index a4b217a..2d66b6d 100644
--- a/WebApi/GS.QC/Service/MesQmCheckitemManager.cs
+++ b/WebApi/GS.QC/Service/MesQmCheckitemManager.cs
@@ -13,6 +13,8 @@
 using System.Data;
 using System.Data.SqlClient;
 using System.Dynamic;
+using Gs.BaseInfo.Models;
+
 
 namespace GS.QC.Service;
 
@@ -43,22 +45,27 @@
         var _sbWhere = new StringBuilder(" 1=1 " + query.keyWhere);
         var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder);
         var totalCount = 0;
-        var itemsList = Db.Queryable<MesQmCheckitem, MesItems, SysOrganization>(
-                (a, b, org) => new object[]
+        var itemsList = Db.Queryable<MesQmCheckitem, MesItems, SysOrganization, SysUser, SysUser>(
+                (a, b, org, u1, u2) => new object[]
                 {
                     JoinType.Left, a.ItemId == b.Id,
-                    JoinType.Left, b.FSubsidiary == org.Fid
-                }).Select((a, b, org) => new MesQmCheckitem
-                {
-                    FSubsidiary = "(" + org.FNumber + ")" + org.Name,
-                    mc = b.ItemName,
-                    gg = b.ItemModel,
-                    ItemNo = b.ItemNo,
-                }, true)
+                    JoinType.Left, b.FSubsidiary == org.Fid,
+                    JoinType.Left, a.FoneCheckor == u1.Account,
+                    JoinType.Left, a.CreateBy == u2.Account
+                })
+            .Select((a, b, org, u1, u2) => new MesQmCheckitem
+            {
+                FSubsidiary = "(" + org.FNumber + ")" + org.Name,
+                mc = b.ItemName,
+                gg = b.ItemModel,
+                ItemNo = b.ItemNo,
+                // 鏂板锛氬鎵逛汉濮撳悕銆佸埗鍗曚汉濮撳悕
+                FoneCheckor = u1.UserName,
+                CreateBy = u2.UserName
+            }, true)
             .Where(_sbWhere.ToString())
             .OrderBy(_sbBy.ToString())
-            .ToPageList(query.currentPage, query.everyPageSize,
-                ref totalCount);
+            .ToPageList(query.currentPage, query.everyPageSize, ref totalCount);
 
         var pageList = new PageList<MesQmCheckitem>(itemsList, totalCount,
             query.everyPageSize);
@@ -75,7 +82,9 @@
     public ReturnDto<MesQmCheckitem> GetModel(
         [FromBody] MesQmCheckitem model)
     {
+        // 鑾峰彇涓昏〃
         var m = base.GetById(model.Guid);
+
         System.Text.StringBuilder sbSql = new StringBuilder();
         sbSql.Append("select top 1 FSubsidiary,org.NAME as fName,org.FNumber, [item_name],[item_model],item_no from MES_ITEMS i left join SYS_ORGANIZATION org on i.FSubsidiary=org.FID where i.id=" + m.ItemId);
         try
@@ -92,6 +101,17 @@
         {
             LogHelper.Debug(ToString(), "GetModel error锛�" + ex.Message);
         }
+
+        // 鏂板锛氬鎵逛汉濮撳悕鏌ヨ
+        if (!string.IsNullOrEmpty(m.FoneCheckor))
+        {
+            var user = Db.Queryable<SysUser>()
+                .Where(u => u.Account == m.FoneCheckor)
+                .Select(u => u.UserName)
+                .First();
+            m.FoneCheckor = user ?? m.FoneCheckor; // 鏌ヤ笉鍒板垯淇濈暀鍘熷��
+        }
+
         m.list = Db.Queryable<MesQmCheckitemDt, MesQmAql1>((a, b) =>
                 new object[]
                 {
@@ -331,4 +351,99 @@
         }
         return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�");
     }
+
+    #region 鐗╂枡绫诲埆妫�楠岄」鐩�
+
+    /// <summary>
+    ///     鏌ヨ鍒楄〃锛屾敮鎸佸垎椤�
+    /// </summary>
+    /// <param name="query"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<PageList<MesQmCheckitem>> GetListPageLeiBie(PageQuery query)
+    {
+        var _sbWhere = new StringBuilder(" 1=1 " + query.keyWhere);
+        var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder);
+        var totalCount = 0;
+        var itemsList = Db.Queryable<MesQmCheckitem, MesItemType, SysUser, SysUser>(
+                (a, b, u1, u2) => new object[]
+                {
+                  JoinType.Left, a.ItemId == b.Id,
+                  JoinType.Left, a.FoneCheckor == u1.Account,
+                  JoinType.Left, a.CreateBy == u2.Account
+                })
+            .Select((a, b, u1, u2) => new MesQmCheckitem
+            {
+                mc = b.Tname,
+                ItemNo = b.Tcode,
+                // 鏂板锛氬鎵逛汉濮撳悕銆佸埗鍗曚汉濮撳悕
+                FoneCheckor = u1.UserName,
+                CreateBy = u2.UserName
+            }, true)
+            .Where(_sbWhere.ToString())
+            .OrderBy(_sbBy.ToString())
+            .ToPageList(query.currentPage, query.everyPageSize, ref totalCount);
+
+        var pageList = new PageList<MesQmCheckitem>(itemsList, totalCount,
+            query.everyPageSize);
+        return ReturnDto<PageList<MesQmCheckitem>>.QuickReturn(pageList,
+            ReturnCode.Success, "璇诲彇鎴愬姛");
+    }
+
+    /// <summary>
+    ///     鏍规嵁涓昏〃id璇诲彇涓昏〃鍜屽瓙琛�
+    /// </summary>
+    /// <param name="model"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<MesQmCheckitem> GetModelLeiBie(
+        [FromBody] MesQmCheckitem model)
+    {
+        // 鑾峰彇涓昏〃
+        var m = base.GetById(model.Guid);
+
+        System.Text.StringBuilder sbSql = new StringBuilder();
+        sbSql.Append("select top 1 tname as [item_name],tcode as item_no from MES_ITEM_TYPE i where i.id=" + m.ItemId);
+        try
+        {
+            DataSet dset = new DataSet();
+            dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString());
+            System.Data.DataRow r = dset.Tables[0].Rows[0];
+            m.ItemNo = r["item_no"].ToString();
+            m.mc = r["item_name"].ToString();
+        }
+        catch (Exception ex)
+        {
+            LogHelper.Debug(ToString(), "GetModel error锛�" + ex.Message);
+        }
+
+        // 鏂板锛氬鎵逛汉濮撳悕鏌ヨ
+        if (!string.IsNullOrEmpty(m.FoneCheckor))
+        {
+            var user = Db.Queryable<SysUser>()
+                .Where(u => u.Account == m.FoneCheckor)
+                .Select(u => u.UserName)
+                .First();
+            m.FoneCheckor = user ?? m.FoneCheckor; // 鏌ヤ笉鍒板垯淇濈暀鍘熷��
+        }
+
+        m.list = Db.Queryable<MesQmCheckitemDt, MesQmAql1>((a, b) =>
+                new object[]
+                {
+                    JoinType.Left, a.SampleSizeNo == b.SampleSizeNo
+                })
+            .OrderBy((a, b) => a.Forder)
+            .Select((a, b) => new MesQmCheckitemDt
+            {
+                sampleSizeName = b.SampleSizeName
+            }, true)
+            .Where(a => a.Pid == model.Guid)
+            .ToList();
+        if (m != null)
+            return ReturnDto<MesQmCheckitem>.QuickReturn(m,
+                ReturnCode.Success, "璇诲彇鎴愬姛锛�");
+        return ReturnDto<MesQmCheckitem>.QuickReturn(m, ReturnCode.Default,
+            "璇诲彇澶辫触锛�");
+    }
+    #endregion
 }
\ No newline at end of file

--
Gitblit v1.9.3