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
0c590a68
Commit
0c590a68
authored
Dec 25, 2023
by
wanghang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计指标数据
parent
25bcc674
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
589 additions
and
130 deletions
+589
-130
proofingMakeList.js
...t/src/main/webapp/biz/topsun/proofing/proofingMakeList.js
+17
-17
statsIndicators.js
.../webapp/biz/topsun/sap/statsIndicators/statsIndicators.js
+143
-0
statsIndicators.jsp
...webapp/biz/topsun/sap/statsIndicators/statsIndicators.jsp
+45
-0
statsIndicatorsList.js
...app/biz/topsun/sap/statsIndicators/statsIndicatorsList.js
+67
-53
statsIndicatorsList.jsp
...pp/biz/topsun/sap/statsIndicators/statsIndicatorsList.jsp
+22
-35
SapStatsIndicatorsApplication.java
...Indicators/application/SapStatsIndicatorsApplication.java
+19
-1
SapStatsIndicatorsDetailApplication.java
...tors/application/SapStatsIndicatorsDetailApplication.java
+7
-0
SapStatsIndicatorsApplicationImpl.java
...s/application/impl/SapStatsIndicatorsApplicationImpl.java
+58
-2
SapStatsIndicatorsDetailApplicationImpl.java
...ication/impl/SapStatsIndicatorsDetailApplicationImpl.java
+13
-1
SapStatsIndicatorsController.java
...tsIndicators/controller/SapStatsIndicatorsController.java
+56
-7
SapStatsIndicatorsDetail.java
.../sap/statsIndicators/domain/SapStatsIndicatorsDetail.java
+5
-3
SapStatsIndicatorsDetailQueryRequest.java
...rs/domain/query/SapStatsIndicatorsDetailQueryRequest.java
+58
-0
SapStatsIndicatorsQueryRequest.java
...dicators/domain/query/SapStatsIndicatorsQueryRequest.java
+47
-0
SapStatsIndicatorsDetailRepository.java
...cators/repository/SapStatsIndicatorsDetailRepository.java
+3
-0
sapStatsIndicatorsProc.bpmn
...n/resources/config/bpm/topsun/sapStatsIndicatorsProc.bpmn
+11
-11
statsIndicators.xml
...ces/config/topsun/sap/statsIndicators/statsIndicators.xml
+18
-0
No files found.
topsun-xt/src/main/webapp/biz/topsun/proofing/proofingMakeList.js
View file @
0c590a68
...
...
@@ -174,23 +174,23 @@ function resetForm(obj) {
$
(
obj
).
formClean
();
}
function
addHandler
()
{
UICtrl
.
showAjaxDialog
({
url
:
web_app
.
name
+
'/proofingMake/forwardSaveProofingMake.load'
,
title
:
"新增打样制造单"
,
width
:
1000
,
ok
:
function
(
div
)
{
var
_self
=
this
;
$
(
'#submitForm'
,
div
).
ajaxSubmit
({
url
:
web_app
.
name
+
'/proofingMake/saveProofingMake.ajax'
,
success
:
function
()
{
_self
.
close
();
reloadGrid
();
}
});
}
});
}
//
function addHandler() {
//
UICtrl.showAjaxDialog({
//
url: web_app.name + '/proofingMake/forwardSaveProofingMake.load',
//
title: "新增打样制造单",
//
width: 1000,
//
ok: function (div) {
//
var _self = this;
//
$('#submitForm', div).ajaxSubmit({
//
url: web_app.name + '/proofingMake/saveProofingMake.ajax',
//
success: function () {
//
_self.close();
//
reloadGrid();
//
}
//
});
//
}
//
});
//
}
function
updateHandler
()
{
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/statsIndicators/statsIndicators.js
0 → 100644
View file @
0c590a68
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initialize
();
loadStatsIndicatorsDetailListGrid
();
});
function
initialize
(){
let
isDetailPage
=
(
$
(
"#isDetailPage"
).
val
()
===
"true"
);
if
(
isDetailPage
)
{
$
(
"#jobPageTop"
).
hide
();
}
}
function
loadStatsIndicatorsDetailListGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
()
{
UICtrl
.
addGridRow
(
gridManager
,{
zlenr
:
gridManager
.
getData
().
length
+
1
});
},
deleteHandler
:
function
()
{
var
_grid
=
UICtrl
.
getGridManager
(
'#statsIndicatorsDetailGrid'
);
_grid
.
deleteSelectedRow
();
//删除选定节点
}
});
gridManager
=
UICtrl
.
grid
(
"#statsIndicatorsDetailGrid"
,
{
columns
:
[
{
display
:
"行号"
,
name
:
"zlenr"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
'spinner'
,
min
:
1
,
max
:
100
,
mask
:
'nnn'
}
},
{
display
:
"成本中心"
,
name
:
"ekostl"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"sapMaterialSelect"
,
back
:
{
materialId
:
"ekostl"
,
null
:
"eaufnr"
}
},
}
},
{
display
:
"订单"
,
name
:
"eaufnr"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"sapMaterialSelect"
,
back
:
{
null
:
"ekostl"
,
materialId
:
"eaufnr"
}
},
}
},
{
display
:
"统计指标"
,
name
:
"stagr"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
'dictionary'
,
data
:
{
name
:
'sex'
}
,
textField
:
'stagrTextView'
,
valueField
:
'sex'
}
},
{
display
:
"统计指标数量"
,
name
:
"mbgbtr"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
'text'
,
mask
:
'nnnn'
}
},
{
display
:
"行文本"
,
name
:
"sgtxt"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
true
,
type
:
'text'
}
}
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/sapStatsIndicators/slicedStatsIndicatorsDetailList.ajax'
,
pageSize
:
10
,
usePager
:
true
,
parms
:{
statsIndicatorsId
:
getId
()},
toolbar
:
toolbarOptions
,
enabledEdit
:
true
,
width
:
"100%"
,
height
:
"100%"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
doView
(
data
.
statsIndicatorsDetailId
);
}
});
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
/**
* 流程引擎回调设置打样的id
* @param value 打样申请的id
*/
function
setId
(
id
)
{
$
(
"#id"
).
val
(
id
);
}
/**
* 流程引擎获取打样申请id的回掉方法。
* @return 打样申请的id
*/
function
getId
()
{
return
$
(
"#id"
).
val
()
||
""
;
}
function
getExtendedData
(
processAction
)
{
//回退、打回、转交时,不需要验证必填项是否已经填写;
if
(
processAction
==
ProcessAction
.
BACK
||
processAction
==
ProcessAction
.
REPLENISH
||
processAction
==
ProcessAction
.
TRANSMIT
)
{
//不验证
$
(
'#submitForm'
).
attr
(
'check'
,
false
);
}
const
isAllData
=
$
(
'#oldId'
)
||
!
getId
();
var
extendedData
=
{};
var
_grid
=
UICtrl
.
getGridManager
(
'#statsIndicatorsDetailGrid'
);
if
(
_grid
)
{
var
datas
=
DataUtil
.
getGridData
({
gridManager
:
_grid
,
isAllData
:
isAllData
});
if
(
!
datas
)
{
return
false
;
}
extendedData
.
statsIndicatorsDetail
=
Public
.
encodeJSONURI
(
datas
);
}
return
extendedData
;
}
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/statsIndicators/statsIndicators.jsp
0 → 100644
View file @
0c590a68
<%@ 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/statsIndicators/statsIndicators.js'
/>
</head>
<body>
<x:hidden
name=
"isDetailPage"
value=
"false"
/>
<!--是否是详情页-->
<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=
"kokrs"
required=
"true"
label=
"成本控制范围"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"usnam"
required=
"true"
label=
"SAP用户名"
labelCol=
"2"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"budat"
required=
"true"
label=
"过账日期"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
wrapper=
"date"
/>
<x:inputC
name=
"bldat"
required=
"true"
label=
"凭证日期"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
wrapper=
"date"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"bltxt"
required=
"false"
label=
"凭证文本"
labelCol=
"2"
fieldCol=
"6"
/>
</div>
</div>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"statsIndicatorsDetailGrid"
style=
"margin: 2px;"
>
</div>
</form>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/sap/statsIndicators/statsIndicatorsList.js
View file @
0c590a68
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
loadStatsIndicatorsDetailListGrid
();
$
(
document
).
ready
(
function
()
{
initializateUI
();
loadStatsIndicatorsListGridGrid
();
});
function
loadStatsIndicatorsDetailListGrid
()
{
function
initializateUI
()
{
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
}
function
loadStatsIndicatorsListGridGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
updateHandler
:
function
(){
updateHandler
();
addHandler
:
function
(){
addHandler
()
},
deleteHandler
:
deleteHandler
deleteHandler
:
deleteHandler
,
});
gridManager
=
UICtrl
.
grid
(
"#statsIndicators
Detail
Grid"
,
{
gridManager
=
UICtrl
.
grid
(
"#statsIndicators
List
Grid"
,
{
columns
:
[
{
display
:
"行号"
,
name
:
"zlenr"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
'text'
}},
{
display
:
"成本中心"
,
name
:
"ekostl"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
'text'
}},
{
display
:
"订单"
,
name
:
"eaufnr"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
'text'
}},
{
display
:
"统计指标"
,
name
:
"stagr"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
'text'
}},
{
display
:
"统计指标数量"
,
name
:
"mbgbtr"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
'text'
}},
{
display
:
"行文本"
,
name
:
"SGTXT"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
'text'
}}
{
display
:
"成本控制范围"
,
name
:
"kokrs"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"凭证日期"
,
name
:
"bldat"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"过账日期"
,
name
:
"budat"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"凭证文本"
,
name
:
"bltxt"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"SAP用户名"
,
name
:
"usnam"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/sapStatsIndicators/slicedStatsIndicators
Detail
List.ajax'
,
pageSize
:
1
0
,
url
:
web_app
.
name
+
'/sapStatsIndicators/slicedStatsIndicatorsList.ajax'
,
pageSize
:
2
0
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
enabledEdit
:
true
,
width
:
"100%"
,
height
:
"100%"
,
heightDiff
:
-
8
,
...
...
@@ -57,24 +38,57 @@ function loadStatsIndicatorsDetailListGrid() {
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
doView
(
data
.
statsIndicatorsDetailI
d
);
doView
(
data
.
i
d
);
}
});
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
/**
* 流程引擎回调设置打样的id
* @param value 打样申请的id
*/
function
setId
(
id
)
{
$
(
"#id"
).
val
(
id
);
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
:
'sapStatsIndicators/deleteStatsIndicators.ajax'
,
gridManager
:
gridManager
,
idFieldName
:
'id'
,
onSuccess
:
function
()
{
reloadGrid
();
}
});
}
/**
* 流程引擎获取打样申请id的回掉方法。
* @return 打样申请的id
*/
function
getId
()
{
return
$
(
"#id"
).
val
()
||
""
;
function
addHandler
()
{
UICtrl
.
addTabItem
({
tabid
:
'statsIndicators'
,
text
:
"统计指标数据"
,
url
:
web_app
.
name
+
'/sapStatsIndicators/forwardStatsIndicators.job'
});
}
function
doView
(
id
)
{
UICtrl
.
addTabItem
({
tabid
:
'showStatsIndicators'
+
id
,
text
:
"统计指标详情"
,
url
:
web_app
.
name
+
'/sapStatsIndicators/showStatsIndicators.job?bizId='
+
id
+
"&isDetailPage=true"
});
}
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/statsIndicators/statsIndicatorsList.jsp
View file @
0c590a68
<%@ page
language=
"java"
contentType=
"text/html; charset=utf-8
"
%>
<%@taglib
uri=
"/WEB-INF/taglib.tld"
prefix=
"x"
%>
<%@ 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
,date
"
/>
<x:script
src=
'/biz/topsun/sap/
costCenter/sapCostCenterDetail
.js'
/>
<x:base
include=
"layout,dialog,grid,tree,combox,commonTree"
/>
<x:script
src=
'/biz/topsun/sap/
statsIndicators/statsIndicatorsList
.js'
/>
</head>
<body>
<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=
"kokrs"
required=
"true"
label=
"成本控制范围"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"bldat"
required=
"true"
label=
"凭证日期"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
wrapper=
"date"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"budat"
required=
"true"
label=
"过账日期"
labelCol=
"2"
maxLength=
"64"
fieldCol=
"2"
wrapper=
"date"
/>
<x:selectC
name=
"bltxt"
required=
"false"
label=
"凭证文本"
labelCol=
"2"
dictionary=
"KOSAR"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"usnam"
required=
"true"
label=
"SAP用户名"
labelCol=
"2"
fieldCol=
"4"
/>
</div>
<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=
"statsIndicatorsDetailGrid"
style=
"margin: 2px;"
>
<div
id=
"statsIndicatorsListGrid"
style=
"margin: 2px;"
></div>
</div>
</div>
</form>
<%--</div>--%>
</div>
</body>
</html>
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/application/SapStatsIndicatorsApplication.java
View file @
0c590a68
package
com
.
huigou
.
topsun
.
sap
.
statsIndicators
.
application
;
import
com.huigou.topsun.proofing.domain.proofingApply.model.ProofingApplyBaseInfo
;
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
java.util.List
;
import
java.util.Map
;
public
interface
SapStatsIndicatorsApplication
{
String
PROCESS_DEFINITION_KEY
=
"statsIndicatorsProc"
;
String
PROCESS_DEFINITION_KEY
=
"sapStatsIndicatorsProc"
;
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/statsIndicators/statsIndicators.xml"
;
SapStatsIndicators
loadSapStatsIndicatorsById
(
String
id
);
Map
<
String
,
Object
>
slicedStatsIndicatorsQuery
(
SapStatsIndicatorsQueryRequest
query
);
void
deleteStatsIndicatorsById
(
String
id
);
void
deleteStatsIndicatorsByIds
(
List
<
String
>
ids
);
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/application/SapStatsIndicatorsDetailApplication.java
View file @
0c590a68
package
com
.
huigou
.
topsun
.
sap
.
statsIndicators
.
application
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsDetailQueryRequest
;
import
java.util.Map
;
public
interface
SapStatsIndicatorsDetailApplication
{
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/statsIndicators/statsIndicators.xml"
;
Map
<
String
,
Object
>
slicedStatsIndicatorsDetailQuery
(
SapStatsIndicatorsDetailQueryRequest
query
);
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/application/impl/SapStatsIndicatorsApplicationImpl.java
View file @
0c590a68
package
com
.
huigou
.
topsun
.
sap
.
statsIndicators
.
application
.
impl
;
import
com.huigou.topsun.proofing.domain.proofingApply.model.*
;
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.statsIndicators.application.SapStatsIndicatorsApplication
;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicators
;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicatorsDetail
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsDetailQueryRequest
;
import
com.huigou.topsun.sap.statsIndicators.domain.query.SapStatsIndicatorsQueryRequest
;
import
com.huigou.topsun.sap.statsIndicators.repository.SapStatsIndicatorsDetailRepository
;
import
com.huigou.topsun.sap.statsIndicators.repository.SapStatsIndicatorsRepository
;
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
;
...
...
@@ -19,13 +26,16 @@ import org.springframework.transaction.annotation.Propagation;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.Map
;
@Service
@Service
(
"sapStatsIndicatorsApplication"
)
public
class
SapStatsIndicatorsApplicationImpl
extends
FlowBroker
implements
SapStatsIndicatorsApplication
{
@Autowired
private
SapStatsIndicatorsRepository
sapStatsIndicatorsRepository
;
@Autowired
private
SapStatsIndicatorsDetailRepository
sapStatsIndicatorsDetailRepository
;
@SneakyThrows
...
...
@@ -33,6 +43,7 @@ public class SapStatsIndicatorsApplicationImpl extends FlowBroker implements Sa
@Override
protected
String
saveBizAndApprovalData
()
{
super
.
saveBizAndApprovalData
();
SapStatsIndicators
sapStatsIndicators
=
getBizEntity
(
SapStatsIndicators
.
class
);
if
(
sapStatsIndicators
.
isNew
())
{
sapStatsIndicators
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
...
...
@@ -40,6 +51,21 @@ public class SapStatsIndicatorsApplicationImpl extends FlowBroker implements Sa
sapStatsIndicators
=
(
SapStatsIndicators
)
commonDomainService
.
loadAndFillinProperties
(
sapStatsIndicators
);
}
sapStatsIndicators
=
sapStatsIndicatorsRepository
.
save
(
sapStatsIndicators
);
SDO
sdo
=
this
.
getBizAndApprovalData
();
String
statsIndicatorsDetailJSON
=
sdo
.
getString
(
"statsIndicatorsDetail"
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
List
<
SapStatsIndicatorsDetail
>
statsIndicatorsDetailList
=
objectMapper
.
readValue
(
statsIndicatorsDetailJSON
,
new
TypeReference
<
List
<
SapStatsIndicatorsDetail
>>()
{});
List
<
SapStatsIndicatorsDetail
>
allStatsIndicatorsDetail
=
sapStatsIndicatorsDetailRepository
.
findAllByStatsIndicatorsId
(
sapStatsIndicators
.
getId
());
if
(!
allStatsIndicatorsDetail
.
isEmpty
())
{
sapStatsIndicatorsDetailRepository
.
deleteInBatch
(
allStatsIndicatorsDetail
);
}
for
(
SapStatsIndicatorsDetail
statsIndicatorsDetail
:
statsIndicatorsDetailList
)
{
statsIndicatorsDetail
.
setStatsIndicatorsDetailId
(
null
);
statsIndicatorsDetail
.
setStatsIndicatorsId
(
sapStatsIndicators
.
getId
());
sapStatsIndicatorsDetailRepository
.
save
(
statsIndicatorsDetail
);
}
return
sapStatsIndicators
.
getId
();
}
...
...
@@ -58,6 +84,9 @@ public class SapStatsIndicatorsApplicationImpl extends FlowBroker implements Sa
SapStatsIndicators
sapStatsIndicators
=
sapStatsIndicatorsRepository
.
findOne
(
bizId
);
sapStatsIndicators
.
setStatusId
(
status
.
getId
());
sapStatsIndicatorsRepository
.
save
(
sapStatsIndicators
);
//远程调用sap接口
}
@Override
...
...
@@ -83,4 +112,31 @@ public class SapStatsIndicatorsApplicationImpl extends FlowBroker implements Sa
sapStatsIndicatorsRepository
.
save
(
sapStatsIndicators
);
}
}
@Override
public
SapStatsIndicators
loadSapStatsIndicatorsById
(
String
id
)
{
return
sapStatsIndicatorsRepository
.
findOne
(
id
);
}
@Override
public
Map
<
String
,
Object
>
slicedStatsIndicatorsQuery
(
SapStatsIndicatorsQueryRequest
query
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"slicedStatsIndicatorsQuery"
);
return
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryDescriptor
,
query
);
}
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
public
void
deleteStatsIndicatorsById
(
String
id
)
{
List
<
SapStatsIndicatorsDetail
>
all
=
sapStatsIndicatorsDetailRepository
.
findAllByStatsIndicatorsId
(
id
);
sapStatsIndicatorsDetailRepository
.
deleteInBatch
(
all
);
sapStatsIndicatorsRepository
.
delete
(
id
);
}
@Override
@Transactional
public
void
deleteStatsIndicatorsByIds
(
List
<
String
>
ids
)
{
ids
.
forEach
(
this
::
deleteStatsIndicatorsById
);
}
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/application/impl/SapStatsIndicatorsDetailApplicationImpl.java
View file @
0c590a68
package
com
.
huigou
.
topsun
.
sap
.
statsIndicators
.
application
.
impl
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.topsun.proofing.domain.proofingApply.query.ProofingApplyQuery
;
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.stereotype.Service
;
import
java.util.Map
;
@Service
public
class
SapStatsIndicatorsDetailApplicationImpl
implements
SapStatsIndicatorsDetailApplication
{
public
class
SapStatsIndicatorsDetailApplicationImpl
extends
BaseApplication
implements
SapStatsIndicatorsDetailApplication
{
@Override
public
Map
<
String
,
Object
>
slicedStatsIndicatorsDetailQuery
(
SapStatsIndicatorsDetailQueryRequest
query
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"slicedStatsIndicatorsDetailQuery"
);
return
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryDescriptor
,
query
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/controller/SapStatsIndicatorsController.java
View file @
0c590a68
...
...
@@ -2,15 +2,26 @@ package com.huigou.topsun.sap.statsIndicators.controller;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
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.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
java.util.List
;
import
java.util.Map
;
@Controller
@ControllerMapping
(
"/sapStatsIndicators"
)
...
...
@@ -26,17 +37,55 @@ public class SapStatsIndicatorsController extends CommonController {
SapStatsIndicatorsDetailApplication
sapStatsIndicatorsDetailApplication
;
public
String
forwardStatsIndicatorsList
(){
this
.
putAttribute
(
"processDefinitionKey"
,
sapStatsIndicatorsApplication
.
PROCESS_DEFINITION_KEY
);
this
.
putAttribute
(
"procUnitId"
,
"Apply"
);
//定义流程环节的id
// SapStatsIndicators sapStatsIndicators = new SapStatsIndicators();
// sapStatsIndicators.setStatusId(BizBillStatus.APPLYING.getId());
// Operator operator = getOperator();//获取当前操作员的详情信息
// sapStatsIndicators.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
return
forward
(
"statsIndicatorsList"
);
}
public
String
forwardStatsIndicators
(){
this
.
putAttribute
(
"processDefinitionKey"
,
SapStatsIndicatorsApplication
.
PROCESS_DEFINITION_KEY
);
this
.
putAttribute
(
"procUnitId"
,
"Apply"
);
//定义流程环节的id
SapStatsIndicators
sapStatsIndicators
=
new
SapStatsIndicators
();
sapStatsIndicators
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
Operator
operator
=
getOperator
();
//获取当前操作员的详情信息
sapStatsIndicators
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
return
forward
(
"statsIndicators"
);
}
public
String
slicedStatsIndicatorsList
(){
SDO
sdo
=
this
.
getSDO
();
SapStatsIndicatorsQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
SapStatsIndicatorsQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
sapStatsIndicatorsApplication
.
slicedStatsIndicatorsQuery
(
queryRequest
);
return
toResult
(
map
);
}
public
String
slicedStatsIndicatorsDetailList
(){
SDO
sdo
=
this
.
getSDO
();
SapStatsIndicatorsDetailQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
SapStatsIndicatorsDetailQueryRequest
.
class
);
if
(
StringUtil
.
isBlank
(
queryRequest
.
getStatsIndicatorsId
())){
return
toResult
(
null
);
}
Map
<
String
,
Object
>
map
=
sapStatsIndicatorsDetailApplication
.
slicedStatsIndicatorsDetailQuery
(
queryRequest
);
return
toResult
(
map
);
}
/**
* 工作流审核跳转页面
* @return
*/
public
String
showStatsIndicators
()
{
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getBizId
();
String
isDetailPage
=
sdo
.
getString
(
"isDetailPage"
);
if
(
"true"
.
equals
(
isDetailPage
))
this
.
putAttribute
(
"isDetailPage"
,
"true"
);
SapStatsIndicators
sapStatsIndicators
=
sapStatsIndicatorsApplication
.
loadSapStatsIndicatorsById
(
id
);
return
forward
(
"statsIndicators"
,
sapStatsIndicators
);
}
public
String
deleteStatsIndicators
(){
SDO
sdo
=
this
.
getSDO
();
List
<
String
>
ids
=
sdo
.
getIds
();
sapStatsIndicatorsApplication
.
deleteStatsIndicatorsByIds
(
ids
);
return
success
();
}
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/domain/SapStatsIndicatorsDetail.java
View file @
0c590a68
package
com
.
huigou
.
topsun
.
sap
.
statsIndicators
.
domain
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.Data
;
import
org.hibernate.annotations.GenericGenerator
;
...
...
@@ -13,10 +14,11 @@ import java.math.BigDecimal;
@Table
(
name
=
"sap_stats_indicators_detail"
)
@Entity
@Data
public
class
SapStatsIndicatorsDetail
{
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SapStatsIndicatorsDetail
{
/**
*
行号
*
详情id
*/
@Id
@GeneratedValue
(
...
...
@@ -30,7 +32,7 @@ public class SapStatsIndicatorsDetail{
private
String
statsIndicatorsDetailId
;
/**
*
行号
*
主表id
*/
@Column
(
name
=
"stats_indicators_id"
)
private
String
statsIndicatorsId
;
...
...
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/domain/query/SapStatsIndicatorsDetailQueryRequest.java
0 → 100644
View file @
0c590a68
package
com
.
huigou
.
topsun
.
sap
.
statsIndicators
.
domain
.
query
;
import
com.huigou.data.domain.query.QueryAbstractRequest
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
*
* @TableName sap_stats_indicators
*/
@Data
public
class
SapStatsIndicatorsDetailQueryRequest
extends
QueryAbstractRequest
{
/**
* 行号
*/
private
String
statsIndicatorsDetailId
;
/**
* 行号
*/
private
String
statsIndicatorsId
;
/**
* 行号
*/
private
String
zlenr
;
/**
* 成本中心
*/
private
String
ekostl
;
/**
* 订单
*/
private
String
eaufnr
;
/**
* 统计指标
*/
private
String
stagr
;
/**
* 统计指标数量
*/
private
BigDecimal
mbgbtr
;
/**
* 行文本
*/
private
String
sgtxt
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/domain/query/SapStatsIndicatorsQueryRequest.java
0 → 100644
View file @
0c590a68
package
com
.
huigou
.
topsun
.
sap
.
statsIndicators
.
domain
.
query
;
import
com.huigou.data.domain.query.QueryAbstractRequest
;
import
lombok.Data
;
import
java.util.Date
;
/**
*
* @TableName sap_stats_indicators
*/
@Data
public
class
SapStatsIndicatorsQueryRequest
extends
QueryAbstractRequest
{
/**
* id
*/
private
String
id
;
/**
* 成本控制范围
*/
private
String
kokrs
;
/**
* 凭证日期
*/
private
Date
bldat
;
/**
* 过账日期
*/
private
Date
budat
;
/**
* 凭证文本
*/
private
String
bltxt
;
/**
* SAP用户名
*/
private
String
usnam
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/statsIndicators/repository/SapStatsIndicatorsDetailRepository.java
View file @
0c590a68
...
...
@@ -4,6 +4,9 @@ package com.huigou.topsun.sap.statsIndicators.repository;
import
com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicatorsDetail
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
public
interface
SapStatsIndicatorsDetailRepository
extends
JpaRepository
<
SapStatsIndicatorsDetail
,
String
>
{
List
<
SapStatsIndicatorsDetail
>
findAllByStatsIndicatorsId
(
String
statsIndicatorsId
);
}
topsun/src/main/resources/config/bpm/topsun/statsIndicatorsProc.bpmn
→
topsun/src/main/resources/config/bpm/topsun/s
apS
tatsIndicatorsProc.bpmn
View file @
0c590a68
<?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=
"statsIndicatorsProc"
name=
"统计指标"
isExecutable=
"true"
>
<process
id=
"s
apS
tatsIndicatorsProc"
name=
"统计指标"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{
S
apStatsIndicatorsApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{
S
apStatsIndicatorsApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{
s
apStatsIndicatorsApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{
s
apStatsIndicatorsApplication}"
></activiti:executionListener>
</extensionElements>
<startEvent
id=
"startevent1"
name=
"Start"
></startEvent>
<endEvent
id=
"endevent1"
name=
"End"
></endEvent>
<userTask
id=
"Apply"
name=
"
打样申请"
activiti:formKey=
"proofingApply/showProofingApply
.job"
>
<userTask
id=
"Apply"
name=
"
统计指标申请"
activiti:formKey=
"sapStatsIndicators/showStatsIndicators
.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{
proofingApply
Application}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{
proofingApply
Application}"
></activiti:taskListener>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{
sapStatsIndicators
Application}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{
sapStatsIndicators
Application}"
></activiti:taskListener>
</extensionElements>
</userTask>
<userTask
id=
"Approve"
name=
"
打样审批"
activiti:assignee=
"${assignee} "
activiti:formKey=
"proofingApply/showProofingApply
.job"
>
<userTask
id=
"Approve"
name=
"
统计指标审批"
activiti:assignee=
"${assignee} "
activiti:formKey=
"sapStatsIndicators/showStatsIndicators
.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{
proofingApply
Application}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{
proofingApply
Application}"
></activiti:taskListener>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{
sapStatsIndicators
Application}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{
sapStatsIndicators
Application}"
></activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics
isSequential=
"false"
activiti:collection=
"handlerList"
activiti:elementVariable=
"assignee"
>
<completionCondition>
${chiefApprovePassed}
</completionCondition>
...
...
@@ -40,8 +40,8 @@
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approvePassed}]]>
</conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram
id=
"BPMNDiagram_
proofing
Proc"
>
<bpmndi:BPMNPlane
bpmnElement=
"
proofingProc"
id=
"BPMNPlane_proofing
Proc"
>
<bpmndi:BPMNDiagram
id=
"BPMNDiagram_
sapStatsIndicators
Proc"
>
<bpmndi:BPMNPlane
bpmnElement=
"
sapStatsIndicatorsProc"
id=
"BPMNPlane_sapStatsIndicators
Proc"
>
<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>
...
...
topsun/src/main/resources/config/topsun/sap/statsIndicators/statsIndicators.xml
0 → 100644
View file @
0c590a68
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query
name=
"slicedStatsIndicatorsDetailQuery"
table=
"sap_stats_indicators_detail"
>
<sql-query>
select t.* from sap_stats_indicators_detail t
where 1=1
</sql-query>
<condition
column=
"stats_indicators_id"
name=
"statsIndicatorsId"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
</query>
<query
name=
"slicedStatsIndicatorsQuery"
table=
"sap_stats_indicators"
>
<sql-query>
select t.* from sap_stats_indicators 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