From 9d8889f3c64cc5b1e91c642d5a1266efdff300b2 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期四, 27 六月 2024 18:14:33 +0800
Subject: [PATCH] 1

---
 DDServer/DDServer/DingDingServices_SMR.csproj                                                 |    1 
 DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.csproj.AssemblyReference.cache |    0 
 DDServer/DDServer/obj/project.nuget.cache                                                     |    3 
 DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.assets.cache                   |    0 
 DDServer/DDServer/obj/project.assets.json                                                     |   44 ++++++++++++++
 DDServer/DDServer/DingDingServeices.cs                                                        |   97 ++++++++++++++++++++++++++++++--
 DDServer/.vs/DDServer/v16/.suo                                                                |    0 
 DDServer/.vs/DDServer/DesignTimeBuild/.dtbcache.v2                                            |    0 
 DDServer/DDServer/obj/DingDingServices_SMR.csproj.nuget.dgspec.json                           |    4 +
 9 files changed, 141 insertions(+), 8 deletions(-)

diff --git a/DDServer/.vs/DDServer/DesignTimeBuild/.dtbcache.v2 b/DDServer/.vs/DDServer/DesignTimeBuild/.dtbcache.v2
index 09feb01..8d1fdae 100644
--- a/DDServer/.vs/DDServer/DesignTimeBuild/.dtbcache.v2
+++ b/DDServer/.vs/DDServer/DesignTimeBuild/.dtbcache.v2
Binary files differ
diff --git a/DDServer/.vs/DDServer/v16/.suo b/DDServer/.vs/DDServer/v16/.suo
index dade65a..bd20ce2 100644
--- a/DDServer/.vs/DDServer/v16/.suo
+++ b/DDServer/.vs/DDServer/v16/.suo
Binary files differ
diff --git a/DDServer/DDServer/DingDingServeices.cs b/DDServer/DDServer/DingDingServeices.cs
index ad725a1..af102a1 100644
--- a/DDServer/DDServer/DingDingServeices.cs
+++ b/DDServer/DDServer/DingDingServeices.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json.Linq;
+using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Text;
@@ -8,6 +9,7 @@
     public class DingDingServeices
     {
         public DataSet ds = new DataSet();
+        public DataSet ds1 = new DataSet();
         public DBHelper oCN = new DBHelper();       
 
         /// <summary>
@@ -16,36 +18,117 @@
         public object Get_ErrMsgBackBillMain()
         {
             //鑾峰彇鏈叧闂崟瀛�
-            string sql = "select a.HInterID,a.HContext,a.HReceiveMan,a.HCopyMan,a.HMakeDate,DATEDIFF(MINUTE, a.HMakeDate, GETDATE()) AS MinutesPassed from OA_ErrMsgBackBillMain a where HResult='鏈畬鎴�'";
-
+            string sql = "select a.HInterID,a.HContext,a.HDescription,a.HReceiveMan,a.HCopyMan,a.HMakeDate,DATEDIFF(MINUTE, a.HMakeDate, GETDATE()) AS MinutesPassed from OA_ErrMsgBackBillMain a where HResult='鏈畬鎴�'";
             ds = oCN.RunProcReturn(sql, "OA_ErrMsgBackBillMain");
             for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
             {
-                //鑾峰彇宸插彂閫佷汉
+                //鑾峰彇宸插彂閫佷汉,鏈叧闂殑鍗曞瓙 涓诲唴鐮� 鍐呭
                 string Superiors = ds.Tables[0].Rows[i]["HReceiveMan"].ToString();
+                string HInterID = ds.Tables[0].Rows[i]["HInterID"].ToString();
+                string HDescription = ds.Tables[0].Rows[i]["HDescription"].ToString();
+                //鑾峰彇鍒跺崟鏃ユ湡鍒扮幇鍦ㄨ繃浜嗗闀挎椂闂�
+                int TimeInterval = Convert.ToInt32(ds.Tables[0].Rows[i]["MinutesPassed"]);
                 //鏍规嵁鍙戦�佷汉鍘绘壘瀵瑰簲鐨勪笂绾�
-                string sql1 = "select a.HGroupID,c.GroupName,* from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserIdleft join System_UserGroup c on b.GroupId = c.GroupIDwhere Czymc = '" + Superiors + "'";
+                string sql1 = "select a.HGroupID,c.GroupName,* from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId left join System_UserGroup c on b.GroupId = c.GroupID where Czymc = '" + Superiors + "'";
                 ds = oCN.RunProcReturn(sql1, "Gy_Czygl");
                 //鑾峰彇鑱屽姟
                 string Job = ds.Tables[0].Rows[0]["GroupName"].ToString();
                 //鏍规嵁鑱屽姟鍘绘壘褰撳墠浜轰笂绾�
                 string sql2 = "select * from Gy_Duty where HParentID=(select HParentID from Gy_Duty where HItemID=(select HParentID from Gy_Duty where HName='" + Job + "' ))";
                 ds = oCN.RunProcReturn(sql2, "Gy_Duty");
+                //鏍规嵁瀹夌伅瑙勫垯鍘绘壘鍒板尮閰嶈鍒欑殑鑱屼綅,鐒跺悗鑾峰彇鍒版椂闂�,鐪嬫槸鍚﹀ぇ浜�1
                 if (ds.Tables[0].Rows.Count>1)
                 {
+                    for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
+                    {
+                        //鑾峰彇涓婄骇浜虹殑鑱屽姟
+                        string Jobs = ds.Tables[0].Rows[j]["HName"].ToString();
+                        //鏍规嵁瀹夌伅鍘诲尮閰嶈亴鍔″拰瑙﹀彂鏃堕棿
+                        string sql3 = "select b.HTimes,c.HName from OA_AndengFlowRuleBillMain a inner join OA_AndengFlowRuleBillSub b on a.HInterID = b.HInterID left join Gy_Duty c on b.HDutyID = c.HItemID where c.HName = '" + Jobs + "'";
+                        ds = oCN.RunProcReturn(sql3, "OA_AndengFlowRuleBillMain");
+                        //鏍规嵁瑙勫垯鑾峰彇瑙﹀彂鏃堕棿  鑱屽姟
+                        int HTimes = Convert.ToInt32(ds.Tables[0].Rows[0]["HTimes"]);
+                        string JobS = ds.Tables[0].Rows[0]["HName"].ToString();
+                        //濡傛灉鏃堕棿闂撮殧澶т簬瑙﹀彂鏃堕棿
+                        if (TimeInterval > HTimes)
+                        {
+                            //鏍规嵁鑱屽姟鍘诲尮閰嶇浉瀵瑰簲鐨勪汉 鐢ㄤ簬鎻掑叆鏁版嵁搴�
+                            string sql4 = "select a.HGroupID,c.GroupName,* from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId left join System_UserGroup c on b.GroupId = c.GroupID  where c.GroupName = '" + JobS + "'";
+                            ds = oCN.RunProcReturn(sql4, "Gy_Czygl");
+                            string HName = ds.Tables[0].Rows[0]["Czymc"].ToString();
+                            //鑾峰彇褰撳墠寮傚父鍙嶉鍗曞瓙琛ㄧ殑ID鏄澶�,鐒跺悗鎻掑叆瀛愯〃淇℃伅
+                            string sql5 = "select max(HEntryID) HEntryID from OA_ErrMsgBackBillSub2 where HInterID='" + HInterID + "'";
+                            ds1 = oCN.RunProcReturn(sql5, "OA_ErrMsgBackBillSub2");
+                            int HEntryID = Convert.ToInt32(ds1.Tables[0].Rows[0]["HName"]);
+                            int newHEntryID = HEntryID + 1; //鏍规嵁褰撳墠ID鏈�澶х殑瀛怚D鍘诲姞1
+                            string sql6 = "insert OA_ErrMsgBackBillSub2 values('" + HInterID + "','" + newHEntryID + "','" + HName + "','0','1')";
+                            ds1 = oCN.RunProcReturn(sql6, "OA_ErrMsgBackBillSub2");
+                            //浼犲叆鎻掑叆瀛愯〃鐨勪汉    寮傚父鍙嶉鍗曠殑鍐呭
+                            DingDingMesAsync(HName, HDescription);
 
+                        }
+                    }
                 }
                 else
                 {
+                    //鑾峰彇涓婄骇浜虹殑鑱屽姟
+                    string Jobs = ds.Tables[0].Rows[0]["HName"].ToString();
+                    //鏍规嵁瀹夌伅鍘诲尮閰嶈亴鍔″拰瑙﹀彂鏃堕棿
+                    string sql3 = "select b.HTimes,c.HName from OA_AndengFlowRuleBillMain a inner join OA_AndengFlowRuleBillSub b on a.HInterID = b.HInterID left join Gy_Duty c on b.HDutyID = c.HItemID where c.HName = '"+ Jobs + "'";
+                    ds = oCN.RunProcReturn(sql3, "OA_AndengFlowRuleBillMain");
+                    //鏍规嵁瑙勫垯鑾峰彇瑙﹀彂鏃堕棿  鑱屽姟
+                    int HTimes = Convert.ToInt32(ds.Tables[0].Rows[0]["HTimes"]);
+                    string JobS = ds.Tables[0].Rows[0]["HName"].ToString();
+                    //濡傛灉鏃堕棿闂撮殧澶т簬瑙﹀彂鏃堕棿
+                    if (TimeInterval > HTimes)
+                    {
+                        //鏍规嵁鑱屽姟鍘诲尮閰嶇浉瀵瑰簲鐨勪汉 鐢ㄤ簬鎻掑叆鏁版嵁搴�
+                        string sql4 = "select a.HGroupID,c.GroupName,* from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId left join System_UserGroup c on b.GroupId = c.GroupID  where c.GroupName = '"+ JobS + "'";
+                        ds = oCN.RunProcReturn(sql4, "Gy_Czygl");
+                        string HName= ds.Tables[0].Rows[0]["Czymc"].ToString();
+                        //鑾峰彇褰撳墠寮傚父鍙嶉鍗曞瓙琛ㄧ殑ID鏄澶�,鐒跺悗鎻掑叆瀛愯〃淇℃伅
+                        string sql5 = "select max(HEntryID) HEntryID from OA_ErrMsgBackBillSub2 where HInterID='" + HInterID + "'";
+                        ds1 = oCN.RunProcReturn(sql5, "OA_ErrMsgBackBillSub2");
+                        int HEntryID = Convert.ToInt32(ds1.Tables[0].Rows[0]["HName"]);
+                        int newHEntryID = HEntryID + 1; //鏍规嵁褰撳墠ID鏈�澶х殑瀛怚D鍘诲姞1
+                        string sql6 = "insert OA_ErrMsgBackBillSub2 values('"+HInterID+"','"+newHEntryID+"','"+HName+"','0','1')";
+                        ds1 = oCN.RunProcReturn(sql6, "OA_ErrMsgBackBillSub2");
+                        //浼犲叆鎻掑叆瀛愯〃鐨勪汉    寮傚父鍙嶉鍗曠殑鍐呭
+                        DingDingMesAsync(HName, HDescription);
 
+                    }
                 }
 
             }
             return 1;
         }
 
-        //鏌ヨ寮傚父鍙嶉鍗�,鏈叧闂殑鍗曞瓙 鍚庨潰鏄惊鐜�
 
-        //鏍规嵁鎺ユ敹浜鸿幏鍙栦粬鐨勮亴浣�,鏌ヨ缁勭粐鏋舵瀯鑾峰彇涓婄骇,鍐嶅幓
+        /// <summary>
+        /// 閽夐拤鎺ュ彛鍙戦�佹秷鎭�
+        /// </summary>
+        /// <param name="HReceiveMan">瑕佸彂淇℃伅鐨勪汉</param>
+        /// <param name="HDescription">寮傚父鍙嶉鍗曞唴瀹�</param>
+        public async void DingDingMesAsync(string HReceiveMan, string HDescription)
+        {
+
+            ds = oCN.RunProcReturn("select * from Gy_Czygl where Czymc='" + HReceiveMan + "'", "Gy_Czygl");
+            string DDUserID = ds.Tables[0].Rows[0]["DDUserID"].ToString();  //閽夐拤鐢ㄦ埛鐨刬d
+            MSG msg = new MSG();
+            string appKey = "dingrsrzhdyn3mlaof95";
+            string appSecret = "RAqH6YtZnPLCpDbuqfaYQkKkVtVdS0wqfC8I26X6qiS-8eoCJCNrzx3fubGND4Sq";
+            //鑾峰彇浼佷笟鐨刟ccess_token鐨勫��
+            string response = msg.GetAccessToken(appKey, appSecret);
+            JObject responseJson = JObject.Parse(response);
+            // 鑾峰彇access_token鐨勫��
+            string accessToken = responseJson["accessToken"].ToString();
+            //璋冪敤鏂规硶鍙戦�佹秷鎭�           
+            string agentId = "3118119317";  //浼佷笟鍐呴儴灏忕▼搴廼d
+            string deptIdList = "0"; // 绌哄瓧绗︿覆琛ㄧず涓嶆寚瀹氶儴闂�
+            string toAllUser = "false";
+            string message = HDescription;//寮傚父鍙嶉鍗曠殑鍐呭
+            response = await msg.SendTextMessage(accessToken, agentId, DDUserID, deptIdList, toAllUser, message);
+            Console.WriteLine($"鍒濆娑堟伅鍙戦�佺粨鏋�: {response}");
+        }
     }
 }
diff --git a/DDServer/DDServer/DingDingServices_SMR.csproj b/DDServer/DDServer/DingDingServices_SMR.csproj
index 92e66e8..7264526 100644
--- a/DDServer/DDServer/DingDingServices_SMR.csproj
+++ b/DDServer/DDServer/DingDingServices_SMR.csproj
@@ -6,6 +6,7 @@
   </PropertyGroup>
 
   <ItemGroup>
+    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
     <PackageReference Include="System.Data.SqlClient" Version="4.8.6" />
   </ItemGroup>
 
diff --git a/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.assets.cache b/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.assets.cache
index 8d26110..a2fb534 100644
--- a/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.assets.cache
+++ b/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.assets.cache
Binary files differ
diff --git a/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.csproj.AssemblyReference.cache b/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.csproj.AssemblyReference.cache
index f5e894a..a323781 100644
--- a/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.csproj.AssemblyReference.cache
+++ b/DDServer/DDServer/obj/Debug/netcoreapp3.1/DingDingServices_SMR.csproj.AssemblyReference.cache
Binary files differ
diff --git a/DDServer/DDServer/obj/DingDingServices_SMR.csproj.nuget.dgspec.json b/DDServer/DDServer/obj/DingDingServices_SMR.csproj.nuget.dgspec.json
index 9929309..b1160e0 100644
--- a/DDServer/DDServer/obj/DingDingServices_SMR.csproj.nuget.dgspec.json
+++ b/DDServer/DDServer/obj/DingDingServices_SMR.csproj.nuget.dgspec.json
@@ -44,6 +44,10 @@
         "netcoreapp3.1": {
           "targetAlias": "netcoreapp3.1",
           "dependencies": {
+            "Newtonsoft.Json": {
+              "target": "Package",
+              "version": "[13.0.3, )"
+            },
             "System.Data.SqlClient": {
               "target": "Package",
               "version": "[4.8.6, )"
diff --git a/DDServer/DDServer/obj/project.assets.json b/DDServer/DDServer/obj/project.assets.json
index cc38c6f..9dc0b28 100644
--- a/DDServer/DDServer/obj/project.assets.json
+++ b/DDServer/DDServer/obj/project.assets.json
@@ -34,6 +34,15 @@
           }
         }
       },
+      "Newtonsoft.Json/13.0.3": {
+        "type": "package",
+        "compile": {
+          "lib/netstandard2.0/Newtonsoft.Json.dll": {}
+        },
+        "runtime": {
+          "lib/netstandard2.0/Newtonsoft.Json.dll": {}
+        }
+      },
       "runtime.native.System.Data.SqlClient.sni/4.7.0": {
         "type": "package",
         "dependencies": {
@@ -196,6 +205,36 @@
         "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.xml",
         "useSharedDesignerContext.txt",
         "version.txt"
+      ]
+    },
+    "Newtonsoft.Json/13.0.3": {
+      "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
+      "type": "package",
+      "path": "newtonsoft.json/13.0.3",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "LICENSE.md",
+        "README.md",
+        "lib/net20/Newtonsoft.Json.dll",
+        "lib/net20/Newtonsoft.Json.xml",
+        "lib/net35/Newtonsoft.Json.dll",
+        "lib/net35/Newtonsoft.Json.xml",
+        "lib/net40/Newtonsoft.Json.dll",
+        "lib/net40/Newtonsoft.Json.xml",
+        "lib/net45/Newtonsoft.Json.dll",
+        "lib/net45/Newtonsoft.Json.xml",
+        "lib/net6.0/Newtonsoft.Json.dll",
+        "lib/net6.0/Newtonsoft.Json.xml",
+        "lib/netstandard1.0/Newtonsoft.Json.dll",
+        "lib/netstandard1.0/Newtonsoft.Json.xml",
+        "lib/netstandard1.3/Newtonsoft.Json.dll",
+        "lib/netstandard1.3/Newtonsoft.Json.xml",
+        "lib/netstandard2.0/Newtonsoft.Json.dll",
+        "lib/netstandard2.0/Newtonsoft.Json.xml",
+        "newtonsoft.json.13.0.3.nupkg.sha512",
+        "newtonsoft.json.nuspec",
+        "packageIcon.png"
       ]
     },
     "runtime.native.System.Data.SqlClient.sni/4.7.0": {
@@ -450,6 +489,7 @@
   },
   "projectFileDependencyGroups": {
     ".NETCoreApp,Version=v3.1": [
+      "Newtonsoft.Json >= 13.0.3",
       "System.Data.SqlClient >= 4.8.6"
     ]
   },
@@ -497,6 +537,10 @@
       "netcoreapp3.1": {
         "targetAlias": "netcoreapp3.1",
         "dependencies": {
+          "Newtonsoft.Json": {
+            "target": "Package",
+            "version": "[13.0.3, )"
+          },
           "System.Data.SqlClient": {
             "target": "Package",
             "version": "[4.8.6, )"
diff --git a/DDServer/DDServer/obj/project.nuget.cache b/DDServer/DDServer/obj/project.nuget.cache
index bd18bf8..45fd23e 100644
--- a/DDServer/DDServer/obj/project.nuget.cache
+++ b/DDServer/DDServer/obj/project.nuget.cache
@@ -1,11 +1,12 @@
 {
   "version": 2,
-  "dgSpecHash": "r9ZGm/mVVa5wwVLZhwYj1CFR/kymOslTF3CG8GuG1hRuyXY0gD3ZJKFU3rxrknp9Mg7UMI6YFHM0aUrR4+AJdA==",
+  "dgSpecHash": "EViDjUUa2UGxdWFfSvLcuZkDdIeu2gzaAcAxbPpXzobUbn190XpKfZ8G+Fif200cJP9VYCqFMkyzs7iArtTglw==",
   "success": true,
   "projectFilePath": "D:\\鏅轰簯杩堟�漒\MES\\DingDingServices\\DDServer\\DDServer\\DingDingServices_SMR.csproj",
   "expectedPackageFiles": [
     "C:\\Users\\86187\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512",
     "C:\\Users\\86187\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
+    "C:\\Users\\86187\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
     "C:\\Users\\86187\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.7.0\\runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512",
     "C:\\Users\\86187\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
     "C:\\Users\\86187\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",

--
Gitblit v1.9.1