示例#1
0
        /// <summary>
        /// 创建站内消息对象
        /// </summary>
        /// <param name="senderId"></param>
        /// <param name="recipientId"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        private IEnumerable<FapMessage> CreateMessage(string[] recipientId, string content)
        {
            List<FapMessage> fapMessages = new List<FapMessage>();

            for (int i = 0; i < recipientId.Length; i++)
            {
                FapMessage message = new FapMessage();
                message.Title = "流程提醒";
                //message.SEmpUid = senderId;
                message.MsgContent = content;
                message.REmpUid = recipientId[i];
                message.SendTime = DateTimeUtils.CurrentDateTimeStr;
                message.MsgCategory = FapMessageCategory.Notice;
                fapMessages.Add(message);
            }

            return fapMessages;
        }
示例#2
0
        public void PayrollOffNotice(string caseUid)
        {
            PayCase pc = _dbContext.Get <PayCase>(caseUid);

            if (pc.PayFlag == 0)
            {
                throw new FapException("薪资还未发放,还不能发送通知");
            }
            string sql     = $"select {pc.TableName}.EmpUid,Employee.Mailbox,Employee.EmpName from {pc.TableName} left join Employee on {pc.TableName}.EmpUid=Employee.Fid";
            var    empList = _dbContext.Query(sql);

            if (empList.Any())
            {
                string            mailContent = pc.PayYM + "份薪资已发放,请登录HCM系统查看。员工自助--》我的薪资";
                string            msgContent  = pc.PayYM + "份薪资已发放。";
                string            sendTime    = DateTimeUtils.CurrentDateTimeStr;
                List <string>     lmail       = new List <string>();
                List <FapMessage> lmsg        = new List <FapMessage>();
                foreach (var emp in empList)
                {
                    FapMessage message = new FapMessage {
                        HasRead = 0, MsgCategory = "Notice", MsgContent = msgContent, REmpUid = emp.EmpUid, SendTime = sendTime, Title = "薪资发放通知"
                    };
                    lmsg.Add(message);
                    string mailBox = emp.Mailbox;
                    if (mailBox.IsPresent())
                    {
                        lmail.Add($"{emp.EmpName}<{emp.Mailbox}>");
                    }
                }
                _dbContext.InsertBatchSql <FapMessage>(lmsg);
                if (lmail.Any())
                {
                    FapMail fmail = new FapMail();
                    fmail.IsSeparate            = 1;
                    fmail.Recipient             = "薪资套人员";
                    fmail.Subject               = "薪资发放通知";
                    fmail.MailContent           = mailContent;
                    fmail.RecipientEmailAddress = string.Join(";", lmail);
                    fmail.SendStatus            = 0;
                    _dbContext.Insert <FapMail>(fmail);
                }
            }
        }
示例#3
0
 /// <summary>
 /// 发送站内信
 /// </summary>
 /// <param name="message"></param>
 public void SendMessage(FapMessage message)
 {
     _dataAccessor.Insert(message);
 }