|  |  |  | 
|---|
|  |  |  | using DBUtility; | 
|---|
|  |  |  | using DAL; | 
|---|
|  |  |  | using DBUtility; | 
|---|
|  |  |  | using DLL; | 
|---|
|  |  |  | using Newtonsoft.Json; | 
|---|
|  |  |  | using Newtonsoft.Json.Linq; | 
|---|
|  |  |  | using System; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | [Route("Sc_MESTransFerWorkBill/SaveGetMESTransFerWorkFrom")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object SaveGetMESTransFerWorkFrom([FromBody] JObject msg) | 
|---|
|  |  |  | public object SaveGetMESTransFerWorkFromAsync([FromBody] JObject msg) | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var _value = msg["msg"].ToString(); | 
|---|
|  |  |  | 
|---|
|  |  |  | objJsonResult.data = 1; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //string[] arrStr = oItem.HSendMan.Split(','); //发送人 | 
|---|
|  |  |  | //arrStr = oItem.HReceiveMan.Split(',');  //接收人 | 
|---|
|  |  |  | string[] arrStr = oItem.HCopyMan.Split(',');  //抄送人 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SaveOA_ErrMsgBackBillSub(msg2);//第一次保存发送钉钉 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断会计期是否合理 | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | //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++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | #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) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 工作联系单回复 | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 异常反馈单 | 
|---|
|  |  |  | /// 工作联系单 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="msg"></param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断会计期是否合理 | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #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 工作联系单根据源单ID查看是否有对应联系单 | 
|---|
|  |  |  | [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得到的单据ID | 
|---|
|  |  |  | 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();  //钉钉用户的id | 
|---|
|  |  |  | Cls_DDMsg msg = new Cls_DDMsg(); | 
|---|
|  |  |  | string appKey = "dingrsrzhdyn3mlaof95"; | 
|---|
|  |  |  | string appSecret = "RAqH6YtZnPLCpDbuqfaYQkKkVtVdS0wqfC8I26X6qiS-8eoCJCNrzx3fubGND4Sq"; | 
|---|
|  |  |  | //获取企业的access_token的值 | 
|---|
|  |  |  | string response = msg.GetAccessToken(appKey, appSecret); | 
|---|
|  |  |  | JObject responseJson = JObject.Parse(response); | 
|---|
|  |  |  | // 获取access_token的值 | 
|---|
|  |  |  | string accessToken = responseJson["accessToken"].ToString(); | 
|---|
|  |  |  | //调用方法发送消息 | 
|---|
|  |  |  | string agentId = "3118119317";  //企业内部小程序id | 
|---|
|  |  |  | string deptIdList = "0"; // 空字符串表示不指定部门 | 
|---|
|  |  |  | string toAllUser = "false"; | 
|---|
|  |  |  | string message = HDescription;//异常反馈单的内容 | 
|---|
|  |  |  | response = await msg.SendTextMessage(accessToken, agentId, DDUserID, deptIdList, toAllUser, message); | 
|---|
|  |  |  | Console.WriteLine($"初始消息发送结果: {response}"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|