发帖

利用氚云实现日常工作的定时消息提醒功能。

产品使用讨论区  / 应用搭建教程  / 只看大图  / 正序浏览   © 著作权归作者本人所有

#楼主# 2020-4-8

跳转到指定楼层

注册氚云社区,学习低代码知识,与更多氚友互动交流

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 庞聪 于 2020-4-11 16:22 编辑

消息提醒
通过设置消息推送提醒可以在指定时间收到消息提醒内容(只对新增数据有效)
在氚云的消息提醒设置里,除了{创建时间}、{修改时间}可以实现当时提醒之外,其他时间的提醒都要手工时间点设置,在表单数据处理中,指定在特定时间提醒是完全没问题的了。
我这里所说的,是想让每位同事能通过提醒助手,灵活的新增自己的消息提醒记录,有一些提醒,只需要提前一个大概时间实现就可以了。而有的提醒,是需要准确到几时几分的。那么通过把每天分成若干个时间节点,然后针对每个时间节点来设置是否需要提醒,就可以实现在某天某时间节点进行提醒,还可以同一天多个时间节点进行提醒。如图界面就是实现在7:10分提醒相关的一些设置。除了{自定义时间提醒}之外的其他时间节点设置实现原理相同。在标准版里都可以实现。

image.png

学校刚升级为专业版,所以就尝试实现{自定义时间提醒}功能。如下图
image.png
image.png
完整的后端代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using H3;

public class y7q7vxjg3ccd9x61iysiapc86 : H3.SmartForm.SmartFormController
{
    public y7q7vxjg3ccd9x61iysiapc86(H3.SmartForm.SmartFormRequest request) : base(request)
    {
    }

    protected override void OnLoad(H3.SmartForm.LoadSmartFormResponse response)
    {
        base.OnLoad(response);
    }

    protected override void OnSubmit(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response)
    {
        base.OnSubmit(actionName, postValue, response);

//增加自定义消息提醒b

        H3.Task.UserTask   task = new H3.Task.UserTask();

  string appId = "A69b534faedd64f389aa145221db1bdce";   //应用编码

  task.ObjectId =   Guid.NewGuid().ToString();//Guid码

  task.Sender =   H3.Organization.User.SystemUserId;//任务的发起人id

  task.UserId =   this.Request.UserContext.UserId; //任务的接收人id

  task.AppCode = appId;//应用编码

  task.TaskType =   H3.Task.TaskType.Reminder; //任务类型为提醒

  task.SchemaCode =   "y7q7vxjg3ccd9x61iysiapc86"; //表单编码

  task.TargetType =   H3.LinkTargetType.BizObject; //关联类型

  task.TargetId =   this.Request.BizObjectId; //关联业务对象的ID

  task.TargetName =   this.Request.BizObject.Name;  //关联业务对象的数据标题

  task.Name ="设置个人提醒"; //提醒标题

  task.Summary =this.Request.BizObject["F0000001"] + string.Empty; //提醒的内容

  task.**Time =DateTime.Parse(this.Request.BizObject["F0000021"] + string.Empty);  // 提醒时间

  task.ReminderType =   H3.Task.ReminderType.Once; //提醒类型

  task.StartTime =   DateTime.Now; //开始时间

  task.EndTime = DateTime.Now;   //截止时间

  task.TaskState =   H3.Task.TaskState.Unfinished; //任务状态

  task.**State =   H3.Task.**State.Waiting; //提醒的状态

    this.Request.Engine.TaskManager.AddTask(task);//添加任务
    //增加自定义消息提醒e
    }



以上代码是直接在开发手册中进行复制,然后再对相应的表单控件调用进行一些修改来实现的。这也是我第一次使用氚云后端代码来做尝试,结果实现了,特地分享出来。对人员多选及部门多选的定时消息提醒功能也已经实现。

(全文到些结束,后面的图是重复出现不知何故)


image.png
回复

使用道具

成为第一个回答人

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|氚云社区 |粤ICP备15096637号-1
Powered by Discuz! X3.4 Licensed  © 2001-2017 Comsenz Inc.