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
d9ac5f17
Commit
d9ac5f17
authored
Jan 23, 2024
by
wanghang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单采购
parent
9b922301
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
319 additions
and
208 deletions
+319
-208
proofingApply.js
...n-xt/src/main/webapp/biz/topsun/proofing/proofingApply.js
+3
-3
technologyAndBom.js
.../biz/topsun/proofing/technologyAndBom/technologyAndBom.js
+1
-1
costReimbursement.js
...app/biz/topsun/sap/costReimbursement/costReimbursement.js
+3
-3
sapPurchaseOrderDetail.js
...pp/biz/topsun/sap/purchaseOrder/sapPurchaseOrderDetail.js
+0
-1
sapPurchaseOrderDetail.jsp
...p/biz/topsun/sap/purchaseOrder/sapPurchaseOrderDetail.jsp
+2
-4
sapPurchaseOrderList.js
...bapp/biz/topsun/sap/purchaseOrder/sapPurchaseOrderList.js
+7
-18
statsIndicators.js
.../webapp/biz/topsun/sap/statsIndicators/statsIndicators.js
+14
-3
DefinitionHomepageTaskData.java
...va/com/huigou/topsun/base/DefinitionHomepageTaskData.java
+6
-17
BsnMessageApplication.java
...sun/base/bsnMessage/appliction/BsnMessageApplication.java
+45
-1
BsnMessageApplicationImpl.java
...bsnMessage/appliction/impl/BsnMessageApplicationImpl.java
+93
-0
NonProdApplyDeptApplicationImpl.java
...ply/application/impl/NonProdApplyDeptApplicationImpl.java
+8
-14
NonProdApplyNextController.java
...p/nonProdApply/controller/NonProdApplyNextController.java
+2
-13
SapPurchaseOrderApplication.java
...urchaseOrder/application/SapPurchaseOrderApplication.java
+2
-0
SapPurchaseOrderItemApplication.java
...aseOrder/application/SapPurchaseOrderItemApplication.java
+3
-2
SapPurchaseOrderApplicationImpl.java
...der/application/impl/SapPurchaseOrderApplicationImpl.java
+62
-48
SapPurchaseOrderItemApplicationImpl.java
...application/impl/SapPurchaseOrderItemApplicationImpl.java
+13
-12
SapPurchaseOrderController.java
.../purchaseOrder/controller/SapPurchaseOrderController.java
+28
-15
SapPurchaseOrderItemController.java
...chaseOrder/controller/SapPurchaseOrderItemController.java
+0
-42
SapPurchaseOrderItem.java
...topsun/sap/purchaseOrder/domain/SapPurchaseOrderItem.java
+3
-0
SapPurchaseOrderVo.java
...opsun/sap/purchaseOrder/domain/vo/SapPurchaseOrderVo.java
+1
-1
SapPurchaseOrderItemRepository.java
...chaseOrder/repository/SapPurchaseOrderItemRepository.java
+2
-0
sapPurchaseOrderProc.bpmn
...bpm/topsun/sap/sapPurchaseOrder/sapPurchaseOrderProc.bpmn
+1
-1
bsnMessage.xml
topsun/src/main/resources/config/topsun/base/bsnMessage.xml
+20
-9
No files found.
topsun-xt/src/main/webapp/biz/topsun/proofing/proofingApply.js
View file @
d9ac5f17
...
...
@@ -68,9 +68,9 @@ function getExtendedData(processAction) {
$
(
'#submitForm'
).
attr
(
'check'
,
false
);
}
if
(
$
(
"#proofingApplySampleCnName"
).
prop
(
"readonly"
)){
let
technologyResult
=
getTableDat
e
All
(
technologyObj
)[
0
];
let
processResult
=
getTableDat
e
All
(
processObj
);
let
processMaterialResult
=
getTableDat
e
All
(
processBomObj
);
let
technologyResult
=
getTableDat
a
All
(
technologyObj
)[
0
];
let
processResult
=
getTableDat
a
All
(
processObj
);
let
processMaterialResult
=
getTableDat
a
All
(
processBomObj
);
let
extendedData
=
{};
extendedData
.
technology
=
Public
.
encodeJSONURI
(
technologyResult
);
extendedData
.
process
=
Public
.
encodeJSONURI
(
processResult
);
...
...
topsun-xt/src/main/webapp/biz/topsun/proofing/technologyAndBom/technologyAndBom.js
View file @
d9ac5f17
...
...
@@ -384,7 +384,7 @@ function getTableResult() {
return
extendedData
;
}
function
getTableDat
e
All
(
obj
)
{
function
getTableDat
a
All
(
obj
)
{
let
result
=
DataUtil
.
getGridData
({
gridManager
:
obj
.
gridManager
,
isAllData
:
true
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/costReimbursement/costReimbursement.js
View file @
d9ac5f17
...
...
@@ -477,7 +477,7 @@ function getExtendedData(processAction) {
//不验证
$
(
'#submitForm'
).
attr
(
'check'
,
false
);
}
let
resultArray
=
useArrayTable
(
getTableDat
e
All
);
let
resultArray
=
useArrayTable
(
getTableDat
a
All
);
//根据zepItemno将各列表属性合并为一个完整实体
const
result
=
resultArray
[
0
].
map
((
obj1
)
=>
{
...
...
@@ -498,7 +498,7 @@ function getExtendedData(processAction) {
}
function
getTableDat
e
All
(
obj
)
{
function
getTableDat
a
All
(
obj
)
{
let
result
=
DataUtil
.
getGridData
({
gridManager
:
obj
.
gridManager
,
isAllData
:
true
...
...
@@ -516,7 +516,7 @@ function useArrayTable(func, ...data) {
//获取最新子序号(维护实体的标识)
function
getZepItemNo
(){
let
result
=
getTableDat
e
All
(
tableArray
[
tableArray
.
length
-
1
]);
let
result
=
getTableDat
a
All
(
tableArray
[
tableArray
.
length
-
1
]);
let
zepItemNo
=
"001"
;
if
(
result
.
length
>
0
){
//获取上一个节点的子序值
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/purchaseOrder/sapPurchaseOrderDetail.js
View file @
d9ac5f17
...
...
@@ -3,7 +3,6 @@ $(function () {
});
function
getId
()
{
return
$
(
'#id'
).
val
();
}
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/purchaseOrder/sapPurchaseOrderDetail.jsp
View file @
d9ac5f17
...
...
@@ -9,7 +9,7 @@
</head>
<body>
<div
class=
"container-fluid"
>
<x:billTitle
title=
"采购
申请
"
needStatus=
"true"
needPerson=
"true"
/>
<x:billTitle
title=
"采购
订单
"
needStatus=
"true"
needPerson=
"true"
/>
<form
class=
"hg-form"
method=
"post"
action=
""
id=
"submitForm"
>
<x:hidden
name=
"id"
/>
<x:hidden
name=
"version"
/>
...
...
@@ -31,8 +31,6 @@
<x:inputC
name=
"ebeln"
label=
"采购订单号码"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"bsart"
label=
"采购订单类型"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"batxt"
label=
"采购订单类型描述"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"purchaseOrderId"
label=
"id"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"ebelp"
label=
"项目编号"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"pstyp"
label=
"项目类别"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
...
...
@@ -45,7 +43,7 @@
<x:inputC
name=
"menge"
label=
"采购订单数量"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"meins"
label=
"采购订单计量单位"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"msehl"
label=
"单位描述"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"eindt"
label=
"要求交货日期"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"eindt"
label=
"要求交货日期"
readonly=
"false"
wrapper=
"date"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"werks"
label=
"工厂"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"name1"
label=
"名称"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"lgort"
label=
"库存地点"
readonly=
"false"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/purchaseOrder/sapPurchaseOrderList.js
View file @
d9ac5f17
var
purchaseOrderGridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initUI
();
initPurchaseList
Grid
();
load
Grid
();
}
);
...
...
@@ -9,28 +9,28 @@ function initUI() {
UICtrl
.
initDefaultLayout
();
}
function
initPurchaseList
Grid
()
{
function
load
Grid
()
{
// var toolbarOptions = UICtrl.getDefaultToolbarOptions({
// addHandler: addHandler,
// });
debugger
purchaseOrderGridManager
=
UICtrl
.
grid
(
'#purchaseOrderGrid'
,
{
columns
:
[
{
display
:
"状态"
,
name
:
"statusTextView"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
}
,
{
display
:
"id"
,
name
:
"id"
,
width
:
"140"
,
align
:
"left"
,
type
:
"string"
,
hide
:
true
}
,
{
display
:
"需求跟踪编号"
,
name
:
"billCode"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
}
,
{
display
:
"采购申请类型描述"
,
name
:
"batxt"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
}
,
{
display
:
"采购申请编号"
,
name
:
"banfn"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
}
,
{
display
:
"采购订单号码"
,
name
:
"ebeln"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
}
,
{
display
:
"采购订单类型"
,
name
:
"bsart"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
}
,
{
display
:
"采购订单类型描述"
,
name
:
"batxt"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
}
],
dataAction
:
'server'
,
url
:
web_app
.
name
+
'/sapPurchaseOrder/slicedSapPurchaseOrderList.ajax?'
,
//parms: {requireItemId: $("#prepareItemId").val()},
toolbar
:
toolbarOptions
,
//
toolbar: toolbarOptions,
width
:
'99.8%'
,
height
:
'100%'
,
pageSize
:
100
,
heightDiff
:
-
4
,
//sortName: 'lastModifiedDate',
//sortOrder: 'desc',
checkbox
:
true
,
usePager
:
true
,
rownumbers
:
true
,
...
...
@@ -46,9 +46,6 @@ function initPurchaseListGrid() {
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
viewHandler
(
data
.
id
);
},
onAfterShowData
:
function
(
currentData
)
{
}
}
);
...
...
@@ -75,14 +72,6 @@ function viewHandler(id) {
});
}
//
// function addHandler() {
// UICtrl.addTabItem({
// tabid: 'addPurchase',
// text: '新增采购审批',
// url: web_app.name + '/sapPurchaseOrder/forwardSapPurchaseOrderDetail.job'
// });
// }
function
reloadPurchaseGrid
()
{
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/statsIndicators/statsIndicators.js
View file @
d9ac5f17
...
...
@@ -14,11 +14,10 @@ function initialize(){
function
loadStatsIndicatorsDetailListGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
()
{
UICtrl
.
addGridRow
(
gridManager
,{
zlenr
:
g
ridManager
.
getData
().
length
+
1
});
UICtrl
.
addGridRow
(
gridManager
,{
zlenr
:
g
etZlenr
()
});
},
deleteHandler
:
function
()
{
var
_grid
=
UICtrl
.
getGridManager
(
'#statsIndicatorsDetailGrid'
);
_grid
.
deleteSelectedRow
();
//删除fieldCol="2"节点
gridManager
.
deleteSelectedRow
();
}
});
gridManager
=
UICtrl
.
grid
(
"#statsIndicatorsDetailGrid"
,
{
...
...
@@ -145,4 +144,16 @@ function getExtendedData(processAction) {
extendedData
.
statsIndicatorsDetail
=
Public
.
encodeJSONURI
(
datas
);
}
return
extendedData
;
}
//获取最新子序号(维护实体的标识)
function
getZlenr
(){
let
result
=
gridManager
.
getData
();
let
zlenr
=
"001"
;
if
(
result
.
length
>
0
){
//获取上一个节点的子序值
let
wornNo
=
parseInt
(
result
[
result
.
length
-
1
][
"zlenr"
],
10
);
zlenr
=
(
"00"
+
(
wornNo
+
1
)).
slice
(
-
3
);
}
return
zlenr
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/base/DefinitionHomepageTaskData.java
View file @
d9ac5f17
...
...
@@ -30,26 +30,15 @@ public class DefinitionHomepageTaskData extends BaseApplication {
public
Map
<
String
,
Object
>
replaceQueryTrackingTasks
(){
// 当前登录用户是否以任务发起人的身份发起过任务
List
<
BsnMessageSponsor
>
messageSponsors
=
bsnMessageApplication
.
queryFinishBsnMessageSponsor
();
if
(
messageSponsors
!=
null
&&!
messageSponsors
.
isEmpty
())
{
// 若有发起过任务且所有的执行人执行完毕,则由系统创建一份审批任务给当前用户
for
(
BsnMessageSponsor
sponsor
:
messageSponsors
)
{
List
<
BsnMessageExecute
>
executes
=
new
ArrayList
<>();
//验证状态防止多次创建任务
if
(
sponsor
.
getStatus
()
==
0
)
{
// 封装审批任务
BsnMessageExecute
execute
=
new
BsnMessageExecute
();
execute
.
setUpdateDate
(
new
Date
());
execute
.
setTaskExecute
(
this
.
getOperator
().
getUserId
());
execute
.
setTaskDescribe
(
"各单位已完成[发起人审核]"
);
execute
.
setBusinessCode
(
"system"
);
execute
.
setActive
(
ActiveStatus
.
UNFINISHED
.
getValue
());
executes
.
add
(
execute
);
sponsor
.
setStatus
(
1
);
// 发起人审核
sponsor
.
setExecutes
(
executes
);
// 在同一个任务流程下创建一份发起人自己的审批任务
bsnMessageApplication
.
saveBsnMessageSponsor
(
sponsor
);
//该流程下是否所有单位已就绪
BsnMessageExecute
systemExecute
=
bsnMessageApplication
.
isExecutesReady
(
sponsor
.
getId
());
//更新其中审批任务的状态
if
(
systemExecute
!=
null
){
systemExecute
.
setActive
(
ActiveStatus
.
UNFINISHED
.
getValue
());
bsnMessageApplication
.
saveBsnMessageExecute
(
systemExecute
);
}
}
}
//获取任务执行人为当前用户的任务
return
this
.
bsnMessageApplication
.
queryExecuteBsnMessage
();
...
...
topsun/src/main/java/com/huigou/topsun/base/bsnMessage/appliction/BsnMessageApplication.java
View file @
d9ac5f17
...
...
@@ -3,6 +3,7 @@ package com.huigou.topsun.base.bsnMessage.appliction;
import
com.huigou.topsun.base.bsnMessage.domain.BsnMessageExecute
;
import
com.huigou.topsun.base.bsnMessage.domain.BsnMessageReject
;
import
com.huigou.topsun.base.bsnMessage.domain.BsnMessageSponsor
;
import
com.huigou.uasp.bmp.bizconfig.model.ObjectKindEnum
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -11,11 +12,47 @@ public interface BsnMessageApplication {
String
QUERY_XML_FILE_PATH
=
"config/topsun/base/bsnMessage.xml"
;
/**
* 保存任务
* @param bsnMessageSponsor
*/
String
keepTasks
(
BsnMessageSponsor
bsnMessageSponsor
);
/**
* 发布任务
* @param bId 表单单号
*/
void
publishTasks
(
String
bId
);
/**
* 保存任务并发布
*/
void
keepAndPublishTasks
(
BsnMessageSponsor
bsnMessageSponsor
);
// /**
// * 驳回任务
// */
// void rejectTasks();
/**
* 批准
*/
// void authorizeTasks();
/**
* 任务流转
*/
Map
<
String
,
Object
>
circulate
(
String
meId
);
/**
* 获取当前登录用户未完成或被驳回的任务
* @return 任务执行的详细信息集合
*/
Map
<
String
,
Object
>
queryExecuteBsnMessage
();
Map
<
String
,
Object
>
queryExecuteBsnMessage
();
/**
* 当前登录用户是否以任务发起人的身份发起过任务如果有
...
...
@@ -24,6 +61,13 @@ public interface BsnMessageApplication {
*/
List
<
BsnMessageSponsor
>
queryFinishBsnMessageSponsor
();
/**
* 根据任务发布Id,获取该流程下是否所有执行单位已就绪
* @param msId
* @return
*/
BsnMessageExecute
isExecutesReady
(
String
msId
);
public
void
saveBsnMessageSponsor
(
List
<
BsnMessageSponsor
>
all
);
public
String
saveBsnMessageSponsor
(
BsnMessageSponsor
entity
);
...
...
topsun/src/main/java/com/huigou/topsun/base/bsnMessage/appliction/impl/BsnMessageApplicationImpl.java
View file @
d9ac5f17
...
...
@@ -7,14 +7,18 @@ import com.huigou.topsun.base.bsnMessage.domain.*;
import
com.huigou.topsun.base.bsnMessage.repository.BsnMessageExecuteRepository
;
import
com.huigou.topsun.base.bsnMessage.repository.BsnMessageRejectRepository
;
import
com.huigou.topsun.base.bsnMessage.repository.BsnMessageSponsorRepository
;
import
com.huigou.topsun.sap.nonProdApply.domain.SapNonProdApplyDept
;
import
com.huigou.uasp.bmp.bizconfig.model.ObjectKindEnum
;
import
com.huigou.uasp.bmp.common.application.BaseApplication
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.data.domain.Sort
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 专项任务整合及输出
...
...
@@ -30,6 +34,80 @@ public class BsnMessageApplicationImpl extends BaseApplication implements BsnMes
BsnMessageSponsorRepository
messageSponsorRepository
;
@Override
public
String
keepTasks
(
BsnMessageSponsor
bsnMessageSponsor
)
{
//删除对应表单已有的任务
BsnMessageSponsor
sponsor
=
this
.
getSponsorByBId
(
bsnMessageSponsor
.
getBusinessId
());
if
(
sponsor
!=
null
){
this
.
deleteBsnMessageSponsor
(
sponsor
);
}
//封装任务发布人自己的审批任务
BsnMessageExecute
execute
=
new
BsnMessageExecute
();
execute
.
setUpdateDate
(
new
Date
());
execute
.
setTaskExecute
(
this
.
getOperator
().
getUserId
());
execute
.
setTaskDescribe
(
"各单位已完成[发起人审核]"
);
execute
.
setBusinessCode
(
"system"
);
execute
.
setActive
(
ActiveStatus
.
SAVED
.
getValue
());
bsnMessageSponsor
.
addExecute
(
execute
);
return
this
.
saveBsnMessageSponsor
(
bsnMessageSponsor
);
}
@Override
public
void
publishTasks
(
String
bId
)
{
BsnMessageSponsor
sponsor
=
messageSponsorRepository
.
findByBusinessId
(
bId
);
if
(
sponsor
==
null
){
throw
new
RuntimeException
(
"不存在该业务"
);
}
List
<
BsnMessageExecute
>
executes
=
this
.
getExecuteByMsId
(
sponsor
.
getId
());
this
.
updateActiveStatus
(
executes
);
this
.
saveBsnMessageExecute
(
executes
);
}
@Override
public
void
keepAndPublishTasks
(
BsnMessageSponsor
bsnMessageSponsor
)
{
this
.
updateActiveStatus
(
bsnMessageSponsor
.
getExecutes
());
this
.
keepTasks
(
bsnMessageSponsor
);
}
// @Override
// public void authorizeTasks(String bId) {
// BsnMessageSponsor sponsor = messageSponsorRepository.findByBusinessId(bId);
// }
// @Override
// public void rejectTasks(BsnMessageExecute execute) {
// //更改驳回状态
// execute.setActive(ActiveStatus.REJECTED.getValue());
// //更新时间
// execute.setUpdateDate(new Date());
// //封装驳回详细
// BsnMessageReject reject = new BsnMessageReject();
// reject.setRejectMsg(sdo.getString(key));
// reject.setRejectDate(new Date());
// reject.setBsnExecuteId(execute.getId());
// execute.addReject(reject);
// this.saveBsnMessageExecute(execute);
// }
@Override
public
Map
<
String
,
Object
>
circulate
(
String
meId
)
{
BsnMessageExecute
execute
=
this
.
getExecuteByMeId
(
meId
);
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"deptCode"
,
execute
.
getBusinessCode
());
paramMap
.
put
(
"active"
,
execute
.
getActive
());
paramMap
.
put
(
"meId"
,
execute
.
getId
());
paramMap
.
put
(
"isReadOnly"
,
"false"
);
//获取该业务流程下其他执行部门
List
<
BsnMessageExecute
>
executeAll
=
this
.
getBrotherExecuteByMeId
(
meId
);
Map
<
String
,
String
>
map
=
executeAll
.
stream
()
.
collect
(
Collectors
.
toMap
(
BsnMessageExecute:
:
getTaskExecute
,
BsnMessageExecute:
:
getBusinessCode
));
paramMap
.
put
(
"auditDeptMap"
,
map
);
return
paramMap
;
}
@Override
public
Map
<
String
,
Object
>
queryExecuteBsnMessage
()
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"queryExecuteBsnMessage"
);
...
...
@@ -51,6 +129,11 @@ public class BsnMessageApplicationImpl extends BaseApplication implements BsnMes
}
@Override
public
BsnMessageExecute
isExecutesReady
(
String
msId
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"queryIsExecutesReady"
);
return
this
.
sqlExecutorDao
.
queryToObject
(
queryDescriptor
.
getSql
(),
BsnMessageExecute
.
class
,
msId
,
msId
);
}
public
void
saveBsnMessageSponsor
(
List
<
BsnMessageSponsor
>
all
){
messageSponsorRepository
.
save
(
all
);
...
...
@@ -129,4 +212,14 @@ public class BsnMessageApplicationImpl extends BaseApplication implements BsnMes
public
boolean
isNotEmpty
(
List
<?>
list
)
{
return
list
!=
null
&&
!
list
.
isEmpty
();
}
public
void
updateActiveStatus
(
List
<
BsnMessageExecute
>
executes
)
{
//将除审批任务外状态为保存未分发的全部修改为分发未完成
for
(
BsnMessageExecute
execute
:
executes
)
{
if
(!
"system"
.
equals
(
execute
.
getBusinessCode
())){
execute
.
setActive
(
ActiveStatus
.
UNFINISHED
.
getValue
());
}
}
}
}
topsun/src/main/java/com/huigou/topsun/sap/nonProdApply/application/impl/NonProdApplyDeptApplicationImpl.java
View file @
d9ac5f17
...
...
@@ -46,13 +46,6 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
throw
new
RuntimeException
(
"JSON转换失败:"
+
e
);
}
/**
* 删除表单对应已存在任务
*/
BsnMessageSponsor
sponsor
=
bsnMessageApplication
.
getSponsorByBId
(
nonProdApplyDept
.
getApplyDeptId
());
if
(
sponsor
!=
null
){
bsnMessageApplication
.
deleteBsnMessageSponsor
(
sponsor
);
}
//封装分发数据
BsnMessageSponsor
bsnMessageSponsor
=
new
BsnMessageSponsor
();
...
...
@@ -76,20 +69,21 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
messageExecute
.
setTaskDescribe
(
deptName
+
"部门数据维护"
);
bsnMessageSponsor
.
addExecute
(
messageExecute
);
}
String
keyId
=
bsnMessageApplication
.
saveBsnMessageSponsor
(
bsnMessageSponsor
);
//保存任务
bsnMessageApplication
.
keepTasks
(
bsnMessageSponsor
);
map
.
put
(
"applyDeptId"
,
nonProdApplyDept
.
getApplyDeptId
());
map
.
put
(
"keyId"
,
keyId
);
return
map
;
}
/**
* 发布任务
* @param sdo
*/
@Override
public
void
distributeSapNonProdApplyDept
(
SDO
sdo
)
{
//将状态为保存
为
分发的全部修改为分发未完成
//将状态为保存
未
分发的全部修改为分发未完成
Map
<
String
,
Object
>
map
=
this
.
saveSapNonProdApplyDept
(
sdo
);
List
<
BsnMessageExecute
>
executes
=
bsnMessageApplication
.
getExecuteByMsId
((
String
)
map
.
get
(
"keyId"
));
executes
.
forEach
(
item
->
item
.
setActive
(
ActiveStatus
.
UNFINISHED
.
getValue
()));
bsnMessageApplication
.
saveBsnMessageExecute
(
executes
);
bsnMessageApplication
.
publishTasks
((
String
)
map
.
get
(
"applyDeptId"
));
}
@Override
...
...
topsun/src/main/java/com/huigou/topsun/sap/nonProdApply/controller/NonProdApplyNextController.java
View file @
d9ac5f17
...
...
@@ -93,20 +93,9 @@ public class NonProdApplyNextController extends CommonController {
SDO
sdo
=
this
.
getSDO
();
String
bizId
=
sdo
.
getBizId
();
String
meId
=
sdo
.
getString
(
"taskId"
);
BsnMessageExecute
execute
=
bsnMessageApplication
.
getExecuteByMeId
(
meId
);
this
.
putAttribute
(
"deptCode"
,
execute
.
getBusinessCode
());
this
.
putAttribute
(
"active"
,
execute
.
getActive
());
this
.
putAttribute
(
"meId"
,
execute
.
getId
());
this
.
putAttribute
(
"isReadOnly"
,
"false"
);
Map
<
String
,
Object
>
circulate
=
bsnMessageApplication
.
circulate
(
meId
);
this
.
putAttribute
(
circulate
);
SapNonProdApplyDept
nonProdApplyDept
=
nonProdApplyDeptApplication
.
getNonProdApplyDeptById
(
bizId
);
//测试数据
// Map<String, String> map = new HashMap<>();
//获取该业务流程下其他执行部门
List
<
BsnMessageExecute
>
executeAll
=
bsnMessageApplication
.
getBrotherExecuteByMeId
(
meId
);
Map
<
String
,
String
>
map
=
executeAll
.
stream
()
.
collect
(
Collectors
.
toMap
(
BsnMessageExecute:
:
getTaskExecute
,
BsnMessageExecute:
:
getBusinessCode
));
this
.
putAttribute
(
"auditDeptMap"
,
map
);
return
forward
(
"nonProdApplyNext"
,
nonProdApplyDept
);
}
...
...
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/application/SapPurchaseOrderApplication.java
View file @
d9ac5f17
...
...
@@ -21,4 +21,6 @@ public interface SapPurchaseOrderApplication {
SapPurchaseOrder
loadSapPurchaseOrder
(
String
id
);
void
saveSapPurchaseOrderVo
(
SapPurchaseOrderVo
sapPurchaseOrderVo
);
void
sendSapDate
(
SapPurchaseOrder
sapPurchaseOrder
,
String
flag
);
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/application/SapPurchaseOrderItemApplication.java
View file @
d9ac5f17
...
...
@@ -13,9 +13,10 @@ import java.util.Map;
*/
public
interface
SapPurchaseOrderItemApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/sapPurchaseOrder/sapPurchaseOrderItem.xml"
;
void
saveSapPurchaseOrderItem
s
(
String
sapPurchaseOrderId
,
List
<
SapPurchaseOrderItem
>
sapPurchaseOrderItems
);
void
saveSapPurchaseOrderItem
(
SapPurchaseOrderItem
sapPurchaseOrderItem
);
void
deleteByIds
(
List
<
String
>
ids
);
Map
<
String
,
Object
>
querySapPurchaseOrderItems
(
SapPurchaseOrderItemQueryRequest
queryRequest
);
SapPurchaseOrderItem
getPurchaseOrderItem
(
String
purchaseOrderId
);
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/application/impl/SapPurchaseOrderApplicationImpl.java
View file @
d9ac5f17
package
com
.
huigou
.
topsun
.
sap
.
purchaseOrder
.
application
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
import
com.huigou.context.ThreadLocalUtil
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.sap.common.DefaultHttpClient
;
import
com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalApplication
;
import
com.huigou.topsun.sap.purchaseApproval.application.impl.SapPurchaseApprovalApplicationImpl
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval
;
import
com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderApplication
;
import
com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication
;
import
com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder
;
...
...
@@ -14,6 +20,10 @@ import com.huigou.topsun.sap.purchaseOrder.domain.query.SapPurchaseOrderQueryReq
import
com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderItemVo
;
import
com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderVo
;
import
com.huigou.topsun.sap.purchaseOrder.repository.SapPurchaseOrderRepository
;
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.util.MyBaseUtil
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bmp.operator.OperatorApplication
;
import
com.huigou.uasp.bpm.FlowBroker
;
...
...
@@ -26,10 +36,12 @@ import com.huigou.util.SDO;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -47,13 +59,16 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
@Resource
private
SapPurchaseOrderItemApplication
sapPurchaseOrderItemApplication
;
@Resource
private
WorkflowApplication
workflowApplication
;
@Resource
private
OperatorApplication
operatorApplication
;
@Autowired
DefaultHttpClient
defaultHttpClient
;
@Autowired
SapPurchaseApprovalApplicationImpl
sapPurchaseApprovalApplication
;
// @Override
protected
String
saveBizAndOrderData
()
{
// super.saveBizAndOrderData();
@Override
protected
String
saveBizAndApprovalData
()
{
super
.
saveBizAndApprovalData
();
SDO
sdo
=
this
.
getBizAndApprovalData
();
SapPurchaseOrder
sapPurchaseOrder
=
getBizEntity
(
SapPurchaseOrder
.
class
);
if
(
sapPurchaseOrder
.
isNew
())
{
sapPurchaseOrder
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
...
...
@@ -61,10 +76,11 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
sapPurchaseOrder
=
(
SapPurchaseOrder
)
commonDomainService
.
loadAndFillinProperties
(
sapPurchaseOrder
);
}
sapPurchaseOrder
=
sapPurchaseOrderRepository
.
save
(
sapPurchaseOrder
);
List
<
SapPurchaseOrderItem
>
sapPurchaseOrderItems
=
getBizEntities
(
SapPurchaseOrderItem
.
class
,
"sapPurchaseItems"
);
sapPurchaseOrderItemApplication
.
saveSapPurchaseOrderItems
(
sapPurchaseOrder
.
getId
(),
sapPurchaseOrderItems
);
//String sapPurchaseVoJson = this.getSapPurchaseVoJson(sapPurchaseOrder);
// SapPurchaseOrderItem sapPurchaseOrderItem = getBizEntity(SapPurchaseOrderItem.class);
// if(sapPurchaseOrderItem!=null){
// sapPurchaseOrderItem.setPurchaseOrderId(sapPurchaseOrder.getId());
// sapPurchaseOrderItemApplication.saveSapPurchaseOrderItem(sapPurchaseOrderItem);
// }
return
sapPurchaseOrder
.
getId
();
}
...
...
@@ -83,7 +99,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
BizBillStatus
status
=
approvePassed
()
?
BizBillStatus
.
COMPLETED
:
BizBillStatus
.
ABORTED
;
SapPurchaseOrder
sapPurchaseOrder
=
sapPurchaseOrderRepository
.
findOne
(
bizId
);
sapPurchaseOrder
.
setStatusId
(
status
.
getId
());
sapPurchaseOrderRepository
.
save
(
sapPurchaseOrder
);
SapPurchaseOrder
save
=
sapPurchaseOrderRepository
.
save
(
sapPurchaseOrder
);
this
.
sendSapDate
(
save
,
""
);
}
...
...
@@ -107,7 +124,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
String
bizId
=
delegateTask
.
getExecution
().
getProcessBusinessKey
();
SapPurchaseOrder
sapPurchaseOrder
=
sapPurchaseOrderRepository
.
findOne
(
bizId
);
sapPurchaseOrder
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
sapPurchaseOrderRepository
.
save
(
sapPurchaseOrder
);
SapPurchaseOrder
save
=
sapPurchaseOrderRepository
.
save
(
sapPurchaseOrder
);
this
.
sendSapDate
(
save
,
"X"
);
}
}
...
...
@@ -135,47 +153,43 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
sapPurchaseOrder
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
Map
<
String
,
Object
>
formData
=
BeanUtil
.
beanToMap
(
sapPurchaseOrder
);
String
bizId
=
this
.
startProcessInstance
(
SapPurchaseOrderApplication
.
PROCESS_DEFINITION_KEY
,
formData
);
String
bizId
=
sapPurchaseApprovalApplication
.
startProcessInstance
(
SapPurchaseOrderApplication
.
PROCESS_DEFINITION_KEY
,
formData
);
sapPurchaseOrder
.
setId
(
bizId
);
sapPurchaseOrder
=
this
.
sapPurchaseOrderRepository
.
save
(
sapPurchaseOrder
);
List
<
SapPurchaseOrderItemVo
>
OrderItemVoList
=
sapPurchaseOrderVo
.
getItemVos
();
List
<
SapPurchaseOrderItem
>
sapPurchaseOrderItems
=
new
ArrayList
<>();
OrderItemVoList
.
forEach
(
OrderItemVo
->{
SapPurchaseOrderItem
sapPurchaseOrderItem
=
new
SapPurchaseOrderItem
();
BeanUtil
.
copyProperties
(
OrderItemVo
,
sapPurchaseOrderItem
);
sapPurchaseOrderItems
.
add
(
sapPurchaseOrderItem
);
});
sapPurchaseOrderItemApplication
.
saveSapPurchaseOrderItems
(
sapPurchaseOrder
.
getId
(),
sapPurchaseOrderItems
);
}
public
String
startProcessInstance
(
String
processDefinitionKey
,
Map
<
String
,
Object
>
formData
){
Map
<
String
,
Object
>
variables
=
new
HashMap
();
SDO
localSdo
=
this
.
buildSDO
(
formData
);
ThreadLocalUtil
.
putVariable
(
Constants
.
SDO
,
localSdo
);
variables
.
put
(
"startModel"
,
ProcessStartModel
.
MANUAL
.
getId
());
Operator
operator
=
localSdo
.
getOperator
();
variables
.
put
(
"executorFullId"
,
operator
.
getFullId
());
variables
.
put
(
"executorFullName"
,
operator
.
getFullName
());
ThreadLocalUtil
.
putOperator
(
operator
);
ThreadLocalUtil
.
putVariable
(
"client.ip"
,
"127.0.0.1"
);
ProcessInstance
processInstance
=
this
.
workflowApplication
.
startProcessInstanceByKey
(
processDefinitionKey
,
variables
);
String
businessKey
=
processInstance
.
getBusinessKey
();
return
businessKey
;
SapPurchaseOrderItemVo
OrderItemVo
=
sapPurchaseOrderVo
.
getItemVo
();
SapPurchaseOrderItem
sapPurchaseOrderItem
=
new
SapPurchaseOrderItem
();
BeanUtil
.
copyProperties
(
OrderItemVo
,
sapPurchaseOrderItem
);
sapPurchaseOrderItem
.
setPurchaseOrderId
(
sapPurchaseOrder
.
getId
());
sapPurchaseOrderItemApplication
.
saveSapPurchaseOrderItem
(
sapPurchaseOrderItem
);
}
/**
* 远程调用sap接口,传递数据
private
SDO
buildSDO
(
Map
<
String
,
Object
>
formData
)
{
//String createdById = (String) formData.get("createdById");
//暂定管理员id
String
createdById
=
"5EEB2DC861694A65933CB4CE9A8D870A@C18E23AAAA6940E09DF7C122332C51E0"
;
Operator
operator
=
operatorApplication
.
createOperatorByPersonMemberId
(
createdById
);
SDO
localSdo
=
new
SDO
();
// 将业务数据传递给工作流
formData
.
forEach
(
localSdo:
:
putProperty
);
// 将业务流程信息传递给工作流
localSdo
.
putProperty
(
"processAction"
,
ProcessAction
.
SAVE
);
localSdo
.
putProperty
(
"procUnitId"
,
"Apply"
);
localSdo
.
setOperator
(
operator
);
return
localSdo
;
*/
public
void
sendSapDate
(
SapPurchaseOrder
sapPurchaseOrder
,
String
flag
)
{
Map
<
String
,
Object
>
paramItem
=
new
HashMap
<>();
paramItem
.
put
(
"ebeln"
,
sapPurchaseOrder
.
getEbeln
());
paramItem
.
put
(
"BEDNR"
,
sapPurchaseOrder
.
getBillCode
());
paramItem
.
put
(
"frgkz"
,
"10"
);
paramItem
.
put
(
"flag"
,
flag
);
List
<
Map
<
String
,
Object
>>
paramList
=
new
ArrayList
<>();
paramList
.
add
(
paramItem
);
Map
<
String
,
Object
>
param
=
new
HashMap
<>();
param
.
put
(
"MODE"
,
"PO"
);
param
.
put
(
"DATA"
,
paramList
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
String
url
=
"pass_approval/approval"
;
try
{
String
result
=
defaultHttpClient
.
execute
(
param
,
url
);
List
<
Map
<
String
,
Object
>>
resultList
=
objectMapper
.
readValue
(
result
,
new
TypeReference
<
List
<
Map
<
String
,
Object
>>>()
{});
Map
<
String
,
Object
>
resultMap
=
resultList
.
get
(
0
);
if
(!
"S"
.
equals
(
resultMap
.
get
(
"TYPE"
)))
{
throw
new
RuntimeException
(
"数据传输失败,请稍后手动重试!"
+
resultMap
.
get
(
"MESSAGE"
));
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"数据传输失败请检查数据后重试!"
+
e
.
getMessage
());
}
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/application/impl/SapPurchaseOrderItemApplicationImpl.java
View file @
d9ac5f17
...
...
@@ -25,11 +25,8 @@ public class SapPurchaseOrderItemApplicationImpl extends BaseApplication impleme
@Resource
private
SapPurchaseOrderItemRepository
sapPurchaseOrderItemRepository
;
@Override
public
void
saveSapPurchaseOrderItems
(
String
sapPurchaseOrderId
,
List
<
SapPurchaseOrderItem
>
sapPurchaseOrderItems
)
{
sapPurchaseOrderItems
.
forEach
(
sapPurchaseOrderItem
->
{
sapPurchaseOrderItem
.
setPurchaseOrderId
(
sapPurchaseOrderId
);
public
void
saveSapPurchaseOrderItem
(
SapPurchaseOrderItem
sapPurchaseOrderItem
)
{
sapPurchaseOrderItemRepository
.
save
(
sapPurchaseOrderItem
);
});
}
@Override
...
...
@@ -40,13 +37,17 @@ public class SapPurchaseOrderItemApplicationImpl extends BaseApplication impleme
}
@Override
public
Map
<
String
,
Object
>
querySapPurchaseOrderItems
(
SapPurchaseOrderItemQueryRequest
queryRequest
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
StringUtil
.
isNotBlank
(
queryRequest
.
getSapPurchaseOrderId
())){
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"sapPurchaseOrderItems"
);
QueryModel
queryModel
=
this
.
sqlExecutorDao
.
getQueryModel
(
queryDescriptor
,
queryRequest
);
map
=
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryModel
);
}
return
map
;
public
SapPurchaseOrderItem
getPurchaseOrderItem
(
String
purchaseOrderId
)
{
return
sapPurchaseOrderItemRepository
.
findSapPurchaseOrderItemByPurchaseOrderId
(
purchaseOrderId
);
}
// @Override
// public Map<String, Object> querySapPurchaseOrderItems(SapPurchaseOrderItemQueryRequest queryRequest) {
// Map<String, Object> map = new HashMap<>();
// if (StringUtil.isNotBlank(queryRequest.getSapPurchaseOrderId())){
// QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapPurchaseOrderItems");
// QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
// map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
// }
// return map;
// }
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/controller/SapPurchaseOrderController.java
View file @
d9ac5f17
package
com
.
huigou
.
topsun
.
sap
.
purchaseOrder
.
controller
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.SerializationFeature
;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
import
com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderApplication
;
import
com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication
;
import
com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder
;
import
com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrderItem
;
import
com.huigou.topsun.sap.purchaseOrder.domain.query.SapPurchaseOrderQueryRequest
;
import
com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderVo
;
import
com.huigou.topsun.util.MyBaseUtil
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.annotation.SkipAuth
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
...
...
@@ -17,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
javax.annotation.Resource
;
import
java.text.SimpleDateFormat
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -28,6 +34,8 @@ import java.util.Map;
@Controller
@ControllerMapping
(
"/sapPurchaseOrder"
)
public
class
SapPurchaseOrderController
extends
CommonController
{
@Resource
private
SapPurchaseOrderItemApplication
sapPurchaseOrderItemApplication
;
@Resource
private
SapPurchaseOrderApplication
sapPurchaseOrderApplication
;
@Override
...
...
@@ -39,7 +47,6 @@ public class SapPurchaseOrderController extends CommonController {
@RequestMapping
(
value
=
"/getSapPurchaseOrder"
)
@ResponseBody
public
HashMap
<
String
,
Object
>
getSapPurchaseOrder
(
@RequestBody
SapPurchaseOrderVo
sapPurchaseOrderVo
){
//SDO sdo = this.getSDO();
this
.
sapPurchaseOrderApplication
.
saveSapPurchaseOrderVo
(
sapPurchaseOrderVo
);
HashMap
<
String
,
Object
>
messageMap
=
new
HashMap
<>();
messageMap
.
put
(
"Message_Status"
,
"S"
);
...
...
@@ -58,24 +65,30 @@ public class SapPurchaseOrderController extends CommonController {
return
toResult
(
map
);
}
public
String
forwardSapPurchaseOrderDetail
(){
this
.
putAttribute
(
"processDefinitionKey"
,
SapPurchaseOrderApplication
.
PROCESS_DEFINITION_KEY
);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this
.
putAttribute
(
"procUnitId"
,
"Apply"
);
SapPurchaseOrder
sapPurchase
=
new
SapPurchaseOrder
();
sapPurchase
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
/**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator
operator
=
getOperator
();
sapPurchase
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
return
forward
(
"sapPurchaseOrderDetail"
,
sapPurchase
);
}
//
public String forwardSapPurchaseOrderDetail(){
//
this.putAttribute("processDefinitionKey", SapPurchaseOrderApplication.PROCESS_DEFINITION_KEY);
//
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
//
this.putAttribute("procUnitId", "Apply");
//
SapPurchaseOrder sapPurchase = new SapPurchaseOrder();
//
sapPurchase.setStatusId(BizBillStatus.APPLYING.getId());
//
/**
//
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
//
*/
//
Operator operator = getOperator();
//
sapPurchase.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
//
return forward("sapPurchaseOrderDetail",sapPurchase);
//
}
public
String
showSapPurchaseOrderDetail
(){
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getBizId
();
SapPurchaseOrder
sapPurchaseOrder
=
sapPurchaseOrderApplication
.
loadSapPurchaseOrder
(
id
);
return
forward
(
"sapPurchaseOrderDetail"
,
sapPurchaseOrder
);
SapPurchaseOrderItem
purchaseOrderItem
=
sapPurchaseOrderItemApplication
.
getPurchaseOrderItem
(
sapPurchaseOrder
.
getId
());
ObjectMapper
objectMapper
=
new
ObjectMapper
();
objectMapper
.
configure
(
SerializationFeature
.
WRITE_DATES_AS_TIMESTAMPS
,
false
);
objectMapper
.
setDateFormat
(
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss.SSS"
));
Map
<
String
,
Object
>
map
=
objectMapper
.
convertValue
(
sapPurchaseOrder
,
Map
.
class
);
map
.
putAll
(
MyBaseUtil
.
convertToMap
(
purchaseOrderItem
,
false
));
return
forward
(
"sapPurchaseOrderDetail"
,
map
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/controller/SapPurchaseOrderItemController.java
deleted
100644 → 0
View file @
9b922301
package
com
.
huigou
.
topsun
.
sap
.
purchaseOrder
.
controller
;
import
com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication
;
import
com.huigou.topsun.sap.purchaseOrder.domain.query.SapPurchaseOrderItemQueryRequest
;
import
com.huigou.topsun.sap.purchaseOrder.repository.SapPurchaseOrderItemRepository
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.util.SDO
;
import
org.springframework.stereotype.Controller
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Auther: xin.lu
* @Date: 2023/12/27/17:24
* @Description:
*/
@Controller
@ControllerMapping
(
"/sapPurchaseOrderItem"
)
public
class
SapPurchaseOrderItemController
extends
CommonController
{
@Resource
private
SapPurchaseOrderItemApplication
sapPurchaseOrderItemApplication
;
@Resource
private
SapPurchaseOrderItemRepository
sapPurchaseOrderItemRepository
;
public
String
querySapPurchaseOrderItems
(){
SDO
sdo
=
this
.
getSDO
();
SapPurchaseOrderItemQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
SapPurchaseOrderItemQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
sapPurchaseOrderItemApplication
.
querySapPurchaseOrderItems
(
queryRequest
);
return
toResult
(
map
);
}
public
String
deleteSapPurchaseOrderItem
(){
SDO
sdo
=
this
.
getSDO
();
List
<
String
>
ids
=
sdo
.
getIds
();
sapPurchaseOrderItemApplication
.
deleteByIds
(
ids
);
return
success
();
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/domain/SapPurchaseOrderItem.java
View file @
d9ac5f17
package
com
.
huigou
.
topsun
.
sap
.
purchaseOrder
.
domain
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonIgnoreType
;
import
com.huigou.data.domain.model.AbstractEntity
;
import
lombok.Data
;
...
...
@@ -18,6 +20,7 @@ import java.util.Date;
@Table
(
name
=
"sap_purchase_order_item"
)
@Entity
@Data
@JsonIgnoreType
public
class
SapPurchaseOrderItem
extends
AbstractEntity
{
...
...
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/domain/vo/SapPurchaseOrderVo.java
View file @
d9ac5f17
...
...
@@ -29,5 +29,5 @@ public class SapPurchaseOrderVo implements Serializable {
*/
private
String
batxt
;
private
List
<
SapPurchaseOrderItemVo
>
itemVos
;
private
SapPurchaseOrderItemVo
itemVo
;
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseOrder/repository/SapPurchaseOrderItemRepository.java
View file @
d9ac5f17
...
...
@@ -9,4 +9,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
* @Description:
*/
public
interface
SapPurchaseOrderItemRepository
extends
JpaRepository
<
SapPurchaseOrderItem
,
String
>
{
SapPurchaseOrderItem
findSapPurchaseOrderItemByPurchaseOrderId
(
String
POId
);
}
topsun/src/main/resources/config/bpm/topsun/sap/sapPurchaseOrder/sapPurchaseOrderProc.bpmn
View file @
d9ac5f17
<?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=
"sapPurchaseOrderProc"
name=
"采购审批"
isExecutable=
"true"
>
<process
id=
"sapPurchaseOrderProc"
name=
"采购
订单
审批"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{sapPurchaseOrderApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{sapPurchaseOrderApplication}"
></activiti:executionListener>
...
...
topsun/src/main/resources/config/topsun/base/bsnMessage.xml
View file @
d9ac5f17
<?xml version="1.0" encoding="UTF-8"?>
<query-mappings>
<query
name=
"queryExecuteBsnMessage"
label=
"
bsn业务人员表
"
table=
"bsn_message_execute"
>
<query
name=
"queryExecuteBsnMessage"
label=
"
未完成任务
"
table=
"bsn_message_execute"
>
<sql-query>
SELECT t.id,t.message_sponsor_id,t.task_execute,t.business_code,t.update_date,t.finished_date,t.active,
CASE WHEN t.active = 3 THEN CONCAT(t.task_describe, :addText) ELSE t.task_describe END AS task_describe,
...
...
@@ -14,17 +14,11 @@
</sql-query>
</query>
<query
name=
"queryFinishBsnMessageSponsor"
label=
"
bsn业务人员表
"
table=
"bsn_message_sponsor"
>
<query
name=
"queryFinishBsnMessageSponsor"
label=
"
获取流程中的任务发布信息
"
table=
"bsn_message_sponsor"
>
<sql-query>
SELECT t.*
FROM bsn_message_sponsor t
WHERE t.task_sponsor = ?
AND NOT EXISTS (
SELECT 1
FROM bsn_message_execute t2
WHERE t2.message_sponsor_id = t.id
AND t2.active != 1
)
WHERE t.status=0 and t.task_sponsor = ?
</sql-query>
</query>
...
...
@@ -39,4 +33,21 @@
) AND id != :meId
</sql-query>
</query>
<query
name=
"queryIsExecutesReady"
label=
"bsn业务人员表"
table=
"bsn_message"
>
<sql-query>
SELECT *
FROM `bsn_message_execute`
WHERE message_sponsor_id = ?
AND business_code = 'system'
AND NOT EXISTS (
SELECT 1
FROM `bsn_message_execute`
WHERE message_sponsor_id = ?
AND business_code != 'system'
AND active != 1
);
</sql-query>
</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