From 25fde6086c76f0bcc2848305f90432a3716a5c61 Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期一, 25 八月 2025 11:13:51 +0800
Subject: [PATCH] 代码提交

---
 StandardPda/MES.Service/service/QC/XJService.cs |  180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 164 insertions(+), 16 deletions(-)

diff --git a/StandardPda/MES.Service/service/QC/XJService.cs b/StandardPda/MES.Service/service/QC/XJService.cs
index 1d78f60..e10bc17 100644
--- a/StandardPda/MES.Service/service/QC/XJService.cs
+++ b/StandardPda/MES.Service/service/QC/XJService.cs
@@ -3,6 +3,7 @@
 using MES.Service.Modes;
 using MES.Service.util;
 using SqlSugar;
+using System.Data;
 
 namespace MES.Service.service.QC;
 
@@ -107,40 +108,43 @@
                 }).ToList();
     }
 
-    public List<QsQaItemXj> getPage(XJPageResult queryObj)
+    public (List<QsQaItemXj> item, int TotalCount) getPage(XJPageResult queryObj)
     {
         var db = SqlSugarHelper.GetInstance();
 
         var id = Convert.ToDecimal(queryObj.id);
 
+        var totalCount = 0;
+
         string[]? lineNo = null;
 
-        if (StringUtil.IsNotNullOrEmpty(queryObj.createUser))
-            lineNo = _baseService.getUserLineNo(queryObj.createUser);
+        // if (StringUtil.IsNotNullOrEmpty(queryObj.createUser))
+        //     lineNo = _baseService.getUserLineNo(queryObj.createUser);
 
-        return db
-            .Queryable<QsQaItemXj, Womdaa, MesLine,
-                MesItems>((s, a, c, b) =>
+        var pageList = db
+            .Queryable<QsQaItemXj, Womdaa,
+                MesItems>((s, a,  b) =>
                 new JoinQueryInfos(
                     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(c.LineNo))
+            
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                 "鏈畬鎴�".Equals(queryObj.result),
-                (s, a, c, b) => s.FcheckResu == null)
+                (s, a,  b) => s.Fsubmit == null || s.Fsubmit == 0)
+            // .WhereIF(
+            //     StringUtil.IsNotNullOrEmpty(queryObj.result) &&
+            //     !"鏈畬鎴�".Equals(queryObj.result),
+            //     (s, a,  b) => s.FcheckResu != null)
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                 !"鏈畬鎴�".Equals(queryObj.result),
-                (s, a, c, b) => s.FcheckResu != null)
-            .WhereIF(id > 0, (s, a, c, b) => s.Id == id)
-            .Select((s, a, c, b) => new QsQaItemXj
+                (s, a,  b) => s.Fsubmit == 1)
+            .WhereIF(id > 0, (s, a, b) => s.Id == id)
+            .Select((s, a,  b) => new QsQaItemXj
             {
-                Daa020 = c.LineNo,
                 Id = s.Id,
                 PlanQty = a.Daa008,
                 CreateBy = s.CreateBy,
@@ -152,11 +156,31 @@
                 ItemModel = b.ItemModel,
                 FcheckBy = s.FcheckBy,
                 FcheckResu = s.FcheckResu,
-                Remarks = s.Remarks
+                Remarks = s.Remarks,
+                Fsubmit = s.Fsubmit,
+                FcheckDate = s.FcheckDate,
+                FsubmitBy = s.FsubmitBy
             }).OrderBy(s => s.CreateDate, OrderByType.Desc)
-            .ToPageList(queryObj.PageIndex, queryObj.Limit);
+            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+        return (pageList, totalCount);
     }
 
+    public bool XJQaSubmit(LLJDto rkjDto)
+    {
+        var useTransactionWithOracle =
+            SqlSugarHelper.UseTransactionWithOracle(db =>
+            {
+                return db.Updateable<QsQaItemXj>()
+                    .SetColumns(s => s.Fsubmit == 1)
+                    .SetColumns(s => s.FsubmitBy == rkjDto.userNo)
+                    .SetColumns(s => s.FsubmitDate == DateTime.Now)
+                    .Where(s => s.Id == rkjDto.gid)
+                    .ExecuteCommand();
+            });
+
+        return useTransactionWithOracle > 0;
+    }
 
     public List<QsQaItemXj01> setJYItem(string itemNo)
     {
@@ -528,4 +552,128 @@
                 .ExecuteCommand();
         });
     }
+    public List<Component> getYzxBDlist(string id)
+    {
+        OracleSQLHelper SQLHelper = new();
+        //鏌ュ厓鍣ㄤ欢
+        //var sql1 =
+        //    string.Format(
+        //        @"select ITEMNAME from MES_IQC_CONSISTENCY_ck where PID='" +
+        //        id + "' group by ITEMNAME order by ITEMNAME");
+
+        var sql1 =
+            string.Format(
+                @"select CASE WHEN max(MULTI_SELECT) is null THEN ''ELSE '銆�'||max(MULTI_SELECT)||'銆�' END  as A,ITEMNAME as ITEMNAME   from MES_IQC_CONSISTENCY_XJ_ck where PID='" + id + "' group by ITEMNAME order by ITEMNAME");
+        //鏌ユ槑缁�
+        var sql2 =
+            string.Format(@"select * from MES_IQC_CONSISTENCY_XJ_ck where PID='" +
+                          id + "' order by ITEMNAME,ITEMMODE,SUPPNAME");
+        var dataTable1 = SQLHelper.ExecuteQuery(sql1);
+        var dataTable2 = SQLHelper.ExecuteQuery(sql2);
+        var Components = new List<Component>();
+
+
+        for (var i = 0; i < dataTable1.Rows.Count; i++)
+        {
+            var component = new Component();
+            component.Name = dataTable1.Rows[i]["A"].ToString() + dataTable1.Rows[i]["ITEMNAME"].ToString();
+            component.Specs = new List<string>();
+            component.Manufacturers = new List<string>();
+            component.Id = new List<string>();
+            component.SelectedSpec = -1;
+            component.SelectedMfg = -1;
+            var index = 0;
+            for (var j = 0; j < dataTable2.Rows.Count; j++)
+                if (dataTable2.Rows[j]["ITEMNAME"].ToString() ==
+                    dataTable1.Rows[i]["ITEMNAME"].ToString())
+                {
+                    component.Specs.Add(dataTable2.Rows[j]["ITEMMODE"]
+                        .ToString());
+                    component.Manufacturers.Add(dataTable2.Rows[j]["SUPPNAME"]
+                        .ToString());
+                    component.Id.Add(dataTable2.Rows[j]["ID"].ToString());
+                    if (dataTable2.Rows[j]["ISCHACK"].ToString() == "1")
+                    {
+                        component.SelectedSpec = index;
+                        component.SelectedMfg = index;
+                    }
+
+                    index++;
+                }
+
+            Components.Add(component);
+        }
+
+        return Components;
+    }
+    /// <summary>
+    ///     涓�鑷存�ч」鐩�
+    /// </summary>
+    public class Component
+    {
+        public string Name { get; set; }
+        public List<string> Specs { get; set; }
+        public List<string> Manufacturers { get; set; }
+        public List<string> Id { get; set; }
+        public int SelectedSpec { get; set; }
+        public int SelectedMfg { get; set; }
+    }
+    public void saveYzxBDlist(string id, DataTable DB)
+    {
+        OracleSQLHelper SQLHelper = new();
+        //鍏堟妸缁撴灉娓呯┖
+        var sql1 =
+            string.Format(
+                @"update MES_IQC_CONSISTENCY_XJ_ck set ISCHACK=0 where PID='" +
+                id + "' ");
+        SQLHelper.ExecuteQuery(sql1);
+        var rowId = "";
+        for (var i = 0; i < DB.Rows.Count; i++)
+            rowId += "'" + DB.Rows[i]["id"] + "',";
+        rowId = rowId.Substring(0, rowId.Length - 1);
+
+
+        //淇敼缁撴灉
+        var sql2 =
+            string.Format(
+                @"update MES_IQC_CONSISTENCY_XJ_ck set ISCHACK=1 where PID='" +
+                id + "'and id in(" + rowId + ") ");
+        SQLHelper.ExecuteQuery(sql2);
+    }
+    public string[] YzxImgVerify(string id)
+    {
+        var msgStr = new string[2];
+
+        OracleSQLHelper SQLHelper = new();
+        //淇敼缁撴灉
+        //var sql2 = string.Format(
+        //    @"select A.ITEMNAME from ( select 888||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_CK where pid='" +
+        //    id + "' group by  ITEMNAME) A " +
+        //    "left join MES_QS_IMAGE b on a.id=b.fid where B.id is null order by ITEMNAME");
+
+
+        var sql2 = string.Format(
+         @"select A.ITEMNAME from ( select 777||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_XJ_CK where pid='" + id.ToString() + "' and ITEMNAME not in(select ITEMNAME from MES_IQC_CONSISTENCY_XJ_CK where PID='" + id.ToString() + "'  and MULTI_SELECT is not null)" +
+         "group by  ITEMNAME) A" +
+         " left join MES_QS_IMAGE b on a.id=b.fid where B.id is null" +
+         " union" +
+         " select  '鍒嗙粍锛�' || MULTI_SELECT as ITEMNAME      from MES_IQC_CONSISTENCY_XJ_CK      where pid = '" + id.ToString() + "'        and MULTI_SELECT is not null and MULTI_SELECT not in(select  A.MULTI_SELECT as ITEMNAME from (select 888 || min(id) id, MULTI_SELECT      from MES_IQC_CONSISTENCY_XJ_CK      where pid = '" + id.ToString() + "'       and MULTI_SELECT is not null      group by MULTI_SELECT,ITEMNAME) A        left join MES_QS_IMAGE b on a.id = b.fid where B.id is not null)     group by MULTI_SELECT");
+
+        var db = SQLHelper.ExecuteQuery(sql2);
+        if (db.Rows.Count > 0)
+        {
+            msgStr[1] = "鍏冨櫒浠讹細";
+            for (var i = 0; i < db.Rows.Count; i++)
+                msgStr[1] += db.Rows[i]["ITEMNAME"] + ",";
+            msgStr[1] += "鏈畬鎴愬浘鐗囦笂浼狅紝璇蜂笂浼狅紒";
+            msgStr[0] = "1";
+        }
+        else
+        {
+            msgStr[0] = "0";
+            msgStr[1] = "ok";
+        }
+
+        return msgStr;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3