From 96fb607676bb3b9f2e3b191d64c44e801d08d0e5 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期一, 24 六月 2024 15:38:01 +0800
Subject: [PATCH] 生产质量日汇报单查询,增加发送钉钉时调用的方法,以及报工台点击异常按钮,输入信息保存后,进行钉钉发信息

---
 WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs |  256 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 222 insertions(+), 34 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs
index 3444efa..3f55bdf 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs
@@ -1,4 +1,6 @@
-锘縰sing DBUtility;
+锘縰sing DAL;
+using DBUtility;
+using DLL;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
@@ -7,8 +9,11 @@
 using System.Linq;
 using System.Net;
 using System.Net.Http;
+using System.Timers;
+using System.Threading.Tasks;
 using System.Web.Http;
 using WebAPI.Models;
+using System.Threading;
 
 namespace WebAPI.Controllers.SCGL
 {
@@ -43,7 +48,7 @@
         /// <returns></returns>
         [Route("Sc_MESTransFerWorkBill/SaveGetMESTransFerWorkFrom")]
         [HttpPost]
-        public object SaveGetMESTransFerWorkFrom([FromBody] JObject msg)
+        public object SaveGetMESTransFerWorkFromAsync([FromBody] JObject msg)
         {
 
             var _value = msg["msg"].ToString();
@@ -151,7 +156,7 @@
                         objJsonResult.data = 1;
                         return objJsonResult;
                     }
-                    
+
                     //string[] arrStr = oItem.HSendMan.Split(','); //鍙戦�佷汉
                     //arrStr = oItem.HReceiveMan.Split(',');  //鎺ユ敹浜�
                     string[] arrStr = oItem.HCopyMan.Split(',');  //鎶勯�佷汉
@@ -165,7 +170,7 @@
                         Models.ClsOA_ErrMsgBackBillSub2 sb = new Models.ClsOA_ErrMsgBackBillSub2();
                         sb.HEntryID = i;
                         sb.HReceiveMan = arrStr[i - 1];
-                        if (arrStr[i-1].ToString() == oItem.HSendMan)
+                        if (arrStr[i - 1].ToString() == oItem.HSendMan)
                         {
                             sb.HReadFlag = true;
                         }
@@ -198,6 +203,7 @@
                             }
                         }
                     }
+                    SaveOA_ErrMsgBackBillSub(msg2);//绗竴娆′繚瀛樺彂閫侀拤閽�
 
                 }
                 else
@@ -396,7 +402,7 @@
                 if (sWhere == null || sWhere.Equals(""))
                 {
                     string sql = "select * from h_v_OA_ErrMsgBackBillList order by 鍗曟嵁鍙� desc";
-                    ds = oCN.RunProcReturn(sql, "p_v_OA_ErrMsgBackBillList");
+                    ds = oCN.RunProcReturn(sql, "h_v_OA_ErrMsgBackBillList");
                 }
                 else
                 {
@@ -518,10 +524,12 @@
                                         A.HReceiveMan,A.HCopyMan,A.HHasten,
                                         A.HLevel,A.HMaterName,A.HMaterModel,
                                         B.HReadFlag, A.HMaker,A.HMakeDate,A.HUpDater,A.HUpDateDate,A.HChecker,A.HCheckDate,A.HCloseMan,A.HCloseDate,A.HDeleteMan,A.HDeleteDate,
-                                        A.HSourceInterID,A.HSourceEntryID,A.HSourceBillNo,A.HSourceBillType
+                                        A.HSourceInterID,A.HSourceEntryID,A.HSourceBillNo,A.HSourceBillType,
+										A.HHandleEmpID,f.HName HHandleEmpName
                                         from OA_ErrMsgBackBillMain A 
                                         inner join  OA_ErrMsgBackBillSub2 B on A.HInterID=B.HInterID 
                                         left join Gy_Department D on A.HDeptID=D.HItemID
+										left join Gy_Employee f on A.HHandleEmpID=f.HItemID 
                                         where A.HInterID='" + HID + "' and b.HEntryID='" + HEntryID + "'");
             var dataSet = oCN.RunProcReturn(sql, "OA_ErrMsgBackBillMain");
             if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
@@ -5523,16 +5531,16 @@
 
             //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
             string s = "";
-            int sYear = 0;
-            int sPeriod = 0;
-            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
-            {
-                objJsonResult.code = "0";
-                objJsonResult.count = 0;
-                objJsonResult.Message = s;
-                objJsonResult.data = null;
-                return objJsonResult;
-            }
+            //int sYear = 0;
+            //int sPeriod = 0;
+            //if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
+            //{
+            //    objJsonResult.code = "0";
+            //    objJsonResult.count = 0;
+            //    objJsonResult.Message = s;
+            //    objJsonResult.data = null;
+            //    return objJsonResult;
+            //}
 
             ListModels oListModels = new ListModels();
             try
@@ -5613,9 +5621,17 @@
                     //string[] arrStr = oItem.HSendMan.Split(','); //鍙戦�佷汉
                     //arrStr = oItem.HReceiveMan.Split(',');  //鎺ユ敹浜�
                     string[] arrStr = oItem.HCopyMan.Split(',');  //鎶勯�佷汉
-                    List<string> b = new List<string>(arrStr);
-                    b.Add(oItem.HReceiveMan);
-                    arrStr = b.ToArray();
+                    if (!string.IsNullOrEmpty(oItem.HCopyMan))
+                    {
+                        arrStr = oItem.HCopyMan.Split(',');  // 鎶勯�佷汉
+                        List<string> b = new List<string>(arrStr);
+                        b.Add(oItem.HReceiveMan);
+                        arrStr = b.ToArray();
+                    }
+                    else
+                    {
+                        arrStr = oItem.HReceiveMan.Split(',');//鎺ユ敹浜�
+                    }
                     //鎶勯�佷汉琛ㄤ綋鏁版嵁
                     for (int i = 1; i <= arrStr.Length; i++)
                     {
@@ -5733,18 +5749,17 @@
         #region 宸ヤ綔鑱旂郴鍗曠紪杈戣幏鍙栨暟鎹�
         [Route("Sc_MESTransFerWorkBill/GetOA_WorkLinkBillListCheckDetai")]
         [HttpGet]
-        public object GetOA_WorkLinkBillListCheckDetai(string HID, string HEntryID)
+        public object GetOA_WorkLinkBillListCheckDetai(string HID)
         {
             try
             {
                 List<object> columnNameList = new List<object>();
 
-                string sql = string.Format(@"select A.*,B.HEntryID,B.HReadFlag,D.HName HDeptName,e.HName HEvaluateStatusName
+                string sql = string.Format(@"select A.*,D.HName HDeptName,e.HName HEvaluateStatusName
                                         from OA_WorkLinkBillMain A 
-                                        inner join  OA_WorkLinkBillSub2 B on A.HInterID=B.HInterID 
                                         left join Gy_Department D on A.HDeptID=D.HItemID
                                         left join Gy_EvaluateStatus AS e ON A.HEvaluateStatusID = e.HItemID
-                                        where A.HInterID='" + HID + "' and b.HEntryID='" + HEntryID + "'"); ;
+                                        where A.HInterID='" + HID + "'" ); ;
                 ds = oCN.RunProcReturn(sql, "OA_WorkLinkBillMain");
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
@@ -6283,7 +6298,7 @@
 
         #region 宸ヤ綔鑱旂郴鍗曞洖澶�
         /// <summary>
-        /// 寮傚父鍙嶉鍗�
+        /// 宸ヤ綔鑱旂郴鍗�
         /// </summary>
         /// <param name="msg"></param>
         /// <returns></returns>
@@ -6312,16 +6327,16 @@
 
             //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
             string s = "";
-            int sYear = 0;
-            int sPeriod = 0;
-            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
-            {
-                objJsonResult.code = "0";
-                objJsonResult.count = 0;
-                objJsonResult.Message = s;
-                objJsonResult.data = null;
-                return objJsonResult;
-            }
+            //int sYear = 0;
+            //int sPeriod = 0;
+            //if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
+            //{
+            //    objJsonResult.code = "0";
+            //    objJsonResult.count = 0;
+            //    objJsonResult.Message = s;
+            //    objJsonResult.data = null;
+            //    return objJsonResult;
+            //}
 
             ListModels oListModels = new ListModels();
             try
@@ -6459,6 +6474,179 @@
         }
         #endregion
 
+        #region 宸ヤ綔鑱旂郴鍗曞偓淇�
+        [Route("Sc_MESTransFerWorkBill/UpdateOA_WorkLinkBillHHasten")]
+        [HttpGet]
+        public object UpdateOA_WorkLinkBillHHasten(Int64 HInterID,string CurUserName)
+        {
+            try
+            {
+                //鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("OA_WorkLinkBill_Edit", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                DAL.ClsOA_WorkLinkBill oBill = new DAL.ClsOA_WorkLinkBill();               //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍌績锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍌績锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                string sql = "update OA_WorkLinkBillMain set HHasten = HHasten + 1 where HInterID = " + HInterID ;
+
+                oCN.RunProc(sql);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヤ綔鑱旂郴鍗曟牴鎹簮鍗旾D鏌ョ湅鏄惁鏈夊搴旇仈绯诲崟
+        [Route("Sc_MESTransFerWorkBill/GetOA_WorkLinkBillListBySourceID")]
+        [HttpGet]
+        public object GetOA_WorkLinkBillListBySourceID(string HRelationInterID, string HRelationEntryID)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sql = string.Format(@"select A.*,D.HName HDeptName,e.HName HEvaluateStatusName
+                                        from OA_WorkLinkBillMain A 
+                                        left join Gy_Department D on A.HDeptID=D.HItemID
+                                        left join Gy_EvaluateStatus AS e ON A.HEvaluateStatusID = e.HItemID
+                                        where A.HRelationInterID='" + HRelationInterID + "' and A.HRelationEntryID= '"+ HRelationEntryID+"'"); ;
+                ds = oCN.RunProcReturn(sql, "OA_WorkLinkBillMain");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "false锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+        #endregion
+
+        #endregion
+
+        #region 寮傚父鍙嶉鍗曚繚瀛樺悗,寰�瀛愯〃閲岄潰鍘绘彃鍏ユ暟鎹�
+        public object SaveOA_ErrMsgBackBillSub(string msg2)
+        {
+             msg2 = "[" + msg2.ToString() + "]";
+            List<ClsOA_ErrMsgBackBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsOA_ErrMsgBackBillMain>>(msg2);
+
+            long HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+            string HReceiveMan = mainList[0].HReceiveMan;//鎺ユ敹浜�
+            string HDescription = mainList[0].HDescription;//鍐呭
+            int HEntryID = 1;
+
+            string sql = "insert into OA_ErrMsgBackBillSub2 values('" + HInterID + "','" + HEntryID + "','" + HReceiveMan + "','0')";
+            oCN.RunProcReturn(sql, "OA_ErrMsgBackBillSub2");
+            //鐩存帴鍙戦�侀拤閽夋秷鎭�  s
+             FistDingDingMesAsync(HReceiveMan, HDescription);
+
+            objJsonResult.code = "0";
+            objJsonResult.count = 0;
+            objJsonResult.Message = "鎻掑叆鎴愬姛,寮�濮嬫墽琛屽畾鏃朵换鍔�,閽夐拤鍙戦�佹秷鎭�";
+            objJsonResult.data = 1;
+            return objJsonResult;      
+        }       
+
+        /// <summary>
+        /// 寮傚父鍙嶉鍗曠涓�娆′繚瀛樼殑鏃跺�欒繘琛屽彂閫佹秷鎭�
+        /// </summary>
+        /// <param name="HReceiveMan"></param>
+        /// <param name="HDescription"></param>
+        public async void FistDingDingMesAsync(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
+            Cls_DDMsg msg = new Cls_DDMsg();
+            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}");
+        }       
+
         #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1