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
02d84200
Commit
02d84200
authored
Jan 17, 2024
by
覃振观
👶
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
e79af03d
339a0997
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
2196 additions
and
367 deletions
+2196
-367
costReimbursement.js
...app/biz/topsun/sap/costReimbursement/costReimbursement.js
+506
-0
costReimbursement.jsp
...pp/biz/topsun/sap/costReimbursement/costReimbursement.jsp
+73
-0
costReimbursementList.js
...biz/topsun/sap/costReimbursement/costReimbursementList.js
+108
-0
costReimbursementList.jsp
...iz/topsun/sap/costReimbursement/costReimbursementList.jsp
+28
-0
nonProdApplyNext.js
...in/webapp/biz/topsun/sap/nonProdApply/nonProdApplyNext.js
+17
-110
nonProdApplyNext.jsp
...n/webapp/biz/topsun/sap/nonProdApply/nonProdApplyNext.jsp
+218
-218
statsIndicatorsList.js
...app/biz/topsun/sap/statsIndicators/statsIndicatorsList.js
+2
-2
WorkflowApplicationImplOverride.java
...m/huigou/topsun/base/WorkflowApplicationImplOverride.java
+0
-2
ActiveStatus.java
...om/huigou/topsun/base/bsnMessage/domain/ActiveStatus.java
+18
-0
BsnMessage.java
.../com/huigou/topsun/base/bsnMessage/domain/BsnMessage.java
+10
-11
SapCostReimbursementApplication.java
...ursement/application/SapCostReimbursementApplication.java
+27
-0
SapCostReimbursementDetailApplication.java
...nt/application/SapCostReimbursementDetailApplication.java
+14
-0
SapCostReimbursementApplicationImpl.java
...application/impl/SapCostReimbursementApplicationImpl.java
+212
-0
SapCostReimbursementDetailApplicationImpl.java
...ation/impl/SapCostReimbursementDetailApplicationImpl.java
+31
-0
SapCostReimbursementController.java
...mbursement/controller/SapCostReimbursementController.java
+104
-0
SapCostReimbursement.java
...un/sap/costReimbursement/domain/SapCostReimbursement.java
+139
-0
SapCostReimbursementDetail.java
.../costReimbursement/domain/SapCostReimbursementDetail.java
+367
-0
SapCostReimbursementQueryRequest.java
...sement/domain/query/SapCostReimbursementQueryRequest.java
+119
-0
SapCostReimbursementDetailRepository.java
...ment/repostiory/SapCostReimbursementDetailRepository.java
+11
-0
SapCostReimbursementRepository.java
...mbursement/repostiory/SapCostReimbursementRepository.java
+9
-0
NonProdApplyDeptApplication.java
...nonProdApply/application/NonProdApplyDeptApplication.java
+1
-0
NonProdApplyDeptApplicationImpl.java
...ply/application/impl/NonProdApplyDeptApplicationImpl.java
+37
-12
NonProdApplyNextController.java
...p/nonProdApply/controller/NonProdApplyNextController.java
+7
-8
test.java
...a/com/huigou/topsun/sap/nonProdApply/controller/test.java
+4
-0
SapStatsIndicatorsApplicationImpl.java
...s/application/impl/SapStatsIndicatorsApplicationImpl.java
+1
-1
MyBaseUtil.java
topsun/src/main/java/com/huigou/topsun/util/MyBaseUtil.java
+10
-3
sapCostReimbursementProc.bpmn
...resources/config/bpm/topsun/sapCostReimbursementProc.bpmn
+111
-0
costReimbursement.xml
...config/topsun/sap/costReimbursement/costReimbursement.xml
+12
-0
No files found.
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/costReimbursement.js
0 → 100644
View file @
02d84200
This diff is collapsed.
Click to expand it.
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/costReimbursement.jsp
0 → 100644
View file @
02d84200
<%@ 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"
/>
<x:script
src=
'/biz/topsun/sap/costReimbursement/costReimbursement.js'
/>
</head>
<body>
<div
class=
"container-fluid"
style=
"padding: 10px;"
>
<x:billTitle
title=
"费用报销申请"
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"
label=
"EP流程单号"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFcrdate"
required=
"false"
wrapper=
"date"
label=
"付款申请创建日期"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFtype"
required=
"false"
label=
"EP付款申请类别"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFtypename"
required=
"false"
label=
"EP付款申请类别名称"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"bukrs"
required=
"false"
label=
"公司代码"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"butxt"
required=
"false"
label=
"公司代码名称"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepDepart"
required=
"false"
label=
"EP部门代码"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepDepartname"
required=
"false"
label=
"EP部门名称"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepAppli"
required=
"false"
label=
"EP流程申请人代码"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepAppliname"
required=
"false"
label=
"EP流程申请人"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFcrdate"
wrapper=
"date"
required=
"false"
label=
"付款申请创建日期"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepNo"
required=
"false"
label=
"EP流程单号"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepTxt"
required=
"false"
label=
"付款申请内容"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFtamount"
required=
"false"
label=
"申请总金额(本位币)"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFttax"
required=
"false"
label=
"申请总税额(本位币)"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFtamount1"
required=
"false"
label=
"申请总金额"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepFttax1"
required=
"false"
label=
"申请总税额"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepPtamount"
required=
"false"
label=
"审批总金额(本位币)"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepPttax"
required=
"false"
label=
" 审批总税额(本位币)"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepPtamount1"
required=
"false"
label=
"审批总金额"
labelCol=
"2"
fieldCol=
"2"
/>
<x:inputC
name=
"zepPttax1"
required=
"false"
label=
"审批总税额"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
</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>
<x:title
title=
"财务审核填写"
name=
"group"
/>
<div
id=
"financialAuditGrid"
style=
"margin: 2px;"
>
</div>
<div
class=
"blank_div clearfix"
></div>
<x:title
title=
"资金岗填写"
name=
"group"
/>
<div
id=
"capitalPostGrid"
style=
"margin: 2px;"
>
</div>
</div>
</form>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/costReimbursementList.js
0 → 100644
View file @
02d84200
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initializateUI
();
loadGrid
();
})
function
initializateUI
()
{
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
}
function
loadGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
(){
addHandler
()
},
deleteHandler
:
deleteHandler
,
});
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'
,
pageSize
:
20
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
width
:
"100%"
,
height
:
"100%"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
doView
(
data
.
id
);
}
});
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
deleteHandler
()
{
DataUtil
.
del
({
action
:
'sapCostReimbursement/deleteStatsIndicators.ajax'
,
gridManager
:
gridManager
,
idFieldName
:
'id'
,
onSuccess
:
function
()
{
reloadGrid
();
}
});
}
function
addHandler
()
{
UICtrl
.
addTabItem
({
tabid
:
'costReimbursement'
,
text
:
"费用报销申请单"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/forwardCostReimbursement.job'
});
}
function
doView
(
id
)
{
UICtrl
.
addTabItem
({
tabid
:
'showCostReimbursement'
+
id
,
text
:
"费用报销详情"
,
url
:
web_app
.
name
+
'/sapCostReimbursement/showSapCostReimbursement.do?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/costReimbursementList.jsp
0 → 100644
View file @
02d84200
<%@ 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/costReimbursementList.js'
/>
</head>
<body>
<div
class=
"container-fluid"
>
<div
class=
"ui-hide"
>
<x:select
name=
"processType"
dictionary=
"processType"
/>
<x:select
name=
"yesorno"
dictionary=
"yesorno"
/>
</div>
<div
id=
"layout"
>
<div
position=
"center"
title=
"费用报销申请查询"
>
<x:title
title=
"common.button.search"
hideTable=
"queryMainForm"
isHide=
"true"
/>
<form
class=
"hg-form ui-hide"
method=
"post"
action=
""
id=
"queryMainForm"
>
<x:inputC
name=
"proofingApplyNo"
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-xt/src/main/webapp/biz/topsun/sap/nonProdApply/nonProdApplyNext.js
View file @
02d84200
...
...
@@ -80,8 +80,14 @@ function loadGrid() {
display
:
"部门人员"
,
name
:
"userName"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'tree'
,
data
:
{
name
:
'org'
,
filter
:
'psm'
,
minWidth
:
250
},
textField
:
'handlerName'
,
valueField
:
'handlerId'
required
:
true
,
data
:
{
name
:
'org'
,
filter
:
'psm'
,
minWidth
:
250
},
textField
:
'userName'
,
valueField
:
'userCode'
}
// editor: {
// required: true, type: "select",
...
...
@@ -105,29 +111,6 @@ function loadGrid() {
required
:
true
}
},
// { display: "审批人", name: "handlerName", width: 250, minWidth: 60, type: "string", align: "left",
// editor: { type: "dynamic", getEditor: function (row) {
// var dataSourceConfig = row['dataSourceConfig'] || {};
// if (typeof dataSourceConfig == "string"){
// dataSourceConfig = (new Function("return " + dataSourceConfig))();
// }
// return dataSourceConfig;
// }}
// },
// { display: "属性值", name: "propertyDisplay", width: 150, minWidth: 60, type: "string", align: "left",
// editor: {
// type: "dynamic", getEditor: function (row) {
// var dataSource = row['dataSource'] || "";
// if (dataSource) {
// if (typeof dataSource == "string"){
// dataSource = (new Function("return " + dataSource))();
// }
// return dataSource;
// }
// return {};
// }
// }
// }
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/sapNonProdApplyNext/slicedDeptList.ajax'
,
...
...
@@ -144,95 +127,13 @@ function loadGrid() {
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
//
// function initAssistantGrid() {
// var toolbarOptions = UICtrl.getDefaultToolbarOptions({
// addHandler: function () {
// UICtrl.addGridRow(assistantGrid, {sequence: assistantGrid.getData().length + 1});
// },
// deleteHandler: function () {
// assistantGrid.deleteSelectedRow();
// }
// });
// var param = {}
// assistantGrid = UICtrl.grid('#businessPersonnelListGrid', {
// columns: [
// {
// display: "描述",
// name: "description",
// width: 150,
// minWidth: 60,
// type: "string",
// align: "left",
// frozen: true,
// editor: {type: 'text', required: true}
// },
// {
// display: "审批人类别",
// name: "handlerKindName",
// width: 100,
// minWidth: 60,
// type: "string",
// align: "left",
// frozen: true,
// editor: {
// type: 'select',
// data: {
// type: "bpm",
// name: "approvalHandlerKind",
// back: {code: "handlerKindCode", name: "handlerKindName", dataSourceConfig: "dataSourceConfig"}
// },
// required: true
// }
// },
// {
// display: "审批人",
// name: "handlerName",
// width: 150,
// minWidth: 60,
// type: "string",
// align: "left",
// frozen: true,
// editor: {
// type: 'tree',
// data: {name: 'org', filter: 'psm', minWidth: 250},
// textField: 'handlerName', valueField: 'handlerId'
// }
// },
// {
// display: "排序号", name: "sequence", width: 100, minWidth: 60, type: "string", align: "left",
// editor: {type: 'spinner', required: true}
// }
// ],
// dataAction: 'server',
// url: web_app.name + '/approvalRule/queryAssistantHandlers.ajax',
// parms: param,
// height: 200,
// sortName: 'sequence',
// sortOrder: 'asc',
// toolbar: toolbarOptions,
// enabledEdit: true,
// usePager: false,
// checkbox: true,
// fixedCellHeight: true,
// selectRowButtonOnly: true,
// autoAddRow: {kindId: "assistant", dataSourceConfig: "", /*, chiefId: $("#id").val()*/},
// onBeforeEdit: function (editParm) {
// var c = editParm.column;
// if (c.name == 'value') {//启用的数据value 不能编辑
// return editParm.record['status'] === 0;
// }
// return true;
// }
// });
// }
/**
* 表单提交
* @returns {boolean}
*/
function
saveForm
()
{
debugger
let
extendedData
=
getExtendedData
();
if
(
!
extendedData
)
return
false
;
var
_self
=
this
;
...
...
@@ -270,9 +171,13 @@ function distributeForm() {
function
getExtendedData
()
{
debugger
let
msg
=
"["
;
let
isUndefined
=
false
const
deptStaffResult
=
DataUtil
.
getGridData
({
let
deptStaffResult
=
DataUtil
.
getGridData
({
gridManager
:
gridManager
,
isAllData
:
true
,
onCheck
:
function
(
data
)
{
...
...
@@ -280,6 +185,7 @@ function getExtendedData() {
msg
+=
`
${
data
.
deptName
}
、`
;
isUndefined
=
true
;
}
return
true
;
}
});
...
...
@@ -288,7 +194,8 @@ function getExtendedData() {
return
false
}
let
extendedData
=
{};
return
extendedData
.
deptStaff
=
Public
.
encodeJSONURI
(
deptStaffResult
);
extendedData
.
deptStaff
=
Public
.
encodeJSONURI
(
deptStaffResult
);
return
extendedData
;
}
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/nonProdApply/nonProdApplyNext.jsp
View file @
02d84200
This diff is collapsed.
Click to expand it.
topsun-xt/src/main/webapp/biz/topsun/sap/statsIndicators/statsIndicatorsList.js
View file @
02d84200
...
...
@@ -3,13 +3,13 @@ var gridManager = null;
$
(
document
).
ready
(
function
()
{
initializateUI
();
loadStatsIndicatorsListGrid
Grid
();
loadStatsIndicatorsListGrid
();
})
function
initializateUI
()
{
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
}
function
loadStatsIndicatorsListGrid
Grid
()
{
function
loadStatsIndicatorsListGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
(){
...
...
topsun/src/main/java/com/huigou/topsun/base/WorkflowApplicationImplOverride.java
View file @
02d84200
...
...
@@ -2,8 +2,6 @@ package com.huigou.topsun.base;
import
com.huigou.context.Operator
;
import
com.huigou.topsun.base.bsnMessage.appliction.BsnMessageApplication
;
import
com.huigou.topsun.base.bsnMessage.domain.query.BsnMessageQueryRequest
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsQueryRequest
;
import
com.huigou.uasp.bmp.opm.application.OrgApplication
;
import
com.huigou.uasp.bpm.BatchAdvanceParameter
;
import
com.huigou.uasp.bpm.TaskStatus
;
...
...
topsun/src/main/java/com/huigou/topsun/base/bsnMessage/domain/ActiveStatus.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
base
.
bsnMessage
.
domain
;
public
enum
ActiveStatus
{
UNFINISHED
(
0
),
// 未完成
FINISHED
(
1
),
// 完成
SAVED
(
2
),
// 保存未分发
REJECTED
(
3
);
// 驳回
private
int
value
;
private
ActiveStatus
(
int
value
)
{
this
.
value
=
value
;
}
public
int
getValue
()
{
return
value
;
}
}
topsun/src/main/java/com/huigou/topsun/base/bsnMessage/domain/BsnMessage.java
View file @
02d84200
package
com
.
huigou
.
topsun
.
base
.
bsnMessage
.
domain
;
import
lombok.Data
;
import
org.hibernate.annotations.GenericGenerator
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
javax.persistence.*
;
import
java.io.Serializable
;
import
java.util.Date
;
...
...
@@ -21,6 +19,13 @@ public class BsnMessage implements Serializable {
* id
*/
@Id
@GeneratedValue
(
generator
=
"system-uuid"
)
@GenericGenerator
(
name
=
"system-uuid"
,
strategy
=
"guid"
)
private
String
id
;
/**
...
...
@@ -58,18 +63,12 @@ public class BsnMessage implements Serializable {
private
Date
finishedDate
;
/**
* 驳回信息
*/
@Column
(
name
=
"reject_msg"
)
private
String
rejectMsg
;
/**
*任务执行地址
*/
@Column
(
name
=
"executor_url"
)
private
Date
executorUrl
;
private
String
executorUrl
;
/**
* 完成状态(默认为未完成:0,完成为:1,保存未分发:2)
...
...
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/application/SapCostReimbursementApplication.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
application
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement
;
import
com.huigou.topsun.sap.costReimbursement.domain.query.SapCostReimbursementQueryRequest
;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicators
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsQueryRequest
;
import
java.util.List
;
import
java.util.Map
;
public
interface
SapCostReimbursementApplication
{
String
PROCESS_DEFINITION_KEY
=
"sapCostReimbursementProc"
;
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/costReimbursement/costReimbursement.xml"
;
SapCostReimbursement
loadSapCostReimbursementById
(
String
id
);
Map
<
String
,
Object
>
slicedSapCostReimbursementQuery
(
SapCostReimbursementQueryRequest
query
);
void
deleteSapCostReimbursementById
(
String
id
);
void
deleteSapCostReimbursementByIds
(
List
<
String
>
ids
);
void
sendSapDate
(
String
bizId
);
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/application/SapCostReimbursementDetailApplication.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
application
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursementDetail
;
import
java.util.List
;
public
interface
SapCostReimbursementDetailApplication
{
// String QUERY_XML_FILE_PATH="config/topsun/sap/statsIndicators/statsIndicators.xml";
// Map<String, Object> slicedStatsIndicatorsDetailQuery(SapStatsIndicatorsDetailQueryRequest query);
List
<
SapCostReimbursementDetail
>
getAllByCRId
(
String
CRId
);
}
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/application/impl/SapCostReimbursementApplicationImpl.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
application
.
impl
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.topsun.sap.common.DefaultHttpClient
;
import
com.huigou.topsun.sap.common.serializer.MessageCodec
;
import
com.huigou.topsun.sap.costReimbursement.application.SapCostReimbursementApplication
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursementDetail
;
import
com.huigou.topsun.sap.costReimbursement.domain.query.SapCostReimbursementQueryRequest
;
import
com.huigou.topsun.sap.costReimbursement.repostiory.SapCostReimbursementDetailRepository
;
import
com.huigou.topsun.sap.costReimbursement.repostiory.SapCostReimbursementRepository
;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicators
;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicatorsDetail
;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicatorsResult
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsQueryRequest
;
import
com.huigou.topsun.util.MyBaseUtil
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.util.ClassHelper
;
import
com.huigou.util.SDO
;
import
lombok.SneakyThrows
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@Service
(
"sapCostReimbursementApplication"
)
public
class
SapCostReimbursementApplicationImpl
extends
FlowBroker
implements
SapCostReimbursementApplication
{
@Autowired
private
SapCostReimbursementDetailRepository
costReimbursementDetailRepository
;
@Autowired
private
SapCostReimbursementRepository
costReimbursementRepository
;
// @Autowired
// DefaultHttpClient defaultHttpClient;
// @Autowired
// MessageCodec messageCodec;
@SneakyThrows
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
@Override
protected
String
saveBizAndApprovalData
()
{
super
.
saveBizAndApprovalData
();
SDO
sdo
=
this
.
getBizAndApprovalData
();
SapCostReimbursement
sapCostReimbursement
=
getBizEntity
(
SapCostReimbursement
.
class
);
if
(
sapCostReimbursement
.
isNew
())
{
sapCostReimbursement
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
}
else
{
sapCostReimbursement
=
(
SapCostReimbursement
)
commonDomainService
.
loadAndFillinProperties
(
sapCostReimbursement
);
}
sapCostReimbursement
=
costReimbursementRepository
.
save
(
sapCostReimbursement
);
String
CRDetailJSON
=
sdo
.
getString
(
"CRDetail"
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
List
<
SapCostReimbursementDetail
>
CRDetailAll
=
costReimbursementDetailRepository
.
findAllByReimbursementBaseInfoId
(
sapCostReimbursement
.
getId
());
if
(!
CRDetailAll
.
isEmpty
())
{
costReimbursementDetailRepository
.
delete
(
CRDetailAll
);
}
List
<
SapCostReimbursementDetail
>
CRDetailList
=
objectMapper
.
readValue
(
CRDetailJSON
,
new
TypeReference
<
List
<
SapCostReimbursementDetail
>>()
{});
for
(
SapCostReimbursementDetail
item
:
CRDetailList
)
{
item
.
setReimbursementBaseInfoId
(
sapCostReimbursement
.
getId
());
}
costReimbursementDetailRepository
.
save
(
CRDetailList
);
return
sapCostReimbursement
.
getId
();
}
@Override
protected
Map
<
String
,
Object
>
getProcessBizParams
(
String
bizId
)
{
// 返回业务数据给流程实例,
return
ClassHelper
.
toMap
(
costReimbursementRepository
.
getOne
(
bizId
));
}
/**
* 流程实例结束
*
* @param delegateExecution
*/
@Override
protected
void
onEnd
(
DelegateExecution
delegateExecution
)
{
super
.
onEnd
(
delegateExecution
);
String
bizId
=
delegateExecution
.
getProcessBusinessKey
();
BizBillStatus
status
=
approvePassed
()
?
BizBillStatus
.
COMPLETED
:
BizBillStatus
.
ABORTED
;
SapCostReimbursement
sapCostReimbursement
=
costReimbursementRepository
.
findOne
(
bizId
);
sapCostReimbursement
.
setStatusId
(
status
.
getId
());
costReimbursementRepository
.
save
(
sapCostReimbursement
);
//审核完成、远程调用sap接口
sendSapDate
(
bizId
);
}
@Override
protected
void
onAbortProcessInstance
(
DelegateExecution
delegateExecution
)
{
super
.
onAbortProcessInstance
(
delegateExecution
);
String
bizId
=
delegateExecution
.
getProcessBusinessKey
();
SapCostReimbursement
sapCostReimbursement
=
costReimbursementRepository
.
findOne
(
bizId
);
sapCostReimbursement
.
setStatusId
(
BizBillStatus
.
ABORTED
.
getId
());
costReimbursementRepository
.
save
(
sapCostReimbursement
);
}
/**
* @param delegateTask
* @param destActivityId 回退到的目标节点id
*/
@Override
protected
void
onBack
(
DelegateTask
delegateTask
,
String
destActivityId
)
{
super
.
onBack
(
delegateTask
,
destActivityId
);
if
(
"Apply"
.
equalsIgnoreCase
(
destActivityId
))
{
String
bizId
=
delegateTask
.
getExecution
().
getProcessBusinessKey
();
SapCostReimbursement
sapCostReimbursement
=
costReimbursementRepository
.
findOne
(
bizId
);
sapCostReimbursement
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
costReimbursementRepository
.
save
(
sapCostReimbursement
);
}
}
@Override
public
SapCostReimbursement
loadSapCostReimbursementById
(
String
id
)
{
return
costReimbursementRepository
.
findOne
(
id
);
}
@Override
public
Map
<
String
,
Object
>
slicedSapCostReimbursementQuery
(
SapCostReimbursementQueryRequest
query
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"slicedSapCostReimbursementQuery"
);
return
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryDescriptor
,
query
);
}
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
public
void
deleteSapCostReimbursementById
(
String
id
)
{
SapCostReimbursement
costReimbursement
=
costReimbursementRepository
.
findOne
(
id
);
List
<
SapCostReimbursementDetail
>
all
=
costReimbursementDetailRepository
.
findAllByReimbursementBaseInfoId
(
id
);
costReimbursementDetailRepository
.
delete
(
all
);
costReimbursementRepository
.
delete
(
costReimbursement
);
}
@Override
@Transactional
public
void
deleteSapCostReimbursementByIds
(
List
<
String
>
ids
)
{
ids
.
forEach
(
this
::
deleteSapCostReimbursementById
);
}
/**
* 远程调用sap接口,传递数据
*
* @param bizId
*/
public
void
sendSapDate
(
String
bizId
)
{
SapCostReimbursement
sapCostReimbursement
=
costReimbursementRepository
.
findOne
(
bizId
);
if
(
sapCostReimbursement
.
getStatusId
()
==
BizBillStatus
.
APPLYING
.
getId
())
{
throw
new
RuntimeException
(
"本数据未经审批完成!"
);
}
List
<
SapCostReimbursementDetail
>
all
=
costReimbursementDetailRepository
.
findAllByReimbursementBaseInfoId
(
bizId
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
ObjectMapper
objectMapper
=
new
ObjectMapper
();
Map
<
String
,
Object
>
map
=
MyBaseUtil
.
convertToMap
(
sapCostReimbursement
,
true
);
//封装参数
// for (SapStatsIndicatorsDetail sapStatsIndicatorsDetail : all) {
// Map<String, Object> detailMap = objectMapper.convertValue(sapStatsIndicatorsDetail, Map.class);
// map.put("ITEM", detailMap);
// list.add(map);
// }
// String url = "cud_kb31n/kb31n";
// SapStatsIndicatorsResult sapStatsIndicatorsResult = null;
// try {
// String result = defaultHttpClient.execute(list, url);
// List<SapStatsIndicatorsResult> resultList = objectMapper.readValue(result, new TypeReference<List<SapStatsIndicatorsResult>>() {
// });
//
// sapStatsIndicatorsResult = resultList.get(0);
//
// if (!"s".equals(sapStatsIndicatorsResult.getType())) {
// throw new RuntimeException("数据传输失败,请稍后手动重试!");
// }
// } catch (IOException e) {
// if (sapStatsIndicatorsResult == null) {
// sapStatsIndicatorsResult = new SapStatsIndicatorsResult();
// }
// sapStatsIndicatorsResult.setType("A");
// throw new RuntimeException("sap服务器无响应请稍后手动重试!");
// } finally {
// SapStatsIndicatorsResult statsIndicatorsId = sapStatsIndicatorsResultRepository.findByStatsIndicatorsId(bizId);
// if(statsIndicatorsId!=null)sapStatsIndicatorsResultRepository.delete(statsIndicatorsId);
// sapStatsIndicatorsResult.setStatsIndicatorsId(bizId);
// sapStatsIndicatorsResultRepository.save(sapStatsIndicatorsResult);
// }
}
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/application/impl/SapCostReimbursementDetailApplicationImpl.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
application
.
impl
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.topsun.sap.costReimbursement.application.SapCostReimbursementDetailApplication
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursementDetail
;
import
com.huigou.topsun.sap.costReimbursement.repostiory.SapCostReimbursementDetailRepository
;
import
com.huigou.topsun.sap.statsIndicators.application.SapStatsIndicatorsDetailApplication
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsDetailQueryRequest
;
import
com.huigou.uasp.bmp.common.application.BaseApplication
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
SapCostReimbursementDetailApplicationImpl
extends
BaseApplication
implements
SapCostReimbursementDetailApplication
{
// @Override
// public Map<String, Object> slicedStatsIndicatorsDetailQuery(SapStatsIndicatorsDetailQueryRequest query) {
// QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "slicedStatsIndicatorsDetailQuery");
// return this.sqlExecutorDao.executeSlicedQuery(queryDescriptor,query);
// }
@Autowired
SapCostReimbursementDetailRepository
costReimbursementDetailRepository
;
@Override
public
List
<
SapCostReimbursementDetail
>
getAllByCRId
(
String
CRId
)
{
return
costReimbursementDetailRepository
.
findAllByReimbursementBaseInfoId
(
CRId
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/controller/SapCostReimbursementController.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
controller
;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
import
com.huigou.topsun.sap.costReimbursement.application.SapCostReimbursementApplication
;
import
com.huigou.topsun.sap.costReimbursement.application.SapCostReimbursementDetailApplication
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursementDetail
;
import
com.huigou.topsun.sap.costReimbursement.domain.query.SapCostReimbursementQueryRequest
;
import
com.huigou.topsun.sap.statsIndicators.application.SapStatsIndicatorsApplication
;
import
com.huigou.topsun.sap.statsIndicators.application.SapStatsIndicatorsDetailApplication
;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicators
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsDetailQueryRequest
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsQueryRequest
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.util.SDO
;
import
com.huigou.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
java.util.List
;
import
java.util.Map
;
@Controller
@ControllerMapping
(
"/sapCostReimbursement"
)
public
class
SapCostReimbursementController
extends
CommonController
{
protected
String
getPagePath
()
{
return
"/biz/topsun/sap/costReimbursement/"
;
}
@Autowired
SapCostReimbursementApplication
costReimbursementApplication
;
@Autowired
SapCostReimbursementDetailApplication
costReimbursementDetailApplication
;
public
String
forwardCostReimbursementList
(){
return
forward
(
"costReimbursementList"
);
}
public
String
forwardCostReimbursement
(){
//定义流程
this
.
putAttribute
(
"processDefinitionKey"
,
SapCostReimbursementApplication
.
PROCESS_DEFINITION_KEY
);
this
.
putAttribute
(
"procUnitId"
,
"Apply"
);
//定义流程环节的id
SapCostReimbursement
sapCostReimbursement
=
new
SapCostReimbursement
();
sapCostReimbursement
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
Operator
operator
=
getOperator
();
//获取当前操作员的详情信息
sapCostReimbursement
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
sapCostReimbursement
.
setZepNo
(
sapCostReimbursement
.
getBillCode
());
return
forward
(
"costReimbursement"
,
sapCostReimbursement
);
}
public
String
slicedSapCostReimbursementList
(){
SDO
sdo
=
this
.
getSDO
();
SapCostReimbursementQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
SapCostReimbursementQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
costReimbursementApplication
.
slicedSapCostReimbursementQuery
(
queryRequest
);
return
toResult
(
map
);
}
public
String
slicedSapCostReimbursementDetailList
(){
SDO
sdo
=
this
.
getSDO
();
List
<
SapCostReimbursementDetail
>
CRDetailAll
=
costReimbursementDetailApplication
.
getAllByCRId
(
sdo
.
getId
());
return
toResult
(
CRDetailAll
);
}
/**
* 工作流审核跳转页面
* @return
*/
public
String
showSapCostReimbursement
()
{
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getBizId
();
String
isDetailPage
=
sdo
.
getString
(
"isDetailPage"
);
if
(
"true"
.
equals
(
isDetailPage
))
this
.
putAttribute
(
"isReadOnly"
,
"true"
);
SapCostReimbursement
costReimbursement
=
costReimbursementApplication
.
loadSapCostReimbursementById
(
id
);
return
forward
(
"costReimbursement"
,
costReimbursement
);
}
public
String
deleteStatsIndicators
(){
SDO
sdo
=
this
.
getSDO
();
List
<
String
>
ids
=
sdo
.
getIds
();
costReimbursementApplication
.
deleteSapCostReimbursementByIds
(
ids
);
return
success
();
}
//
// /**
// * 手动发送数据到sap
// * @return
// */
// public String againSendSapDate(){
// SDO sdo = this.getSDO();
// String id = sdo.getBizId();
// sapStatsIndicatorsApplication.sendSapDate(id);
// return success();
// }
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/domain/SapCostReimbursement.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
domain
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
com.huigou.data.domain.model.FlowBillAbstractEntity
;
import
lombok.Data
;
/**
*
* @TableName sap_cost_reimbursement_base_info
*/
@Table
(
name
=
"sap_cost_reimbursement_base_info"
)
@Entity
@Data
public
class
SapCostReimbursement
extends
FlowBillAbstractEntity
{
/**
* EP付款申请类别
*/
@Column
(
name
=
"ZEP_FTYPE"
)
private
String
zepFtype
;
/**
* EP付款申请类别名称
*/
@Column
(
name
=
"ZEP_FTYPENAME"
)
private
String
zepFtypename
;
/**
* 公司代码
*/
@Column
(
name
=
"BUKRS"
)
private
String
bukrs
;
/**
* 公司代码名称
*/
@Column
(
name
=
"BUTXT"
)
private
String
butxt
;
/**
* EP部门代码
*/
@Column
(
name
=
"ZEP_DEPART"
)
private
String
zepDepart
;
/**
* EP部门名称
*/
@Column
(
name
=
"ZEP_DEPARTNAME"
)
private
String
zepDepartname
;
/**
* EP流程申请人代码
*/
@Column
(
name
=
"ZEP_APPLI"
)
private
String
zepAppli
;
/**
* EP流程申请人
*/
@Column
(
name
=
"ZEP_APPLINAME"
)
private
String
zepAppliname
;
/**
* 付款申请创建日期
*/
@Column
(
name
=
"ZEP_FCRDATE"
)
private
Date
zepFcrdate
;
/**
* EP流程单号
*/
@Column
(
name
=
"ZEP_NO"
)
private
String
zepNo
;
/**
* 付款申请内容
*/
@Column
(
name
=
"ZEP_TXT"
)
private
String
zepTxt
;
/**
* 申请总金额(本位币)
*/
@Column
(
name
=
"ZEP_FTAMOUNT"
)
private
BigDecimal
zepFtamount
;
/**
* 申请总税额(本位币)
*/
@Column
(
name
=
"ZEP_FTTAX"
)
private
BigDecimal
zepFttax
;
/**
* 申请总金额
*/
@Column
(
name
=
"ZEP_FTAMOUNT1"
)
private
BigDecimal
zepFtamount1
;
/**
* 申请总税额
*/
@Column
(
name
=
"ZEP_FTTAX1"
)
private
BigDecimal
zepFttax1
;
/**
* 审批总金额(本位币)
*/
@Column
(
name
=
"ZEP_PTAMOUNT"
)
private
BigDecimal
zepPtamount
;
/**
* 审批总税额(本位币)
*/
@Column
(
name
=
"ZEP_PTTAX"
)
private
BigDecimal
zepPttax
;
/**
* 审批总金额
*/
@Column
(
name
=
"ZEP_PTAMOUNT1"
)
private
BigDecimal
zepPtamount1
;
/**
* 审批总税额
*/
@Column
(
name
=
"ZEP_PTTAX1"
)
private
BigDecimal
zepPttax1
;
@Override
protected
String
getCodeRuleId
()
{
return
"sapCostReimbursement"
;
}
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/domain/SapCostReimbursementDetail.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
domain
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.Data
;
import
org.hibernate.annotations.GenericGenerator
;
/**
*
* @TableName sap_cost_reimbursement_detail
*/
@Table
(
name
=
"sap_cost_reimbursement_detail"
)
@Entity
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SapCostReimbursementDetail
implements
Serializable
{
/**
*
*/
@Id
@GeneratedValue
(
generator
=
"system-uuid"
)
@GenericGenerator
(
name
=
"system-uuid"
,
strategy
=
"guid"
)
@Column
(
name
=
"reimbursement_detail_id"
)
private
String
reimbursementDetailId
;
/**
*
*/
@Column
(
name
=
"reimbursement_base_info_id"
)
private
String
reimbursementBaseInfoId
;
/**
* BP标识
*/
@Column
(
name
=
"ZEP_BPTYPE"
)
private
String
zepBptype
;
/**
* BP标识描述
*/
@Column
(
name
=
"ZEP_BPTYPENAME"
)
private
String
zepBptypename
;
/**
* BP
*/
@Column
(
name
=
"PARTNER"
)
private
String
partner
;
/**
* BP银行账号
*/
@Column
(
name
=
"BANKN"
)
private
String
bankn
;
/**
* BP账号名称
*/
@Column
(
name
=
"KOINH"
)
private
String
koinh
;
/**
* BP联行号
*/
@Column
(
name
=
"BANKL"
)
private
String
bankl
;
/**
* SWIFT/BIC
*/
@Column
(
name
=
"SWIFT"
)
private
String
swift
;
/**
* BP联行号名称
*/
@Column
(
name
=
"BANKA"
)
private
String
banka
;
/**
* EP流程子序号
*/
@Column
(
name
=
"ZEP_ITEMNO"
)
private
String
zepItemno
;
/**
* 计划内外付款标识
*/
@Column
(
name
=
"ZEP_PLAN"
)
private
String
zepPlan
;
/**
* 计划内外标识名称
*/
@Column
(
name
=
"ZEP_PLANNAME"
)
private
String
zepPlanname
;
/**
* 费用类型代码
*/
@Column
(
name
=
"ZEP_EXTYPE"
)
private
String
zepExtype
;
/**
* 费用类型名称
*/
@Column
(
name
=
"ZEP_EXTYPENAME"
)
private
String
zepExtypename
;
/**
* 费用会计科目
*/
@Column
(
name
=
"HKONT"
)
private
String
hkont
;
/**
* 总账科目描述
*/
@Column
(
name
=
"TXT50"
)
private
String
txt50
;
/**
* 计划付款日期
*/
@Column
(
name
=
"ZEP_FPLDATE"
)
private
Date
zepFpldate
;
/**
* 成本中心
*/
@Column
(
name
=
"KOSTL"
)
private
String
kostl
;
/**
* 成本中心名称
*/
@Column
(
name
=
"KTEXT1"
)
private
String
ktext1
;
/**
* 内部订单
*/
@Column
(
name
=
"AUFNR"
)
private
String
aufnr
;
/**
* 内部订单描述
*/
@Column
(
name
=
"KTEXT"
)
private
String
ktext
;
/**
* 币别
*/
@Column
(
name
=
"WAERS"
)
private
String
waers
;
/**
* 汇率
*/
@Column
(
name
=
"KURSF"
)
private
BigDecimal
kursf
;
/**
* 不含税金额(本位币)
*/
@Column
(
name
=
"NETWR1"
)
private
BigDecimal
netwr1
;
/**
* 税额(本位币)
*/
@Column
(
name
=
"KWETR1"
)
private
BigDecimal
kwetr1
;
/**
* 含税金额(本位币)
*/
@Column
(
name
=
"KZWI11"
)
private
BigDecimal
kzwi11
;
/**
* 税码
*/
@Column
(
name
=
"MWSKZ"
)
private
String
mwskz
;
/**
* 不含税金额
*/
@Column
(
name
=
"NETWR"
)
private
BigDecimal
netwr
;
/**
* 税额
*/
@Column
(
name
=
"KWETR"
)
private
BigDecimal
kwetr
;
/**
* 含税金额
*/
@Column
(
name
=
"KZWI1"
)
private
BigDecimal
kzwi1
;
/**
* 不含税金额(审批-本位币)
*/
@Column
(
name
=
"ZEP_PDAMOUNT"
)
private
BigDecimal
zepPdamount
;
/**
* 税额(审批-本位币)
*/
@Column
(
name
=
"ZEP_PDTAX"
)
private
BigDecimal
zepPdtax
;
/**
* 含税金额(审批-本位币)
*/
@Column
(
name
=
"ZEP_PTDAMOUNT"
)
private
BigDecimal
zepPtdamount
;
/**
* 不含税金额(审批)
*/
@Column
(
name
=
"ZEP_PDAMOUNT1"
)
private
BigDecimal
zepPdamount1
;
/**
* 税额(审批)
*/
@Column
(
name
=
"ZEP_PDTAX1"
)
private
BigDecimal
zepPdtax1
;
/**
* 含税金额(审批)
*/
@Column
(
name
=
"ZEP_PTDAMOUNT1"
)
private
BigDecimal
zepPtdamount1
;
/**
* 付款方式代码
*/
@Column
(
name
=
"ZLSCH"
)
private
String
zlsch
;
/**
* 付款方式名称
*/
@Column
(
name
=
"ZLSCH_TEXT1"
)
private
String
zlschText1
;
/**
* 是否付款
*/
@Column
(
name
=
"ZEP_PAY"
)
private
String
zepPay
;
/**
* 直联付款标识
*/
@Column
(
name
=
"ZEP_BANK"
)
private
String
zepBank
;
/**
* 记账凭证编号
*/
@Column
(
name
=
"BELNR"
)
private
String
belnr
;
/**
* 记账凭证财年
*/
@Column
(
name
=
"GJAHR"
)
private
String
gjahr
;
/**
* 记账过账日期
*/
@Column
(
name
=
"BUDAT"
)
private
Date
budat
;
/**
* 记账凭证日期
*/
@Column
(
name
=
"BLDAT"
)
private
Date
bldat
;
/**
* 付款凭证编号
*/
@Column
(
name
=
"BELNR1"
)
private
String
belnr1
;
/**
* 付款凭证财年
*/
@Column
(
name
=
"GJAHR1"
)
private
String
gjahr1
;
/**
* 付款过账日期
*/
@Column
(
name
=
"BUDAT1"
)
private
Date
budat1
;
/**
* 付款凭证日期
*/
@Column
(
name
=
"BLDAT1"
)
private
Date
bldat1
;
/**
* 付款状态
*/
@Column
(
name
=
"ZPAY_STAUS"
)
private
String
zpayStaus
;
/**
* 原因代码
*/
@Column
(
name
=
"RSTGR"
)
private
String
rstgr
;
/**
* 付款附言
*/
@Column
(
name
=
"ZEP_TXT1"
)
private
String
zepTxt1
;
/**
* 付款银行账号
*/
@Column
(
name
=
"BANKN1"
)
private
String
bankn1
;
/**
* 付款银行账号名称
*/
@Column
(
name
=
"ZT012K_TEXT1"
)
private
String
zt012kText1
;
/**
* 返回状态
*/
@Column
(
name
=
"MSGTY"
)
private
String
msgty
;
/**
* 返回消息
*/
@Column
(
name
=
"MSGTX"
)
private
String
msgtx
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/domain/query/SapCostReimbursementQueryRequest.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
domain
.
query
;
import
com.huigou.data.domain.query.QueryAbstractRequest
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
*
* @TableName sap_cost_reimbursement_base_info
*/
@Data
public
class
SapCostReimbursementQueryRequest
extends
QueryAbstractRequest
{
/**
* EP付款申请类别
*/
private
String
zepFtype
;
/**
* EP付款申请类别名称
*/
private
String
zepFtypename
;
/**
* 公司代码
*/
private
String
bukrs
;
/**
* 公司代码名称
*/
private
String
butxt
;
/**
* EP部门代码
*/
private
String
zepDepart
;
/**
* EP部门名称
*/
private
String
zepDepartname
;
/**
* EP流程申请人代码
*/
private
String
zepAppli
;
/**
* EP流程申请人
*/
private
String
zepAppliname
;
/**
* 付款申请创建日期
*/
private
Date
zepFcrdate
;
/**
* EP流程单号
*/
private
String
zepNo
;
/**
* 付款申请内容
*/
private
String
zepTxt
;
/**
* 申请总金额(本位币)
*/
private
BigDecimal
zepFtamount
;
/**
* 申请总税额(本位币)
*/
private
BigDecimal
zepFttax
;
/**
* 申请总金额
*/
private
BigDecimal
zepFtamount1
;
/**
* 申请总税额
*/
private
BigDecimal
zepFttax1
;
/**
* 审批总金额(本位币)
*/
private
BigDecimal
zepPtamount
;
/**
* 审批总税额(本位币)
*/
private
BigDecimal
zepPttax
;
/**
* 审批总金额
*/
private
BigDecimal
zepPtamount1
;
/**
* 审批总税额
*/
private
BigDecimal
zepPttax1
;
/**
* 填报日期
*/
private
Date
fillinDate
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/repostiory/SapCostReimbursementDetailRepository.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
repostiory
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursementDetail
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
public
interface
SapCostReimbursementDetailRepository
extends
JpaRepository
<
SapCostReimbursementDetail
,
String
>
{
List
<
SapCostReimbursementDetail
>
findAllByReimbursementBaseInfoId
(
String
baseInfoId
);
}
topsun/src/main/java/com/huigou/topsun/sap/costReimbursement/repostiory/SapCostReimbursementRepository.java
0 → 100644
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
costReimbursement
.
repostiory
;
import
com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
SapCostReimbursementRepository
extends
JpaRepository
<
SapCostReimbursement
,
String
>
{
}
topsun/src/main/java/com/huigou/topsun/sap/nonProdApply/application/NonProdApplyDeptApplication.java
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
nonProdApply
.
application
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.huigou.topsun.sap.nonProdApply.domain.NonProdApplyBaseInfo
;
import
com.huigou.topsun.sap.nonProdApply.domain.SapNonProdApplyDept
;
import
com.huigou.topsun.sap.nonProdApply.domain.query.NonProdApplyBaseInfoQueryRequest
;
...
...
topsun/src/main/java/com/huigou/topsun/sap/nonProdApply/application/impl/NonProdApplyDeptApplicationImpl.java
View file @
02d84200
package
com
.
huigou
.
topsun
.
sap
.
nonProdApply
.
application
.
impl
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.huigou.context.Operator
;
import
com.huigou.topsun.base.bsnMessage.domain.ActiveStatus
;
import
com.huigou.topsun.base.bsnMessage.domain.BsnMessage
;
import
com.huigou.topsun.base.bsnMessage.repository.BsnMessageRepository
;
import
com.huigou.topsun.proofing.domain.proofingApply.model.ProofingApplyProcess
;
...
...
@@ -16,10 +19,7 @@ import com.huigou.util.SDO;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
@Service
public
class
NonProdApplyDeptApplicationImpl
extends
BaseApplication
implements
NonProdApplyDeptApplication
{
...
...
@@ -30,24 +30,49 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
BsnMessageRepository
bsnMessageRepository
;
@Override
public
Map
<
String
,
Object
>
saveSapNonProdApplyDept
(
SDO
sdo
)
{
public
Map
<
String
,
Object
>
saveSapNonProdApplyDept
(
SDO
sdo
){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
SapNonProdApplyDept
nonProdApplyDept
=
sdo
.
toObject
(
SapNonProdApplyDept
.
class
);
nonProdApplyDept
=
nonProdApplyDeptRepository
.
save
(
nonProdApplyDept
);
//获取分发的部门与人员信息
ObjectMapper
objectMapper
=
new
ObjectMapper
();
String
deptStaffJSON
=
sdo
.
getString
(
"deptStaff"
);
// List<BsnMessage> processList = objectMapper.readValue(processJSON, new TypeReference<List<ProofingApplyProcess>>() {
// });
SapNonProdApplyDept
save
=
nonProdApplyDeptRepository
.
save
(
nonProdApplyDept
);
List
<
Map
<
String
,
String
>>
deptStaffList
=
null
;
try
{
deptStaffList
=
objectMapper
.
readValue
(
deptStaffJSON
,
new
TypeReference
<
List
<
Map
<
String
,
String
>>>()
{});
}
catch
(
JsonProcessingException
e
)
{
throw
new
RuntimeException
(
"JSON转换失败:"
+
e
);
}
map
.
put
(
"applyDeptId"
,
save
.
getApplyDeptId
());
Operator
operator
=
getOperator
();
//获取当前操作员的详情信息
//封装分发数据
List
<
BsnMessage
>
bsnMessageList
=
new
ArrayList
<>();
for
(
Map
<
String
,
String
>
stringMap
:
deptStaffList
)
{
BsnMessage
bsnMessage
=
new
BsnMessage
();
String
userCode
=
stringMap
.
get
(
"userCode"
);
String
deptName
=
stringMap
.
get
(
"deptName"
);
String
deptCode
=
stringMap
.
get
(
"deptCode"
);
bsnMessage
.
setListners
(
userCode
);
bsnMessage
.
setBusinessCode
(
deptCode
);
bsnMessage
.
setActive
(
ActiveStatus
.
SAVED
.
getValue
());
bsnMessage
.
setCreateDate
(
new
Date
());
bsnMessage
.
setTitle
(
"非产品/非本成品类物料:"
+
deptName
+
"部门数据维护"
);
bsnMessage
.
setExecutorUrl
(
"sapNonProdApplyNext/fillInNonProdApplyDept.do"
);
bsnMessage
.
setBusinessId
(
nonProdApplyDept
.
getApplyDeptId
());
bsnMessageList
.
add
(
bsnMessage
);
}
bsnMessageRepository
.
save
(
bsnMessageList
);
map
.
put
(
"applyDeptId"
,
nonProdApplyDept
.
getApplyDeptId
());
return
map
;
}
@Override
public
void
distributeSapNonProdApplyDept
(
SDO
sdo
)
{
//将状态为保存为分发的全部修改为分发未完成
Map
<
String
,
Object
>
map
=
this
.
saveSapNonProdApplyDept
(
sdo
);
List
<
BsnMessage
>
nonProdApplyDeptList
=
bsnMessageRepository
.
findAllByBusinessId
((
String
)
map
.
get
(
"applyDeptId"
));
nonProdApplyDeptList
.
forEach
(
item
->
item
.
setActive
(
0
));
nonProdApplyDeptList
.
forEach
(
item
->
item
.
setActive
(
ActiveStatus
.
UNFINISHED
.
getValue
()
));
bsnMessageRepository
.
save
(
nonProdApplyDeptList
);
}
...
...
@@ -56,6 +81,7 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
return
nonProdApplyDeptRepository
.
findOne
(
id
);
}
@Override
public
void
rejectNonProdApplyDept
(
SDO
sdo
)
{
String
septString
=
sdo
.
getString
(
"dept"
);
...
...
@@ -64,10 +90,9 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
String
bdid
=
sdo
.
getString
(
"表单的id"
);
//更改状态此对象为驳回状态
SapNonProdApplyDept
one
=
nonProdApplyDeptRepository
.
findOne
(
bdid
);
one
.
setStatus
(
2
);
one
.
setStatus
(
ActiveStatus
.
REJECTED
.
getValue
()
);
nonProdApplyDeptRepository
.
save
(
one
);
//获取此条数据的相关部门信息
List
<
BsnMessage
>
allByBusinessId
=
bsnMessageRepository
.
findAllByBusinessId
(
bdid
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/nonProdApply/controller/NonProdApplyNextController.java
View file @
02d84200
...
...
@@ -67,13 +67,12 @@ public class NonProdApplyNextController extends CommonController {
}
/**
* 添加
指导申请书
* 添加
*/
public
String
saveSapNonProdApplyDept
(){
SDO
sdo
=
this
.
getSDO
();
SapNonProdApplyDept
nonProdApplyDept
=
sdo
.
toObject
(
SapNonProdApplyDept
.
class
);
nonProdApplyDeptApplication
.
saveSapNonProdApplyDept
(
sdo
);
return
toResult
(
nonProdApplyDept
);
Map
<
String
,
Object
>
map
=
nonProdApplyDeptApplication
.
saveSapNonProdApplyDept
(
sdo
);
return
toResult
(
map
);
}
...
...
@@ -102,8 +101,8 @@ public class NonProdApplyNextController extends CommonController {
}
@EasySearch
(
queryName
=
"userNameSelect"
)
public
Map
<
String
,
Object
>
queryResourceNameGroup
(
SDO
sdo
){
//
@EasySearch(queryName = "userNameSelect")
//
public Map<String, Object> queryResourceNameGroup(SDO sdo){
// Integer intPage = sdo.getInteger("intPage", 1);
// Integer pageSize = sdo.getInteger("pageSize",10);
// PageRequest pageRequest = new PageRequest(intPage - 1, pageSize);
...
...
@@ -122,8 +121,8 @@ public class NonProdApplyNextController extends CommonController {
// MemEasySearcher<Map<String, Object>> memEasySearcher = new MemEasySearcherImpl<>();
// Map<String, Object> model = memEasySearcher.search(mapList, easySearchParse, pageRequest, null);
// return model;
return
null
;
}
//
return null;
//
}
public
void
rejectNonProdApplyDept
(){
...
...
topsun/src/main/java/com/huigou/topsun/sap/nonProdApply/controller/test.java
View file @
02d84200
...
...
@@ -25,4 +25,8 @@ public class test extends HomePageController {
public
String
queryTasksByViewKind
()
{
return
super
.
queryTasksByViewKind
();
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"266870e2b1b311ee80140242ac110002@BDA53701278249BCB740086C1CB3384A"
.
length
());
}
}
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/application/impl/SapStatsIndicatorsApplicationImpl.java
View file @
02d84200
...
...
@@ -186,7 +186,7 @@ public class SapStatsIndicatorsApplicationImpl extends FlowBroker implements Sap
List
<
SapStatsIndicatorsDetail
>
all
=
sapStatsIndicatorsDetailRepository
.
findAllByStatsIndicatorsId
(
bizId
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
ObjectMapper
objectMapper
=
new
ObjectMapper
();
Map
<
String
,
Object
>
map
=
MyBaseUtil
.
convertToMap
(
sapStatsIndicators
);
Map
<
String
,
Object
>
map
=
MyBaseUtil
.
convertToMap
(
sapStatsIndicators
,
false
);
//封装参数
for
(
SapStatsIndicatorsDetail
sapStatsIndicatorsDetail
:
all
)
{
Map
<
String
,
Object
>
detailMap
=
objectMapper
.
convertValue
(
sapStatsIndicatorsDetail
,
Map
.
class
);
...
...
topsun/src/main/java/com/huigou/topsun/util/MyBaseUtil.java
View file @
02d84200
...
...
@@ -6,6 +6,7 @@ import com.huigou.topsun.proofing.domain.workInstruction.model.WorkInstructionMa
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.FatalBeanException
;
import
javax.persistence.Column
;
import
java.beans.Introspector
;
import
java.beans.PropertyDescriptor
;
import
java.lang.reflect.Method
;
...
...
@@ -127,10 +128,11 @@ public class MyBaseUtil {
/**
* 将一个对象转换为Map同时忽略它的基类
*
* @param object 要转换的对象
* @param object 要转换的对象
* @param useAnnoKey 是否使用注解的值作为Map的key
* @return 包含对象所有字段名和值的Map
*/
public
static
Map
<
String
,
Object
>
convertToMap
(
Object
object
)
{
public
static
Map
<
String
,
Object
>
convertToMap
(
Object
object
,
boolean
useAnnoKey
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Class
<?>
clazz
=
object
.
getClass
();
Arrays
.
stream
(
clazz
.
getDeclaredFields
())
...
...
@@ -139,6 +141,10 @@ public class MyBaseUtil {
try
{
String
fieldName
=
field
.
getName
();
Object
fieldValue
=
field
.
get
(
object
);
if
(
useAnnoKey
&&
field
.
isAnnotationPresent
(
Column
.
class
))
{
Column
column
=
field
.
getAnnotation
(
Column
.
class
);
fieldName
=
column
.
name
();
}
map
.
put
(
fieldName
,
fieldValue
);
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
...
...
@@ -177,9 +183,10 @@ public class MyBaseUtil {
MyBaseUtil
.
processNonNullProperties
(
workInstructionBaseInfo
,
map
);
Map
<
String
,
Object
>
map1
=
MyBaseUtil
.
convertToMap
(
workInstructionBaseInfo
);
Map
<
String
,
Object
>
map1
=
MyBaseUtil
.
convertToMap
(
workInstructionBaseInfo
,
true
);
System
.
out
.
println
(
map
);
System
.
out
.
println
(
map1
);
}
}
...
...
topsun/src/main/resources/config/bpm/topsun/sapCostReimbursementProc.bpmn
0 → 100644
View file @
02d84200
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns=
"http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:activiti=
"http://activiti.org/bpmn"
xmlns:bpmndi=
"http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:omgdc=
"http://www.omg.org/spec/DD/20100524/DC"
xmlns:omgdi=
"http://www.omg.org/spec/DD/20100524/DI"
xmlns:xsd=
"http://www.w3.org/2001/XMLSchema"
typeLanguage=
"http://www.w3.org/2001/XMLSchema"
expressionLanguage=
"http://www.w3.org/1999/XPath"
targetNamespace=
"http://www.activiti.org/test"
>
<process
id=
"sapCostReimbursementProc"
name=
"费用报销"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{sapCostReimbursementApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{sapCostReimbursementApplication}"
></activiti:executionListener>
</extensionElements>
<startEvent
id=
"startevent1"
name=
"Start"
></startEvent>
<endEvent
id=
"endevent1"
name=
"End"
></endEvent>
<userTask
id=
"Apply"
name=
"费用报销申请"
activiti:formKey=
"sapCostReimbursement/showSapCostReimbursement.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{sapCostReimbursementApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{sapCostReimbursementApplication}"
></activiti:taskListener>
</extensionElements>
</userTask>
<userTask
id=
"Approve"
name=
"费用报销审批"
activiti:assignee=
"${assignee} "
activiti:formKey=
"sapCostReimbursement/showSapCostReimbursement.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{sapCostReimbursementApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{sapCostReimbursementApplication}"
></activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics
isSequential=
"false"
activiti:collection=
"handlerList"
activiti:elementVariable=
"assignee"
>
<completionCondition>
${chiefApprovePassed}
</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
<sequenceFlow
id=
"flow1"
sourceRef=
"startevent1"
targetRef=
"Apply"
></sequenceFlow>
<sequenceFlow
id=
"flow2"
sourceRef=
"Apply"
targetRef=
"Approve"
></sequenceFlow>
<exclusiveGateway
id=
"ApproveFinished"
name=
"审批结束"
></exclusiveGateway>
<sequenceFlow
id=
"flow3"
name=
"审批通过"
sourceRef=
"ApprovePassed"
targetRef=
"ApproveFinished"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${approvePassed}]]>
</conditionExpression>
</sequenceFlow>
<sequenceFlow
id=
"flow4"
name=
"审批结束"
sourceRef=
"ApproveFinished"
targetRef=
"endevent1"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${approveFinished}]]>
</conditionExpression>
</sequenceFlow>
<sequenceFlow
id=
"flow5"
name=
"审批未结束"
sourceRef=
"ApproveFinished"
targetRef=
"Approve"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approveFinished}]]>
</conditionExpression>
</sequenceFlow>
<exclusiveGateway
id=
"ApprovePassed"
name=
"审批通过"
></exclusiveGateway>
<sequenceFlow
id=
"flow6"
sourceRef=
"Approve"
targetRef=
"ApprovePassed"
></sequenceFlow>
<sequenceFlow
id=
"flow9"
name=
"审批未通过"
sourceRef=
"ApprovePassed"
targetRef=
"Apply"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approvePassed}]]>
</conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram
id=
"BPMNDiagram_sapCostReimbursementProc"
>
<bpmndi:BPMNPlane
bpmnElement=
"sapCostReimbursementProc"
id=
"BPMNPlane_sapCostReimbursementProc"
>
<bpmndi:BPMNShape
bpmnElement=
"startevent1"
id=
"BPMNShape_startevent1"
>
<omgdc:Bounds
height=
"35.0"
width=
"35.0"
x=
"355.0"
y=
"50.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"endevent1"
id=
"BPMNShape_endevent1"
>
<omgdc:Bounds
height=
"35.0"
width=
"35.0"
x=
"355.0"
y=
"550.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"Apply"
id=
"BPMNShape_Apply"
>
<omgdc:Bounds
height=
"55.0"
width=
"161.0"
x=
"292.0"
y=
"140.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"Approve"
id=
"BPMNShape_Approve"
>
<omgdc:Bounds
height=
"55.0"
width=
"161.0"
x=
"292.0"
y=
"240.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"ApproveFinished"
id=
"BPMNShape_ApproveFinished"
>
<omgdc:Bounds
height=
"40.0"
width=
"40.0"
x=
"352.0"
y=
"440.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"ApprovePassed"
id=
"BPMNShape_ApprovePassed"
>
<omgdc:Bounds
height=
"40.0"
width=
"40.0"
x=
"352.0"
y=
"349.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge
bpmnElement=
"flow1"
id=
"BPMNEdge_flow1"
>
<omgdi:waypoint
x=
"372.0"
y=
"85.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"140.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow2"
id=
"BPMNEdge_flow2"
>
<omgdi:waypoint
x=
"372.0"
y=
"195.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"240.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow3"
id=
"BPMNEdge_flow3"
>
<omgdi:waypoint
x=
"372.0"
y=
"389.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"440.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"48.0"
x=
"320.0"
y=
"396.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow4"
id=
"BPMNEdge_flow4"
>
<omgdi:waypoint
x=
"372.0"
y=
"480.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"550.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"48.0"
x=
"382.0"
y=
"489.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow5"
id=
"BPMNEdge_flow5"
>
<omgdi:waypoint
x=
"392.0"
y=
"460.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"459.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"317.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"267.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"489.0"
y=
"267.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"453.0"
y=
"267.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"60.0"
x=
"459.0"
y=
"411.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow6"
id=
"BPMNEdge_flow6"
>
<omgdi:waypoint
x=
"372.0"
y=
"295.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"349.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow9"
id=
"BPMNEdge_flow9"
>
<omgdi:waypoint
x=
"352.0"
y=
"369.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"231.0"
y=
"369.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"231.0"
y=
"167.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"292.0"
y=
"167.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"60.0"
x=
"257.0"
y=
"376.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
topsun/src/main/resources/config/topsun/sap/costReimbursement/costReimbursement.xml
0 → 100644
View file @
02d84200
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query
name=
"slicedSapCostReimbursementQuery"
table=
"sap_cost_reimbursement_base_info"
>
<sql-query>
select t.*
from sap_cost_reimbursement_base_info t
where 1=1
</sql-query>
<condition
column=
"id"
name=
"id"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
</query>
</query-mappings>
\ No newline at end of file
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