Pārlūkot izejas kodu

企微超支提醒添加

yuanrf 1 dienu atpakaļ
vecāks
revīzija
5d2a7d6314

+ 51 - 5
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -4199,7 +4199,7 @@ FROM
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> VisaFileDownload(int groupId, int fileTypeId)
         {
-            if(!_visaTypeInit.TryGetValue(fileTypeId, out _))
+            if (!_visaTypeInit.TryGetValue(fileTypeId, out _))
             {
                 return Ok(JsonView(false, "请选择正确的文件类型!"));
             }
@@ -4232,7 +4232,7 @@ FROM
 
             //团组客户详细信息
             var groupCustInfos = _sqlSugar.Queryable<Crm_DeleClient>().Where(x => x.IsDel == 0 && groupClients.Contains(x.Id)).ToList();
-            
+
             //家庭成员资料
             var familyInfos = _sqlSugar.Queryable<Crm_VisaCustomerFamily>().Where(x => x.IsDel == 0 && groupClients.Contains(x.DcId)).ToList();
 
@@ -4397,7 +4397,7 @@ FROM
                             else break;
                         }
                     }
-                    
+
                     //学校信息书签
                     if (currSchoolInfos.Count > 0)
                     {
@@ -4416,7 +4416,7 @@ FROM
                             else break;
                         }
                     }
-                    
+
                     //家人信息书签
                     if (currFamilyInfos.Count > 0)
                     {
@@ -4472,7 +4472,7 @@ FROM
                         string day = idCard.Substring(12, 2);
                         birthday = year + "/" + month + "/" + day;
                     }
-                    
+
                     dics.Add("BirthDay", birthday);//出生日期 
                     dics.Add("BirthProvince", custInfo.BirthProvince);//出生省
                     dics.Add("BirthCity", custInfo.BirthCity);//出生城市
@@ -8408,6 +8408,52 @@ FROM
 
         #region 共享文件上传
 
+        /// <summary>
+        /// 超支通知推送
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> qyWeChatNotification(qyWeChatNotificationDto dto)
+        {
+            //81	邀请/公务活动
+            var syCTable = new List<int> { 81 };
+            //76	酒店预订
+            //79	车/导游地接
+            //85	机票预订
+            var gjCTable = new List<int> { 76, 79, 85 };
+            var jw = JsonView(false);
+            var di = _sqlSugar.Queryable<Grp_DelegationInfo>().First(x => x.IsDel == 0 && x.Id == dto.Diid);
+            if (di == null)
+            {
+                jw.Msg = "团组信息不存在!";
+                return Ok(jw);
+            }
+            var user = _sqlSugar.Queryable<Sys_Users>().First(x => x.IsDel == 0 && x.Id == dto.UserId);
+            if (user == null)
+            {
+                jw.Msg = "用户信息不存在!";
+                return Ok(jw);
+            }
+
+            if (syCTable.Contains(dto.CTable))
+            {
+                await AppNoticeLibrary.SendChatMsg_ExpenseOverrunsChat(dto.Diid, dto.UserId, dto.CTable, QiyeWeChatEnum.ExpenseOverrunsChat02);
+            }
+            else if (gjCTable.Contains(dto.CTable))
+            {
+                await AppNoticeLibrary.SendChatMsg_ExpenseOverrunsChat(dto.Diid, dto.UserId, dto.CTable, QiyeWeChatEnum.ExpenseOverrunsChat01);
+            }
+            else
+            {
+                jw.Msg = "CTABLE类型有误!";
+            }
+
+            jw = JsonView(true, "推送成功!", "");
+
+            return Ok(jw);
+        }
+
         /// <summary>
         /// 共享文件数据初始化
         /// </summary>

+ 5 - 3
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -1736,11 +1736,12 @@ WHERE
 
         //     //    //List<string> userList1 = new List<string>() { "Feint", "amy.zhu@pan-american-intl.com", "judy.zeng@pan-american-intl.com", "FuHongJin" };
         //     //    //List<string> userList2 = new List<string>() {  "Feint", "ZhaoYaQi", "LiaoWenYa" };
-        //     List<string> userList3 = new List<string>() { "rongfeng.yuan", "zhaiyang" };
+        //     // List<string> userList3 = new List<string>() { "rongfeng.yuan", "zhaiyang" };
 
         //     //    //GroupStatus_CreateChatView rst1 = await _qiYeWeChatApiService.GroupStatus_CreateChat("团组通知", "Feint", userList1, "CaiWuChat01");
         //     //    //GroupStatus_CreateChatView rst2 = await _qiYeWeChatApiService.GroupStatus_CreateChat("OA通知-国交部", "Feint", userList2, "GuoJiaoLeader01");
-        //     GroupStatus_CreateChatView rst3 = await _qiYeWeChatApiService.GroupStatus_CreateChat("OA通知-机票预算", "rongfeng.yuan", userList3, "AirCostChat01");
+        //     // GroupStatus_CreateChatView rst3 = await _qiYeWeChatApiService.GroupStatus_CreateChat("OA通知-团组超支费用通知", "rongfeng.yuan", userList3, "ExpenseOverrunsChat01");
+        //     // GroupStatus_CreateChatView rst4 = await _qiYeWeChatApiService.GroupStatus_CreateChat("OA通知-团组超支费用通知(商邀)", "rongfeng.yuan", userList3, "ExpenseOverrunsChat02");
 
         //     //    //推送消息(模板)
 
@@ -1768,7 +1769,8 @@ WHERE
         //     //    //List<Grp_DelegationInfo> listAdd3day = new List<Grp_DelegationInfo>() { };
 
         //     //机票预算群通知
-        //     await AppNoticeLibrary.SendChatMsg_AirCostChat(dto.DiId, QiyeWeChatEnum.AirCostChat01);
+        //     await AppNoticeLibrary.SendChatMsg_ExpenseOverrunsChat(dto.DiId, dto.UserId, QiyeWeChatEnum.ExpenseOverrunsChat01);
+        //     await AppNoticeLibrary.SendChatMsg_ExpenseOverrunsChat(dto.DiId, dto.UserId, QiyeWeChatEnum.ExpenseOverrunsChat02);
 
         //     //    //日付申请提醒财务群
         //     //    //AppNoticeLibrary.DailyPayReminders_Create_ToCaiwuChat(dto.DiId, QiyeWeChatEnum.CaiWuChat02);

+ 12 - 0
OASystem/OASystem.Api/OAMethodLib/QiYeWeChatAPI/AppNotice/Config.cs

@@ -54,6 +54,18 @@ namespace OASystem.API.OAMethodLib.QiYeWeChatAPI.AppNotice
         /// </summary>
         [Description("AirCostChat01")]
         AirCostChat01,
+
+        /// <summary>
+        /// 团组通知-费用超支群(国交、财务、主管)
+        /// </summary>
+        [Description("ExpenseOverrunsChat01")]
+        ExpenseOverrunsChat01,
+
+        /// <summary>
+        /// 团组通知-费用超支群(商邀、财务、主管)
+        /// </summary>
+        [Description("ExpenseOverrunsChat02")]
+        ExpenseOverrunsChat02,
     }
 
     public class MarkdownLib

+ 29 - 0
OASystem/OASystem.Api/OAMethodLib/QiYeWeChatAPI/AppNotice/Library.cs

@@ -1642,6 +1642,35 @@ di.VisitPNumber);
         }
         #endregion
 
+        #region 团组超支费用通知
+        public static async Task<bool> SendChatMsg_ExpenseOverrunsChat(int diId, int userid, int cTable, QiyeWeChatEnum qwEnum)
+        {
+            string chatId = qwEnum.GetEnumDescription();
+            Grp_DelegationInfo groupInfo = _grpDeleRep.Query<Grp_DelegationInfo>(s => s.Id == diId && s.IsDel == 0).First();
+            var operationName = _grpDeleRep.Query<Sys_Users>(s => s.IsDel == 0 && s.Id == userid).First()?.CnName ?? "Unknown";
+            var table = _grpDeleRep.Query<Sys_SetData>(s => s.IsDel == 0 && s.Id == cTable && s.STid == 16).First()?.Name ?? "Unknown";
+
+            string markDown = @$"`团组超支费用通知`
+>团组名称:<font color='info'> {groupInfo.TeamName} </font>
+><font color='warning'>此团组{table}版块有超支费用产生(目前因票据未出,无法上传相应票据)</font>
+>更新时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm")}
+>更新人:{operationName}";
+
+            ResponseBase result = await _qiYeWeChatApiService.
+           GroupStatus_SendChatMsg_Markdown(chatId,
+           markDown);
+
+            if (result.errcode != 0)
+            {
+                //抄送日志 
+                return false;
+            }
+
+            return true;
+        }
+
+        #endregion
+
         #region Helper
 
         private static string getClientNameStr(List<SimplClientInfo> list, string origin)

+ 11 - 2
OASystem/OASystem.Domain/Dtos/FileDto/FileDto.cs

@@ -44,6 +44,15 @@ namespace OASystem.Domain.Dtos.FileDto
         public int FileType { get; set; }
     }
 
+    public class qyWeChatNotificationDto
+    {
+        public int CTable { get; set; }
+
+        public int UserId { get; set; }
+
+        public int Diid { get; set; }
+    }
+
     public class QuerySharedFileDto
     {
         public int Diid { get; set; }
@@ -53,7 +62,7 @@ namespace OASystem.Domain.Dtos.FileDto
         public int PageSize { get; set; }
 
         public string FileName { get; set; }
-        
+
         public string StartTime { get; set; }
 
         public string EndTime { get; set; }
@@ -79,7 +88,7 @@ namespace OASystem.Domain.Dtos.FileDto
     {
         public int Ctable { get; set; }
 
-        public int Diid { get;set; }
+        public int Diid { get; set; }
     }
 
     public class DeleteGroupFileDto