Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
topsun-bpm
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
鲁鑫
topsun-bpm
Commits
6b76c852
Commit
6b76c852
authored
May 16, 2024
by
刘学辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
付款申请(无PO)、采购申请的撤销审批
parent
a250f04d
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1456 additions
and
12 deletions
+1456
-12
payApplyNoPO.js
...n/webapp/biz/topsun/sap/costReimbursement/payApplyNoPO.js
+969
-0
payApplyNoPO.jsp
.../webapp/biz/topsun/sap/costReimbursement/payApplyNoPO.jsp
+108
-0
payApplyNoPOList.js
...bapp/biz/topsun/sap/costReimbursement/payApplyNoPOList.js
+159
-0
payApplyNoPOList.jsp
...app/biz/topsun/sap/costReimbursement/payApplyNoPOList.jsp
+24
-0
MannualStartWorkApplication.java
...se/bsnMessage/appliction/MannualStartWorkApplication.java
+8
-0
BsnMessageApplicationImpl.java
...bsnMessage/appliction/impl/BsnMessageApplicationImpl.java
+2
-0
MannualStartWorkApplicationImpl.java
...sage/appliction/impl/MannualStartWorkApplicationImpl.java
+101
-0
SapCostReimbursementApplication.java
...ursement/application/SapCostReimbursementApplication.java
+1
-0
SapCostReimbursementController.java
...mbursement/controller/SapCostReimbursementController.java
+10
-0
SapPurchaseApplication.java
...psun/sap/purchase/application/SapPurchaseApplication.java
+2
-0
SapPurchaseApplicationImpl.java
...purchase/application/impl/SapPurchaseApplicationImpl.java
+50
-0
SapPurchaseController.java
...topsun/sap/purchase/controller/SapPurchaseController.java
+7
-0
SapPurchaseApprovalApplicationImpl.java
.../application/impl/SapPurchaseApprovalApplicationImpl.java
+15
-12
No files found.
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/payApplyNoPO.js
0 → 100644
View file @
6b76c852
var
tableArray
=
[
{
parms
:
{},
node
:
"reimbursementApplierGrid"
,
gridManager
:
null
,
data
:
null
,
columns
:
[
{
display
:
"EP流程子序号"
,
name
:
"zepItemno"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
},
{
display
:
""
,
name
:
"reimbursementDetailId"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
,
hide
:
true
},
{
display
:
""
,
name
:
"reimbursementBaseInfoId"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
,
hide
:
true
},
{
display
:
""
,
name
:
"mwskz"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
,
hide
:
true
},
{
display
:
"计划内外付款标识"
,
name
:
"zepPlan"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"ZEP_PLAN"
}
},
back
:
{
ZEP_PLAN
:
"zepPlan"
,
ZEP_PLANNAME
:
"zepPlanname"
}
},
}
},
{
display
:
"计划内外标识名称"
,
name
:
"zepPlanname"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
},
{
display
:
"BP标识"
,
name
:
"zepBptype"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"ZEP_BPTYPE"
}
},
back
:
{
ZEP_BPTYPE
:
"zepBptype"
,
ZEP_BPTYPENAME
:
"zepBptypename"
}
},
}
},
{
display
:
"BP标识描述"
,
name
:
"zepBptypename"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"BP(合作伙伴)"
,
name
:
"partner"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"getCusAndSuppliers"
,
getParam
:
function
(
item
)
{
return
{
ZEP_BPTYPE
:
item
.
zepBptype
,
BUKRS
:
$
(
"#bukrs"
).
val
()
}
},
back
:
{
PARTNER
:
"partner"
,
NAME_ORG1
:
"koinh"
}
},
}
},
{
display
:
"BP账号名称"
,
name
:
"koinh"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"BP银行账号"
,
name
:
"bankn"
,
width
:
200
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"getCusAndBanks"
,
getParam
:
function
(
item
)
{
return
{
ZEP_BPTYPE
:
item
.
zepBptype
,
PARTNER
:
item
.
partner
}
},
back
:
{
BANKN
:
"bankn"
,
BANKL
:
"bankl"
,
SWIFT
:
"swift"
,
}
},
}
},
{
display
:
"BP联行号"
,
name
:
"bankl"
,
width
:
200
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"SWIFT/BIC"
,
name
:
"swift"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"费用类型代码"
,
name
:
"zepExtype"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"SPKZL"
}
},
back
:
{
SPKZL
:
"zepExtype"
,
SPTXT
:
"zepExtypename"
,
SAKNR
:
"hkont"
,
TXT50_SKAT
:
"txt50"
}
},
}
},
{
display
:
"费用类型名称"
,
name
:
"zepExtypename"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"费用会计科目"
,
name
:
"hkont"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"总账科目描述"
,
name
:
"txt50"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"计划付款日期"
,
name
:
"zepFpldate"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'date'
}
},
{
display
:
"成本中心"
,
name
:
"kostl"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"KOSTL"
}
},
back
:
{
KOSTL
:
"kostl"
,
LTEXT
:
"ktext1"
}
},
}
},
{
display
:
"成本中心名称"
,
name
:
"ktext1"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"内部订单"
,
name
:
"aufnr"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"getCompanyOrders"
,
getParam
:
function
(
item
)
{
return
{
BUKRS
:
$
(
"#bukrs"
).
val
()
}
},
back
:
{
AUFNR
:
"aufnr"
,
KTEXT
:
"ktext"
}
},
}
},
{
display
:
"内部订单描述"
,
name
:
"ktext"
,
width
:
200
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"发票号码"
,
name
:
"zyl06"
,
width
:
200
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'text'
}
},
{
display
:
"币别"
,
name
:
"waers"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
/*editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WAERS"}
},
back: {
WAERS: "waers",
}
},
}*/
editor
:
{
type
:
'text'
}
},
{
display
:
"汇率"
,
name
:
"kursf"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
/*editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "KURSF"}
},
back: {
KURSF: "kursf",
}
},
}*/
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"含税金额"
,
name
:
"kzwi1"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"税码"
,
name
:
"mwskzTextView"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'dictionary'
,
data
:
{
name
:
'mwskz'
},
textField
:
'mwskzTextView'
,
valueField
:
'mwskz'
,
required
:
false
,
render
:
function
(
item
)
{
return
item
.
mwskzTextView
;
}
},
},
{
display
:
"税额"
,
name
:
"kwetr"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
},
//等于含税金额/(1+税码对应的税率)*税码对应税率,可手工修改
// render:function(item){
// if (Public.isBlank(item.kwetr) || MathUtil.compare(item.kwetr,0)===0){
// var value = MathUtil.div(item.kzwi1,(1+item.mwskz)).mul(item.mwskz).toFixed(2)
// return item.kwetr = value;
// }else {
// return item.kwetr
// }
//
// }
},
{
display
:
"不含税金额"
,
name
:
"netwr"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
//等于含税金额减去税额
render
:
function
(
item
){
return
item
.
netwr
=
MathUtil
.
sub
(
item
.
kzwi1
,
item
.
kwetr
);
}
},
{
display
:
"含税金额(本位币)"
,
name
:
"kzwi11"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
},
//"公司代码等于1000币别等于CNY时,默认等于含税金额;
// 公司代码等于1000币别不等于CNY时,等于含税金额*币别对应的汇率"
// render:function(item){
// var money = 0;
// if (item.waers === "CNY"){
// money=item.kzwi1;
// }else {
// money = MathUtil.mul(item.kzwi1,item.kursf)
// }
// return item.kzwi11 = money;
// }
},
{
display
:
"税额(本位币)"
,
name
:
"kwetr1"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
},
//等于(含税金额-本位币)/(1+税码对应的税率)*税码对应税率,可手工修改
// render:function(item){
// if (Public.isBlank(item.kwetr1) || MathUtil.compare(item.kwetr1,0)===0){
// var value = MathUtil.div(item.kzwi11,MathUtil.add(1,item.mwskz)).mul(item.mwskz).toFixed(2)
// return item.kwetr1 = value;
// }else {
// return item.kwetr1
// }
// }
},
{
display
:
"不含税金额(本位币)"
,
name
:
"netwr1"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
//等于含税金额(本位币)减去税额(本位币)
render
:
function
(
item
){
return
item
.
netwr1
=
MathUtil
.
sub
(
item
.
kzwi11
,
item
.
kwetr1
);
}
},
]
},
{
parms
:
{},
node
:
"financialAuditGrid"
,
gridManager
:
null
,
data
:
null
,
columns
:
[
{
display
:
""
,
name
:
"rstgr"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
,
hide
:
true
},
{
display
:
"EP流程子序号"
,
name
:
"zepItemno"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"原因代码"
,
name
:
"rstgrName"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"RSTGR"
,
filterValue
:
$
(
"#bukrs"
).
val
()
}
},
back
:
{
RSTGR
:
"rstgr"
,
TXT40
:
"rstgrName"
,
}
},
}
},
{
display
:
"不含税金额(审批)"
,
name
:
"zepPdamount1"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"税额(审批)"
,
name
:
"zepPdtax1"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"含税金额(审批)"
,
name
:
"zepPtdamount1"
,
width
:
120
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"不含税金额(审批-本位币)"
,
name
:
"zepPdamount"
,
width
:
160
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"税额(审批-本位币)"
,
name
:
"zepPdtax"
,
width
:
150
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"含税金额(审批-本位币)"
,
name
:
"zepPtdamount"
,
width
:
150
,
minwidth
:
120
,
type
:
"money"
,
align
:
"left"
,
editor
:
{
mask
:
'nnnnnnnnn.nn'
,
type
:
'text'
}
},
{
display
:
"是否付款"
,
name
:
"zepPay"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"ZEP_PAY"
}
},
back
:
{
ZEP_PAY
:
"zepPay"
,
}
},
}
},
{
display
:
"付款方式代码"
,
name
:
"zlsch"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
/*editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "ZLSCH"}
},
back: {
ZLSCH: "zlsch",
ZLSCH_TEXT1: "zlschText1",
}
},
}*/
render
:
function
(
item
){
return
item
.
zlsch
=
"T"
}
},
{
display
:
"付款方式名称"
,
name
:
"zlschText1"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
render
:
function
(
item
){
return
item
.
zlschText1
=
"电汇"
}
},
{
display
:
"直联付款标识"
,
name
:
"zepBank"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"ZEP_BANK"
}
},
back
:
{
ZEP_BANK
:
"zepBank"
,
}
},
}
},
]
}
,
{
parms
:
{},
node
:
"financialAudit_sapReturnGrid"
,
gridManager
:
null
,
data
:
null
,
columns
:
[
{
display
:
"EP流程子序号"
,
name
:
"zepItemno"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"记账凭证编号"
,
name
:
"belnr"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"记账凭证财年"
,
name
:
"gjahr"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"记账过账日期"
,
name
:
"budat"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"记账凭证日期"
,
name
:
"bldat"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"返回状态"
,
name
:
"msgty"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"返回消息"
,
name
:
"msgtx"
,
width
:
300
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
]
}
,
{
parms
:
{},
node
:
"paymentAccomplish_sapReturnGrid"
,
gridManager
:
null
,
data
:
null
,
columns
:
[
{
display
:
"EP流程子序号"
,
name
:
"zepItemno"
,
width
:
80
,
minwidth
:
80
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"付款凭证编号"
,
name
:
"belnr1"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"付款凭证财年"
,
name
:
"gjahr1"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"付款状态"
,
name
:
"zpayStaus"
,
width
:
120
,
minwidth
:
120
,
type
:
"string"
,
align
:
"left"
}
]
}
]
//创建表格(参数、列、插入的节点、数据源)
function
loadGrid
(
obj
)
{
var
toolbarOptions
=
null
;
var
canEdit
=
false
;
//是否可编辑
var
canDelay
=
false
;
//是否加载。不加载是为了隐藏的表格如果是必填,提交会校验是否填写。
var
isApply
=
isApplyProcUnit
();
if
(
isApply
){
if
(
obj
.
node
===
"reimbursementApplierGrid"
){
canEdit
=
true
;
}
else
if
(
obj
.
node
===
"financialAuditGrid"
//|| obj.node==="capitalPostGrid"
){
canDelay
=
true
;
}
}
var
subProcUnitId
=
getSubProcUnitId
();
//财务审核
if
(
"financeNode"
===
subProcUnitId
){
if
(
obj
.
node
===
"financialAuditGrid"
){
canEdit
=
true
;
}
// else if (obj.node==="capitalPostGrid"){
// canDelay = true;
// }
}
//资金岗
// if ("fundNode" === subProcUnitId && obj.node==="capitalPostGrid"){
// canEdit = true;
// }
if
(
obj
.
node
===
"reimbursementApplierGrid"
&&
isApply
)
{
//只有第一个表格含工具栏
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
()
{
tableArray
.
forEach
((
item
)
=>
{
UICtrl
.
addGridRow
(
item
.
gridManager
,
{
zepItemno
:
getZepItemNo
(),
waers
:
'CNY'
,
kursf
:
1.00
});
});
},
deleteHandler
:
function
()
{
// tableArray.forEach((item) => {
//
// });
var
_grid
=
UICtrl
.
getGridManager
(
'#reimbursementApplierGrid'
);
DataUtil
.
delSelectedRows
({
action
:
'sapCostReimbursement/deleteSapCostReimbursementDetails.ajax'
,
param
:
{},
gridManager
:
_grid
,
idFieldName
:
'reimbursementDetailId'
,
onSuccess
:
function
()
{
reloadGrid
();
}
});
},
copyHandler
:
{
id
:
'copyHandler'
,
text
:
'复制'
,
img
:
'fa-copy'
,
click
:
function
()
{
tableArray
.
forEach
((
item
)
=>
{
//var row = DataUtil.getSelectedRow(item.gridManager);
var
row
=
item
.
gridManager
.
getSelectedRow
();
if
(
!
row
)
{
Public
.
tip
(
"请勾选一条数据"
);
return
;
}
var
newRow
=
JSON
.
parse
(
JSON
.
stringify
(
row
));
newRow
.
zepItemno
=
getZepItemNo
();
newRow
.
id
=
null
;
UICtrl
.
addGridRow
(
item
.
gridManager
,
newRow
);
});
}
}
});
}
obj
.
gridManager
=
UICtrl
.
grid
(
"#"
+
obj
.
node
,
{
columns
:
obj
.
columns
,
dataAction
:
"local"
,
data
:
obj
.
data
,
parms
:
obj
.
parms
,
pageSize
:
20
,
toolbar
:
toolbarOptions
,
usePager
:
false
,
enabledEdit
:
canEdit
,
delayLoad
:
canDelay
,
// width: "100%",
// height: 300,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
onBeforeCheckRow
:
function
(
checked
,
data
)
{
//同时选定或取消所有表格中的对应行
tableArray
.
forEach
((
item
)
=>
{
let
rows
=
item
.
gridManager
.
rows
;
let
row
=
{};
rows
.
forEach
((
temp
)
=>
{
if
(
temp
.
zepItemno
===
data
.
zepItemno
)
{
row
=
temp
;
}
})
checked
?
item
.
gridManager
.
select
(
row
)
:
item
.
gridManager
.
unselect
(
row
);
})
return
false
;
//阻止默认事件、防止某个表格的对应行被多次选中
},
onBeforeCheckAllRow
:
function
(
a
,
b
)
{
return
false
;
//阻止默认事件
},
onAfterEdit
:
function
(
item
)
{
if
(
item
.
column
.
name
==
"waers"
||
item
.
column
.
name
==
"kursf"
||
item
.
column
.
name
==
"kzwi1"
||
item
.
column
.
name
==
"mwskzTextView"
||
item
.
column
.
name
==
"kwetr"
){
//税额计算
//等于含税金额/(1+税码对应的税率)*税码对应税率,可手工修改
var
value
=
MathUtil
.
div
(
item
.
record
.
kzwi1
,
MathUtil
.
add
(
1
,
item
.
record
.
mwskzTextView
));
var
kwetr
=
MathUtil
.
mul
(
value
,
item
.
record
.
mwskzTextView
).
toFixed
(
2
);
//含税金额(本位币)计算
//"公司代码等于1000币别等于CNY时,默认等于含税金额;
// 公司代码等于1000币别不等于CNY时,等于含税金额*币别对应的汇率"
var
money
=
0
;
if
(
item
.
record
.
waers
===
"CNY"
){
money
=
item
.
record
.
kzwi1
;
}
else
{
money
=
MathUtil
.
mul
(
item
.
record
.
kzwi1
,
item
.
record
.
kursf
)
}
//税额(本位币)计算
//等于(含税金额-本位币)/(1+税码对应的税率)*税码对应税率,可手工修改
var
kwetr1
=
MathUtil
.
div
(
money
,
MathUtil
.
add
(
1
,
item
.
record
.
mwskzTextView
)).
mul
(
item
.
record
.
mwskzTextView
).
toFixed
(
2
)
obj
.
gridManager
.
updateRow
(
item
.
record
,
{
kwetr
:
kwetr
,
kzwi11
:
money
,
kwetr1
:
kwetr1
});
totalGrid
();
}
if
(
item
.
column
.
name
==
"zepPdamount1"
||
item
.
column
.
name
==
"zepPdtax1"
||
item
.
column
.
name
==
"zepPtdamount1"
||
item
.
column
.
name
==
"zepPdamount"
||
item
.
column
.
name
==
"zepPdtax"
||
item
.
column
.
name
==
"zepPtdamount"
){
var
_secondGrid
=
UICtrl
.
getGridManager
(
'#financialAuditGrid'
);
if
(
_secondGrid
!=
null
){
var
secondRows
=
_secondGrid
.
currentData
.
Rows
;
totalFinancialAuditGrid
(
secondRows
);
}
}
return
item
;
},
onAfterShowData
:
function
(){
if
(
"financeNode"
===
subProcUnitId
){
initFinancialAuditGridData
();
}
}
});
UICtrl
.
setSearchAreaToggle
(
obj
.
gridManager
);
}
$
(
document
).
ready
(
function
()
{
initialize
();
bindQueryEvent
();
nodeController
();
});
function
initialize
()
{
$
(
'#fileList'
).
fileList
();
//获取数据源初始化表格
Public
.
ajax
(
web_app
.
name
+
'/sapCostReimbursement/slicedSapCostReimbursementDetailList.ajax'
,
{
reimbursementBaseInfoId
:
getId
()},
function
(
data
)
{
//根据定义列拆除实体对象,封装成每个table对应的数据集
tableArray
.
forEach
(
obj
=>
{
obj
.
data
=
{
Rows
:
data
.
Rows
.
map
(
item
=>
{
let
row
=
{};
obj
.
columns
.
forEach
(
col
=>
{
if
(
item
.
hasOwnProperty
(
col
.
name
))
{
row
[
col
.
name
]
=
item
[
col
.
name
];
}
});
return
row
;
})
};
});
useArrayTable
(
loadGrid
);
})
}
function
bindQueryEvent
()
{
$
(
'#bukrs'
).
searchbox
({
type
:
"system"
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"BUKRS"
}
},
onChange
:
function
(
value
,
data
)
{
$
(
'#bukrs'
).
val
(
data
.
BUKRS
);
$
(
'#butxt'
).
val
(
data
.
BUTXT
);
}
});
$
(
'#employeeLoanBillCode'
).
searchbox
({
type
:
"costReimbursement"
,
name
:
"employeeLoanBillCode"
,
getParam
:
function
(
item
)
{
return
{
personMemberId
:
$
(
"#personMemberId"
).
val
()
}
},
onChange
:
function
(
value
,
data
)
{
$
(
'#employeeLoanBillCode'
).
val
(
data
.
billCode
);
}
});
$
(
'#bankn1'
).
searchbox
({
type
:
"system"
,
name
:
"getCompanyAndBankInfos"
,
getParam
:
function
(
item
)
{
return
{
BUKRS
:
$
(
"#bukrs"
).
val
()}
},
onChange
:
function
(
value
,
data
)
{
$
(
'#bankn1'
).
val
(
data
.
BANKN1
);
$
(
'#zt012kText1'
).
val
(
data
.
TEXT1
);
}
});
}
/**
* 流程引擎回调设置打样的id
* @param value 打样申请的id
*/
function
setId
(
id
)
{
$
(
"#id"
).
val
(
id
);
$
(
'#fileList'
).
fileList
({
bizId
:
id
});
}
/**
* 流程引擎获取打样申请id的回掉方法。
* @return
*/
function
getId
()
{
return
$
(
"#id"
).
val
()
||
""
;
}
function
getExtendedData
(
processAction
)
{
//回退、打回、转交时,不需要验证必填项是否已经填写;
if
(
processAction
==
ProcessAction
.
BACK
||
processAction
==
ProcessAction
.
REPLENISH
||
processAction
==
ProcessAction
.
TRANSMIT
)
{
//不验证
$
(
'#submitForm'
).
attr
(
'check'
,
false
);
}
let
resultArray
=
useArrayTable
(
getTableDataAll
);
//根据zepItemno将各列表属性合并为一个完整实体
const
result
=
resultArray
[
0
].
map
((
obj1
)
=>
{
const
mergedObj
=
{...
obj1
};
for
(
let
i
=
1
;
i
<
resultArray
.
length
;
i
++
)
{
const
currentArr
=
resultArray
[
i
];
const
currentObj
=
currentArr
.
find
((
obj
)
=>
obj
.
zepItemno
===
obj1
.
zepItemno
);
if
(
currentObj
)
{
Object
.
assign
(
mergedObj
,
currentObj
);
}
}
return
mergedObj
;
});
let
extendedData
=
{};
extendedData
.
CRDetail
=
Public
.
encodeJSONURI
(
result
);
return
extendedData
;
}
function
getTableDataAll
(
obj
)
{
let
result
=
DataUtil
.
getGridData
({
gridManager
:
obj
.
gridManager
,
isAllData
:
true
});
return
result
;
}
//调用数组
function
useArrayTable
(
func
,
...
data
)
{
const
results
=
tableArray
.
map
((
item
)
=>
{
return
func
(
item
,
...
data
);
});
return
results
;
}
//获取最新子序号(维护实体的标识)
function
getZepItemNo
()
{
let
result
=
getTableDataAll
(
tableArray
[
tableArray
.
length
-
1
]);
let
zepItemNo
=
"001"
;
if
(
result
.
length
>
0
)
{
//获取上一个节点的子序值
let
wornNo
=
parseInt
(
result
[
result
.
length
-
1
][
"zepItemno"
],
10
);
zepItemNo
=
(
"00"
+
(
wornNo
+
1
)).
slice
(
-
3
);
}
return
zepItemNo
;
}
//UICtrl中校验是否允许编辑
function
businessJudgmentUnit
()
{
var
isApply
=
isApplyProcUnit
();
if
(
isApply
)
{
$
(
"#approvalMoney"
).
hide
();
$
(
"#financialAudit"
).
hide
();
$
(
"#financialAudit_sapReturn"
).
hide
();
$
(
"#capitalPost"
).
hide
();
$
(
"#paymentAccomplish_sapReturn"
).
hide
();
return
true
;
}
else
{
UICtrl
.
setDisable
(
$
(
"#submitForm"
));
}
//资金岗
if
(
"fundNode"
===
getSubProcUnitId
()){
UICtrl
.
enable
(
"#bankn1"
);
UICtrl
.
enable
(
"#zepTxt1"
);
UICtrl
.
setElRequiredFlag
(
"#bankn1"
,
true
)
}
return
true
;
}
function
nodeController
(){
var
subProcUnitId
=
getSubProcUnitId
();
//财务审核
if
(
"financeNode"
===
subProcUnitId
){
$
(
"#financialAudit_sapReturn"
).
hide
();
$
(
"#capitalPost"
).
hide
();
$
(
"#paymentAccomplish_sapReturn"
).
hide
();
}
//资金岗
if
(
"fundNode"
===
subProcUnitId
){
$
(
"#financialAudit_sapReturn"
).
hide
();
$
(
"#paymentAccomplish_sapReturn"
).
hide
();
}
}
function
totalGrid
(
money
)
{
var
_grid
=
UICtrl
.
getGridManager
(
'#reimbursementApplierGrid'
);
if
(
_grid
!=
null
){
var
data
=
_grid
.
getData
(),
zepFtamount1
=
0
,
//申请总金额
zepFtamount
=
0
,
//申请总金额(本位币)
zepFttax
=
0
,
//申请总税额(本位币)
zepFttax1
=
0
;
//申请总税额
var
_kzwi1
=
0
;
var
_kzwi11
=
0
;
var
_kwetr1
=
0
;
var
_kwetr
=
0
;
$
.
each
(
data
,
function
(
i
,
o
)
{
_kzwi1
=
o
[
'kzwi1'
]
+
''
;
_kzwi11
=
o
[
'kzwi11'
]
+
''
;
_kwetr1
=
o
[
'kwetr1'
]
+
''
;
_kwetr
=
o
[
'kwetr'
]
+
''
;
zepFtamount1
=
MathUtil
.
add
(
zepFtamount1
,
_kzwi1
);
zepFtamount
=
MathUtil
.
add
(
zepFtamount
,
_kzwi11
);
zepFttax
=
MathUtil
.
add
(
zepFttax
,
_kwetr1
);
zepFttax1
=
MathUtil
.
add
(
zepFttax1
,
_kwetr
);
$
(
'#zepFtamount1'
).
val
(
zepFtamount1
);
$
(
'#zepFtamount'
).
val
(
zepFtamount
);
$
(
'#zepFttax'
).
val
(
zepFttax
);
$
(
'#zepFttax1'
).
val
(
zepFttax1
);
});
}
}
function
initFinancialAuditGridData
(){
var
_grid
=
UICtrl
.
getGridManager
(
'#reimbursementApplierGrid'
);
var
_secondGrid
=
UICtrl
.
getGridManager
(
'#financialAuditGrid'
);
if
(
_grid
!=
null
&&
_secondGrid
!=
null
){
var
datas
=
_grid
.
getData
();
if
(
datas
.
length
>
0
&&
_secondGrid
.
currentData
!=
null
){
var
secondRows
=
_secondGrid
.
currentData
.
Rows
;
$
.
each
(
datas
,
function
(
i
,
data
)
{
$
.
each
(
secondRows
,
function
(
i
,
row
)
{
if
(
data
.
zepItemno
===
row
.
zepItemno
&&
(
row
.
zepPdamount1
===
0
||
Public
.
isBlank
(
row
.
zepPdamount1
))){
_secondGrid
.
updateRow
(
row
,{
zepPdamount1
:
data
.
netwr
,
zepPdtax1
:
data
.
kwetr
,
zepPtdamount1
:
data
.
kzwi1
,
zepPdamount
:
data
.
netwr1
,
zepPdtax
:
data
.
kwetr1
,
zepPtdamount
:
data
.
kzwi11
})
}
});
});
totalFinancialAuditGrid
(
secondRows
);
}
}
}
function
totalFinancialAuditGrid
(
data
){
var
zepPtamount
=
0
,
//审批总金额(本位币)
zepPttax
=
0
,
//审批总税额(本位币)
zepPtamount1
=
0
,
//zepPtamount1
zepPttax1
=
0
;
//审批总税额
$
.
each
(
data
,
function
(
i
,
o
)
{
var
_zepPtdamount
=
o
[
'zepPtdamount'
]
+
''
;
var
_zepPdtax
=
o
[
'zepPdtax'
]
+
''
;
var
_zepPtdamount1
=
o
[
'zepPtdamount1'
]
+
''
;
var
_zepPdtax1
=
o
[
'zepPdtax1'
]
+
''
;
zepPtamount
=
MathUtil
.
add
(
zepPtamount
,
_zepPtdamount
);
zepPttax
=
MathUtil
.
add
(
zepPttax
,
_zepPdtax
);
zepPtamount1
=
MathUtil
.
add
(
zepPtamount1
,
_zepPtdamount1
);
zepPttax1
=
MathUtil
.
add
(
zepPttax1
,
_zepPdtax1
);
$
(
'#zepPtamount'
).
val
(
zepPtamount
);
$
(
'#zepPttax'
).
val
(
zepPttax
);
$
(
'#zepPtamount1'
).
val
(
zepPtamount1
);
$
(
'#zepPttax1'
).
val
(
zepPttax1
);
});
}
function
reloadGrid
(){
//获取数据源初始化表格
Public
.
ajax
(
web_app
.
name
+
'/sapCostReimbursement/slicedSapCostReimbursementDetailList.ajax'
,
{
reimbursementBaseInfoId
:
getId
()},
function
(
data
)
{
//根据定义列拆除实体对象,封装成每个table对应的数据集
tableArray
.
forEach
(
obj
=>
{
obj
.
data
=
{
Rows
:
data
.
Rows
.
map
(
item
=>
{
let
row
=
{};
obj
.
columns
.
forEach
(
col
=>
{
if
(
item
.
hasOwnProperty
(
col
.
name
))
{
row
[
col
.
name
]
=
item
[
col
.
name
];
}
});
return
row
;
})
};
var
gridManager
=
UICtrl
.
getGridManager
(
"#"
+
obj
.
node
);
gridManager
.
setData
(
obj
.
data
);
Public
.
successTip
(
"数据操作成功"
)
});
})
}
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/payApplyNoPO.jsp
0 → 100644
View file @
6b76c852
<%@ page
language=
"java"
contentType=
"text/html; charset=utf-8"
%>
<%@taglib
uri=
"/WEB-INF/taglib.tld"
prefix=
"x"
%>
<%@ taglib
uri=
"http://java.sun.com/jsp/jstl/core"
prefix=
"c"
%>
<html>
<head>
<x:base
include=
"layout,dialog,grid,tree,combox,commonTree,date,attachment"
/>
<x:script
src=
'/biz/topsun/sap/costReimbursement/payApplyNoPO.js'
/>
</head>
<body>
<div
class=
"container-fluid"
style=
"padding: 10px;"
>
<x:billTitle
title=
"付款申请(无PO)"
needStatus=
"false"
needPerson=
"true"
/>
<form
class=
"hg-form"
method=
"post"
action=
""
id=
"submitForm"
>
<x:hidden
name=
"id"
/>
<x:hidden
name=
"billCode"
/>
<x:hidden
name=
"fillinDate"
type=
"datetime"
/>
<x:hidden
name=
"fullId"
/>
<x:hidden
name=
"organId"
/>
<x:hidden
name=
"organName"
/>
<x:hidden
name=
"deptId"
/>
<x:hidden
name=
"deptName"
/>
<x:hidden
name=
"positionId"
/>
<x:hidden
name=
"positionName"
/>
<x:hidden
name=
"personMemberId"
/>
<x:hidden
name=
"personMemberName"
/>
<div
class=
"hg-form-cols"
>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepNo"
required=
"false"
readonly=
"true"
label=
"EP流程单号"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFcrdate"
required=
"false"
readonly=
"true"
wrapper=
"date"
label=
"付款申请创建日期"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFtype"
required=
"false"
readonly=
"true"
label=
"EP付款申请类别"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepFtypename"
required=
"false"
readonly=
"true"
label=
"EP付款申请类别名称"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"bukrs"
required=
"true"
label=
"公司代码"
labelCol=
"2"
fieldCol=
"2"
wrapper=
"select"
/>
<x:inputC
name=
"butxt"
required=
"false"
readonly=
"true"
label=
"公司代码名称"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepDepart"
required=
"false"
readonly=
"true"
label=
"EP部门代码"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepDepartname"
required=
"false"
readonly=
"true"
label=
"EP部门名称"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepAppli"
required=
"false"
readonly=
"true"
label=
"EP流程申请人代码"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepAppliname"
required=
"false"
readonly=
"true"
label=
"EP流程申请人"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepTxt"
required=
"false"
label=
"付款申请内容"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"employeeLoanBillCode"
required=
"false"
label=
"员工借款编号"
labelCol=
"2"
fieldCol=
"2"
wrapper=
"select"
/>
</div>
<div
id=
"capitalPost"
>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"bankn1"
required=
"false"
label=
"付款银行账号"
labelCol=
"2"
fieldCol=
"2"
wrapper=
"select"
/>
<x:inputC
name=
"zt012kText1"
required=
"false"
readonly=
"true"
label=
"付款银行账号名称"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepTxt1"
required=
"false"
label=
"付款附言"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepFtamount"
required=
"false"
readonly=
"true"
label=
"申请总金额(本位币)"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
<x:inputC
name=
"zepFttax"
required=
"false"
readonly=
"true"
label=
"申请总税额(本位币)"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepFttax1"
required=
"false"
readonly=
"true"
label=
"申请总税额"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
<x:inputC
name=
"zepFtamount1"
required=
"false"
readonly=
"true"
label=
"申请总金额"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
</div>
<div
id=
"approvalMoney"
>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepPtamount"
required=
"false"
readonly=
"true"
label=
"审批总金额(本位币)"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
<x:inputC
name=
"zepPttax"
required=
"false"
readonly=
"true"
label=
" 审批总税额(本位币)"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"zepPttax1"
required=
"false"
readonly=
"true"
label=
"审批总税额"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
<x:inputC
name=
"zepPtamount1"
required=
"false"
readonly=
"true"
label=
"审批总金额"
labelCol=
"2"
fieldCol=
"2"
mask=
"positiveMoney"
/>
</div>
</div>
</div>
<div
style=
"padding-top: 15px;"
>
<x:fileList
bizCode=
"costReimbursement"
bizId=
"id"
id=
"fileList"
title=
"相关资料"
/>
</div>
<div
class=
"blank_div clearfix"
></div>
<x:title
title=
"报销人填写"
name=
"group"
/>
<div
id=
"reimbursementApplierGrid"
style=
"margin: 2px;"
>
</div>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"financialAudit"
>
<x:title
title=
"财务审核填写"
name=
"group"
/>
<div
id=
"financialAuditGrid"
style=
"margin: 2px;"
>
</div>
</div>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"financialAudit_sapReturn"
>
<x:title
title=
"财务已审核、sap回执"
name=
"group"
/>
<div
id=
"financialAudit_sapReturnGrid"
style=
"margin: 2px;"
>
</div>
</div>
<div
class=
"blank_div clearfix"
></div>
<%-- <div id="capitalPost">--%>
<%-- <x:title title="资金岗填写" name="group"/>--%>
<%-- <div id="capitalPostGrid" style="margin: 2px;">--%>
<%-- </div>--%>
<%-- </div>--%>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"paymentAccomplish_sapReturn"
>
<x:title
title=
"付款完成、sap回执"
name=
"group"
/>
<div
id=
"paymentAccomplish_sapReturnGrid"
style=
"margin: 2px;"
>
</div>
</div>
</div>
</form>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/payApplyNoPOList.js
0 → 100644
View file @
6b76c852
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initializateUI
();
loadGrid
();
})
function
initializateUI
()
{
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
}
function
loadGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addCostReimbursement
:
{
id
:
'costReimbursement'
,
img
:
'fa-cog'
,
text
:
'添加付款申请(无)'
,
click
:
function
(){
addCostReimbursement
();
}},
});
gridManager
=
UICtrl
.
grid
(
"#costReimbursementListGrid"
,
{
columns
:
[
{
display
:
"EP付款申请类别"
,
name
:
"zepFtype"
,
width
:
60
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"EP付款申请类别名称"
,
name
:
"zepFtypename"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"公司代码"
,
name
:
"bukrs"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"公司代码名称"
,
name
:
"butxt"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"EP部门代码"
,
name
:
"zepDepart"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"EP部门名称"
,
name
:
"zepDepartname"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"EP流程申请人代码"
,
name
:
"zepAppli"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"EP流程申请人"
,
name
:
"zepAppliname"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"付款申请创建日期"
,
name
:
"zepFcrdate"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"EP流程单号"
,
name
:
"zepNo"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"付款申请内容"
,
name
:
"zepTxt"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"填报日期"
,
name
:
"fillinDate"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/slicedSapCostReimbursementList.ajax'
,
parms
:{
zepFtype
:
"N"
},
pageSize
:
20
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
sortName
:
'fillinDate'
,
sortOrder
:
'desc'
,
width
:
"100%"
,
height
:
"100%"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
doView
(
data
.
id
,
data
.
zepFtype
);
}
});
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
function
query
(
obj
)
{
var
param
=
$
(
obj
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
param
);
}
function
reloadGrid
()
{
gridManager
.
loadData
();
}
function
resetForm
(
obj
)
{
$
(
obj
).
formClean
();
}
//重写DataUtil的getUpdateRowId函数、它默认取行的id列
DataUtil
.
getUpdateRowId
=
function
(
gridManager
)
{
var
result
=
DataUtil
.
getUpdateRow
(
gridManager
);
if
(
result
)
{
return
result
.
proofingMakeId
;
}
return
result
;
}
function
addCostReimbursement
()
{
UICtrl
.
addTabItem
({
tabid
:
'payApplyNoPO'
,
text
:
"付款申请(无PO)"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/forwardCostReimbursement.job?type=payNoPo'
});
}
function
addBorrowApply
(){
UICtrl
.
addTabItem
({
tabid
:
'borrowApply'
,
text
:
"借款申请单"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/forwardCostReimbursement.job?type=borrow'
});
}
function
addAdvancePayment
(){
UICtrl
.
addTabItem
({
tabid
:
'advanceApply'
,
text
:
"预付款申请单"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/forwardCostReimbursement.job?type=advance'
});
}
function
addPayApply
(){
UICtrl
.
addTabItem
({
tabid
:
'payApply'
,
text
:
"付款申请单"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/forwardCostReimbursement.job?type=pay'
});
}
function
addRefundApply
(){
UICtrl
.
addTabItem
({
tabid
:
'refundApply'
,
text
:
"客户退款申请单"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/forwardCostReimbursement.job?type=refund'
});
}
//删除按钮
function
deleteHandler
()
{
DataUtil
.
del
({
action
:
'sapCostReimbursement/deleteStatsIndicators.ajax'
,
gridManager
:
gridManager
,
idFieldName
:
'id'
,
onSuccess
:
function
()
{
reloadGrid
();
}
});
}
function
doView
(
id
,
zepFtype
)
{
var
title
=
"费用报销详情"
;
if
(
zepFtype
==
"E"
){
title
=
"客户退款申请详情"
;
}
if
(
zepFtype
==
"N"
){
title
=
"付款申请(无PO)详情"
;
}
if
(
zepFtype
==
"B"
){
title
=
"员工借款申请详情"
;
}
if
(
zepFtype
==
"D"
){
title
=
"预付款申请详情"
;
}
if
(
zepFtype
==
"C"
){
title
=
"付款申请详情"
;
}
UICtrl
.
addTabItem
({
tabid
:
'showCostReimbursement'
+
id
,
text
:
title
,
url
:
web_app
.
name
+
'/sapCostReimbursement/showSapCostReimbursement.job?bizId='
+
id
+
"&isDetailPage=true"
});
}
// function sendSapData(bizId){
// Public.ajax(web_app.name + '/sapStatsIndicators/againSendSapDate.ajax',{bizId:bizId},function (data){
// reloadGrid();
// })
// }
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/payApplyNoPOList.jsp
0 → 100644
View file @
6b76c852
<%@ page
contentType=
"text/html; charset=utf-8"
language=
"java"
%>
<%@ taglib
uri=
"/WEB-INF/taglib.tld"
prefix=
"x"
%>
<%@ taglib
uri=
"http://java.sun.com/jsp/jstl/core"
prefix=
"c"
%>
<html>
<head>
<x:base
include=
"layout,dialog,grid,tree,combox,commonTree"
/>
<x:script
src=
'/biz/topsun/sap/costReimbursement/payApplyNoPOList.js'
/>
</head>
<body>
<div
class=
"container-fluid"
>
<div
id=
"layout"
>
<div
position=
"center"
title=
"付款申请(无PO)查询"
>
<x:title
title=
"common.button.search"
hideTable=
"queryMainForm"
isHide=
"true"
/>
<form
class=
"hg-form ui-hide"
method=
"post"
action=
""
id=
"queryMainForm"
>
<x:inputC
name=
"billCode"
required=
"false"
label=
"申请单号"
labelCol=
"1"
/>
<x:searchButtons/>
</form>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"costReimbursementListGrid"
style=
"margin: 2px;"
></div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/base/bsnMessage/appliction/MannualStartWorkApplication.java
0 → 100644
View file @
6b76c852
package
com
.
huigou
.
topsun
.
base
.
bsnMessage
.
appliction
;
public
interface
MannualStartWorkApplication
{
String
startWorkflow
(
Object
entity
,
String
process_definition_key
,
String
codeRule
);
}
topsun/src/main/java/com/huigou/topsun/base/bsnMessage/appliction/impl/BsnMessageApplicationImpl.java
View file @
6b76c852
...
...
@@ -304,4 +304,6 @@ public class BsnMessageApplicationImpl extends BaseApplication implements BsnMes
return
list
!=
null
&&
!
list
.
isEmpty
();
}
}
topsun/src/main/java/com/huigou/topsun/base/bsnMessage/appliction/impl/MannualStartWorkApplicationImpl.java
0 → 100644
View file @
6b76c852
package
com
.
huigou
.
topsun
.
base
.
bsnMessage
.
appliction
.
impl
;
import
com.huigou.context.Operator
;
import
com.huigou.context.ThreadLocalUtil
;
import
com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bmp.common.application.BaseApplication
;
import
com.huigou.uasp.bmp.fn.CodeGenerator
;
import
com.huigou.uasp.bmp.operator.OperatorApplication
;
import
com.huigou.uasp.bpm.ProcessAction
;
import
com.huigou.uasp.bpm.ProcessStartModel
;
import
com.huigou.uasp.bpm.engine.application.WorkflowApplication
;
import
com.huigou.util.ClassHelper
;
import
com.huigou.util.Constants
;
import
com.huigou.util.SDO
;
import
org.activiti.engine.impl.persistence.entity.ExecutionEntity
;
import
org.activiti.engine.impl.persistence.entity.TaskEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
@Service
(
"mannualStartWorkApplication"
)
public
class
MannualStartWorkApplicationImpl
extends
BaseApplication
implements
MannualStartWorkApplication
{
@Autowired
private
CodeGenerator
codeGenerator
;
@Autowired
private
WorkflowApplication
workflowApplication
;
@Resource
private
OperatorApplication
operatorApplication
;
@Override
public
String
startWorkflow
(
Object
entity
,
String
processDefinitionKey
,
String
codeRule
){
Operator
operator
=
null
;
operator
=
ThreadLocalUtil
.
getOperator
();
if
(
operator
==
null
)
{
String
createdById
=
"5EEB2DC861694A65933CB4CE9A8D870A@C18E23AAAA6940E09DF7C122332C51E0"
;
operator
=
operatorApplication
.
createOperatorByPersonMemberId
(
createdById
);
ThreadLocalUtil
.
putOperator
(
operator
);
}
// Assert.notNull(operator, "未获取到当前操作用户,无法创建流程");
SDO
sdo
=
ThreadLocalUtil
.
getVariable
(
Constants
.
SDO
,
SDO
.
class
);
if
(
sdo
==
null
)
{
sdo
=
new
SDO
();
}
try
{
// 业务数据
Map
<
String
,
Object
>
map
=
ClassHelper
.
beanToMap
(
entity
);
sdo
.
setProperties
(
map
);
// 启动流程的必要参数
sdo
.
putProperty
(
"fullId"
,
operator
.
getFullId
());
sdo
.
putProperty
(
"organId"
,
operator
.
getOrgId
());
sdo
.
putProperty
(
"organName"
,
operator
.
getOrgName
());
sdo
.
putProperty
(
"deptId"
,
operator
.
getDeptId
());
sdo
.
putProperty
(
"deptName"
,
operator
.
getDeptName
());
sdo
.
putProperty
(
"positionId"
,
operator
.
getPositionId
());
sdo
.
putProperty
(
"positionName"
,
operator
.
getPositionName
());
sdo
.
putProperty
(
"personMemberId"
,
operator
.
getPersonMemberId
());
sdo
.
putProperty
(
"personMemberName"
,
operator
.
getPersonMemberName
());
sdo
.
putProperty
(
"processAction"
,
ProcessAction
.
SAVE
);
sdo
.
putProperty
(
"procUnitId"
,
""
);
// sdo.putProperty("bizId", purchaseOrder.getId());
sdo
.
putProperty
(
"createdDate"
,
new
Date
());
sdo
.
putProperty
(
"fillinDate"
,
new
Date
());
String
nextCode
=
codeGenerator
.
getNextCode
(
codeRule
);
sdo
.
putProperty
(
"billCode"
,
nextCode
);
ThreadLocalUtil
.
putVariable
(
Constants
.
SDO
,
sdo
);
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
variables
.
put
(
"startModel"
,
ProcessStartModel
.
MANUAL
.
getId
());
variables
.
put
(
"executorFullId"
,
operator
.
getFullId
());
variables
.
put
(
"executorFullName"
,
operator
.
getFullName
());
ThreadLocalUtil
.
putOperator
(
operator
);
ExecutionEntity
pi
=
(
ExecutionEntity
)
workflowApplication
.
startProcessInstanceByKey
(
processDefinitionKey
,
null
,
variables
);
// 业务参数
TaskEntity
applyTask
=
pi
.
getTasks
().
get
(
0
);
sdo
.
putProperty
(
"processAction"
,
ProcessAction
.
ADVANCE
);
sdo
.
putProperty
(
"bizId"
,
pi
.
getBusinessKey
());
sdo
.
putProperty
(
"id"
,
pi
.
getBusinessKey
());
sdo
.
putProperty
(
"statusId"
,
BizBillStatus
.
APPLYING
.
getId
());
ThreadLocalUtil
.
removeVariable
(
"_approvalParameter_"
);
ThreadLocalUtil
.
putVariable
(
Constants
.
SDO
,
sdo
);
workflowApplication
.
advance
(
applyTask
.
getId
(),
Collections
.
emptyMap
());
// return this.sapPurchaseRepository.findOne(pi.getBusinessKey());
return
pi
.
getBusinessKey
();
}
catch
(
Exception
ex
){
ex
.
printStackTrace
();
throw
ex
;
}
}
}
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/application/SapCostReimbursementApplication.java
View file @
6b76c852
...
...
@@ -13,6 +13,7 @@ public interface SapCostReimbursementApplication {
String
PROCESS_DEFINITION_KEY
=
"sapCostReimbursementProc"
;
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/costReimbursement/costReimbursement.xml"
;
...
...
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/controller/SapCostReimbursementController.java
View file @
6b76c852
...
...
@@ -39,8 +39,12 @@ public class SapCostReimbursementController extends CommonController {
public
String
forwardCostReimbursementList
(){
SDO
sdo
=
this
.
getSDO
();
return
forward
(
"costReimbursementList"
);
}
public
String
forwardPayApplyNoPOList
(){
return
forward
(
"payApplyNoPOList"
);
}
public
String
forwardAdvancePaymentList
(){
return
forward
(
"advancePaymentList"
);
...
...
@@ -79,6 +83,10 @@ public class SapCostReimbursementController extends CommonController {
sapCostReimbursement
.
setZepFtype
(
"A"
);
sapCostReimbursement
.
setZepFtypename
(
"费用报销流程"
);
return
forward
(
"costReimbursement"
,
sapCostReimbursement
);
case
"payNoPo"
:
sapCostReimbursement
.
setZepFtype
(
"N"
);
sapCostReimbursement
.
setZepFtypename
(
"付款申请(无PO)流程"
);
return
forward
(
"payApplyNoPO"
,
sapCostReimbursement
);
case
"borrow"
:
sapCostReimbursement
.
setZepFtype
(
"B"
);
sapCostReimbursement
.
setZepFtypename
(
"员工借款流程"
);
...
...
@@ -134,6 +142,8 @@ public class SapCostReimbursementController extends CommonController {
switch
(
zepFtype
)
{
case
"A"
:
return
forward
(
"costReimbursement"
,
sapCostReimbursement
);
case
"N"
:
return
forward
(
"payApplyNoPO"
,
sapCostReimbursement
);
case
"B"
:
return
forward
(
"employeeLoan"
,
sapCostReimbursement
);
case
"D"
:
...
...
topsun/src/main/java/com/huigou/topsun/sap/purchase/application/SapPurchaseApplication.java
View file @
6b76c852
...
...
@@ -18,4 +18,6 @@ public interface SapPurchaseApplication {
Map
<
String
,
Object
>
slicedSapPurchaseList
(
SapPurchaseQueryRequest
queryRequest
);
SapPurchase
loadSapPurchase
(
String
id
);
String
revokeApproval
(
String
id
);
}
topsun/src/main/java/com/huigou/topsun/sap/purchase/application/impl/SapPurchaseApplicationImpl.java
View file @
6b76c852
...
...
@@ -4,9 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.huigou.cache.SystemCache
;
import
com.huigou.context.Operator
;
import
com.huigou.context.ThreadLocalUtil
;
import
com.huigou.data.domain.model.CommonDomainConstants
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication
;
import
com.huigou.topsun.sap.common.HttpClient
;
import
com.huigou.topsun.sap.common.application.SapMutualEpLogApplication
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement
;
...
...
@@ -19,11 +22,21 @@ import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemVo;
import
com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseVo
;
import
com.huigou.topsun.sap.purchase.repository.SapPurchaseRepository
;
import
com.huigou.topsun.sap.common.domain.SapResult
;
import
com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bmp.fn.CodeGenerator
;
import
com.huigou.uasp.bmp.operator.OperatorApplication
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.uasp.bpm.ProcessAction
;
import
com.huigou.uasp.bpm.ProcessStartModel
;
import
com.huigou.uasp.bpm.engine.application.WorkflowApplication
;
import
com.huigou.util.ClassHelper
;
import
com.huigou.util.Constants
;
import
com.huigou.util.SDO
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.activiti.engine.impl.persistence.entity.ExecutionEntity
;
import
org.activiti.engine.impl.persistence.entity.TaskEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -49,6 +62,10 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
private
HttpClient
httpClient
;
@Autowired
SapMutualEpLogApplication
sapMutualEpLogApplication
;
@Autowired
private
MannualStartWorkApplication
mannualStartWorkApplication
;
@Override
protected
String
saveBizAndApprovalData
()
{
super
.
saveBizAndApprovalData
();
...
...
@@ -232,6 +249,7 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"sapPurchaseList"
);
QueryModel
queryModel
=
this
.
sqlExecutorDao
.
getQueryModel
(
queryDescriptor
,
queryRequest
);
queryModel
.
putDictionary
(
"status"
,
BizBillStatus
.
getMap
());
queryModel
.
addCriteria
(
" order by fillin_date desc "
);
return
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryModel
);
}
...
...
@@ -239,4 +257,36 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
public
SapPurchase
loadSapPurchase
(
String
id
)
{
return
sapPurchaseRepository
.
findOne
(
id
);
}
@Override
public
String
revokeApproval
(
String
id
){
SapPurchase
sapPurchase
=
this
.
sapPurchaseRepository
.
findOne
(
id
);
if
(
sapPurchase
.
getStatusId
()!=
BizBillStatus
.
COMPLETED
.
getId
()){
throw
new
RuntimeException
(
"审批完成的单据才能撤销!"
);
}
sapPurchase
.
setStatusId
(
BizBillStatus
.
ABORTED
.
getId
());
sapPurchaseRepository
.
save
(
sapPurchase
);
List
<
SapPurchaseItem
>
sapPurchaseItemList
=
this
.
sapPurchaseItemApplication
.
findBySapPurchaseId
(
id
);
//发起流程
SapPurchase
newSapPurchase
=
new
SapPurchase
();
ClassHelper
.
copyProperties
(
sapPurchase
,
newSapPurchase
);
newSapPurchase
.
setId
(
""
);
String
pId
=
mannualStartWorkApplication
.
startWorkflow
(
newSapPurchase
,
PROCESS_DEFINITION_KEY
,
"sapPurchase"
);
newSapPurchase
=
this
.
sapPurchaseRepository
.
findOne
(
pId
);
List
<
SapPurchaseItem
>
newSapPurchaseItemList
=
new
ArrayList
<>();
for
(
SapPurchaseItem
sapPurchaseItem:
sapPurchaseItemList
){
SapPurchaseItem
newSapPurchaseItem
=
new
SapPurchaseItem
();
ClassHelper
.
copyProperties
(
sapPurchaseItem
,
newSapPurchaseItem
);
newSapPurchaseItem
.
setId
(
""
);
newSapPurchaseItemList
.
add
(
newSapPurchaseItem
);
}
sapPurchaseItemApplication
.
saveSapPurchaseItems
(
newSapPurchase
.
getId
(),
newSapPurchaseItemList
);
return
newSapPurchase
.
getId
();
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchase/controller/SapPurchaseController.java
View file @
6b76c852
...
...
@@ -86,4 +86,11 @@ public class SapPurchaseController extends CommonController {
return
null
;
}
//撤销审批
public
String
revokeApproval
(){
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getString
(
"id"
);
String
newId
=
sapPurchaseApplication
.
revokeApproval
(
id
);
return
success
();
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/application/impl/SapPurchaseApprovalApplicationImpl.java
View file @
6b76c852
...
...
@@ -10,6 +10,7 @@ import com.huigou.context.ThreadLocalUtil;
import
com.huigou.data.domain.model.CommonDomainConstants
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication
;
import
com.huigou.topsun.sap.common.DefaultHttpClient
;
import
com.huigou.topsun.sap.common.application.SapMutualEpLogApplication
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement
;
...
...
@@ -57,16 +58,15 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
private
SapPurchaseApprovalRepository
sapPurchaseApprovalRepository
;
@Resource
private
SapPurchaseApprovalItemApplication
sapPurchaseApprovalItemApplication
;
@Resource
private
WorkflowApplication
workflowApplication
;
@Resource
private
OperatorApplication
operatorApplication
;
@Autowired
DefaultHttpClient
defaultHttpClient
;
@Autowired
SapMutualEpLogApplication
sapMutualEpLogApplication
;
@Resource
private
OperatorApplication
operatorApplication
;
@Autowired
private
CodeGenerator
codeGenerator
;
private
MannualStartWorkApplication
mannualStartWorkApplication
;
@Override
protected
String
saveBizAndApprovalData
()
{
...
...
@@ -235,10 +235,13 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
*/
//发起流程 05.11 lxh
BeanUtil
.
copyProperties
(
sapPurchaseApprovalDto
.
getLsDeader
(),
sapPurchaseApproval
);
String
nextCode
=
codeGenerator
.
getNextCode
(
"sapPurchaseApproval"
);
sapPurchaseApproval
.
setBillCode
(
nextCode
);
sapPurchaseApproval
=
mannualStartWorkflow
(
sapPurchaseApproval
);
//
String nextCode = codeGenerator.getNextCode("sapPurchaseApproval");
//
sapPurchaseApproval.setBillCode(nextCode);
//
sapPurchaseApproval = mannualStartWorkflow(sapPurchaseApproval);
// purchaseOrderId = sapPurchaseApproval.getId();
String
pId
=
mannualStartWorkApplication
.
startWorkflow
(
sapPurchaseApproval
,
PROCESS_DEFINITION_KEY
,
"sapPurchaseApproval"
);
sapPurchaseApproval
=
this
.
sapPurchaseApprovalRepository
.
findOne
(
pId
);
if
(
purchaseApproval
==
null
)
{
}
else
{
...
...
@@ -274,7 +277,7 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
sapPurchaseApprovalItemApplication
.
saveSapPurchaseApprovalItems
(
sapPurchaseApproval
.
getId
(),
sapPurchaseApprovalItems
);
}
public
String
startProcessInstance
(
String
processDefinitionKey
,
Map
<
String
,
Object
>
formData
){
/*
public String startProcessInstance(String processDefinitionKey,Map<String, Object> formData){
Map<String, Object> variables = new HashMap();
SDO localSdo = this.buildSDO(formData);
ThreadLocalUtil.putVariable(Constants.SDO, localSdo);
...
...
@@ -287,12 +290,12 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
ProcessInstance processInstance = this.workflowApplication.startProcessInstanceByKey(processDefinitionKey, variables);
String businessKey = processInstance.getBusinessKey();
return businessKey;
}
}
*/
/**
* 启动流程
*/
private
SapPurchaseApproval
mannualStartWorkflow
(
SapPurchaseApproval
sapPurchaseApproval
)
{
/*
private SapPurchaseApproval mannualStartWorkflow(SapPurchaseApproval sapPurchaseApproval) {
Operator operator = null;
operator = ThreadLocalUtil.getOperator();
if (operator == null) {
...
...
@@ -350,7 +353,7 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
throw ex;
}
}
}
*/
private
SDO
buildSDO
(
Map
<
String
,
Object
>
formData
)
{
...
...
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