工作日计划接口

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

工作日计划接口

# 1. 批量获取工作日计划中的日期和日期类型 ## 1.1 接口描述 接口名:I18nServiceHelper.getDateByWorkingPlan(Long workingPlanId, Date startDate, Date endDate) 根据工作日计划id、开始日期、结束日期批量获取工作日计划中的日期和日期类型 ## 1.2 输入参数 |字段|必填|类型|示例|说明| |-|-|-|-|-| |workingPlanId|是|Long|1634769374202153984L|工作日计划id| |startDate|否|Date|2023-03-07|需要获取的日期的开始日期,格式yyyy-MM-dd| |endDate|否|Date|2023-03-08|需要获取的日期的结束日期,格式yyyy-MM-dd| ## 1.3 输出参数 返回java.util.Map对象,Map属性如下 |字段|类型|示例|说明| |-|-|-|-| |data|Map||工作日计划的返回日期,key为具体日期文本(如2023-03-01),value为map| |startValidDate|Date||返回日期的开始日期,格式yyyy-MM-dd| |endValidDate|Date||返回日期的结束日期,格式yyyy-MM-dd| |isSuccess|Boolean|true|获取是否成功| |errorMsg|String|"无效工作日计划。"|如果isSuccess为false,返回错误信息,为true,则不返回此字段| data的key为具体日期文本,如2023-03-01,data的value为map,map属性如下 |字段|类型|示例|说明| |-|-|-|-| |valid|boolean|true|是否有效,日期不在工作日计划有效期内,返回false,否则为true| |workRangeList|List<Map>||工作时段列表| |dateType|Int|1|日期类型,1为工作日,2为半工作日,3为休息日,4为节假日| |holidaytype|Boolean|true|dateType为4时返回此字段,true为半天节假日,false为全天节假日| |holidayName|String|端午节|dateType为4时返回此字段,节假日的名称| |holidayClass|Map||dateType为4时返回此字段,假期类型Map| |halfDayInWorkDay|Boolean|true|dateType为4时返回此字段,true为半天节假日,false为全天节假日| workRangeList的每个元素为map,map代表一个工作时段,map属性如下 |字段|类型|示例|说明| |-|-|-|-|-| |workingHoursId|Long||dateType为4时且holidaytype为true时返回此字段(半天节假日),为工作时段id| |startTime|Int|32400|工作时段的开始时间,为今天已过的秒数,32400代表开始时间是早上9点| |endTime|Int|43200|工作时段的结束时间,为今天已过的秒数,43200代表开始时间是早上12点| holidayClass为Map,Map属性如下 |字段|类型|示例|说明| |-|-|-|-|-| |id|Long|1321558981692381184L|假期类型id| |name|String|法定假日|假期类型名称| |number|String|CN01|假期类型编码| 返回结果示例如下 ```json { "data":{ "2023-03-07":{ "valid":true, "workRangeList":[ { "startTime":28800, "endTime":39600 }, { "startTime":46800, "endTime":64800 } ], "dateType":1 }, "2023-03-08":{ "valid":true, "workRangeList":[ { "workingHoursId":"1433392892482807808", "startTime":3600, "endTime":10800 } ], "holidayClass":{ "number":"CN01", "name":"法定假日", "id":"1321558981692381184" }, "dateType":4, "halfDayInWorkDay":true, "holidayName":"妇女节", "holidaytype":true } }, "startValidDate":"2023-03-07", "endValidDate":"2023-03-08", "isSuccess":true } ``` ## 1.4 代码示例 ```java SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date startDate = dateFormat.parse("2023-03-07"); Date endDate = dateFormat.parse("2023-03-08"); Map<String,Object> map = I18nServiceHelper.getDateByWorkingPlan(1634769374202153984L, startDate, endDate); ``` # 2. 工作日计划中根据间隔日计算日期 ## 2.1 接口描述 接口名:I18nServiceHelper.calculateDateByInterval(Long workingPlanId, Date date, Integer interval, Integer intervalType, Integer outputIntervalType) 工作日计划中根据间隔日计算日期 ## 2.2 输入参数 |字段|必填|类型|示例|说明| |-|-|-|-|-| |workingPlanId|是|Long|1634769374202153984L|工作日计划id| |date|是|Date|2023-03-01|开始计算日期| |interval|是|Int||间隔天数,大于等于0| |intervalType|是|Int||间隔天数的类型,0为工作日,1为自然日| |outputIntervalType|是|Int||输出日期类型,0为工作日,1为自然日| ## 2.3 输出参数 返回java.util.Map对象,Map属性如下 |字段|类型|示例|说明| |-|-|-|-|-| |date|Date|2023-03-15|输出日期| |workRangeList|List<Map>||工作时段列表,参考5.3的workRangeList| |dateType|Date||日期类型,1为工作日,2为半工作日,3为休息日,4为节假日| |isSuccess|Boolean|true|计算是否成功| |errorMsg|String|"无效工作日计划。"|如果isSuccess为false,返回错误信息为true,则此字段为空| 返回结果示例如下 ```json { "isSuccess": true, // 计算是否成功,如果为false,则不会返回最后三个字段 "errorMsg": "", // 如果计算失败,则说明计算失败的原因 "date" : 2023-03-15, // 返回日期 "dateType" : 1, // 日期类型,工作日(1),半工作日(2),休息日(3),节假日(4) "workRangeList" : [ // 工作时段 { "starttime": 32400, // 工作时段开始时间 "endtime": 43200 // 工作时段结束时间 }, { "starttime": 46800, "endtime": 64800 } ], } ``` ## 2.4 代码示例 ```java SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = dateFormat.parse("2023-03-01"); Map<String,Object> map =I18nServiceHelper.calculateDateByInterval(1634769374202153984L, date, 10, 0, 0); ``` # 3. 工作日计划中根据开始和结束日期计算间隔日 ## 3.1 接口描述 接口名:I18nServiceHelper.calculateDateByStartAndEndDate(Long workingPlanId, Date startDate, Date endDate) 工作日计划中根据开始和结束日期计算间隔日 ## 3.2 输入参数 |字段|必填|类型|示例|说明| |-|-|-|-|-| |workingPlanId|是|Long|1634769374202153984L|工作日计划id| |startDate|是|Date|2023-03-01|开始日期| |endDate|是|Date|2023-03-15|结束日期| ## 3.3 输出参数 返回java.util.Map对象,Map属性如下 |字段|类型|示例|说明| |-|-|-|-|-| |workingDayInterval|Int|间隔的工作日个数| |calendarDayInterval|Int||间隔的自然日个数| |isSuccess|Boolean|true|计算是否成功| |errorMsg|String|"无效工作日计划。"|如果isSuccess为false,返回错误信息,为true,则此字段为空| 返回结果示例如下 ```json { "isSuccess": true, // 计算是否成功,如果为false,则不会返回最后两个字段 "errorMsg": "", // 如果计算失败,则说明计算失败的原因 "calendarDayInterval" : 14, // 间隔自然日 "workingDayInterval" : 10, // 间隔工作日 } ``` ## 3.4 代码示例 ```java SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date startDate = dateFormat.parse("2023-03-01"); Date endDate = dateFormat.parse("2023-03-15"); Map<String,Object> map =I18nServiceHelper.calculateDateByStartAndEndDate(1634769374202153984L, startDate,endDate); ``` # 4. 获取工作日计划 ## 4.1 接口描述 接口名:IWorkingPlanService.getById(Long id) 根据工作日计划id获取工作日计划 ## 4.2输入参数 | 字段 | 必填 | 类型 | 示例 | 说明 | | ---- | ---- | ---- | -------------------- | ------------------ | | id | 是 | Long | 1634769374202153984L | 工作日计划的唯一id | ## 4.3输出参数 返回kd.bos.i18n.api.workingplan.WorkingPlan对象 WorkingPlan字段说明 | 字段 | 必填 | 类型 | 示例 | 说明 | | ---------------- | ---- | ------------------------ | ---- | ------------------------------------- | | id | 否 | Long | | 唯一id,新增不需要,更新必填 | | number | 是 | String | | 编码 | | name | 是 | String | | 名称 | | description | 否 | String | | 描述 | | startDate | 是 | Date | | 工作日计划开始日期,格式yyyy-MM-dd | | endDate | 是 | Date | | 工作日计划结束日期,格式yyyy-MM-dd | | countryId | 否 | Long | | 工作日计划可适用的国家或地区id | | workingTimeList | 是 | List<WorkingTime> | | 工作日模式列表 | | holidayList | 否 | List<WorkingPlanHoliday> | | 公共假期列表 | | specificDateList | 否 | List<SpecificDate> | | 例外日期列表 | | enable | 是 | String | '1' | 使用状态,'0'禁用,'1'启用 | | status | 是 | String | 'C' | 数据状态,'A'暂存,'B'已提交,'C'已审核 | | creator | 否 | Long | | 创建人,新增更新不需要填 | | createTime | 否 | Date | | 创建时间,新增更新不需要填 | | modifier | 否 | Long | | 修改人,新增更新不需要填 | | modifyTime | 否 | Date | | 修改时间,新增更新不需要填 | | disabler | 否 | Long | | 禁用人,新增更新不需要填 | | disableTime | 否 | Date | | 禁用时间,新增更新不需要填 | WorkingTime字段说明 | 字段 | 必填 | 类型 | 示例 | 说明 | | ------------- | ---- | ---- | ---- | ---------------------------------- | | entryId | 否 | Long | | 分录id,新增更新不需要填 | | workingTimeId | 是 | Long | | 工作日模式(working_time)id | | startDate | 是 | Date | | 工作日模式开始日期,格式yyyy-MM-dd | | endDate | 是 | Date | | 工作日模式结束日期,格式yyyy-MM-dd | WorkingPlanHoliday字段说明 | 字段 | 必填 | 类型 | 示例 | 说明 | | ------- | ---- | ---- | ---- | -------------------------- | | entryId | 否 | Long | | 分录id,新增更新不需要填 | | holiday | 否 | Long | | 公共假期(public_holiday)id | SpecificDate字段说明 | 字段 | 必填 | 类型 | 示例 | 说明 | | ----------- | ---- | ------ | ---- | ------------------------------------------------------------ | | date | 是 | Date | | 例外日期开始日期,格式yyyy-MM-dd | | endDate | 是 | Date | | 例外日期结束日期,格式yyyy-MM-dd | | dateType | 是 | String | "1" | 日期类型,"1"为工作日,"2"为半工作日,"3"为休息日 | | hours | 否 | Long | | 工作时段(working_hours)id,日期类型为"1","2"时必填,"3"时不填 | | specialDesc | 否 | String | | 例外日期描述 | ## 4.4代码示例 ```java IWorkingPlanService iWorkingPlanService = ServiceFactory.getService(IWorkingPlanService.class); WorkingPlan workingPlan = iWorkingPlanService.getById(1634769374202153984L); ```

工作日计划接口

# 1. 批量获取工作日计划中的日期和日期类型## 1.1 接口描述接口名:I18nServiceHelper.getDateByWorkingPlan(Long workingPlanId, D...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息