From 263e0e39c18a4ade744b4d1111fe8dc9de7875e8 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期一, 29 九月 2025 17:11:20 +0800
Subject: [PATCH] 平板纠正措施单(推送部分暂未完成)

---
 MESApplication/bin/Release/net8.0/MESApplication.exe                |    0 
 MES.Service/Modes/DingAPI/DingStaff.cs                              |   29 ++
 MESApplication/MESApplication.csproj                                |    4 
 MESApplication/bin/Release/net8.0/publish/MESApplication.pdb        |    0 
 MES.Service/Modes/XJ/XJBadReason.cs                                 |   24 +
 MESApplication/bin/Debug/net8.0/MES.Service.pdb                     |    0 
 MES.Service/service/QC/SJService.cs                                 |  372 ++++++++++++++++++++++++++++
 MESApplication/bin/Release/net8.0/publish/MESApplication.dll        |    0 
 MESApplication/bin/Debug/net8.0/MES.Service.dll                     |    0 
 MES.Service/Modes/SJ/SJBadReason.cs                                 |   24 +
 MESApplication/bin/Debug/net8.0/MESApplication.pdb                  |    0 
 MESApplication/bin/Release/net8.0/MES.Service.dll                   |    0 
 MESApplication/bin/Release/net8.0/MESApplication.dll                |    0 
 MESApplication/bin/Release/net8.0/publish/MES.Service.pdb           |    0 
 MESApplication/bin/Release/net8.0/2508291420.zip                    |    0 
 MESApplication/bin/Release/net8.0/MES.Service.pdb                   |    0 
 MESApplication/bin/Release/net8.0/publish/MESApplication.exe        |    0 
 MES.Service/Modes/DingAPI/DingDept.cs                               |   45 +++
 MESApplication/bin/Release/net8.0/MESApplication.pdb                |    0 
 MES.Service/bin/Debug/net8.0/MES.Service.pdb                        |    0 
 MESApplication/bin/Release/net8.0/publish/MES.Service.dll           |    0 
 MES.Service/Modes/DingAPI/JzcsdData.cs                              |   66 +++++
 MES.Service/service/QC/XJService.cs                                 |   19 +
 MESApplication/bin/Debug/net8.0/MESApplication.dll                  |    0 
 MESApplication/Controllers/QC/SJController.cs                       |  124 +++++++++
 MES.Service/bin/Debug/net8.0/MES.Service.dll                        |    0 
 MESApplication/bin/Debug/net8.0/MESApplication.xml                  |   14 +
 MES.Service/MES.Service.csproj                                      |    1 
 MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user |    2 
 MESApplication/Controllers/QC/XJController.cs                       |   28 ++
 MESApplication/bin/Debug/net8.0/MESApplication.exe                  |    0 
 MES.Service/bin/Release/net8.0/MES.Service.dll                      |    0 
 MES.Service/bin/Release/net8.0/MES.Service.pdb                      |    0 
 33 files changed, 751 insertions(+), 1 deletions(-)

diff --git a/MES.Service/MES.Service.csproj b/MES.Service/MES.Service.csproj
index 7b1be1a..08727ec 100644
--- a/MES.Service/MES.Service.csproj
+++ b/MES.Service/MES.Service.csproj
@@ -34,6 +34,7 @@
 
     <ItemGroup>
       <Folder Include="Dto\webApi\TestReport\" />
+      <Folder Include="service\DingService\" />
     </ItemGroup>
 
 </Project>
diff --git a/MES.Service/Modes/DingAPI/DingDept.cs b/MES.Service/Modes/DingAPI/DingDept.cs
new file mode 100644
index 0000000..f429c17
--- /dev/null
+++ b/MES.Service/Modes/DingAPI/DingDept.cs
@@ -0,0 +1,45 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     鍛樺伐淇℃伅琛�
+/// </summary>
+[SugarTable("V_DING_DEPARTMENT")]
+public class DingDept
+{
+    /// <summary>
+    ///     ID
+    /// </summary>
+    [SugarColumn(ColumnName = "ID")]
+    public decimal Id { get; set; }
+
+
+    /// <summary>
+    ///     閮ㄩ棬鍚�
+    /// </summary>
+    [SugarColumn(ColumnName = "NAME")]
+    public string? Name { get; set; }
+
+    /// <summary>
+    ///     鐖堕儴闂ㄧ紪鐮�
+    /// </summary>
+    [SugarColumn(ColumnName = "PID")]
+    public decimal Pid { get; set; }
+
+    /// <summary>
+    ///     娌℃湁瀛愰儴闂ㄦ爣璇�
+    /// </summary>
+    [SugarColumn(ColumnName = "NO_CHILD")]
+    public decimal NoChild { get; set; }
+}
+
+public class DeptNode
+{
+    public decimal Id { get; set; }
+    public string? Label { get; set; }   // 鍓嶇鏄剧ず鐢�
+    public decimal Value { get; set; }      // 鍓嶇缁戝畾鍊�
+    public List<DeptNode> Children { get; set; } = new();
+}
+
+
diff --git a/MES.Service/Modes/DingAPI/DingStaff.cs b/MES.Service/Modes/DingAPI/DingStaff.cs
new file mode 100644
index 0000000..6bc7e13
--- /dev/null
+++ b/MES.Service/Modes/DingAPI/DingStaff.cs
@@ -0,0 +1,29 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     鍛樺伐淇℃伅琛�
+/// </summary>
+[SugarTable("DING_STAFF")]
+public class DingStaff
+{
+    /// <summary>
+    ///     ID
+    /// </summary>
+    [SugarColumn(ColumnName = "ID")]
+    public decimal Id { get; set; }
+
+    /// <summary>
+    ///     鍛樺伐濮撳悕
+    /// </summary>
+    [SugarColumn(ColumnName = "NAME")]
+    public string? StaffName { get; set; }
+
+    /// <summary>
+    ///     閮ㄩ棬缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "DEPT_ID")]
+    public decimal DeptID { get; set; }
+
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/DingAPI/JzcsdData.cs b/MES.Service/Modes/DingAPI/JzcsdData.cs
new file mode 100644
index 0000000..72e9b90
--- /dev/null
+++ b/MES.Service/Modes/DingAPI/JzcsdData.cs
@@ -0,0 +1,66 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MES.Service.Modes.DingAPI;
+
+public class JzcsdData
+/*
+浜у搧鍨嬪彿	TextField-K2AD4O5B
+鎻愬嚭浜哄憳	InnerContactField_WY9BZDYT7W00
+鎻愬嚭鏃ユ湡	DDDateField_JD4ISXXCNLS0
+鎺ユ敹閮ㄩ棬	DepartmentField_SLLT1GL6RC00
+璐熻矗浜�	    InnerContactField_1I3FYOICN4N40
+鍥炲鏃ユ湡	DDDateField_1NPTPIPNEI1S0
+绾犳浜嬮」鏉ユ簮	DDMultiSelectField_19MZJHE2ZWM80
+闂鎻忚堪	TextareaField_1FUN513WLK4G0
+瀹℃壒閫夋嫨	DDSelectField_WE67NWABXM80
+*/
+{
+
+
+    //浜у搧鍨嬪彿
+    public string? Imodel { get; set; }
+
+    //鎻愬嚭浜哄憳
+    public string? Fname { get; set; }
+
+    //鎻愬嚭鏃ユ湡
+    //public string? Fdate { get; set; }
+
+    //鎺ユ敹閮ㄩ棬
+    public string? selectedDept { get; set; }
+
+    //鎺ユ敹閮ㄩ棬ID
+    public string? selectedDeptID { get; set; }
+
+    //璐熻矗浜�
+    public string? selectedUser { get; set; }
+
+    //璐熻矗浜篒D
+    public string? selectedUserID { get; set; }
+
+
+    //鍥炲鏃ユ湡
+    public string? ReplyDate { get; set; }
+
+    //绾犳浜嬮」鏉ユ簮
+    public string? Source { get; set; }
+
+    //闂鎻忚堪
+    public string? Reason { get; set; }
+
+    //瀹℃壒閫夋嫨
+    public string? selectedADept { get; set; }
+
+    //瀹℃壒閫夋嫨
+    public string? selectedADeptID { get; set; }
+
+
+
+
+
+}
diff --git a/MES.Service/Modes/SJ/SJBadReason.cs b/MES.Service/Modes/SJ/SJBadReason.cs
new file mode 100644
index 0000000..0d37ce2
--- /dev/null
+++ b/MES.Service/Modes/SJ/SJBadReason.cs
@@ -0,0 +1,24 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     棣栨涓嶈壇淇℃伅
+/// </summary>
+[SugarTable("V_SJ_BAD_REASON")]
+public class SJBadReason
+{
+    /// <summary>
+    ///     鐗╂枡ID
+    /// </summary>
+    [SugarColumn(ColumnName = "BILL_NO")]
+    public string? BillNo { get; set; }
+
+    /// <summary>
+    ///     涓嶈壇鍘熷洜
+    /// </summary>
+    [SugarColumn(ColumnName = "REASON")]
+    public string? Reason { get; set; }
+
+    
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/XJ/XJBadReason.cs b/MES.Service/Modes/XJ/XJBadReason.cs
new file mode 100644
index 0000000..c076d83
--- /dev/null
+++ b/MES.Service/Modes/XJ/XJBadReason.cs
@@ -0,0 +1,24 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     棣栨涓嶈壇淇℃伅
+/// </summary>
+[SugarTable("V_XJ_BAD_REASON")]
+public class XJBadReason
+{
+    /// <summary>
+    ///     鐗╂枡ID
+    /// </summary>
+    [SugarColumn(ColumnName = "BILL_NO")]
+    public string? BillNo { get; set; }
+
+    /// <summary>
+    ///     涓嶈壇鍘熷洜
+    /// </summary>
+    [SugarColumn(ColumnName = "REASON")]
+    public string? Reason { get; set; }
+
+    
+}
\ No newline at end of file
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.dll b/MES.Service/bin/Debug/net8.0/MES.Service.dll
index 77f89fd..6c15079 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.dll
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.pdb b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
index 11d9a1b..3c5710f 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.pdb
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MES.Service/bin/Release/net8.0/MES.Service.dll b/MES.Service/bin/Release/net8.0/MES.Service.dll
index a8107cc..b04aa1d 100644
--- a/MES.Service/bin/Release/net8.0/MES.Service.dll
+++ b/MES.Service/bin/Release/net8.0/MES.Service.dll
Binary files differ
diff --git a/MES.Service/bin/Release/net8.0/MES.Service.pdb b/MES.Service/bin/Release/net8.0/MES.Service.pdb
index 3ba5bd7..fa3d7d2 100644
--- a/MES.Service/bin/Release/net8.0/MES.Service.pdb
+++ b/MES.Service/bin/Release/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MES.Service/service/QC/SJService.cs b/MES.Service/service/QC/SJService.cs
index 555ec39..3708add 100644
--- a/MES.Service/service/QC/SJService.cs
+++ b/MES.Service/service/QC/SJService.cs
@@ -6,6 +6,13 @@
 using DbType = System.Data.DbType;
 using System.Data;
 using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+using AlibabaCloud.TeaUtil.Models;
+using MES.Service.Modes.QcIssueResult;
+using Newtonsoft.Json;
+using System.Diagnostics;
+using Tea;
+using MES.Service.Modes.DingAPI;
+using static System.Runtime.InteropServices.JavaScript.JSType;
 
 namespace MES.Service.service.QC;
 
@@ -176,6 +183,25 @@
                     result = "鏈娴�",
                     isCheck = 0
                 }).ToList();
+    }
+
+    public List<SJBadReason>? GetReason(string billNo)
+    {
+        var db = SqlSugarHelper.GetInstance();
+
+        var count = db.Queryable<SJBadReason>().Where(s => s.BillNo == billNo).Count();
+
+        if (count <= 0) return null;
+
+        var reason = db
+            .Queryable<SJBadReason>()
+            .Where(s => s.BillNo == billNo).Select(
+                b => new SJBadReason
+                {
+                     Reason =b.Reason
+                }).ToList();
+
+        return reason;
     }
 
     public List<QsItemIpiItem> getQSItems(decimal? pid, decimal? id)
@@ -587,4 +613,350 @@
         });
     }
 
+    /// <summary>
+    /// 鑾峰彇閽夐拤閮ㄩ棬
+    /// </summary>
+    /// <returns></returns>
+    public List<DingDept> getDingDept()
+    {
+        var db = SqlSugarHelper.GetInstance();
+        return db.Queryable<DingDept>()
+                .Where(b => b.NoChild== 1)
+                .Select(b => new DingDept
+                {
+                    Id=b.Id,
+                    Name=b.Name
+                })
+                .ToList();
+    }
+
+    public List<DeptNode> BuildDeptTree()
+    {
+        var db = SqlSugarHelper.GetInstance();
+        var flatList = db.Queryable<DingDept>()
+            .ToList();
+        var lookup = flatList.ToDictionary(
+            d => d.Id,
+            d => new DeptNode
+            {
+                Id = d.Id,
+                Label = d.Name,
+                Value = d.Id
+            });
+
+        List<DeptNode> roots = new();
+
+        foreach (var dept in flatList)
+        {
+            if ((dept.Pid > 0 && lookup.ContainsKey(dept.Pid)))
+            {
+                lookup[dept.Pid].Children.Add(lookup[dept.Id]);
+            }
+            else
+            {
+                // parentId 涓� null 鐨勫氨鏄牴鑺傜偣
+                roots.Add(lookup[dept.Id]);
+            }
+        }
+
+        return roots;
+    }
+
+    /// <summary>
+    /// 鑾峰彇閽夐拤鍛樺伐
+    /// </summary>
+    /// <returns></returns>
+    public List<DingStaff> getDingUser()
+    {
+        var db = SqlSugarHelper.GetInstance();
+        return db.Queryable<DingStaff>()
+                .Select(b => new DingStaff
+                {
+                        StaffName=b.StaffName,
+                        Id=b .Id
+                })
+                .ToList();
+    }
+
+
+
+    /// <summary>
+    /// 寮傚父澶勭疆鍗曟帹閫侀拤閽�
+    /// </summary>
+    /// <returns></returns>
+    public static AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client CreateClient()
+    {
+        AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
+        config.Protocol = "https";
+        config.RegionId = "central";
+        return new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client(config);
+    }
+
+    public static AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client CreateClient1()
+    {
+        AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
+        config.Protocol = "https";
+        config.RegionId = "central";
+        return new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client(config);
+    }
+
+
+    public string GetToken()
+    {
+        AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client client = CreateClient1();
+        AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest getAccessTokenRequest = new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest
+        {
+            AppKey = "dingyzos0r1bizj7g6lr",
+            AppSecret = "-HP4RvK2OUbqhG3iBUpd_TPe5MZRj8cfLc0b8Skt8rhC3I38kVLY9SS8P3kLWFcH",
+        };
+
+        try
+        {
+            var response = client.GetAccessToken(getAccessTokenRequest);
+            return response.Body.AccessToken; // 杩斿洖鑾峰彇鍒扮殑 Access Token
+        }
+        catch (TeaException err)
+        {
+            Console.WriteLine($"TeaException: Code={err.Code}, Message={err.Message}");
+            return null;
+        }
+        catch (Exception _err)
+        {
+            Console.WriteLine($"Exception: {_err.Message}");
+            return null;
+        }
+    }
+
+    public string DingJZCSD(JzcsdData InData)
+    {
+
+        var db = SqlSugarHelper.GetInstance();
+
+        decimal numUserId = db.Queryable<DingStaff>()
+            .Where(t => t.StaffName == InData.Fname)
+            .Select(t => t.Id)
+            .First();
+        if (numUserId > 0)
+        {
+            string UserId = Convert.ToString(numUserId);
+
+
+            // 浣跨敤 JSON 搴忓垪鍖栬緭鍑哄璞$殑璇︾粏鍐呭
+            string InDataJson = JsonConvert.SerializeObject(InData, Formatting.Indented);
+            Debug.WriteLine("InDataDetail: " + InDataJson);
+
+            // 鑾峰彇 Access Token
+            string accessToken = GetToken();
+            if (string.IsNullOrEmpty(accessToken))
+            {
+                return "鑾峰彇 Access Token 澶辫触";
+            }
+
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClient();
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders startProcessInstanceHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders();
+            Debug.WriteLine(accessToken);
+            startProcessInstanceHeaders.XAcsDingtalkAccessToken = accessToken; // 浣跨敤鑾峰彇鍒扮殑 Access Token  
+            /*
+            浜у搧鍨嬪彿	TextField-K2AD4O5B
+            绾犳浜嬮」鏉ユ簮	DDMultiSelectField_19MZJHE2ZWM80
+            鎻愬嚭浜哄憳	InnerContactField_WY9BZDYT7W00
+            鎻愬嚭鏃ユ湡	DDDateField_JD4ISXXCNLS0
+            鎺ユ敹閮ㄩ棬	DepartmentField_SLLT1GL6RC00
+            璐熻矗浜�	    InnerContactField_1I3FYOICN4N40
+            鍥炲鏃ユ湡	DDDateField_1NPTPIPNEI1S0
+            闂鎻忚堪	TextareaField_1FUN513WLK4G0
+            瀹℃壒閫夋嫨	DDSelectField_WE67NWABXM80
+            */
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //浜у搧鍨嬪彿
+                Name = "TextField-K2AD4O5B",
+                Value = InData.Imodel
+            };
+
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues1 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //绾犳浜嬮」鏉ユ簮
+                Name = "DDMultiSelectField_19MZJHE2ZWM80",
+                Value = InData.Source
+                /* Value = JsonConvert.SerializeObject(new[] {
+                         new { value = InData.Source, label = "鍐呴儴瀹℃牳" }
+                     })*/
+            };
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues2 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //鎻愬嚭浜哄憳
+                Name = "InnerContactField_WY9BZDYT7W00",
+                Value = UserId,
+            };
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues3 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //鎻愬嚭鏃ユ湡
+                Name = "DDDateField_JD4ISXXCNLS0",
+                Value = DateTime.Now.ToString("yyyy-MM-dd"),
+            };
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues4 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //鎺ユ敹閮ㄩ棬
+                Name = "DepartmentField_SLLT1GL6RC00",
+                Value = InData.selectedDeptID,
+            };
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues5 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //璐熻矗浜�
+                Name = "InnerContactField_1I3FYOICN4N40",
+                Value = InData.selectedUserID
+            };
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues6 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //鍥炲鏃ユ湡
+                Name = "DDDateField_1NPTPIPNEI1S0",
+                Value = InData.ReplyDate,
+            };
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues7 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //闂鎻忚堪
+                Name = "TextareaField_1FUN513WLK4G0",
+                Value = InData.Reason,
+            };
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues8 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            {
+                //瀹℃壒閫夋嫨
+                Name = "DDSelectField_WE67NWABXM80",
+                Value = InData.selectedADeptID,
+            };
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues8 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //DDSelectField_WE67NWABXM80
+            //    Name = "InnerContactField_1I3FYOICN4N40",
+            //    Value = InData.se,
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues9 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //鍥炲鏃ユ湡
+            //    Name = "DDDateField_1NPTPIPNEI1S0",
+            //    Value = Convert.ToString(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()),
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues10 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //鎻愬嚭閮ㄩ棬
+            //    Name = "DepartmentField_184EOWTFMJUK0",
+            //    Value = "鎸戦�夊唴瀹�",
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues11 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //绾犳鎺柦
+            //    Name = "TextareaField_1PZP4OZ8GSKG0",
+            //    Value = InData.Action,
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues12 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //绾犳鎺柦璐熻矗浜�
+            //    Name = "InnerContactField_9PR03WUFX7O0",
+            //    Value = ActionUserId,
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues13 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //瀹炰緥ID
+            //    Name = "api_instanceId",
+            //    Value = accessToken,
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues14 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //璁″垝瀹屾垚鏃堕棿
+            //    Name = "DDDateField_1G5HG8KPCY2O0",
+            //    Value = "鍚�",
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues15 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //鎻愬嚭鏃ユ湡
+            //    Name = "DDDateField_JD4ISXXCNLS0",
+            //    Value = Convert.ToString(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()),
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues16 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //鍘熷洜鍒嗘瀽
+            //    Name = "TextareaField_N3W50F154DS0",
+            //    Value = InData.,
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues17 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+            //{
+            //    //浜у搧鍨嬪彿
+            //    Name = "TextField-K2AD4O5B",
+            //    Value = "闄勪欢",
+            //};
+
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners targetSelectActioners0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners
+            //{
+            //    //
+            //    ActionerKey = "null",
+            //    ActionerUserIds = new List<string>
+            //{
+            //   UserId
+            //},
+            //};
+            //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers approvers0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers
+            //{
+            //    ActionType = "OR",
+            //    UserIds = new List<string>
+            //{
+            //    UserId
+            //},
+            //};
+
+
+            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest startProcessInstanceRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest
+            {
+                OriginatorUserId = UserId,
+                ProcessCode = "PROC-BBA5632D-DC7C-4267-A3E2-757E2B7023BC",
+                DeptId = 1,
+                FormComponentValues = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues>
+            {
+                 formComponentValues1,formComponentValues2,formComponentValues3, formComponentValues4, formComponentValues5, formComponentValues6, formComponentValues7, formComponentValues8
+                 //formComponentValues9,formComponentValues10, formComponentValues11, formComponentValues12, formComponentValues13, formComponentValues14
+            },
+            //    TargetSelectActioners = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners>
+            //{
+            //    targetSelectActioners0
+            //},
+            //    Approvers = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers>
+            //{
+            //    approvers0
+            //},
+                CcList = new List<string>
+            {
+               UserId
+            },
+                CcPosition = "START",
+
+            };
+            // 搴忓垪鍖� FormComponentValues 鍒楄〃涓� JSON 鏍煎紡
+            string formComponentValuesJson = JsonConvert.SerializeObject(startProcessInstanceRequest.FormComponentValues, Formatting.Indented);
+            Debug.WriteLine("FormComponentValues: " + formComponentValuesJson);
+            try
+            {
+                string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
+                Debug.WriteLine("startProcessInstanceRequest鍐呭锛�");
+                Debug.WriteLine(requestContent);
+                var response = client.StartProcessInstanceWithOptions(startProcessInstanceRequest, startProcessInstanceHeaders, new RuntimeOptions());
+                return $"閽夐拤宸ヤ綔娴佸疄渚嬪惎鍔ㄦ垚鍔�: {Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)}";
+            }
+            catch (TeaException err)
+            {
+                string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
+                Debug.WriteLine("startProcessInstanceRequest鍐呭锛�");
+                Debug.WriteLine(startProcessInstanceRequest);
+                return $"TeaException: Code={err.Code}, Message={err.Message}";
+            }
+            catch (Exception _err)
+            {
+                return $"Exception: {_err.Message}";
+            }
+        }
+        else
+        {
+            return "鎮ㄤ笉鏄叕鍙告垚鍛樻垨杩樻湭琚姞鍏ュ埌鏁版嵁搴撲腑鎴栧悕瀛楀~鍐欓敊璇紝鏈壘鍒板尮閰嶇殑鐢ㄦ埛淇℃伅";
+        }
+    }
+   
 }
\ No newline at end of file
diff --git a/MES.Service/service/QC/XJService.cs b/MES.Service/service/QC/XJService.cs
index 69eecc0..1674e26 100644
--- a/MES.Service/service/QC/XJService.cs
+++ b/MES.Service/service/QC/XJService.cs
@@ -737,4 +737,23 @@
                 .ExecuteCommand();
         });
     }
+
+    public List<XJBadReason>? GetReason(string billNo)
+    {
+        var db = SqlSugarHelper.GetInstance();
+
+        var count = db.Queryable<XJBadReason>().Where(s => s.BillNo == billNo).Count();
+
+        if (count <= 0) return null;
+
+        var reason = db
+            .Queryable<XJBadReason>()
+            .Where(s => s.BillNo == billNo).Select(
+                b => new XJBadReason
+                {
+                    Reason = b.Reason
+                }).ToList();
+
+        return reason;
+    }
 }
\ No newline at end of file
diff --git a/MESApplication/Controllers/QC/SJController.cs b/MESApplication/Controllers/QC/SJController.cs
index 4cd6d0c..36f3636 100644
--- a/MESApplication/Controllers/QC/SJController.cs
+++ b/MESApplication/Controllers/QC/SJController.cs
@@ -1,6 +1,9 @@
 锘縰sing System.Dynamic;
+using Masuit.Tools.Models;
+using MES.Service.DB;
 using MES.Service.Dto.service;
 using MES.Service.Modes;
+using MES.Service.Modes.DingAPI;
 using MES.Service.service.QC;
 using MES.Service.util;
 using Microsoft.AspNetCore.Mvc;
@@ -154,6 +157,127 @@
         }
     }
 
+    /// <summary>
+    /// 鑾峰彇琛屼笉鑹師鍥�
+    /// </summary>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    [HttpPost("GetReason")]
+    public ResponseResult GetReason([FromBody] JObject data)
+    {
+        string billNo = data["billNo"].ToString();
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = new SJService();
+            var reasons = tbBillList.GetReason(billNo);
+            resultInfos.tbBillList = reasons;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = reasons
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("GetDingDept")]
+    public ResponseResult GetDingDept()
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = new SJService();
+            var depts = tbBillList.getDingDept();
+            resultInfos.tbBillList = depts;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = depts
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("GetDeptTree")]
+    public ResponseResult GetDeptTree()
+    {
+        try
+        {
+            var db = SqlSugarHelper.GetInstance();
+            var flatList = db.Queryable<DingDept>().ToList();
+            var tbBillList = new SJService();
+
+            // 杞崲涓烘爲
+            var tree = tbBillList.BuildDeptTree();
+
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = tree
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+    [HttpPost("GetDingUser")]
+    public ResponseResult GetDingUser()
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = new SJService();
+            var users = tbBillList.getDingUser();
+            resultInfos.tbBillList = users;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = users
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("DingJZCSD")]
+    public ResponseResult DingJZCSD(JzcsdData Indata)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = new SJService();
+            var depts = tbBillList.DingJZCSD(Indata);
+            resultInfos.tbBillList = depts;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = depts
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
     [HttpPost("SetQSItemDetail")]
     public ResponseResult SetQSItemDetail([FromBody] QsItemIpiItemDetail detail)
     {
diff --git a/MESApplication/Controllers/QC/XJController.cs b/MESApplication/Controllers/QC/XJController.cs
index 3e39f48..a0de0f0 100644
--- a/MESApplication/Controllers/QC/XJController.cs
+++ b/MESApplication/Controllers/QC/XJController.cs
@@ -487,4 +487,32 @@
             return ResponseResult.ResponseError(ex);
         }
     }
+
+    /// <summary>
+    /// 鑾峰彇琛屼笉鑹師鍥�
+    /// </summary>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    [HttpPost("GetReason")]
+    public ResponseResult GetReason([FromBody] JObject data)
+    {
+        string billNo = data["billNo"].ToString();
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = new XJService();
+            var reasons = tbBillList.GetReason(billNo);
+            resultInfos.tbBillList = reasons;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = reasons
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
 }
\ No newline at end of file
diff --git a/MESApplication/MESApplication.csproj b/MESApplication/MESApplication.csproj
index 074ace4..dbc6080 100644
--- a/MESApplication/MESApplication.csproj
+++ b/MESApplication/MESApplication.csproj
@@ -41,4 +41,8 @@
         <ProjectReference Include="..\MES.Service\MES.Service.csproj" />
     </ItemGroup>
 
+    <ItemGroup>
+      <Folder Include="Controllers\DingController\" />
+    </ItemGroup>
+
 </Project>
diff --git a/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user b/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user
index 9926b9b..c8c7fcb 100644
--- a/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/MESApplication/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
 <Project>
   <PropertyGroup>
     <_PublishTargetUrl>E:\MES\YC\JK\YC\MESApplication\bin\Release\net8.0\publish\</_PublishTargetUrl>
-    <History>True|2025-08-28T10:15:38.3971489Z||;True|2025-08-28T18:15:06.7333272+08:00||;True|2025-08-27T18:35:09.5980695+08:00||;True|2025-08-26T19:16:55.3617645+08:00||;True|2025-08-21T10:27:13.8176169+08:00||;True|2025-06-26T08:55:26.5542141+08:00||;True|2025-06-25T09:11:45.3214896+08:00||;True|2025-05-23T13:03:55.7681923+08:00||;True|2025-05-23T12:30:20.3979750+08:00||;True|2025-05-06T18:44:59.6980994+08:00||;True|2025-05-06T18:39:53.5994195+08:00||;True|2025-05-06T15:31:35.4635552+08:00||;True|2025-05-06T14:42:04.8934173+08:00||;True|2025-04-28T20:38:10.9382378+08:00||;True|2025-04-28T19:02:47.1742326+08:00||;True|2025-04-28T18:34:57.6622084+08:00||;True|2025-04-28T13:05:23.6608249+08:00||;True|2025-04-28T09:37:26.7461458+08:00||;True|2025-04-28T09:35:49.4586494+08:00||;True|2025-04-23T09:20:16.5810299+08:00||;True|2025-04-22T14:55:52.6602616+08:00||;True|2025-04-22T14:52:09.2986761+08:00||;True|2025-04-22T14:35:55.6073919+08:00||;True|2025-04-21T17:25:11.3783000+08:00||;True|2025-04-15T02:22:50.8483367+08:00||;True|2025-04-14T17:01:19.3567029+08:00||;True|2025-04-10T16:29:29.4614826+08:00||;True|2025-04-03T12:04:01.6354165+08:00||;True|2025-03-28T14:28:57.3291596+08:00||;True|2025-03-25T17:51:51.1941007+08:00||;True|2025-03-25T17:28:17.3219786+08:00||;True|2025-03-25T15:25:43.0061330+08:00||;True|2025-03-24T17:58:37.6820871+08:00||;True|2024-10-28T11:56:24.2694762+08:00||;True|2024-10-28T11:40:56.4512491+08:00||;True|2024-10-28T11:28:42.4509497+08:00||;True|2024-10-28T11:11:11.1286907+08:00||;True|2024-10-28T10:09:42.4378313+08:00||;True|2024-10-28T09:57:51.0792947+08:00||;True|2024-10-23T17:07:23.7741858+08:00||;True|2024-10-22T14:34:55.4526970+08:00||;True|2024-10-17T16:37:53.4763504+08:00||;True|2024-10-13T14:04:45.3666662+08:00||;True|2024-10-13T12:30:16.7294894+08:00||;True|2024-10-13T12:22:13.5740642+08:00||;True|2024-09-26T17:43:56.9592414+08:00||;True|2024-09-25T09:56:59.0722612+08:00||;True|2024-09-20T16:35:40.9416105+08:00||;True|2024-09-13T15:42:08.2824743+08:00||;True|2024-08-20T17:12:00.2924570+08:00||;True|2024-08-17T10:57:05.6670396+08:00||;True|2024-08-17T10:56:46.8068041+08:00||;True|2024-08-16T14:09:17.0526491+08:00||;True|2024-08-15T08:40:32.8134665+08:00||;True|2024-08-14T10:00:27.7017207+08:00||;True|2024-08-14T08:54:44.8284031+08:00||;True|2024-08-07T10:32:10.3689256+08:00||;True|2024-08-05T15:45:03.0864530+08:00||;True|2024-08-03T09:59:13.7916520+08:00||;True|2024-07-31T17:27:28.1965929+08:00||;True|2024-07-31T15:27:34.7943845+08:00||;True|2024-07-30T15:04:50.5849235+08:00||;True|2024-07-30T14:09:06.2877325+08:00||;True|2024-07-29T16:11:30.4493940+08:00||;True|2024-07-23T14:30:34.4591002+08:00||;True|2024-07-22T14:17:39.8186158+08:00||;True|2024-04-10T12:55:31.3963752+08:00||;True|2024-04-08T13:59:25.5487203+08:00||;True|2024-04-06T09:30:09.5350539+08:00||;True|2024-04-06T08:46:05.8814658+08:00||;True|2024-04-05T14:06:52.0448024+08:00||;True|2024-04-05T12:47:46.0561601+08:00||;True|2024-02-26T08:46:22.0988887+08:00||;True|2024-02-24T19:17:13.6770376+08:00||;True|2024-02-24T14:32:37.4450337+08:00||;True|2024-02-23T10:22:06.5150173+08:00||;True|2024-02-22T13:19:56.6997993+08:00||;True|2024-02-22T10:53:17.7929585+08:00||;True|2024-02-21T17:08:06.5553444+08:00||;True|2024-02-19T16:24:37.4912012+08:00||;True|2024-02-02T10:07:23.2726075+08:00||;True|2024-02-02T08:36:49.2904460+08:00||;True|2024-01-29T17:44:43.6800769+08:00||;True|2024-01-23T09:47:26.7811926+08:00||;True|2024-01-18T16:23:30.3373836+08:00||;True|2024-01-17T14:22:04.2552286+08:00||;True|2024-01-16T16:54:42.2316892+08:00||;True|2024-01-16T16:37:23.8028858+08:00||;True|2024-01-16T09:25:24.4007775+08:00||;True|2024-01-15T10:18:57.3362616+08:00||;True|2024-01-15T10:07:14.2044763+08:00||;True|2024-01-10T14:03:36.4451130+08:00||;True|2024-01-09T16:45:32.9601815+08:00||;True|2024-01-06T14:16:34.2732220+08:00||;True|2024-01-06T14:11:45.2134717+08:00||;True|2024-01-06T11:30:58.9198887+08:00||;</History>
+    <History>True|2025-08-29T06:18:40.5594388Z||;True|2025-08-28T18:15:38.3971489+08:00||;True|2025-08-28T18:15:06.7333272+08:00||;True|2025-08-27T18:35:09.5980695+08:00||;True|2025-08-26T19:16:55.3617645+08:00||;True|2025-08-21T10:27:13.8176169+08:00||;True|2025-06-26T08:55:26.5542141+08:00||;True|2025-06-25T09:11:45.3214896+08:00||;True|2025-05-23T13:03:55.7681923+08:00||;True|2025-05-23T12:30:20.3979750+08:00||;True|2025-05-06T18:44:59.6980994+08:00||;True|2025-05-06T18:39:53.5994195+08:00||;True|2025-05-06T15:31:35.4635552+08:00||;True|2025-05-06T14:42:04.8934173+08:00||;True|2025-04-28T20:38:10.9382378+08:00||;True|2025-04-28T19:02:47.1742326+08:00||;True|2025-04-28T18:34:57.6622084+08:00||;True|2025-04-28T13:05:23.6608249+08:00||;True|2025-04-28T09:37:26.7461458+08:00||;True|2025-04-28T09:35:49.4586494+08:00||;True|2025-04-23T09:20:16.5810299+08:00||;True|2025-04-22T14:55:52.6602616+08:00||;True|2025-04-22T14:52:09.2986761+08:00||;True|2025-04-22T14:35:55.6073919+08:00||;True|2025-04-21T17:25:11.3783000+08:00||;True|2025-04-15T02:22:50.8483367+08:00||;True|2025-04-14T17:01:19.3567029+08:00||;True|2025-04-10T16:29:29.4614826+08:00||;True|2025-04-03T12:04:01.6354165+08:00||;True|2025-03-28T14:28:57.3291596+08:00||;True|2025-03-25T17:51:51.1941007+08:00||;True|2025-03-25T17:28:17.3219786+08:00||;True|2025-03-25T15:25:43.0061330+08:00||;True|2025-03-24T17:58:37.6820871+08:00||;True|2024-10-28T11:56:24.2694762+08:00||;True|2024-10-28T11:40:56.4512491+08:00||;True|2024-10-28T11:28:42.4509497+08:00||;True|2024-10-28T11:11:11.1286907+08:00||;True|2024-10-28T10:09:42.4378313+08:00||;True|2024-10-28T09:57:51.0792947+08:00||;True|2024-10-23T17:07:23.7741858+08:00||;True|2024-10-22T14:34:55.4526970+08:00||;True|2024-10-17T16:37:53.4763504+08:00||;True|2024-10-13T14:04:45.3666662+08:00||;True|2024-10-13T12:30:16.7294894+08:00||;True|2024-10-13T12:22:13.5740642+08:00||;True|2024-09-26T17:43:56.9592414+08:00||;True|2024-09-25T09:56:59.0722612+08:00||;True|2024-09-20T16:35:40.9416105+08:00||;True|2024-09-13T15:42:08.2824743+08:00||;True|2024-08-20T17:12:00.2924570+08:00||;True|2024-08-17T10:57:05.6670396+08:00||;True|2024-08-17T10:56:46.8068041+08:00||;True|2024-08-16T14:09:17.0526491+08:00||;True|2024-08-15T08:40:32.8134665+08:00||;True|2024-08-14T10:00:27.7017207+08:00||;True|2024-08-14T08:54:44.8284031+08:00||;True|2024-08-07T10:32:10.3689256+08:00||;True|2024-08-05T15:45:03.0864530+08:00||;True|2024-08-03T09:59:13.7916520+08:00||;True|2024-07-31T17:27:28.1965929+08:00||;True|2024-07-31T15:27:34.7943845+08:00||;True|2024-07-30T15:04:50.5849235+08:00||;True|2024-07-30T14:09:06.2877325+08:00||;True|2024-07-29T16:11:30.4493940+08:00||;True|2024-07-23T14:30:34.4591002+08:00||;True|2024-07-22T14:17:39.8186158+08:00||;True|2024-04-10T12:55:31.3963752+08:00||;True|2024-04-08T13:59:25.5487203+08:00||;True|2024-04-06T09:30:09.5350539+08:00||;True|2024-04-06T08:46:05.8814658+08:00||;True|2024-04-05T14:06:52.0448024+08:00||;True|2024-04-05T12:47:46.0561601+08:00||;True|2024-02-26T08:46:22.0988887+08:00||;True|2024-02-24T19:17:13.6770376+08:00||;True|2024-02-24T14:32:37.4450337+08:00||;True|2024-02-23T10:22:06.5150173+08:00||;True|2024-02-22T13:19:56.6997993+08:00||;True|2024-02-22T10:53:17.7929585+08:00||;True|2024-02-21T17:08:06.5553444+08:00||;True|2024-02-19T16:24:37.4912012+08:00||;True|2024-02-02T10:07:23.2726075+08:00||;True|2024-02-02T08:36:49.2904460+08:00||;True|2024-01-29T17:44:43.6800769+08:00||;True|2024-01-23T09:47:26.7811926+08:00||;True|2024-01-18T16:23:30.3373836+08:00||;True|2024-01-17T14:22:04.2552286+08:00||;True|2024-01-16T16:54:42.2316892+08:00||;True|2024-01-16T16:37:23.8028858+08:00||;True|2024-01-16T09:25:24.4007775+08:00||;True|2024-01-15T10:18:57.3362616+08:00||;True|2024-01-15T10:07:14.2044763+08:00||;True|2024-01-10T14:03:36.4451130+08:00||;True|2024-01-09T16:45:32.9601815+08:00||;True|2024-01-06T14:16:34.2732220+08:00||;True|2024-01-06T14:11:45.2134717+08:00||;True|2024-01-06T11:30:58.9198887+08:00||;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.dll b/MESApplication/bin/Debug/net8.0/MES.Service.dll
index 77f89fd..6c15079 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.dll
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.pdb b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
index 11d9a1b..3c5710f 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.pdb
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.dll b/MESApplication/bin/Debug/net8.0/MESApplication.dll
index fa9cb06..2bb04ef 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.dll
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.exe b/MESApplication/bin/Debug/net8.0/MESApplication.exe
index 5c7bba3..2f9649e 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.exe
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.pdb b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
index 2ec0cae..7ac0536 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.pdb
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.xml b/MESApplication/bin/Debug/net8.0/MESApplication.xml
index 694c31d..9703879 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.xml
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.xml
@@ -774,6 +774,13 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.QC.SJController.GetReason(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鑾峰彇琛屼笉鑹師鍥�
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.QC.SJController.UpdateQsItemIpiItemIsPass(Newtonsoft.Json.Linq.JObject)">
             <summary>
             鏇存柊QsItemIpiItem鐨処sPass鍊�
@@ -792,6 +799,13 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.QC.XJController.GetReason(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鑾峰彇琛屼笉鑹師鍥�
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.SalesDeliveryNoticeController.GetList">
             <summary>
             鑾峰彇鎵�鏈�
diff --git a/MESApplication/bin/Release/net8.0/2508291420.zip b/MESApplication/bin/Release/net8.0/2508291420.zip
new file mode 100644
index 0000000..804cb4f
--- /dev/null
+++ b/MESApplication/bin/Release/net8.0/2508291420.zip
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MES.Service.dll b/MESApplication/bin/Release/net8.0/MES.Service.dll
index a8107cc..b04aa1d 100644
--- a/MESApplication/bin/Release/net8.0/MES.Service.dll
+++ b/MESApplication/bin/Release/net8.0/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MES.Service.pdb b/MESApplication/bin/Release/net8.0/MES.Service.pdb
index 3ba5bd7..fa3d7d2 100644
--- a/MESApplication/bin/Release/net8.0/MES.Service.pdb
+++ b/MESApplication/bin/Release/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.dll b/MESApplication/bin/Release/net8.0/MESApplication.dll
index 6c022be..200b986 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.dll
+++ b/MESApplication/bin/Release/net8.0/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.exe b/MESApplication/bin/Release/net8.0/MESApplication.exe
index 7df0018..2f9649e 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.exe
+++ b/MESApplication/bin/Release/net8.0/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.pdb b/MESApplication/bin/Release/net8.0/MESApplication.pdb
index 7ccc6b6..fbeecda 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.pdb
+++ b/MESApplication/bin/Release/net8.0/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MES.Service.dll b/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
index a8107cc..b04aa1d 100644
--- a/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
+++ b/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb b/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
index 3ba5bd7..fa3d7d2 100644
--- a/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
+++ b/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.dll b/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
index 6c022be..200b986 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.exe b/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
index 7df0018..2f9649e 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb b/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
index 7ccc6b6..fbeecda 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
Binary files differ

--
Gitblit v1.9.3