From ee6683a1351733a7c5b1e50a7722c96dfd42e2a2 Mon Sep 17 00:00:00 2001
From: hao <1836460075@qq.com>
Date: 星期五, 30 五月 2025 16:25:28 +0800
Subject: [PATCH] 退换料确认

---
 StandardInterface/MES.Service/service/QC/RetMatService.cs |  156 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 156 insertions(+), 0 deletions(-)

diff --git a/StandardInterface/MES.Service/service/QC/RetMatService.cs b/StandardInterface/MES.Service/service/QC/RetMatService.cs
new file mode 100644
index 0000000..dd0cedb
--- /dev/null
+++ b/StandardInterface/MES.Service/service/QC/RetMatService.cs
@@ -0,0 +1,156 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.util;
+using Newtonsoft.Json;
+using SqlSugar;
+using System.Data;
+
+namespace MES.Service.service.QC
+{
+    public class RetMatService
+    {
+        public List<dynamic> GetAllDocs()
+        {
+            var db = SqlSugarHelper.GetInstance();
+
+            string sql = @"
+                SELECT THL_NO 
+                FROM MES_ITEM_THL 
+               -- WHERE JY_BS = 0 AND THL012 = 1
+            ";
+
+            var table = db.Ado.GetDataTable(sql);
+            return table.ToDynamic();
+        }
+
+        public List<dynamic> GetHeader(string docNo)
+        {
+            var db = SqlSugarHelper.GetInstance();
+
+            string sql = @"
+                SELECT 
+                    a.THL001 AS moNo,
+                    a.THL004 AS type,
+                    s.ITEM_NO AS productCode,
+                    d.DEPARTMENTNAME AS deptName,
+                    TO_CHAR(a.THL011, 'yyyy-mm-dd hh24:mi:ss') AS createTime
+                FROM MES_ITEM_THL a
+                LEFT JOIN MES_ITEMS s ON a.ITEM_ID = s.ID
+                LEFT JOIN WOMDAA a0 ON a.THL001 = a0.DAA001
+                LEFT JOIN SYS_DEPARTMENT d ON a0.daa013 = d.ID
+                WHERE a.THL_NO = :docNo
+            ";
+
+            var table = db.Ado.GetDataTable(sql, new SugarParameter("docNo", docNo));
+            return table.ToDynamic();
+        }
+
+        public List<dynamic> GetDetailList(string docNo)
+        {
+            var db = SqlSugarHelper.GetInstance();
+
+            string sql = @"
+            SELECT 
+                s.ITEM_NO AS material,
+                s.ITEM_MODEL AS spec,
+                a.THLD005 AS qty,
+                a.THLD014 AS reason,
+                s.ID AS itemId
+            FROM MES_ITEM_THL_DETAIL a
+            LEFT JOIN MES_ITEM_THL b ON a.THLMID = b.ID
+            LEFT JOIN MES_ITEMS s ON a.ITEM_ID = s.ID
+            WHERE b.THL_NO = :docNo
+        ";
+
+            return db.Ado.GetDataTable(sql, new SugarParameter("docNo", docNo)).ToDynamic();
+        }
+
+        public void UpdateHeader(string docNo, string user)
+        {
+            var db = SqlSugarHelper.GetInstance();
+
+            string sql = @"
+                UPDATE MES_ITEM_THL 
+                SET JY_BS = 1, 
+                    JY_USER = :user, 
+                    JY_TIME = SYSDATE 
+                WHERE THL_NO = :docNo
+            ";
+
+            db.Ado.ExecuteCommand(sql,
+                new SugarParameter("docNo", docNo),
+                new SugarParameter("user", user)
+            );
+        }
+
+/*        public void SaveReviewItem(string docNo, string itemNo, string reason)
+        {
+            var db = SqlSugarHelper.GetInstance();
+
+            string sql = @"
+                UPDATE MES_ITEM_THL_DETAIL
+                SET THLD014 = :reason
+                WHERE THLMID = (
+                    SELECT ID FROM MES_ITEM_THL WHERE THL_NO = :docNo
+                )
+                AND ITEM_ID = (
+                    SELECT ID FROM MES_ITEMS WHERE ITEM_NO = :itemNo
+                )
+            ";
+
+            db.Ado.ExecuteCommand(sql,
+                new SugarParameter("docNo", docNo),
+                new SugarParameter("itemNo", itemNo),
+                new SugarParameter("reason", reason)
+            );
+        }*/
+
+        public void SaveReview(string docNo, string user, List<ReviewItem> items)
+        {
+            var db = SqlSugarHelper.GetInstance();
+
+            string json = JsonConvert.SerializeObject(items); // 搴忓垪鍖栦负 JSON 瀛楃涓�
+
+           
+
+            foreach (ReviewItem item in items)
+            {
+                var parameters = new List<SugarParameter>
+{
+    new SugarParameter("pi_NO", docNo, System.Data.DbType.String),
+    new SugarParameter("pi_user", user, System.Data.DbType.String),
+    new SugarParameter("pi_item_ID", item.ItemId, System.Data.DbType.Decimal),  
+    new SugarParameter("pi_reason", item.Reason, System.Data.DbType.String)
+};
+
+
+                db.Ado.UseStoredProcedure()
+                .ExecuteCommand("PRC_RET_MAT_AUDIT_ALL", parameters);
+            }
+
+            
+        }
+
+
+        public void Reject(string docNo, string user)
+        {
+            var db = SqlSugarHelper.GetInstance();
+
+            string sql = @"
+        UPDATE MES_ITEM_THL 
+        SET BH_TIME = SYSDATE,
+            BH_USER = :pi_user,
+            THL010 = '',
+            THL011 = '',
+            THL012 = 0 
+        WHERE THL_NO = :pi_no
+    ";
+
+            db.Ado.ExecuteCommand(sql,
+                new SugarParameter("pi_user", user),
+                new SugarParameter("pi_no", docNo)
+            );
+        }
+
+    }
+}

--
Gitblit v1.9.3