工作日历

工作日历管理

说明
名称 工作日历名称
时区 默认为中国标准时区
扩展接口 格式为AppId:类全名,类需要实现
com.actionsoft.bpms.client.appinterface.workcalendar.WorkCalendarRuleInterface
示例见下
备注说明 说明
周日历设置 每周工作时间设置
节假日设置 可手动填写或从预设节假日中批量应用
. 节假日开始结束时间应为0点-23:59:59 
. 倒班日开始结束时间应为实际工作日开始结束时间
为当前记录开始时间和结束时间所在年

扩展接口示例

package com.actionsoft.apps.addons.workcalendar;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.actionsoft.apps.addons.workcalendar.constant.WorkCalendarConstant;
import com.actionsoft.bpms.client.appinterface.workcalendar.WorkCalendarHolidayModel;
import com.actionsoft.bpms.client.appinterface.workcalendar.WorkCalendarRuleInterface;
import com.actionsoft.bpms.util.UtilDate;


public class WorkCalendarInter implements WorkCalendarRuleInterface {

public void customWorkcalendarRule(List<WorkCalendarHolidayModel> workHolidayList, Map<String, Object> arg1) {

        WorkCalendarHolidayModel whm = new WorkCalendarHolidayModel();
        whm.setYear("2017");
        whm.setWcType(WorkCalendarConstant.WTYPE_HOLIDAYDAY);//设置节假日
        whm.setAmStartTime(UtilDate.parseDatetime("2017-12-25 08:30:00"));
        whm.setPmEndTime(UtilDate.parseDatetime("2017-12-29 17:30:00"));
        workHolidayList.add(whm);

        WorkCalendarHolidayModel whm1 = new WorkCalendarHolidayModel();
        whm1.setYear("2017");
        whm1.setWcType(WorkCalendarConstant.WTYPE_WORKINSHIFTSDAY);//设置导班日
        whm1.setAmStartTime(UtilDate.parseDatetime("2017-12-16 08:30:00"));
        whm1.setPmEndTime(UtilDate.parseDatetime("2017-12-17 17:30:00"));
        workHolidayList.add(whm1);

    }

}
  1. 工作日历被修改后需要更新缓存升效。手动点击刷新缓存按钮刷新工作日历缓存
  2. 调用API刷新工作日历缓存,示例代码如下:
    AppContext app = SDK.getAppAPI().getAppContext("com.actionsoft.apps.addons.workcalendar");
    if (app != null && SDK.getAppAPI().isActive("com.actionsoft.apps.addons.workcalendar")) {
         String aslp = "aslp://com.actionsoft.apps.addons.workcalendar/refreshCacheByProcessInstId";
         Map<String, Object> ss = new HashMap<String, Object>();
         ss.put("processInstId", "这个要写该日历记录的流程实例ID");
         try {
             SDK.getAppAPI().callASLP(app, aslp, ss);
         } catch (Exception e) {
             e.printStackTrace();
         }
    }
    


Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区