Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
Aidea
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sa_aidea
Aidea
Commits
a4ee762a
Commit
a4ee762a
authored
Nov 24, 2020
by
谢希宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Aidea product update by Strive Date 2020-11-23
parent
860d3141
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
679 additions
and
0 deletions
+679
-0
orderlistout.html
...web/src/main/webapp/WEB-INF/views/order/orderlistout.html
+660
-0
WechatUserInfoUpdateJob.java
...java/com/cftech/base/org/job/WechatUserInfoUpdateJob.java
+19
-0
No files found.
aidea-modules/order-module-web/src/main/webapp/WEB-INF/views/order/orderlistout.html
0 → 100644
View file @
a4ee762a
<!DOCTYPE html>
<!--[if IE 8]>
<html lang="en" class="ie8 no-js"> <![endif]-->
<!--[if IE 9]>
<html lang="en" class="ie9 no-js"> <![endif]-->
<!--[if !IE]><!-->
<html>
<!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<base
href=
"#springUrl('/assets/adminlte/')"
/>
<meta
charset=
"utf-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<title>
工作台
</title>
<!-- Tell the browser to be responsive to screen width -->
<meta
content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
name=
"viewport"
>
<!-- Bootstrap 3.3.5 -->
<link
rel=
"stylesheet"
href=
"bootstrap/css/bootstrap.min.css"
>
<!-- Font Awesome -->
<link
rel=
"stylesheet"
href=
"plugins/font-awesome/css/font-awesome.min.css"
>
<!-- Ionicons -->
<link
rel=
"stylesheet"
href=
"plugins/ionicons/css/ionicons.min.css"
>
<!-- DataTables -->
<link
rel=
"stylesheet"
href=
"plugins/datatables/dataTables.bootstrap.css"
>
<!-- Theme style -->
<link
rel=
"stylesheet"
href=
"dist/css/AdminLTE.min.css"
>
<!-- AdminLTE Skins. Choose a skin from the css/skins
folder instead of downloading all of them to reduce the load. -->
<link
rel=
"stylesheet"
href=
"dist/css/skins/_all-skins.min.css"
>
<!-- iCheck -->
<link
rel=
"stylesheet"
href=
"plugins/iCheck/flat/blue.css"
>
<!-- Morris chart -->
<link
rel=
"stylesheet"
href=
"plugins/morris/morris.css"
>
<!-- jvectormap -->
<link
rel=
"stylesheet"
href=
"plugins/jvectormap/jquery-jvectormap-1.2.2.css"
>
<!-- Date Picker -->
<link
rel=
"stylesheet"
href=
"plugins/datepicker/datepicker3.css"
>
<!-- Daterange picker -->
<link
rel=
"stylesheet"
href=
"plugins/daterangepicker/daterangepicker-bs3.css"
>
<link
rel=
"stylesheet"
href=
"plugins\bootstrap-fileinput\fileinput.min.css"
>
<!-- bootstrap wysihtml5 - text editor -->
<link
rel=
"stylesheet"
href=
"plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css"
>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body
class=
"hold-transition skin-blue sidebar-mini"
>
<div
class=
"wrapper"
>
<div
class=
"content-wrapper"
style=
"margin-left:0;"
>
<div
class=
"modal fade"
id=
"exampleModal"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"exampleModalLabel"
aria-hidden=
"true"
>
<div
class=
"modal-dialog"
>
<div
class=
"modal-content"
>
<div
class=
"modal-header"
>
<h4
class=
"modal-title"
id=
"exampleModalLabel"
style=
"font-weight: 700;"
>
订单关闭原由
</h4>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-label=
"Close"
>
<span
aria-hidden=
"true"
>
×
</span>
</button>
</div>
<div
class=
"modal-body"
>
<form>
<div
class=
"form-group"
>
<label
for=
"message-text"
class=
"col-form-label"
>
请输入关闭原由:
</label>
<textarea
class=
"form-control"
rows=
"3"
id=
"js-textarea"
></textarea>
<input
type=
"hidden"
id=
"orderId"
>
</div>
</form>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-secondary"
data-dismiss=
"modal"
>
取消
</button>
<button
type=
"button"
class=
"btn btn-primary"
onclick=
"review()"
>
提交
</button>
</div>
</div>
</div>
</div>
<div
id=
"importExcelDiv"
></div>
<section
class=
"content-header"
>
<h1>
需求清单管理
<small>
需求清单管理
</small>
</h1>
<ol
class=
"breadcrumb"
>
<li><a><i
class=
"fa fa-dashboard"
></i>
首页
</a></li>
<li><a
class=
"active"
>
需求清单管理列表
</a></li>
</ol>
</section>
<!-- Main content -->
<section
class=
"content"
>
<div
class=
"row"
>
<div
class=
"col-xs-12"
>
<div
class=
"box"
>
<div
class=
"box-header"
>
<form
id=
"seachTableForm"
action=
"#springUrl('/a/order/list')"
method=
"get"
>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"number"
value=
""
placeholder=
"订单编号"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"consultCode"
placeholder=
"咨询单编码"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"productNameTmp"
placeholder=
"产品名称"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"courierNumber"
placeholder=
"顺丰运单号"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"startOrderAmount"
placeholder=
"订单金额开始区间"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"endOrderAmount"
placeholder=
"订单金额结束区间"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"startPayAmount"
placeholder=
"付款金额开始区间"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control"
name=
"endPayAmount"
placeholder=
"付款金额结束区间"
>
</div>
<div
class=
"col-xs-2"
>
<select
id=
"status"
name=
"status"
class=
"form-control required"
>
<option
value=
""
>
请选择订单状态
</option>
<option
value=
"0"
>
待确认
</option>
<option
value=
"1"
>
待付款
</option>
<option
value=
"2"
>
待发货
</option>
<option
value=
"3"
>
待收货
</option>
<option
value=
"4"
>
已完成
</option>
<option
value=
"5"
>
已取消
</option>
</select>
</div>
<div
class=
"col-xs-2"
>
<select
id=
"isBill"
name=
"isBill"
class=
"form-control required"
>
<option
value=
""
>
请选择是否开票
</option>
<option
value=
"0"
>
是
</option>
<option
value=
"1"
>
否
</option>
</select>
</div>
<div
class=
"col-xs-2"
>
<div
class=
"input-group date"
>
<div
class=
"input-group-addon"
>
<i
class=
"fa fa-calendar"
></i>
</div>
<input
type=
"text"
class=
"form-control pull-right datepicker"
name=
"orderStartTime"
placeholder=
"订单开始时间"
readonly=
"readonly"
>
</div>
</div>
<div
class=
"col-xs-2"
>
<div
class=
"input-group date"
>
<div
class=
"input-group-addon"
>
<i
class=
"fa fa-calendar"
></i>
</div>
<input
type=
"text"
class=
"form-control pull-right datepicker"
name=
"orderEndTime"
placeholder=
"订单结束时间"
readonly=
"readonly"
>
</div>
</div>
<button
type=
"button"
class=
"search btn btn-primary"
>
搜索
</button>
<button
type=
"button"
class=
"btn btn-info"
onclick=
"clearSearch()"
>
重置
</button>
#if($shiro.hasPermission("qy:order:edit"))
<!-- <a href="#springUrl('/a/order/form')" class="btn btn-primary">新增</a>-->
<a
href=
"#springUrl('/a/order/exportExcel')"
class=
"btn btn-primary"
>
导出
</a>
#end
<!-- <a onclick="importExcel();" class="btn btn-primary">导入</a>-->
</form>
</div>
<!-- /.box-header -->
<div
class=
"box-body"
>
<table
id=
"table"
class=
"table table-bordered table-striped"
>
<thead>
<tr>
<td
hidden=
"true"
>
Id
</td>
<th>
订单编码
</th>
<th>
咨询单编码
</th>
<th>
产品名称
</th>
<th>
订单金额
</th>
<th>
付款金额
</th>
<th>
昵称
</th>
<th>
openid
</th>
<th>
顺丰运单号
</th>
<th>
订单状态
</th>
<th>
支付交易号
</th>
<th>
是否开票
</th>
<th>
创建时间
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody
id=
"tablebody"
>
</tbody>
</table>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<div
class=
"control-sidebar-bg"
></div>
</div>
<!-- ./wrapper -->
<!-- jQuery 2.1.4 -->
<script
src=
"plugins/jQuery/jQuery-2.1.4.min.js"
></script>
<!-- Bootstrap 3.3.5 -->
<script
src=
"bootstrap/js/bootstrap.min.js"
></script>
<!-- DataTables -->
<script
src=
"plugins/datatables/jquery.dataTables.min.js"
></script>
<script
src=
"plugins/datatables/extensions/i18n/lanauage_ch.js"
></script>
<script
src=
"plugins/datatables/dataTables.bootstrap.min.js"
></script>
<!-- SlimScroll -->
<script
src=
"plugins/slimScroll/jquery.slimscroll.min.js"
></script>
<script
src=
"plugins/datepicker/bootstrap-datepicker.js"
></script>
<script
src=
"plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js"
></script>
<!-- FastClick -->
<script
src=
"plugins/fastclick/fastclick.min.js"
></script>
<!--fileinput js-->
<script
src=
"plugins\bootstrap-fileinput\fileinput.js"
></script>
<script
src=
"plugins/bootstrap-fileinput/zh.js"
></script>
<script
src=
"plugins/bootstrap-fileinput/zh2.js"
></script>
<!-- AdminLTE App -->
<script
src=
"dist/js/app.min.js"
></script>
<script
type=
"text/javascript"
src=
"plugins/jquery-validation/js/jquery.validate.min.js"
></script>
<!-- AdminLTE for demo purposes -->
<script
src=
"common/js/cfapp.js"
></script>
<script>
var
csrf
=
'${_csrf.token}'
;
var
csrf_header
=
'${_csrf.headerName}'
;
//咨询单列表通过订单编码跳转单条订单信息
var
orderCode
=
`
${
orderCode
}
`
;
if
(
orderCode
!=
null
&&
orderCode
!=
''
&&
orderCode
!=
"undefined"
)
{
$
(
'input[name="number"]'
).
val
(
`
${
orderCode
}
`
);
}
function
formatDates
(
now
)
{
var
now
=
new
Date
(
now
);
var
year
=
now
.
getFullYear
();
var
month
=
now
.
getMonth
()
+
1
;
var
date
=
now
.
getDate
();
var
hour
=
now
.
getHours
();
var
minute
=
now
.
getMinutes
();
var
second
=
now
.
getSeconds
();
return
year
+
"-"
+
(
month
<=
9
?
"0"
+
month
:
month
)
+
"-"
+
(
date
<=
9
?
"0"
+
date
:
date
)
+
" "
+
(
hour
<=
9
?
"0"
+
hour
:
hour
)
+
":"
+
(
minute
<=
9
?
"0"
+
minute
:
minute
)
+
":"
+
(
second
<=
9
?
"0"
+
second
:
second
);
}
function
seachTable
()
{
var
sSource
=
"#springUrl('/a/order/listData')"
;
var
aoData
=
{
iDisplayStart
:
1
,
iDosplayLength
:
10
};
var
retrieveData
=
function
(
sSource
,
aoData
,
fnCallback
)
{
$
(
"#seachTableForm input,select"
).
each
(
function
()
{
var
params
=
{
name
:
$
(
this
).
attr
(
"name"
),
value
:
$
(
this
).
val
()
};
aoData
.
push
(
params
);
});
$
.
ajax
({
"type"
:
"GET"
,
"url"
:
sSource
,
"dataType"
:
"json"
,
"data"
:
aoData
,
//以json格式传递
"success"
:
fnCallback
});
};
$
(
'#table'
).
DataTable
({
"lengthChange"
:
false
,
"searching"
:
false
,
"ordering"
:
false
,
"bFiltered"
:
false
,
"bStateSave"
:
true
,
// save datatable state(pagination, sort, etc) in cookie.
"bProcessing"
:
true
,
"bServerSide"
:
true
,
"sAjaxSource"
:
sSource
,
"fnServerData"
:
retrieveData
,
"pagingType"
:
"full_numbers"
,
"aoColumns"
:
[
{
"mData"
:
"id"
},
{
"mData"
:
"number"
},
{
"mData"
:
"consultCode"
},
{
"mData"
:
"productName"
},
{
"mData"
:
"orderAmount"
}
,
{
"mData"
:
"totalAmount"
}
,
{
"mData"
:
"nickName"
}
,
{
"mData"
:
"openid"
}
,
{
"mData"
:
"courierNumber"
}
,
{
"mData"
:
"status"
}
,
{
"mData"
:
"tradeNo"
}
,
{
"mData"
:
"confirm"
}
,
{
"mData"
:
"createTime"
}
,
{
"mData"
:
"id"
}
],
"aoColumnDefs"
:
[
{
// set default column settings
'visible'
:
false
,
'targets'
:
[
0
]
},
{
"aTargets"
:
[
1
],
"mData"
:
"number"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
},
{
"aTargets"
:
[
2
],
"mData"
:
"consultCode"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
},
{
"aTargets"
:
[
3
],
"mData"
:
"productName"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
}
,
{
"aTargets"
:
[
4
],
"mData"
:
"orderAmount"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
}
,
{
"aTargets"
:
[
5
],
"mData"
:
"totalAmount"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
}
,
{
"aTargets"
:
[
6
],
"mData"
:
"nickName"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
)
{
return
a
.
slice
(
0
,
1
)
+
'*'
+
a
.
slice
(
2
,
3
);
}
else
{
return
null
;
}
}
}
,
{
"aTargets"
:
[
7
],
"mData"
:
"openid"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
}
,
{
"aTargets"
:
[
8
],
"mData"
:
"courierNumber"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
}
,
{
"aTargets"
:
[
9
],
"mData"
:
"status"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
==
'0'
)
{
return
"待确认"
;
}
else
if
(
a
==
'1'
)
{
return
"待付款"
;
}
else
if
(
a
==
'2'
)
{
return
"待发货"
;
}
else
if
(
a
==
'3'
)
{
return
"待收货"
;
}
else
if
(
a
==
'4'
)
{
return
"已完成"
;
}
else
if
(
a
==
'5'
)
{
return
"已取消"
;
}
}
},
{
"aTargets"
:
[
10
],
"mData"
:
"tradeNo"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
}
,
{
"aTargets"
:
[
11
],
"mData"
:
"confirm"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
==
null
?
'否'
:
'是'
;
}
}
,
{
"aTargets"
:
[
12
],
"mData"
:
"createTime"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
formatDates
(
a
);
}
}
,
{
"aTargets"
:
[
13
],
"mData"
:
"id"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
var
html
=
'#if($shiro.hasPermission("qy:order:edit"))'
;
html
+=
'<div class="btn-group">
\
n'
+
'<button type="button" class="btn btn-success btn-flat">操作</button>
\
n'
+
'<button type="button" class="btn btn-success btn-flat dropdown-toggle" data-toggle="dropdown">
\
n'
+
' <span class="caret"></span>
\
n'
+
' <span class="sr-only">Toggle Dropdown</span>
\
n'
+
'</button>
\
n'
+
'<ul class="dropdown-menu" role="menu" style="min-width: 100px;">
\
n'
;
html
+=
'<li><a href="#springUrl("/a/order/findorderDetail?id='
+
a
+
'&isDetail=y")">查看清单明细</a></li>'
;
// if (c.status == '0') {
// html += '
<
li
><
a
href
=
"#springUrl("
/
a
/
order
/
form
?
id
=
' + a + '
")"
>
添加商品
<
/a></
li
>
';
// }
// if (c.status == '
1
') {
// html += '
<
li
><
a
onclick
=
"updateStatusSuccess(' + a + ')"
>
订单付款
<
/a></
li
>
';
// }
// if (c.status != '
4
' && c.status != '
5
') {
// html += '
<
li
><
a
onclick
=
"showModal(' + a + ')"
>
订单关闭
<
/a></
li
>
';
// }
if (c.status == '
2
') {//待发货才可以出库操作
html += '
<
li
><
a
href
=
"#springUrl("
/
a
/
order
/
sendOut
?
id
=
' + a + '
")"
>
订单出库
<
/a></
li
>
';
}
html += '
<
/ul>'
;
html
+=
'#end'
;
return
html
;
}
}
]
});
}
jQuery
(
document
).
ready
(
function
()
{
seachTable
();
$
(
'.datepicker'
).
datepicker
({
show
:
true
,
format
:
'yyyy-mm-dd'
,
autoclose
:
true
,
language
:
'zh-CN'
,
todayBtn
:
'linked'
,
clearBtn
:
'linked'
});
$
(
'.search'
).
click
(
function
()
{
$
(
"#table"
).
dataTable
().
fnClearTable
();
});
});
Cfapp
.
init
();
function
showModal
(
id
)
{
$
(
"#orderId"
).
val
(
id
);
$
(
'#exampleModal'
).
modal
(
'show'
);
}
function
updateStatusSuccess
(
id
)
{
Cfapp
.
confirm
({
message
:
"是否确认付款"
,
btntext
:
"确定"
,
btncanceltext
:
"取消"
,
success
:
function
()
{
updateStatu
(
id
,
2
,
null
);
//付款待发货
},
cancel
:
function
()
{
location
.
href
=
"#springUrl('/a/order/list')"
;
}
});
}
function
review
()
{
var
reason
=
$
(
"#js-textarea"
).
val
();
var
id
=
$
(
"#orderId"
).
val
();
if
(
!
reason
||
reason
==
null
)
{
Cfapp
.
alert
({
message
:
"请输入关闭原由!"
,
btntext
:
"确定"
,
success
:
function
()
{}
});
return
;
}
updateStatu
(
id
,
5
,
reason
);
}
function
updateStatu
(
id
,
status
,
reason
)
{
var
url
=
"#springUrl('/a/order/updateStatus')"
$
.
ajax
({
url
:
url
,
type
:
"GET"
,
data
:
{
id
:
id
,
orderCancel
:
reason
,
status
:
status
},
success
:
function
(
rsp
)
{
if
(
status
==
'5'
)
{
$
(
'#exampleModal'
).
modal
(
'hide'
);
}
if
(
rsp
.
errorNo
==
"0"
)
{
Cfapp
.
alert
({
message
:
"操作成功"
,
btntext
:
"确定"
,
success
:
function
()
{
location
.
href
=
"#springUrl('/a/order/list')"
;
}
});
}
else
{
Cfapp
.
alert
({
message
:
"操作失败"
,
btntext
:
"确定"
,
success
:
function
()
{
location
.
href
=
"#springUrl('/a/order/list')"
;
}
});
}
}
});
}
function
removeData
(
data
)
{
Cfapp
.
confirm
({
message
:
"确定要删除吗"
,
btnoktext
:
"确定"
,
btncanceltext
:
"取消"
,
success
:
function
()
{
$
.
ajax
({
type
:
"POST"
,
url
:
"#springUrl('/a/order/delete')"
,
data
:
{
_csrf
:
csrf
,
_csrf_header
:
csrf_header
,
id
:
data
},
dataType
:
"json"
,
success
:
function
(
data
)
{
if
(
data
.
errorNo
==
0
)
{
Cfapp
.
alert
({
message
:
"删除成功"
,
btntext
:
"确定"
,
success
:
function
()
{
location
.
href
=
"#springUrl('/a/order/list')"
;
}
});
}
},
error
:
function
()
{
}
})
},
cancel
:
function
()
{
$
(
".modal-backdrop"
).
fadeOut
();
}
});
}
function
importExcel
()
{
var
templateExcelUrl
=
"#springUrl('/a/order/templateExcel')"
;
var
importExcelUrl
=
"#springUrl('/a/order/importExcel')"
;
Cfapp
.
importExcel
({
title
:
'订单管理导入'
,
importurl
:
importExcelUrl
,
templateurl
:
templateExcelUrl
,
cancel
:
function
()
{
},
success
:
function
()
{
}
});
}
function
clearSearch
()
{
$
(
"#seachTableForm input,select"
).
each
(
function
()
{
$
(
this
).
val
(
''
);
});
$
(
"#table"
).
dataTable
().
fnClearTable
();
}
</script>
</body>
</html>
qy-modules/qy-orgunit-module/src/main/java/com/cftech/base/org/job/WechatUserInfoUpdateJob.java
0 → 100644
View file @
a4ee762a
package
com
.
cftech
.
base
.
org
.
job
;
import
lombok.extern.slf4j.Slf4j
;
import
org.quartz.Job
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
/**
* Created by 16444 on 2020/11/3.
* 同步微信人员信息,人员名片定时任务
*/
@Slf4j
public
class
WechatUserInfoUpdateJob
implements
Job
{
@Override
public
void
execute
(
JobExecutionContext
context
)
throws
JobExecutionException
{
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment