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
Expand all
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
This diff is collapsed.
Click to expand it.
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