Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
e0b6c482
提交
e0b6c482
编写于
6月 16, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
xignzi006 发布系统代码
上级
099e2497
变更
27
隐藏空白字符变更
内嵌
并排
正在显示
27 个修改的文件
包含
2483 行增加
和
44 行删除
+2483
-44
phone-call.ts
app_BusinessCentral/src/interface/entity/phone-call.ts
+416
-0
en-US.ts
app_BusinessCentral/src/locale/lang/en-US.ts
+2
-0
zh-CN.ts
app_BusinessCentral/src/locale/lang/zh-CN.ts
+2
-0
phone-call_en_US.ts
...src/locale/lanres/entities/phone-call/phone-call_en_US.ts
+56
-0
phone-call_zh_CN.ts
...src/locale/lanres/entities/phone-call/phone-call_zh_CN.ts
+55
-0
phone-calls.ts
...usinessCentral/src/mock/entity/phone-calls/phone-calls.ts
+424
-0
index.ts
app_BusinessCentral/src/mock/index.ts
+1
-0
entity-service-register.ts
app_BusinessCentral/src/service/entity-service-register.ts
+1
-0
phone-call-service-base.ts
...Central/src/service/phone-call/phone-call-service-base.ts
+193
-0
phone-call-service.ts
...inessCentral/src/service/phone-call/phone-call-service.ts
+25
-0
phone-call-ui-service-base.ts
...al/src/uiservice/phone-call/phone-call-ui-service-base.ts
+210
-0
phone-call-ui-service.ts
...Central/src/uiservice/phone-call/phone-call-ui-service.ts
+21
-0
ui-service-register.ts
app_BusinessCentral/src/uiservice/ui-service-register.ts
+1
-0
Dockerfile
...esscentral-app-businesscentral/src/main/docker/Dockerfile
+1
-1
businesscentral-app-businesscentral.yaml
.../src/main/docker/businesscentral-app-businesscentral.yaml
+1
-15
application-businesscentral-prod.yml
...l/src/main/resources/application-businesscentral-prod.yml
+4
-0
PhoneCall.java
...n/ibizlab/businesscentral/core/base/domain/PhoneCall.java
+2
-2
PhoneCallMapper.java
...lab/businesscentral/core/base/mapper/PhoneCallMapper.java
+1
-0
IPhoneCallService.java
.../businesscentral/core/base/service/IPhoneCallService.java
+1
-0
PhoneCallServiceImpl.java
...scentral/core/base/service/impl/PhoneCallServiceImpl.java
+9
-0
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+21
-21
PhoneCallMapper.xml
.../main/resources/mapper/base/phonecall/PhoneCallMapper.xml
+15
-0
systemResource.json
...al-core/src/main/resources/permission/systemResource.json
+8
-0
PhoneCallDTO.java
.../ibizlab/businesscentral/centralapi/dto/PhoneCallDTO.java
+814
-0
PhoneCallMapping.java
.../businesscentral/centralapi/mapping/PhoneCallMapping.java
+16
-0
PhoneCallResource.java
...ab/businesscentral/centralapi/rest/PhoneCallResource.java
+183
-0
config.xml
config.xml
+0
-5
未找到文件。
app_BusinessCentral/src/interface/entity/phone-call.ts
0 → 100644
浏览文件 @
e0b6c482
/**
* 电话联络
*
* @export
* @interface PhoneCall
*/
export
interface
PhoneCall
{
/**
* UTC 转换时区代码
*
* @returns {*}
* @memberof PhoneCall
*/
utcconversiontimezonecode
?:
any
;
/**
* 遍历的路径
*
* @returns {*}
* @memberof PhoneCall
*/
traversedpath
?:
any
;
/**
* 关于
*
* @returns {*}
* @memberof PhoneCall
*/
regardingobjectid
?:
any
;
/**
* 导入序列号
*
* @returns {*}
* @memberof PhoneCall
*/
importsequencenumber
?:
any
;
/**
* 更新人
*
* @returns {*}
* @memberof PhoneCall
*/
updateman
?:
any
;
/**
* 创建记录的时间
*
* @returns {*}
* @memberof PhoneCall
*/
overriddencreatedon
?:
any
;
/**
* 上一暂候时间
*
* @returns {*}
* @memberof PhoneCall
*/
lastonholdtime
?:
any
;
/**
* 呼叫方
*
* @returns {*}
* @memberof PhoneCall
*/
from
?:
any
;
/**
* 建立时间
*
* @returns {*}
* @memberof PhoneCall
*/
createdate
?:
any
;
/**
* 电话号码
*
* @returns {*}
* @memberof PhoneCall
*/
phonenumber
?:
any
;
/**
* 说明
*
* @returns {*}
* @memberof PhoneCall
*/
description
?:
any
;
/**
* 主题
*
* @returns {*}
* @memberof PhoneCall
*/
subject
?:
any
;
/**
* 排序日期
*
* @returns {*}
* @memberof PhoneCall
*/
sortdate
?:
any
;
/**
* 实际结束时间
*
* @returns {*}
* @memberof PhoneCall
*/
actualend
?:
any
;
/**
* 状态描述
*
* @returns {*}
* @memberof PhoneCall
*/
statuscode
?:
any
;
/**
* 建立人
*
* @returns {*}
* @memberof PhoneCall
*/
createman
?:
any
;
/**
* 方向
*
* @returns {*}
* @memberof PhoneCall
*/
directioncode
?:
any
;
/**
* 实际开始时间
*
* @returns {*}
* @memberof PhoneCall
*/
actualstart
?:
any
;
/**
* 活动状态
*
* @returns {*}
* @memberof PhoneCall
*/
statecode
?:
any
;
/**
* 暂候时间(分钟)
*
* @returns {*}
* @memberof PhoneCall
*/
onholdtime
?:
any
;
/**
* 保留的语音邮件
*
* @returns {*}
* @memberof PhoneCall
*/
leftvoicemail
?:
any
;
/**
* 持续时间
*
* @returns {*}
* @memberof PhoneCall
*/
actualdurationminutes
?:
any
;
/**
* RegardingObjectIdYomiName
*
* @returns {*}
* @memberof PhoneCall
*/
regardingobjectidyominame
?:
any
;
/**
* OwnerIdType
*
* @returns {*}
* @memberof PhoneCall
*/
owneridtype
?:
any
;
/**
* 版本号
*
* @returns {*}
* @memberof PhoneCall
*/
versionnumber
?:
any
;
/**
* 流程
*
* @returns {*}
* @memberof PhoneCall
*/
processid
?:
any
;
/**
* 子类别
*
* @returns {*}
* @memberof PhoneCall
*/
subcategory
?:
any
;
/**
* RegardingObjectTypeCode
*
* @returns {*}
* @memberof PhoneCall
*/
regardingobjecttypecode
?:
any
;
/**
* 更新时间
*
* @returns {*}
* @memberof PhoneCall
*/
updatedate
?:
any
;
/**
* 负责人
*
* @returns {*}
* @memberof PhoneCall
*/
ownerid
?:
any
;
/**
* 流程阶段
*
* @returns {*}
* @memberof PhoneCall
*/
stageid
?:
any
;
/**
* SLAName
*
* @returns {*}
* @memberof PhoneCall
*/
slaname
?:
any
;
/**
* 类别
*
* @returns {*}
* @memberof PhoneCall
*/
category
?:
any
;
/**
* 预订
*
* @returns {*}
* @memberof PhoneCall
*/
subscriptionid
?:
any
;
/**
* 截止日期
*
* @returns {*}
* @memberof PhoneCall
*/
scheduledend
?:
any
;
/**
* 汇率
*
* @returns {*}
* @memberof PhoneCall
*/
exchangerate
?:
any
;
/**
* 负责人
*
* @returns {*}
* @memberof PhoneCall
*/
owneridyominame
?:
any
;
/**
* 活动类型
*
* @returns {*}
* @memberof PhoneCall
*/
activitytypecode
?:
any
;
/**
* 开始日期
*
* @returns {*}
* @memberof PhoneCall
*/
scheduledstart
?:
any
;
/**
* 时区规则版本号
*
* @returns {*}
* @memberof PhoneCall
*/
timezoneruleversionnumber
?:
any
;
/**
* 由工作流创建
*
* @returns {*}
* @memberof PhoneCall
*/
workflowcreated
?:
any
;
/**
* 是定期活动
*
* @returns {*}
* @memberof PhoneCall
*/
regularactivity
?:
any
;
/**
* 被呼叫方
*
* @returns {*}
* @memberof PhoneCall
*/
to
?:
any
;
/**
* 优先级
*
* @returns {*}
* @memberof PhoneCall
*/
prioritycode
?:
any
;
/**
* 电话联络
*
* @returns {*}
* @memberof PhoneCall
*/
activityid
?:
any
;
/**
* 附加参数
*
* @returns {*}
* @memberof PhoneCall
*/
activityadditionalparams
?:
any
;
/**
* 计划持续时间
*
* @returns {*}
* @memberof PhoneCall
*/
scheduleddurationminutes
?:
any
;
/**
* 已记帐
*
* @returns {*}
* @memberof PhoneCall
*/
billed
?:
any
;
/**
* SLA
*
* @returns {*}
* @memberof PhoneCall
*/
slaid
?:
any
;
/**
* 货币
*
* @returns {*}
* @memberof PhoneCall
*/
transactioncurrencyid
?:
any
;
/**
* 服务
*
* @returns {*}
* @memberof PhoneCall
*/
serviceid
?:
any
;
}
\ No newline at end of file
app_BusinessCentral/src/locale/lang/en-US.ts
浏览文件 @
e0b6c482
...
...
@@ -4,6 +4,7 @@ import invoice_en_US from '@locale/lanres/entities/invoice/invoice_en_US';
import
lead_en_US
from
'@locale/lanres/entities/lead/lead_en_US'
;
import
incident_en_US
from
'@locale/lanres/entities/incident/incident_en_US'
;
import
ibizlist_en_US
from
'@locale/lanres/entities/ibiz-list/ibiz-list_en_US'
;
import
phonecall_en_US
from
'@locale/lanres/entities/phone-call/phone-call_en_US'
;
import
salesliterature_en_US
from
'@locale/lanres/entities/sales-literature/sales-literature_en_US'
;
import
activitypointer_en_US
from
'@locale/lanres/entities/activity-pointer/activity-pointer_en_US'
;
import
quote_en_US
from
'@locale/lanres/entities/quote/quote_en_US'
;
...
...
@@ -118,6 +119,7 @@ export default {
lead
:
lead_en_US
,
incident
:
incident_en_US
,
ibizlist
:
ibizlist_en_US
,
phonecall
:
phonecall_en_US
,
salesliterature
:
salesliterature_en_US
,
activitypointer
:
activitypointer_en_US
,
quote
:
quote_en_US
,
...
...
app_BusinessCentral/src/locale/lang/zh-CN.ts
浏览文件 @
e0b6c482
...
...
@@ -4,6 +4,7 @@ import invoice_zh_CN from '@locale/lanres/entities/invoice/invoice_zh_CN';
import
lead_zh_CN
from
'@locale/lanres/entities/lead/lead_zh_CN'
;
import
incident_zh_CN
from
'@locale/lanres/entities/incident/incident_zh_CN'
;
import
ibizlist_zh_CN
from
'@locale/lanres/entities/ibiz-list/ibiz-list_zh_CN'
;
import
phonecall_zh_CN
from
'@locale/lanres/entities/phone-call/phone-call_zh_CN'
;
import
salesliterature_zh_CN
from
'@locale/lanres/entities/sales-literature/sales-literature_zh_CN'
;
import
activitypointer_zh_CN
from
'@locale/lanres/entities/activity-pointer/activity-pointer_zh_CN'
;
import
quote_zh_CN
from
'@locale/lanres/entities/quote/quote_zh_CN'
;
...
...
@@ -118,6 +119,7 @@ export default {
lead
:
lead_zh_CN
,
incident
:
incident_zh_CN
,
ibizlist
:
ibizlist_zh_CN
,
phonecall
:
phonecall_zh_CN
,
salesliterature
:
salesliterature_zh_CN
,
activitypointer
:
activitypointer_zh_CN
,
quote
:
quote_zh_CN
,
...
...
app_BusinessCentral/src/locale/lanres/entities/phone-call/phone-call_en_US.ts
0 → 100644
浏览文件 @
e0b6c482
export
default
{
fields
:
{
utcconversiontimezonecode
:
'UTC 转换时区代码'
,
traversedpath
:
'遍历的路径'
,
regardingobjectid
:
'关于'
,
importsequencenumber
:
'导入序列号'
,
updateman
:
'更新人'
,
overriddencreatedon
:
'创建记录的时间'
,
lastonholdtime
:
'上一暂候时间'
,
from
:
'呼叫方'
,
createdate
:
'建立时间'
,
phonenumber
:
'电话号码'
,
description
:
'说明'
,
subject
:
'主题'
,
sortdate
:
'排序日期'
,
actualend
:
'实际结束时间'
,
statuscode
:
'状态描述'
,
createman
:
'建立人'
,
directioncode
:
'方向'
,
actualstart
:
'实际开始时间'
,
statecode
:
'活动状态'
,
onholdtime
:
'暂候时间(分钟)'
,
leftvoicemail
:
'保留的语音邮件'
,
actualdurationminutes
:
'持续时间'
,
regardingobjectidyominame
:
'RegardingObjectIdYomiName'
,
owneridtype
:
'OwnerIdType'
,
versionnumber
:
'版本号'
,
processid
:
'流程'
,
subcategory
:
'子类别'
,
regardingobjecttypecode
:
'RegardingObjectTypeCode'
,
updatedate
:
'更新时间'
,
ownerid
:
'负责人'
,
stageid
:
'流程阶段'
,
slaname
:
'SLAName'
,
category
:
'类别'
,
subscriptionid
:
'预订'
,
scheduledend
:
'截止日期'
,
exchangerate
:
'汇率'
,
owneridyominame
:
'负责人'
,
activitytypecode
:
'活动类型'
,
scheduledstart
:
'开始日期'
,
timezoneruleversionnumber
:
'时区规则版本号'
,
workflowcreated
:
'由工作流创建'
,
regularactivity
:
'是定期活动'
,
to
:
'被呼叫方'
,
prioritycode
:
'优先级'
,
activityid
:
'电话联络'
,
activityadditionalparams
:
'附加参数'
,
scheduleddurationminutes
:
'计划持续时间'
,
billed
:
'已记帐'
,
slaid
:
'SLA'
,
transactioncurrencyid
:
'货币'
,
serviceid
:
'服务'
,
},
};
\ No newline at end of file
app_BusinessCentral/src/locale/lanres/entities/phone-call/phone-call_zh_CN.ts
0 → 100644
浏览文件 @
e0b6c482
export
default
{
fields
:
{
utcconversiontimezonecode
:
'UTC 转换时区代码'
,
traversedpath
:
'遍历的路径'
,
regardingobjectid
:
'关于'
,
importsequencenumber
:
'导入序列号'
,
updateman
:
'更新人'
,
overriddencreatedon
:
'创建记录的时间'
,
lastonholdtime
:
'上一暂候时间'
,
from
:
'呼叫方'
,
createdate
:
'建立时间'
,
phonenumber
:
'电话号码'
,
description
:
'说明'
,
subject
:
'主题'
,
sortdate
:
'排序日期'
,
actualend
:
'实际结束时间'
,
statuscode
:
'状态描述'
,
createman
:
'建立人'
,
directioncode
:
'方向'
,
actualstart
:
'实际开始时间'
,
statecode
:
'活动状态'
,
onholdtime
:
'暂候时间(分钟)'
,
leftvoicemail
:
'保留的语音邮件'
,
actualdurationminutes
:
'持续时间'
,
regardingobjectidyominame
:
'RegardingObjectIdYomiName'
,
owneridtype
:
'OwnerIdType'
,
versionnumber
:
'版本号'
,
processid
:
'流程'
,
subcategory
:
'子类别'
,
regardingobjecttypecode
:
'RegardingObjectTypeCode'
,
updatedate
:
'更新时间'
,
ownerid
:
'负责人'
,
stageid
:
'流程阶段'
,
slaname
:
'SLAName'
,
category
:
'类别'
,
subscriptionid
:
'预订'
,
scheduledend
:
'截止日期'
,
exchangerate
:
'汇率'
,
owneridyominame
:
'负责人'
,
activitytypecode
:
'活动类型'
,
scheduledstart
:
'开始日期'
,
timezoneruleversionnumber
:
'时区规则版本号'
,
workflowcreated
:
'由工作流创建'
,
regularactivity
:
'是定期活动'
,
to
:
'被呼叫方'
,
prioritycode
:
'优先级'
,
activityid
:
'电话联络'
,
activityadditionalparams
:
'附加参数'
,
scheduleddurationminutes
:
'计划持续时间'
,
billed
:
'已记帐'
,
slaid
:
'SLA'
,
transactioncurrencyid
:
'货币'
,
serviceid
:
'服务'
,
},
};
\ No newline at end of file
app_BusinessCentral/src/mock/entity/phone-calls/phone-calls.ts
0 → 100644
浏览文件 @
e0b6c482
import
qs
from
'qs'
;
import
{
MockAdapter
}
from
'@/mock/mock-adapter'
;
const
mock
=
MockAdapter
.
getInstance
();
// 模拟数据
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibizbusinesscentral-app-businesscentral
\/
phonecalls
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibizbusinesscentral-app-businesscentral
\/
phonecalls
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
phonecalls
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
{}];
});
// updateBatch
mock
.
onPut
(
new
RegExp
(
/^
\/
phonecalls
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
{}];
});
// removeBatch
mock
.
onDelete
(
new
RegExp
(
/^
\/
phonecalls
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
{}];
});
// Select
mock
.
onGet
(
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})\/
select$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: Select"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'activityid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})\/
select$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
let
items
=
mockDatas
?
mockDatas
:
[];
let
_items
=
items
.
find
((
item
:
any
)
=>
Object
.
is
(
item
.
activityid
,
tempValue
.
activityid
));
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
_items
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
_items
];
});
// Create
mock
.
onPost
(
new
RegExp
(
/^
\/
phonecalls
\/?([
a-zA-Z0-9
\-\;]{0,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: Create"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'activityid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
mockDatas
[
0
]);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
mockDatas
[
0
]];
});
// CheckKey
mock
.
onPost
(
new
RegExp
(
/^
\/
phonecalls
\/?([
a-zA-Z0-9
\-\;]{0,35})\/
checkkey$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: CheckKey"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'activityid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})\/
checkkey$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.activityid, tempValue.activityid));
let
data
=
JSON
.
parse
(
config
.
data
);
mockDatas
.
forEach
((
item
)
=>
{
if
(
item
[
'activityid'
]
==
tempValue
[
'activityid'
]
){
for
(
let
value
in
data
){
if
(
item
.
hasOwnProperty
(
value
)){
item
[
value
]
=
data
[
value
];
}
}
}
})
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
data
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
data
];
});
// Update
mock
.
onPut
(
new
RegExp
(
/^
\/
phonecalls
\/?([
a-zA-Z0-9
\-\;]{0,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: Update"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'activityid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.activityid, tempValue.activityid));
let
data
=
JSON
.
parse
(
config
.
data
);
mockDatas
.
forEach
((
item
)
=>
{
if
(
item
[
'activityid'
]
==
tempValue
[
'activityid'
]
){
for
(
let
value
in
data
){
if
(
item
.
hasOwnProperty
(
value
)){
item
[
value
]
=
data
[
value
];
}
}
}
})
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
data
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
data
];
});
// Save
mock
.
onPost
(
new
RegExp
(
/^
\/
phonecalls
\/?([
a-zA-Z0-9
\-\;]{0,35})\/
save$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: Save"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'activityid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})\/
save$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.activityid, tempValue.activityid));
let
data
=
JSON
.
parse
(
config
.
data
);
mockDatas
.
forEach
((
item
)
=>
{
if
(
item
[
'activityid'
]
==
tempValue
[
'activityid'
]
){
for
(
let
value
in
data
){
if
(
item
.
hasOwnProperty
(
value
)){
item
[
value
]
=
data
[
value
];
}
}
}
})
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
data
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
data
];
});
// GetDraft
mock
.
onGet
(
new
RegExp
(
/^
\/
phonecalls
\/
getdraft$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: GetDraft"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
// GetDraft
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
({});
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
{}];
});
// FetchDefault
mock
.
onGet
(
new
RegExp
(
/^
\/
phonecalls
\/
fetchdefault$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: FetchDefault"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
mockDatas
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
mockDatas
?
mockDatas
:
[]];
});
// FetchDefault
mock
.
onGet
(
new
RegExp
(
/^
\/
phonecalls
\/
fetchdefault
(\?[\w
-.
/
?%&=,
]
*
)
*$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: FetchDefault"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
if
(
config
.
url
.
includes
(
'page'
)){
let
url
=
config
.
url
.
split
(
'?'
)[
1
];
let
params
=
qs
.
parse
(
url
);
Object
.
assign
(
config
,
params
);
}
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
let
total
=
mockDatas
.
length
;
let
records
:
Array
<
any
>
=
[];
if
(
!
config
.
page
||
!
config
.
size
){
records
=
mockDatas
;
}
else
{
if
((
config
.
page
-
1
)
*
config
.
size
<
total
){
records
=
mockDatas
.
slice
(
config
.
page
,
config
.
size
);
}
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
records
?
records
:
[]);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
records
?
records
:
[]];
});
// FetchByAccount
mock
.
onGet
(
new
RegExp
(
/^
\/
phonecalls
\/
fetchbyaccount$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: FetchByAccount"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
mockDatas
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
mockDatas
?
mockDatas
:
[]];
});
// FetchByAccount
mock
.
onGet
(
new
RegExp
(
/^
\/
phonecalls
\/
fetchbyaccount
(\?[\w
-.
/
?%&=,
]
*
)
*$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: FetchByAccount"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
if
(
config
.
url
.
includes
(
'page'
)){
let
url
=
config
.
url
.
split
(
'?'
)[
1
];
let
params
=
qs
.
parse
(
url
);
Object
.
assign
(
config
,
params
);
}
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
let
total
=
mockDatas
.
length
;
let
records
:
Array
<
any
>
=
[];
if
(
!
config
.
page
||
!
config
.
size
){
records
=
mockDatas
;
}
else
{
if
((
config
.
page
-
1
)
*
config
.
size
<
total
){
records
=
mockDatas
.
slice
(
config
.
page
,
config
.
size
);
}
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
records
?
records
:
[]);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
records
?
records
:
[]];
});
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// Get
mock
.
onGet
(
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: Get"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'activityid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
let
items
=
mockDatas
?
mockDatas
:
[];
let
_items
=
items
.
find
((
item
:
any
)
=>
Object
.
is
(
item
.
activityid
,
tempValue
.
activityid
));
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
_items
?
_items
:{});
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
_items
?
_items
:{}];
});
// Remove
mock
.
onDelete
(
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:phonecall 方法: Remove"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'activityid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
phonecalls
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
let
items
=
mockDatas
?
mockDatas
:
[];
let
_items
=
items
.
find
((
item
:
any
)
=>
Object
.
is
(
item
.
activityid
,
tempValue
.
activityid
));
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
_items
?
_items
:{});
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
_items
?
_items
:{}];
});
app_BusinessCentral/src/mock/index.ts
浏览文件 @
e0b6c482
...
...
@@ -13,6 +13,7 @@ import './entity/invoices/invoices';
import
'./entity/leads/leads'
;
import
'./entity/incidents/incidents'
;
import
'./entity/ibiz-lists/ibiz-lists'
;
import
'./entity/phone-calls/phone-calls'
;
import
'./entity/sales-literatures/sales-literatures'
;
import
'./entity/activity-pointers/activity-pointers'
;
import
'./entity/quotes/quotes'
;
...
...
app_BusinessCentral/src/service/entity-service-register.ts
浏览文件 @
e0b6c482
...
...
@@ -45,6 +45,7 @@ export class EntityServiceRegister {
this
.
allEntityService
.
set
(
'lead'
,
()
=>
import
(
'@/service/lead/lead-service'
));
this
.
allEntityService
.
set
(
'incident'
,
()
=>
import
(
'@/service/incident/incident-service'
));
this
.
allEntityService
.
set
(
'ibizlist'
,
()
=>
import
(
'@/service/ibiz-list/ibiz-list-service'
));
this
.
allEntityService
.
set
(
'phonecall'
,
()
=>
import
(
'@/service/phone-call/phone-call-service'
));
this
.
allEntityService
.
set
(
'salesliterature'
,
()
=>
import
(
'@/service/sales-literature/sales-literature-service'
));
this
.
allEntityService
.
set
(
'activitypointer'
,
()
=>
import
(
'@/service/activity-pointer/activity-pointer-service'
));
this
.
allEntityService
.
set
(
'quote'
,
()
=>
import
(
'@/service/quote/quote-service'
));
...
...
app_BusinessCentral/src/service/phone-call/phone-call-service-base.ts
0 → 100644
浏览文件 @
e0b6c482
import
{
Http
,
Util
}
from
'@/utils'
;
import
EntityService
from
'../entity-service'
;
/**
* 电话联络服务对象基类
*
* @export
* @class PhoneCallServiceBase
* @extends {EntityServie}
*/
export
default
class
PhoneCallServiceBase
extends
EntityService
{
/**
* Creates an instance of PhoneCallServiceBase.
*
* @param {*} [opts={}]
* @memberof PhoneCallServiceBase
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
/**
* 初始化基础数据
*
* @memberof PhoneCallServiceBase
*/
public
initBasicData
(){
this
.
APPLYDEKEY
=
'phonecall'
;
this
.
APPDEKEY
=
'activityid'
;
this
.
APPDENAME
=
'phonecalls'
;
this
.
APPDETEXT
=
'subject'
;
this
.
APPNAME
=
'businesscentral'
;
this
.
SYSTEMNAME
=
'ibizbusinesscentral'
;
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
Select
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
get
(
`/phonecalls/
${
context
.
phonecall
}
/select`
,
isloading
);
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
Create
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
if
(
!
data
.
srffrontuf
||
data
.
srffrontuf
!==
"1"
){
data
[
this
.
APPDEKEY
]
=
null
;
}
if
(
data
.
srffrontuf
){
delete
data
.
srffrontuf
;
}
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
let
res
:
any
=
await
Http
.
getInstance
().
post
(
`/phonecalls`
,
data
,
isloading
);
return
res
;
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
Get
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
res
:
any
=
await
Http
.
getInstance
().
get
(
`/phonecalls/
${
context
.
phonecall
}
`
,
isloading
);
return
res
;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
CheckKey
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
post
(
`/phonecalls/
${
context
.
phonecall
}
/checkkey`
,
data
,
isloading
);
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
Update
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
let
res
:
any
=
await
Http
.
getInstance
().
put
(
`/phonecalls/
${
context
.
phonecall
}
`
,
data
,
isloading
);
return
res
;
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
Save
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
let
res
:
any
=
await
Http
.
getInstance
().
post
(
`/phonecalls/
${
context
.
phonecall
}
/save`
,
data
,
isloading
);
return
res
;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
GetDraft
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
res
:
any
=
await
Http
.
getInstance
().
get
(
`/phonecalls/getdraft`
,
isloading
);
res
.
data
.
phonecall
=
data
.
phonecall
;
return
res
;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
Remove
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
delete
(
`/phonecalls/
${
context
.
phonecall
}
`
,
isloading
);
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
FetchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
Http
.
getInstance
().
get
(
`/phonecalls/fetchdefault`
,
tempData
,
isloading
);
}
/**
* FetchByAccount接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PhoneCallServiceBase
*/
public
async
FetchByAccount
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
Http
.
getInstance
().
get
(
`/phonecalls/fetchbyaccount`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_BusinessCentral/src/service/phone-call/phone-call-service.ts
0 → 100644
浏览文件 @
e0b6c482
import
{
Http
,
Util
}
from
'@/utils'
;
import
PhoneCallServiceBase
from
'./phone-call-service-base'
;
/**
* 电话联络服务对象
*
* @export
* @class PhoneCallService
* @extends {PhoneCallServiceBase}
*/
export
default
class
PhoneCallService
extends
PhoneCallServiceBase
{
/**
* Creates an instance of PhoneCallService.
*
* @param {*} [opts={}]
* @memberof PhoneCallService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
app_BusinessCentral/src/uiservice/phone-call/phone-call-ui-service-base.ts
0 → 100644
浏览文件 @
e0b6c482
import
{
Environment
}
from
'@/environments/environment'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
UIService
from
'../ui-service'
;
import
{
Subject
}
from
'rxjs'
;
import
PhoneCallService
from
'@/service/phone-call/phone-call-service'
;
/**
* 电话联络UI服务对象基类
*
* @export
* @class PhoneCallUIServiceBase
*/
export
default
class
PhoneCallUIServiceBase
extends
UIService
{
/**
* 是否支持工作流
*
* @memberof PhoneCallUIServiceBase
*/
public
isEnableWorkflow
:
boolean
=
false
;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof PhoneCallUIServiceBase
*/
public
dataService
:
PhoneCallService
=
new
PhoneCallService
();
/**
* 所有关联视图
*
* @memberof PhoneCallUIServiceBase
*/
public
allViewMap
:
Map
<
string
,
Object
>
=
new
Map
();
/**
* 状态值
*
* @memberof PhoneCallUIServiceBase
*/
public
stateValue
:
number
=
0
;
/**
* 状态属性
*
* @memberof PhoneCallUIServiceBase
*/
public
stateField
:
string
=
""
;
/**
* 主状态属性集合
*
* @memberof PhoneCallUIServiceBase
*/
public
mainStateFields
:
Array
<
any
>
=
[];
/**
* 主状态集合Map
*
* @memberof PhoneCallUIServiceBase
*/
public
allDeMainStateMap
:
Map
<
string
,
string
>
=
new
Map
();
/**
* Creates an instance of PhoneCallUIServiceBase.
*
* @param {*} [opts={}]
* @memberof PhoneCallUIServiceBase
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
initViewMap
();
this
.
initDeMainStateMap
();
}
/**
* 初始化视图Map
*
* @memberof PhoneCallUIServiceBase
*/
public
initViewMap
(){
}
/**
* 初始化主状态集合
*
* @memberof PhoneCallUIServiceBase
*/
public
initDeMainStateMap
(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof PhoneCallUIServiceBase
*/
public
async
getRDAppView
(
srfkey
:
string
,
isEnableWorkflow
:
boolean
){
this
.
isEnableWorkflow
=
isEnableWorkflow
;
// 进行数据查询
let
result
:
any
=
await
this
.
dataService
.
Get
({
phonecall
:
srfkey
});
const
curData
:
any
=
result
.
data
;
//判断当前数据模式,默认为true,todo
const
iRealDEModel
:
boolean
=
true
;
let
bDataInWF
:
boolean
=
false
;
let
bWFMode
:
any
=
false
;
// 计算数据模式
if
(
this
.
isEnableWorkflow
)
{
bDataInWF
=
await
this
.
dataService
.
testDataInWF
({
stateValue
:
this
.
stateValue
,
stateField
:
this
.
stateField
},
curData
);
if
(
bDataInWF
)
{
bDataInWF
=
true
;
bWFMode
=
await
this
.
dataService
.
testUserExistWorklist
(
null
,
curData
);
}
}
let
strPDTViewParam
:
string
=
await
this
.
getDESDDEViewPDTParam
(
curData
,
bDataInWF
,
bWFMode
);
//若不是当前数据模式,处理strPDTViewParam,todo
//查找视图
//返回视图
return
this
.
allViewMap
.
get
(
strPDTViewParam
);
}
/**
* 获取实际的数据类型
*
* @memberof PhoneCallUIServiceBase
*/
public
getRealDEType
(
entity
:
any
){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof PhoneCallUIServiceBase
*/
public
async
getDESDDEViewPDTParam
(
curData
:
any
,
bDataInWF
:
boolean
,
bWFMode
:
boolean
){
let
strPDTParam
:
string
=
''
;
if
(
bDataInWF
)
{
// 判断数据是否在流程中
}
//多表单,todo
const
isEnableMultiForm
:
boolean
=
false
;
const
multiFormDEField
:
string
|
null
=
null
;
if
(
isEnableMultiForm
&&
multiFormDEField
)
{
const
objFormValue
:
string
=
curData
[
multiFormDEField
];
if
(
!
Environment
.
isAppMode
){
return
'MOBEDITVIEW'
+
objFormValue
;
}
return
'EDITVIEW'
+
objFormValue
;
}
if
(
!
Environment
.
isAppMode
){
if
(
this
.
getDEMainStateTag
(
curData
)){
return
`MOBEDITVIEW:MSTAG:
${
await
this
.
getDEMainStateTag
(
curData
)}
`
;
}
return
'MOBEDITVIEW:'
;
}
if
(
this
.
getDEMainStateTag
(
curData
)){
return
`EDITVIEW:MSTAG:
${
await
this
.
getDEMainStateTag
(
curData
)}
`
;
}
return
'EDITVIEW:'
;
}
/**
* 获取数据对象的主状态标识
*
* @param curData 当前数据
* @memberof PhoneCallUIServiceBase
*/
public
async
getDEMainStateTag
(
curData
:
any
){
if
(
this
.
mainStateFields
.
length
===
0
)
return
null
;
this
.
mainStateFields
.
forEach
((
singleMainField
:
any
)
=>
{
if
(
!
(
singleMainField
in
curData
)){
console
.
error
(
`当前数据对象不包含属性singleMainField,可能会发生错误`
);
}
})
let
strTag
:
String
=
""
;
for
(
let
i
=
0
;
i
<=
1
;
i
++
)
{
let
strTag
:
string
=
(
curData
[
this
.
mainStateFields
[
0
]])?(
i
==
0
)
?
curData
[
this
.
mainStateFields
[
0
]]
:
""
:
""
;
if
(
this
.
mainStateFields
.
length
>=
2
)
{
for
(
let
j
=
0
;
j
<=
1
;
j
++
)
{
let
strTag2
:
string
=
(
curData
[
this
.
mainStateFields
[
1
]])?
`
${
strTag
}
__
${(
j
==
0
)
?
curData
[
this
.
mainStateFields
[
1
]]
:
""
}
`
:
strTag
;
if
(
this
.
mainStateFields
.
length
>=
3
)
{
for
(
let
k
=
0
;
k
<=
1
;
k
++
)
{
let
strTag3
:
string
=
(
curData
[
this
.
mainStateFields
[
2
]])?
`
${
strTag2
}
__
${(
k
==
0
)
?
curData
[
this
.
mainStateFields
[
2
]]
:
""
}
`
:
strTag2
;
// 判断是否存在
return
this
.
allDeMainStateMap
.
get
(
strTag3
);
}
}
else
{
return
this
.
allDeMainStateMap
.
get
(
strTag2
);
}
}
}
else
{
return
this
.
allDeMainStateMap
.
get
(
strTag
);
}
}
return
null
;
}
}
\ No newline at end of file
app_BusinessCentral/src/uiservice/phone-call/phone-call-ui-service.ts
0 → 100644
浏览文件 @
e0b6c482
import
PhoneCallUIServiceBase
from
'./phone-call-ui-service-base'
;
/**
* 电话联络UI服务对象
*
* @export
* @class PhoneCallUIService
*/
export
default
class
PhoneCallUIService
extends
PhoneCallUIServiceBase
{
/**
* Creates an instance of PhoneCallUIService.
*
* @param {*} [opts={}]
* @memberof PhoneCallUIService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
app_BusinessCentral/src/uiservice/ui-service-register.ts
浏览文件 @
e0b6c482
...
...
@@ -45,6 +45,7 @@ export class UIServiceRegister {
this
.
allUIService
.
set
(
'lead'
,
()
=>
import
(
'@/uiservice/lead/lead-ui-service'
));
this
.
allUIService
.
set
(
'incident'
,
()
=>
import
(
'@/uiservice/incident/incident-ui-service'
));
this
.
allUIService
.
set
(
'ibizlist'
,
()
=>
import
(
'@/uiservice/ibiz-list/ibiz-list-ui-service'
));
this
.
allUIService
.
set
(
'phonecall'
,
()
=>
import
(
'@/uiservice/phone-call/phone-call-ui-service'
));
this
.
allUIService
.
set
(
'salesliterature'
,
()
=>
import
(
'@/uiservice/sales-literature/sales-literature-ui-service'
));
this
.
allUIService
.
set
(
'activitypointer'
,
()
=>
import
(
'@/uiservice/activity-pointer/activity-pointer-ui-service'
));
this
.
allUIService
.
set
(
'quote'
,
()
=>
import
(
'@/uiservice/quote/quote-ui-service'
));
...
...
businesscentral-app/businesscentral-app-businesscentral/src/main/docker/Dockerfile
浏览文件 @
e0b6c482
...
...
@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /businesscentral-app-businesscentral.jar
EXPOSE
1032
0
EXPOSE
808
0
ADD
businesscentral-app-businesscentral.jar /businesscentral-app-businesscentral.jar
businesscentral-app/businesscentral-app-businesscentral/src/main/docker/businesscentral-app-businesscentral.yaml
浏览文件 @
e0b6c482
...
...
@@ -3,23 +3,9 @@ services:
businesscentral-app-businesscentral
:
image
:
registry.cn-shanghai.aliyuncs.com/ibizsys/businesscentral-app-businesscentral:latest
ports
:
-
"
10320:1032
0"
-
"
8080:808
0"
networks
:
-
agent_network
environment
:
-
SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
-
SERVER_PORT=10320
-
SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
-
SPRING_REDIS_HOST=172.16.100.243
-
SPRING_REDIS_PORT=6379
-
SPRING_REDIS_DATABASE=0
-
SPRING_DATASOURCE_USERNAME=a_LAB01_e85d8801c
-
SPRING_DATASOURCE_PASSWORD=b1@@@772
-
SPRING_DATASOURCE_URL=jdbc:mysql://172.16.186.185:3306/a_LAB01_e85d8801c?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
-
SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
-
SPRING_DATASOURCE_DEFAULTSCHEMA=a_LAB01_e85d8801c
-
CAS=https://passport.ibizlab.cn
-
NACOS=172.16.240.110:8848
deploy
:
resources
:
limits
:
...
...
businesscentral-app/businesscentral-app-businesscentral/src/main/resources/application-businesscentral-prod.yml
浏览文件 @
e0b6c482
...
...
@@ -27,6 +27,10 @@ zuul:
path
:
/ibizlists/**
serviceId
:
ibizbusinesscentral-centralapi
stripPrefix
:
false
phonecall
:
path
:
/phonecalls/**
serviceId
:
ibizbusinesscentral-centralapi
stripPrefix
:
false
salesliterature
:
path
:
/salesliteratures/**
serviceId
:
ibizbusinesscentral-centralapi
...
...
businesscentral-core/src/main/java/cn/ibizlab/businesscentral/core/base/domain/PhoneCall.java
浏览文件 @
e0b6c482
...
...
@@ -306,7 +306,7 @@ public class PhoneCall extends EntityMP implements Serializable {
@JsonProperty
(
"exchangerate"
)
private
BigDecimal
exchangerate
;
/**
*
OwnerIdYomiName
*
负责人
*/
@TableField
(
value
=
"owneridyominame"
)
@JSONField
(
name
=
"owneridyominame"
)
...
...
@@ -759,7 +759,7 @@ public class PhoneCall extends EntityMP implements Serializable {
}
/**
* 设置 [
OwnerIdYomiName
]
* 设置 [
负责人
]
*/
public
void
setOwneridyominame
(
String
owneridyominame
){
this
.
owneridyominame
=
owneridyominame
;
...
...
businesscentral-core/src/main/java/cn/ibizlab/businesscentral/core/base/mapper/PhoneCallMapper.java
浏览文件 @
e0b6c482
...
...
@@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSONObject;
public
interface
PhoneCallMapper
extends
BaseMapper
<
PhoneCall
>{
Page
<
PhoneCall
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
PhoneCallSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
PhoneCall
>
wrapper
)
;
Page
<
PhoneCall
>
searchByAccount
(
IPage
page
,
@Param
(
"srf"
)
PhoneCallSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
PhoneCall
>
wrapper
)
;
@Override
PhoneCall
selectById
(
Serializable
id
);
@Override
...
...
businesscentral-core/src/main/java/cn/ibizlab/businesscentral/core/base/service/IPhoneCallService.java
浏览文件 @
e0b6c482
...
...
@@ -37,6 +37,7 @@ public interface IPhoneCallService extends IService<PhoneCall>{
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
Page
<
PhoneCall
>
searchDefault
(
PhoneCallSearchContext
context
)
;
Page
<
PhoneCall
>
searchByAccount
(
PhoneCallSearchContext
context
)
;
List
<
PhoneCall
>
selectByServiceid
(
String
serviceid
)
;
void
removeByServiceid
(
String
serviceid
)
;
List
<
PhoneCall
>
selectBySlaid
(
String
slaid
)
;
...
...
businesscentral-core/src/main/java/cn/ibizlab/businesscentral/core/base/service/impl/PhoneCallServiceImpl.java
浏览文件 @
e0b6c482
...
...
@@ -190,6 +190,15 @@ public class PhoneCallServiceImpl extends ServiceImpl<PhoneCallMapper, PhoneCall
return
new
PageImpl
<
PhoneCall
>(
pages
.
getRecords
(),
context
.
getPageable
(),
pages
.
getTotal
());
}
/**
* 查询集合 ByAccount
*/
@Override
public
Page
<
PhoneCall
>
searchByAccount
(
PhoneCallSearchContext
context
)
{
com
.
baomidou
.
mybatisplus
.
extension
.
plugins
.
pagination
.
Page
<
PhoneCall
>
pages
=
baseMapper
.
searchByAccount
(
context
.
getPages
(),
context
,
context
.
getSelectCond
());
return
new
PageImpl
<
PhoneCall
>(
pages
.
getRecords
(),
context
.
getPageable
(),
pages
.
getTotal
());
}
...
...
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
e0b6c482
...
...
@@ -3152,7 +3152,7 @@
<!--输出实体[CONTACT]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-contact-1
2
-42"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-contact-1
8
-42"
>
<createTable
tableName=
"CONTACT"
>
<column
name=
"ADDRESS1_FREIGHTTERMSCODE"
remarks=
""
type=
"VARCHAR(30)"
>
</column>
...
...
@@ -4480,7 +4480,7 @@
<!--输出实体[ACCOUNT]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-account-
35
-53"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-account-
49
-53"
>
<createTable
tableName=
"ACCOUNT"
>
<column
name=
"ADDRESS1_PRIMARYCONTACTNAME"
remarks=
""
type=
"VARCHAR(100)"
>
</column>
...
...
@@ -8778,7 +8778,7 @@
<!--输出实体[PHONECALL]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-phonecall-1-92"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-phonecall-1
6
-92"
>
<createTable
tableName=
"PHONECALL"
>
<column
name=
"UTCCONVERSIONTIMEZONECODE"
remarks=
""
type=
"INT"
>
</column>
...
...
@@ -10973,22 +10973,22 @@
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"MONTHLYFISCALCALENDAR"
constraintName=
"DER1N_MONTHLYFISCALCALENDAR__T"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[CONTACT]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
2
-206"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
8
-206"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDEQUIPMENTID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__EQUIPMENT__PREF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"EQUIPMENTID"
referencedTableName=
"EQUIPMENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
2
-207"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
8
-207"
>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGLEADID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__LEAD__ORIGINATI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"LEADID"
referencedTableName=
"LEAD"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
2
-208"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
8
-208"
>
<addForeignKeyConstraint
baseColumnNames=
"DEFAULTPRICELEVELID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__PRICELEVEL__DEF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
2
-209"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
8
-209"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDSERVICEID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__SERVICE__PREFER"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
2
-210"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
8
-210"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
2
-211"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-1
8
-211"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__TRANSACTIONCURR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[TEAM]外键关系 -->
...
...
@@ -11074,31 +11074,31 @@
<addForeignKeyConstraint
baseColumnNames=
"METRICID"
baseTableName=
"GOAL"
constraintName=
"DER1N_GOAL__METRIC__METRICID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"METRICID"
referencedTableName=
"METRIC"
validate=
"true"
/>
</changeSet>
<!--输出实体[ACCOUNT]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-246"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-246"
>
<addForeignKeyConstraint
baseColumnNames=
"PARENTACCOUNTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__ACCOUNT__PARENT"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ACCOUNTID"
referencedTableName=
"ACCOUNT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-247"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-247"
>
<addForeignKeyConstraint
baseColumnNames=
"PRIMARYCONTACTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__CONTACT__PRIMAR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTACTID"
referencedTableName=
"CONTACT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-248"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-248"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDEQUIPMENTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__EQUIPMENT__PREF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"EQUIPMENTID"
referencedTableName=
"EQUIPMENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-249"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-249"
>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGLEADID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__LEAD__ORIGINATI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"LEADID"
referencedTableName=
"LEAD"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-250"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-250"
>
<addForeignKeyConstraint
baseColumnNames=
"DEFAULTPRICELEVELID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__PRICELEVEL__DEF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-251"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-251"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDSERVICEID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SERVICE__PREFER"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-252"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-252"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-253"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-253"
>
<addForeignKeyConstraint
baseColumnNames=
"TERRITORYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TERRITORY__TERR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TERRITORYID"
referencedTableName=
"TERRITORY"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
35
-254"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-254"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TRANSACTIONCURR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[KNOWLEDGEARTICLEVIEWS]外键关系 -->
...
...
@@ -11416,13 +11416,13 @@
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"LEADADDRESS"
constraintName=
"DER1N_LEADADDRESS__TRANSACTION"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[PHONECALL]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-phonecall-1-357"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-phonecall-1
6
-357"
>
<addForeignKeyConstraint
baseColumnNames=
"SERVICEID"
baseTableName=
"PHONECALL"
constraintName=
"DER1N_PHONECALL__SERVICE__SERV"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-phonecall-1-358"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-phonecall-1
6
-358"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"PHONECALL"
constraintName=
"DER1N_PHONECALL__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-phonecall-1-359"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-phonecall-1
6
-359"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"PHONECALL"
constraintName=
"DER1N_PHONECALL__TRANSACTIONCU"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[ACTIVITYMIMEATTACHMENT]外键关系 -->
...
...
businesscentral-core/src/main/resources/mapper/base/phonecall/PhoneCallMapper.xml
浏览文件 @
e0b6c482
...
...
@@ -55,6 +55,21 @@
<if
test=
"ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere"
>
${ew.sqlSegment}
</if>
</select>
<!--数据集合[ByAccount]-->
<select
id=
"searchByAccount"
parameterType=
"cn.ibizlab.businesscentral.core.base.filter.PhoneCallSearchContext"
resultMap=
"PhoneCallResultMap"
>
select t1.* from (
<include
refid=
"ByAccount"
/>
)t1
<where><if
test=
"ew!=null and ew.sqlSegment!=null and !ew.emptyOfWhere"
>
${ew.sqlSegment}
</if></where>
<if
test=
"ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere"
>
${ew.sqlSegment}
</if>
</select>
<!--数据查询[ByAccount]-->
<sql
id=
"ByAccount"
databaseId=
"mysql"
>
<![CDATA[ SELECT t1.`ACTIVITYID`, t1.`ACTIVITYTYPECODE`, t1.`ACTUALDURATIONMINUTES`, t1.`ACTUALEND`, t1.`ACTUALSTART`, t1.`BILLED`, t1.`CATEGORY`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`DIRECTIONCODE`, t1.`EXCHANGERATE`, t1.`IMPORTSEQUENCENUMBER`, t1.`LASTONHOLDTIME`, t1.`LEFTVOICEMAIL`, t1.`ONHOLDTIME`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PHONENUMBER`, t1.`PRIORITYCODE`, t1.`PROCESSID`, t1.`REGARDINGOBJECTID`, t1.`REGARDINGOBJECTIDYOMINAME`, t1.`REGARDINGOBJECTTYPECODE`, t1.`REGULARACTIVITY`, t1.`SCHEDULEDDURATIONMINUTES`, t1.`SCHEDULEDEND`, t1.`SCHEDULEDSTART`, t1.`SERVICEID`, t1.`SLAID`, t1.`SLANAME`, t1.`SORTDATE`, t1.`STAGEID`, t1.`STATECODE`, t1.`STATUSCODE`, t1.`SUBCATEGORY`, t1.`SUBJECT`, t1.`SUBSCRIPTIONID`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`TRAVERSEDPATH`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`WORKFLOWCREATED` FROM `PHONECALL` t1
WHERE ( t1.`REGARDINGOBJECTID` = #{srf.datacontext.srfparentkey} )
]]>
</sql>
<!--数据查询[Default]-->
<sql
id=
"Default"
databaseId=
"mysql"
>
<![CDATA[ SELECT t1.`ACTIVITYID`, t1.`ACTIVITYTYPECODE`, t1.`ACTUALDURATIONMINUTES`, t1.`ACTUALEND`, t1.`ACTUALSTART`, t1.`BILLED`, t1.`CATEGORY`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`DIRECTIONCODE`, t1.`EXCHANGERATE`, t1.`IMPORTSEQUENCENUMBER`, t1.`LASTONHOLDTIME`, t1.`LEFTVOICEMAIL`, t1.`ONHOLDTIME`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PHONENUMBER`, t1.`PRIORITYCODE`, t1.`PROCESSID`, t1.`REGARDINGOBJECTID`, t1.`REGARDINGOBJECTIDYOMINAME`, t1.`REGARDINGOBJECTTYPECODE`, t1.`REGULARACTIVITY`, t1.`SCHEDULEDDURATIONMINUTES`, t1.`SCHEDULEDEND`, t1.`SCHEDULEDSTART`, t1.`SERVICEID`, t1.`SLAID`, t1.`SLANAME`, t1.`SORTDATE`, t1.`STAGEID`, t1.`STATECODE`, t1.`STATUSCODE`, t1.`SUBCATEGORY`, t1.`SUBJECT`, t1.`SUBSCRIPTIONID`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`TRAVERSEDPATH`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`WORKFLOWCREATED` FROM `PHONECALL` t1
...
...
businesscentral-core/src/main/resources/permission/systemResource.json
浏览文件 @
e0b6c482
...
...
@@ -52,6 +52,14 @@
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
},
{
"id"
:
"createman"
,
"name"
:
"创建人"
}]
}
,
{
"dename"
:
"PhoneCall"
,
"delogicname"
:
"电话联络"
,
"sysmoudle"
:{
"id"
:
"BASE"
,
"name"
:
"Base"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
},{
"id"
:
"ByAccount"
,
"name"
:
"ByAccount"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
},
{
"id"
:
"createman"
,
"name"
:
"创建人"
}]
}
,
{
"dename"
:
"SalesLiterature"
,
"delogicname"
:
"销售宣传资料"
,
"sysmoudle"
:{
"id"
:
"SALES"
,
"name"
:
"Sales"
},
...
...
businesscentral-provider/businesscentral-provider-centralapi/src/main/java/cn/ibizlab/businesscentral/centralapi/dto/PhoneCallDTO.java
0 → 100644
浏览文件 @
e0b6c482
package
cn
.
ibizlab
.
businesscentral
.
centralapi
.
dto
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.math.BigInteger
;
import
java.util.Map
;
import
java.util.HashMap
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
cn.ibizlab.businesscentral.util.domain.DTOBase
;
import
lombok.Data
;
/**
* 服务DTO对象[PhoneCallDTO]
*/
@Data
public
class
PhoneCallDTO
extends
DTOBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 属性 [UTCCONVERSIONTIMEZONECODE]
*
*/
@JSONField
(
name
=
"utcconversiontimezonecode"
)
@JsonProperty
(
"utcconversiontimezonecode"
)
private
Integer
utcconversiontimezonecode
;
/**
* 属性 [TRAVERSEDPATH]
*
*/
@JSONField
(
name
=
"traversedpath"
)
@JsonProperty
(
"traversedpath"
)
private
String
traversedpath
;
/**
* 属性 [REGARDINGOBJECTID]
*
*/
@JSONField
(
name
=
"regardingobjectid"
)
@JsonProperty
(
"regardingobjectid"
)
private
String
regardingobjectid
;
/**
* 属性 [IMPORTSEQUENCENUMBER]
*
*/
@JSONField
(
name
=
"importsequencenumber"
)
@JsonProperty
(
"importsequencenumber"
)
private
Integer
importsequencenumber
;
/**
* 属性 [UPDATEMAN]
*
*/
@JSONField
(
name
=
"updateman"
)
@JsonProperty
(
"updateman"
)
private
String
updateman
;
/**
* 属性 [OVERRIDDENCREATEDON]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"overriddencreatedon"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"overriddencreatedon"
)
private
Timestamp
overriddencreatedon
;
/**
* 属性 [LASTONHOLDTIME]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"lastonholdtime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"lastonholdtime"
)
private
Timestamp
lastonholdtime
;
/**
* 属性 [FROM]
*
*/
@JSONField
(
name
=
"from"
)
@JsonProperty
(
"from"
)
private
String
from
;
/**
* 属性 [CREATEDATE]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"createdate"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"createdate"
)
private
Timestamp
createdate
;
/**
* 属性 [PHONENUMBER]
*
*/
@JSONField
(
name
=
"phonenumber"
)
@JsonProperty
(
"phonenumber"
)
private
String
phonenumber
;
/**
* 属性 [DESCRIPTION]
*
*/
@JSONField
(
name
=
"description"
)
@JsonProperty
(
"description"
)
private
String
description
;
/**
* 属性 [SUBJECT]
*
*/
@JSONField
(
name
=
"subject"
)
@JsonProperty
(
"subject"
)
private
String
subject
;
/**
* 属性 [SORTDATE]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"sortdate"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"sortdate"
)
private
Timestamp
sortdate
;
/**
* 属性 [ACTUALEND]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"actualend"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"actualend"
)
private
Timestamp
actualend
;
/**
* 属性 [STATUSCODE]
*
*/
@JSONField
(
name
=
"statuscode"
)
@JsonProperty
(
"statuscode"
)
private
Integer
statuscode
;
/**
* 属性 [CREATEMAN]
*
*/
@JSONField
(
name
=
"createman"
)
@JsonProperty
(
"createman"
)
private
String
createman
;
/**
* 属性 [DIRECTIONCODE]
*
*/
@JSONField
(
name
=
"directioncode"
)
@JsonProperty
(
"directioncode"
)
private
Integer
directioncode
;
/**
* 属性 [ACTUALSTART]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"actualstart"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"actualstart"
)
private
Timestamp
actualstart
;
/**
* 属性 [STATECODE]
*
*/
@JSONField
(
name
=
"statecode"
)
@JsonProperty
(
"statecode"
)
private
Integer
statecode
;
/**
* 属性 [ONHOLDTIME]
*
*/
@JSONField
(
name
=
"onholdtime"
)
@JsonProperty
(
"onholdtime"
)
private
Integer
onholdtime
;
/**
* 属性 [LEFTVOICEMAIL]
*
*/
@JSONField
(
name
=
"leftvoicemail"
)
@JsonProperty
(
"leftvoicemail"
)
private
Integer
leftvoicemail
;
/**
* 属性 [ACTUALDURATIONMINUTES]
*
*/
@JSONField
(
name
=
"actualdurationminutes"
)
@JsonProperty
(
"actualdurationminutes"
)
private
Integer
actualdurationminutes
;
/**
* 属性 [REGARDINGOBJECTIDYOMINAME]
*
*/
@JSONField
(
name
=
"regardingobjectidyominame"
)
@JsonProperty
(
"regardingobjectidyominame"
)
private
String
regardingobjectidyominame
;
/**
* 属性 [OWNERIDTYPE]
*
*/
@JSONField
(
name
=
"owneridtype"
)
@JsonProperty
(
"owneridtype"
)
private
String
owneridtype
;
/**
* 属性 [VERSIONNUMBER]
*
*/
@JSONField
(
name
=
"versionnumber"
)
@JsonProperty
(
"versionnumber"
)
private
BigInteger
versionnumber
;
/**
* 属性 [PROCESSID]
*
*/
@JSONField
(
name
=
"processid"
)
@JsonProperty
(
"processid"
)
private
String
processid
;
/**
* 属性 [SUBCATEGORY]
*
*/
@JSONField
(
name
=
"subcategory"
)
@JsonProperty
(
"subcategory"
)
private
String
subcategory
;
/**
* 属性 [REGARDINGOBJECTTYPECODE]
*
*/
@JSONField
(
name
=
"regardingobjecttypecode"
)
@JsonProperty
(
"regardingobjecttypecode"
)
private
String
regardingobjecttypecode
;
/**
* 属性 [UPDATEDATE]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"updatedate"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"updatedate"
)
private
Timestamp
updatedate
;
/**
* 属性 [OWNERID]
*
*/
@JSONField
(
name
=
"ownerid"
)
@JsonProperty
(
"ownerid"
)
private
String
ownerid
;
/**
* 属性 [STAGEID]
*
*/
@JSONField
(
name
=
"stageid"
)
@JsonProperty
(
"stageid"
)
private
String
stageid
;
/**
* 属性 [SLANAME]
*
*/
@JSONField
(
name
=
"slaname"
)
@JsonProperty
(
"slaname"
)
private
String
slaname
;
/**
* 属性 [CATEGORY]
*
*/
@JSONField
(
name
=
"category"
)
@JsonProperty
(
"category"
)
private
String
category
;
/**
* 属性 [SUBSCRIPTIONID]
*
*/
@JSONField
(
name
=
"subscriptionid"
)
@JsonProperty
(
"subscriptionid"
)
private
String
subscriptionid
;
/**
* 属性 [SCHEDULEDEND]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"scheduledend"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"scheduledend"
)
private
Timestamp
scheduledend
;
/**
* 属性 [EXCHANGERATE]
*
*/
@JSONField
(
name
=
"exchangerate"
)
@JsonProperty
(
"exchangerate"
)
private
BigDecimal
exchangerate
;
/**
* 属性 [OWNERIDYOMINAME]
*
*/
@JSONField
(
name
=
"owneridyominame"
)
@JsonProperty
(
"owneridyominame"
)
private
String
owneridyominame
;
/**
* 属性 [ACTIVITYTYPECODE]
*
*/
@JSONField
(
name
=
"activitytypecode"
)
@JsonProperty
(
"activitytypecode"
)
private
String
activitytypecode
;
/**
* 属性 [SCHEDULEDSTART]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"scheduledstart"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"scheduledstart"
)
private
Timestamp
scheduledstart
;
/**
* 属性 [TIMEZONERULEVERSIONNUMBER]
*
*/
@JSONField
(
name
=
"timezoneruleversionnumber"
)
@JsonProperty
(
"timezoneruleversionnumber"
)
private
Integer
timezoneruleversionnumber
;
/**
* 属性 [WORKFLOWCREATED]
*
*/
@JSONField
(
name
=
"workflowcreated"
)
@JsonProperty
(
"workflowcreated"
)
private
Integer
workflowcreated
;
/**
* 属性 [REGULARACTIVITY]
*
*/
@JSONField
(
name
=
"regularactivity"
)
@JsonProperty
(
"regularactivity"
)
private
Integer
regularactivity
;
/**
* 属性 [TO]
*
*/
@JSONField
(
name
=
"to"
)
@JsonProperty
(
"to"
)
private
String
to
;
/**
* 属性 [PRIORITYCODE]
*
*/
@JSONField
(
name
=
"prioritycode"
)
@JsonProperty
(
"prioritycode"
)
private
String
prioritycode
;
/**
* 属性 [ACTIVITYID]
*
*/
@JSONField
(
name
=
"activityid"
)
@JsonProperty
(
"activityid"
)
private
String
activityid
;
/**
* 属性 [ACTIVITYADDITIONALPARAMS]
*
*/
@JSONField
(
name
=
"activityadditionalparams"
)
@JsonProperty
(
"activityadditionalparams"
)
private
String
activityadditionalparams
;
/**
* 属性 [SCHEDULEDDURATIONMINUTES]
*
*/
@JSONField
(
name
=
"scheduleddurationminutes"
)
@JsonProperty
(
"scheduleddurationminutes"
)
private
Integer
scheduleddurationminutes
;
/**
* 属性 [BILLED]
*
*/
@JSONField
(
name
=
"billed"
)
@JsonProperty
(
"billed"
)
private
Integer
billed
;
/**
* 属性 [SLAID]
*
*/
@JSONField
(
name
=
"slaid"
)
@JsonProperty
(
"slaid"
)
private
String
slaid
;
/**
* 属性 [TRANSACTIONCURRENCYID]
*
*/
@JSONField
(
name
=
"transactioncurrencyid"
)
@JsonProperty
(
"transactioncurrencyid"
)
private
String
transactioncurrencyid
;
/**
* 属性 [SERVICEID]
*
*/
@JSONField
(
name
=
"serviceid"
)
@JsonProperty
(
"serviceid"
)
private
String
serviceid
;
/**
* 设置 [UTCCONVERSIONTIMEZONECODE]
*/
public
void
setUtcconversiontimezonecode
(
Integer
utcconversiontimezonecode
){
this
.
utcconversiontimezonecode
=
utcconversiontimezonecode
;
this
.
modify
(
"utcconversiontimezonecode"
,
utcconversiontimezonecode
);
}
/**
* 设置 [TRAVERSEDPATH]
*/
public
void
setTraversedpath
(
String
traversedpath
){
this
.
traversedpath
=
traversedpath
;
this
.
modify
(
"traversedpath"
,
traversedpath
);
}
/**
* 设置 [REGARDINGOBJECTID]
*/
public
void
setRegardingobjectid
(
String
regardingobjectid
){
this
.
regardingobjectid
=
regardingobjectid
;
this
.
modify
(
"regardingobjectid"
,
regardingobjectid
);
}
/**
* 设置 [IMPORTSEQUENCENUMBER]
*/
public
void
setImportsequencenumber
(
Integer
importsequencenumber
){
this
.
importsequencenumber
=
importsequencenumber
;
this
.
modify
(
"importsequencenumber"
,
importsequencenumber
);
}
/**
* 设置 [OVERRIDDENCREATEDON]
*/
public
void
setOverriddencreatedon
(
Timestamp
overriddencreatedon
){
this
.
overriddencreatedon
=
overriddencreatedon
;
this
.
modify
(
"overriddencreatedon"
,
overriddencreatedon
);
}
/**
* 设置 [LASTONHOLDTIME]
*/
public
void
setLastonholdtime
(
Timestamp
lastonholdtime
){
this
.
lastonholdtime
=
lastonholdtime
;
this
.
modify
(
"lastonholdtime"
,
lastonholdtime
);
}
/**
* 设置 [FROM]
*/
public
void
setFrom
(
String
from
){
this
.
from
=
from
;
this
.
modify
(
"from"
,
from
);
}
/**
* 设置 [PHONENUMBER]
*/
public
void
setPhonenumber
(
String
phonenumber
){
this
.
phonenumber
=
phonenumber
;
this
.
modify
(
"phonenumber"
,
phonenumber
);
}
/**
* 设置 [DESCRIPTION]
*/
public
void
setDescription
(
String
description
){
this
.
description
=
description
;
this
.
modify
(
"description"
,
description
);
}
/**
* 设置 [SUBJECT]
*/
public
void
setSubject
(
String
subject
){
this
.
subject
=
subject
;
this
.
modify
(
"subject"
,
subject
);
}
/**
* 设置 [SORTDATE]
*/
public
void
setSortdate
(
Timestamp
sortdate
){
this
.
sortdate
=
sortdate
;
this
.
modify
(
"sortdate"
,
sortdate
);
}
/**
* 设置 [ACTUALEND]
*/
public
void
setActualend
(
Timestamp
actualend
){
this
.
actualend
=
actualend
;
this
.
modify
(
"actualend"
,
actualend
);
}
/**
* 设置 [STATUSCODE]
*/
public
void
setStatuscode
(
Integer
statuscode
){
this
.
statuscode
=
statuscode
;
this
.
modify
(
"statuscode"
,
statuscode
);
}
/**
* 设置 [DIRECTIONCODE]
*/
public
void
setDirectioncode
(
Integer
directioncode
){
this
.
directioncode
=
directioncode
;
this
.
modify
(
"directioncode"
,
directioncode
);
}
/**
* 设置 [ACTUALSTART]
*/
public
void
setActualstart
(
Timestamp
actualstart
){
this
.
actualstart
=
actualstart
;
this
.
modify
(
"actualstart"
,
actualstart
);
}
/**
* 设置 [STATECODE]
*/
public
void
setStatecode
(
Integer
statecode
){
this
.
statecode
=
statecode
;
this
.
modify
(
"statecode"
,
statecode
);
}
/**
* 设置 [ONHOLDTIME]
*/
public
void
setOnholdtime
(
Integer
onholdtime
){
this
.
onholdtime
=
onholdtime
;
this
.
modify
(
"onholdtime"
,
onholdtime
);
}
/**
* 设置 [LEFTVOICEMAIL]
*/
public
void
setLeftvoicemail
(
Integer
leftvoicemail
){
this
.
leftvoicemail
=
leftvoicemail
;
this
.
modify
(
"leftvoicemail"
,
leftvoicemail
);
}
/**
* 设置 [ACTUALDURATIONMINUTES]
*/
public
void
setActualdurationminutes
(
Integer
actualdurationminutes
){
this
.
actualdurationminutes
=
actualdurationminutes
;
this
.
modify
(
"actualdurationminutes"
,
actualdurationminutes
);
}
/**
* 设置 [REGARDINGOBJECTIDYOMINAME]
*/
public
void
setRegardingobjectidyominame
(
String
regardingobjectidyominame
){
this
.
regardingobjectidyominame
=
regardingobjectidyominame
;
this
.
modify
(
"regardingobjectidyominame"
,
regardingobjectidyominame
);
}
/**
* 设置 [OWNERIDTYPE]
*/
public
void
setOwneridtype
(
String
owneridtype
){
this
.
owneridtype
=
owneridtype
;
this
.
modify
(
"owneridtype"
,
owneridtype
);
}
/**
* 设置 [VERSIONNUMBER]
*/
public
void
setVersionnumber
(
BigInteger
versionnumber
){
this
.
versionnumber
=
versionnumber
;
this
.
modify
(
"versionnumber"
,
versionnumber
);
}
/**
* 设置 [PROCESSID]
*/
public
void
setProcessid
(
String
processid
){
this
.
processid
=
processid
;
this
.
modify
(
"processid"
,
processid
);
}
/**
* 设置 [SUBCATEGORY]
*/
public
void
setSubcategory
(
String
subcategory
){
this
.
subcategory
=
subcategory
;
this
.
modify
(
"subcategory"
,
subcategory
);
}
/**
* 设置 [REGARDINGOBJECTTYPECODE]
*/
public
void
setRegardingobjecttypecode
(
String
regardingobjecttypecode
){
this
.
regardingobjecttypecode
=
regardingobjecttypecode
;
this
.
modify
(
"regardingobjecttypecode"
,
regardingobjecttypecode
);
}
/**
* 设置 [OWNERID]
*/
public
void
setOwnerid
(
String
ownerid
){
this
.
ownerid
=
ownerid
;
this
.
modify
(
"ownerid"
,
ownerid
);
}
/**
* 设置 [STAGEID]
*/
public
void
setStageid
(
String
stageid
){
this
.
stageid
=
stageid
;
this
.
modify
(
"stageid"
,
stageid
);
}
/**
* 设置 [SLANAME]
*/
public
void
setSlaname
(
String
slaname
){
this
.
slaname
=
slaname
;
this
.
modify
(
"slaname"
,
slaname
);
}
/**
* 设置 [CATEGORY]
*/
public
void
setCategory
(
String
category
){
this
.
category
=
category
;
this
.
modify
(
"category"
,
category
);
}
/**
* 设置 [SUBSCRIPTIONID]
*/
public
void
setSubscriptionid
(
String
subscriptionid
){
this
.
subscriptionid
=
subscriptionid
;
this
.
modify
(
"subscriptionid"
,
subscriptionid
);
}
/**
* 设置 [SCHEDULEDEND]
*/
public
void
setScheduledend
(
Timestamp
scheduledend
){
this
.
scheduledend
=
scheduledend
;
this
.
modify
(
"scheduledend"
,
scheduledend
);
}
/**
* 设置 [EXCHANGERATE]
*/
public
void
setExchangerate
(
BigDecimal
exchangerate
){
this
.
exchangerate
=
exchangerate
;
this
.
modify
(
"exchangerate"
,
exchangerate
);
}
/**
* 设置 [OWNERIDYOMINAME]
*/
public
void
setOwneridyominame
(
String
owneridyominame
){
this
.
owneridyominame
=
owneridyominame
;
this
.
modify
(
"owneridyominame"
,
owneridyominame
);
}
/**
* 设置 [ACTIVITYTYPECODE]
*/
public
void
setActivitytypecode
(
String
activitytypecode
){
this
.
activitytypecode
=
activitytypecode
;
this
.
modify
(
"activitytypecode"
,
activitytypecode
);
}
/**
* 设置 [SCHEDULEDSTART]
*/
public
void
setScheduledstart
(
Timestamp
scheduledstart
){
this
.
scheduledstart
=
scheduledstart
;
this
.
modify
(
"scheduledstart"
,
scheduledstart
);
}
/**
* 设置 [TIMEZONERULEVERSIONNUMBER]
*/
public
void
setTimezoneruleversionnumber
(
Integer
timezoneruleversionnumber
){
this
.
timezoneruleversionnumber
=
timezoneruleversionnumber
;
this
.
modify
(
"timezoneruleversionnumber"
,
timezoneruleversionnumber
);
}
/**
* 设置 [WORKFLOWCREATED]
*/
public
void
setWorkflowcreated
(
Integer
workflowcreated
){
this
.
workflowcreated
=
workflowcreated
;
this
.
modify
(
"workflowcreated"
,
workflowcreated
);
}
/**
* 设置 [REGULARACTIVITY]
*/
public
void
setRegularactivity
(
Integer
regularactivity
){
this
.
regularactivity
=
regularactivity
;
this
.
modify
(
"regularactivity"
,
regularactivity
);
}
/**
* 设置 [TO]
*/
public
void
setTo
(
String
to
){
this
.
to
=
to
;
this
.
modify
(
"to"
,
to
);
}
/**
* 设置 [PRIORITYCODE]
*/
public
void
setPrioritycode
(
String
prioritycode
){
this
.
prioritycode
=
prioritycode
;
this
.
modify
(
"prioritycode"
,
prioritycode
);
}
/**
* 设置 [ACTIVITYADDITIONALPARAMS]
*/
public
void
setActivityadditionalparams
(
String
activityadditionalparams
){
this
.
activityadditionalparams
=
activityadditionalparams
;
this
.
modify
(
"activityadditionalparams"
,
activityadditionalparams
);
}
/**
* 设置 [SCHEDULEDDURATIONMINUTES]
*/
public
void
setScheduleddurationminutes
(
Integer
scheduleddurationminutes
){
this
.
scheduleddurationminutes
=
scheduleddurationminutes
;
this
.
modify
(
"scheduleddurationminutes"
,
scheduleddurationminutes
);
}
/**
* 设置 [BILLED]
*/
public
void
setBilled
(
Integer
billed
){
this
.
billed
=
billed
;
this
.
modify
(
"billed"
,
billed
);
}
/**
* 设置 [SLAID]
*/
public
void
setSlaid
(
String
slaid
){
this
.
slaid
=
slaid
;
this
.
modify
(
"slaid"
,
slaid
);
}
/**
* 设置 [TRANSACTIONCURRENCYID]
*/
public
void
setTransactioncurrencyid
(
String
transactioncurrencyid
){
this
.
transactioncurrencyid
=
transactioncurrencyid
;
this
.
modify
(
"transactioncurrencyid"
,
transactioncurrencyid
);
}
/**
* 设置 [SERVICEID]
*/
public
void
setServiceid
(
String
serviceid
){
this
.
serviceid
=
serviceid
;
this
.
modify
(
"serviceid"
,
serviceid
);
}
}
businesscentral-provider/businesscentral-provider-centralapi/src/main/java/cn/ibizlab/businesscentral/centralapi/mapping/PhoneCallMapping.java
0 → 100644
浏览文件 @
e0b6c482
package
cn
.
ibizlab
.
businesscentral
.
centralapi
.
mapping
;
import
org.mapstruct.*
;
import
cn.ibizlab.businesscentral.core.base.domain.PhoneCall
;
import
cn.ibizlab.businesscentral.centralapi.dto.PhoneCallDTO
;
import
cn.ibizlab.businesscentral.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
PhoneCallMapping
extends
MappingBase
<
PhoneCallDTO
,
PhoneCall
>
{
}
businesscentral-provider/businesscentral-provider-centralapi/src/main/java/cn/ibizlab/businesscentral/centralapi/rest/PhoneCallResource.java
0 → 100644
浏览文件 @
e0b6c482
package
cn
.
ibizlab
.
businesscentral
.
centralapi
.
rest
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.math.BigInteger
;
import
java.util.HashMap
;
import
lombok.extern.slf4j.Slf4j
;
import
com.alibaba.fastjson.JSONObject
;
import
javax.servlet.ServletRequest
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cglib.beans.BeanCopier
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.util.StringUtils
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PostAuthorize
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
cn.ibizlab.businesscentral.centralapi.dto.*
;
import
cn.ibizlab.businesscentral.centralapi.mapping.*
;
import
cn.ibizlab.businesscentral.core.base.domain.PhoneCall
;
import
cn.ibizlab.businesscentral.core.base.service.IPhoneCallService
;
import
cn.ibizlab.businesscentral.core.base.filter.PhoneCallSearchContext
;
@Slf4j
@Api
(
tags
=
{
"电话联络"
})
@RestController
(
"CentralApi-phonecall"
)
@RequestMapping
(
""
)
public
class
PhoneCallResource
{
@Autowired
public
IPhoneCallService
phonecallService
;
@Autowired
@Lazy
public
PhoneCallMapping
phonecallMapping
;
@PreAuthorize
(
"hasPermission(this.phonecallMapping.toDomain(#phonecalldto),'iBizBusinessCentral-PhoneCall-Create')"
)
@ApiOperation
(
value
=
"新建电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"新建电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/phonecalls"
)
@Transactional
public
ResponseEntity
<
PhoneCallDTO
>
create
(
@RequestBody
PhoneCallDTO
phonecalldto
)
{
PhoneCall
domain
=
phonecallMapping
.
toDomain
(
phonecalldto
);
phonecallService
.
create
(
domain
);
PhoneCallDTO
dto
=
phonecallMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(this.phonecallMapping.toDomain(#phonecalldtos),'iBizBusinessCentral-PhoneCall-Create')"
)
@ApiOperation
(
value
=
"批量新建电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"批量新建电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/phonecalls/batch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
PhoneCallDTO
>
phonecalldtos
)
{
phonecallService
.
createBatch
(
phonecallMapping
.
toDomain
(
phonecalldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PostAuthorize
(
"hasPermission(this.phonecallMapping.toDomain(returnObject.body),'iBizBusinessCentral-PhoneCall-Get')"
)
@ApiOperation
(
value
=
"获取电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"获取电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/phonecalls/{phonecall_id}"
)
public
ResponseEntity
<
PhoneCallDTO
>
get
(
@PathVariable
(
"phonecall_id"
)
String
phonecall_id
)
{
PhoneCall
domain
=
phonecallService
.
get
(
phonecall_id
);
PhoneCallDTO
dto
=
phonecallMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@ApiOperation
(
value
=
"检查电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"检查电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/phonecalls/checkkey"
)
public
ResponseEntity
<
Boolean
>
checkKey
(
@RequestBody
PhoneCallDTO
phonecalldto
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
phonecallService
.
checkKey
(
phonecallMapping
.
toDomain
(
phonecalldto
)));
}
@PreAuthorize
(
"hasPermission(this.phonecallService.get(#phonecall_id),'iBizBusinessCentral-PhoneCall-Update')"
)
@ApiOperation
(
value
=
"更新电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"更新电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/phonecalls/{phonecall_id}"
)
@Transactional
public
ResponseEntity
<
PhoneCallDTO
>
update
(
@PathVariable
(
"phonecall_id"
)
String
phonecall_id
,
@RequestBody
PhoneCallDTO
phonecalldto
)
{
PhoneCall
domain
=
phonecallMapping
.
toDomain
(
phonecalldto
);
domain
.
setActivityid
(
phonecall_id
);
phonecallService
.
update
(
domain
);
PhoneCallDTO
dto
=
phonecallMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(this.phonecallService.getPhonecallByEntities(this.phonecallMapping.toDomain(#phonecalldtos)),'iBizBusinessCentral-PhoneCall-Update')"
)
@ApiOperation
(
value
=
"批量更新电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"批量更新电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/phonecalls/batch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
PhoneCallDTO
>
phonecalldtos
)
{
phonecallService
.
updateBatch
(
phonecallMapping
.
toDomain
(
phonecalldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission(this.phonecallMapping.toDomain(#phonecalldto),'iBizBusinessCentral-PhoneCall-Save')"
)
@ApiOperation
(
value
=
"保存电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"保存电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/phonecalls/save"
)
public
ResponseEntity
<
Boolean
>
save
(
@RequestBody
PhoneCallDTO
phonecalldto
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
phonecallService
.
save
(
phonecallMapping
.
toDomain
(
phonecalldto
)));
}
@PreAuthorize
(
"hasPermission(this.phonecallMapping.toDomain(#phonecalldtos),'iBizBusinessCentral-PhoneCall-Save')"
)
@ApiOperation
(
value
=
"批量保存电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"批量保存电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/phonecalls/savebatch"
)
public
ResponseEntity
<
Boolean
>
saveBatch
(
@RequestBody
List
<
PhoneCallDTO
>
phonecalldtos
)
{
phonecallService
.
saveBatch
(
phonecallMapping
.
toDomain
(
phonecalldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@ApiOperation
(
value
=
"获取电话联络草稿"
,
tags
=
{
"电话联络"
},
notes
=
"获取电话联络草稿"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/phonecalls/getdraft"
)
public
ResponseEntity
<
PhoneCallDTO
>
getDraft
()
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
phonecallMapping
.
toDto
(
phonecallService
.
getDraft
(
new
PhoneCall
())));
}
@PreAuthorize
(
"hasPermission(this.phonecallService.get(#phonecall_id),'iBizBusinessCentral-PhoneCall-Remove')"
)
@ApiOperation
(
value
=
"删除电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"删除电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/phonecalls/{phonecall_id}"
)
@Transactional
public
ResponseEntity
<
Boolean
>
remove
(
@PathVariable
(
"phonecall_id"
)
String
phonecall_id
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
phonecallService
.
remove
(
phonecall_id
));
}
@PreAuthorize
(
"hasPermission(this.phonecallService.getPhonecallByIds(#ids),'iBizBusinessCentral-PhoneCall-Remove')"
)
@ApiOperation
(
value
=
"批量删除电话联络"
,
tags
=
{
"电话联络"
},
notes
=
"批量删除电话联络"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/phonecalls/batch"
)
public
ResponseEntity
<
Boolean
>
removeBatch
(
@RequestBody
List
<
String
>
ids
)
{
phonecallService
.
removeBatch
(
ids
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-PhoneCall-Default-all')"
)
@ApiOperation
(
value
=
"获取DEFAULT"
,
tags
=
{
"电话联络"
}
,
notes
=
"获取DEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/phonecalls/fetchdefault"
)
public
ResponseEntity
<
List
<
PhoneCallDTO
>>
fetchDefault
(
PhoneCallSearchContext
context
)
{
Page
<
PhoneCall
>
domains
=
phonecallService
.
searchDefault
(
context
)
;
List
<
PhoneCallDTO
>
list
=
phonecallMapping
.
toDto
(
domains
.
getContent
());
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
header
(
"x-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageNumber
()))
.
header
(
"x-per-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageSize
()))
.
header
(
"x-total"
,
String
.
valueOf
(
domains
.
getTotalElements
()))
.
body
(
list
);
}
@PreAuthorize
(
"hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-PhoneCall-Default-all')"
)
@ApiOperation
(
value
=
"查询DEFAULT"
,
tags
=
{
"电话联络"
}
,
notes
=
"查询DEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/phonecalls/searchdefault"
)
public
ResponseEntity
<
Page
<
PhoneCallDTO
>>
searchDefault
(
@RequestBody
PhoneCallSearchContext
context
)
{
Page
<
PhoneCall
>
domains
=
phonecallService
.
searchDefault
(
context
)
;
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
body
(
new
PageImpl
(
phonecallMapping
.
toDto
(
domains
.
getContent
()),
context
.
getPageable
(),
domains
.
getTotalElements
()));
}
@PreAuthorize
(
"hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-PhoneCall-ByAccount-all')"
)
@ApiOperation
(
value
=
"获取ByAccount"
,
tags
=
{
"电话联络"
}
,
notes
=
"获取ByAccount"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/phonecalls/fetchbyaccount"
)
public
ResponseEntity
<
List
<
PhoneCallDTO
>>
fetchByAccount
(
PhoneCallSearchContext
context
)
{
Page
<
PhoneCall
>
domains
=
phonecallService
.
searchByAccount
(
context
)
;
List
<
PhoneCallDTO
>
list
=
phonecallMapping
.
toDto
(
domains
.
getContent
());
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
header
(
"x-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageNumber
()))
.
header
(
"x-per-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageSize
()))
.
header
(
"x-total"
,
String
.
valueOf
(
domains
.
getTotalElements
()))
.
body
(
list
);
}
@PreAuthorize
(
"hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-PhoneCall-ByAccount-all')"
)
@ApiOperation
(
value
=
"查询ByAccount"
,
tags
=
{
"电话联络"
}
,
notes
=
"查询ByAccount"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/phonecalls/searchbyaccount"
)
public
ResponseEntity
<
Page
<
PhoneCallDTO
>>
searchByAccount
(
@RequestBody
PhoneCallSearchContext
context
)
{
Page
<
PhoneCall
>
domains
=
phonecallService
.
searchByAccount
(
context
)
;
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
body
(
new
PageImpl
(
phonecallMapping
.
toDto
(
domains
.
getContent
()),
context
.
getPageable
(),
domains
.
getTotalElements
()));
}
}
config.xml
浏览文件 @
e0b6c482
...
...
@@ -37,11 +37,6 @@
git clone -b master $para2 ibizbusinesscentral/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibizbusinesscentral/
mvn clean package -Pbusinesscentral
cd businesscentral-app/businesscentral-app-businesscentral
mvn -Pbusinesscentral docker:build
mvn -Pbusinesscentral docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/businesscentral-app-businesscentral.yaml iBizEE --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录