工作日计划接口
# 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...
点击下载文档
上一篇:移动端图片字段新增裁剪比例属性下一篇:打印模板中如何过滤分录数据
本文2024-09-23 00:38:55发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140822.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章