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
d157f67e
Commit
d157f67e
authored
Jan 10, 2024
by
鲁鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
采购审批接收数据,并发起流程
parent
bbd37d2f
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
282 additions
and
12 deletions
+282
-12
spring-mvc.xml
huigou-xt/src/main/resources/spring-mvc.xml
+9
-0
sapPurchaseApprovalDetail.js
.../topsun/sap/purchaseApproval/sapPurchaseApprovalDetail.js
+1
-1
sapPurchaseApprovalDetail.jsp
...topsun/sap/purchaseApproval/sapPurchaseApprovalDetail.jsp
+2
-2
sapPurchaseApprovalList.js
...iz/topsun/sap/purchaseApproval/sapPurchaseApprovalList.js
+1
-1
SapPurchaseApprovalApplication.java
...eApproval/application/SapPurchaseApprovalApplication.java
+3
-0
SapPurchaseApprovalApplicationImpl.java
.../application/impl/SapPurchaseApprovalApplicationImpl.java
+77
-1
SapPurchaseApprovalController.java
...aseApproval/controller/SapPurchaseApprovalController.java
+10
-3
SapPurchaseApproval.java
...psun/sap/purchaseApproval/domain/SapPurchaseApproval.java
+1
-1
SapPurchaseApprovalQueryRequest.java
...pproval/domain/query/SapPurchaseApprovalQueryRequest.java
+14
-0
SapPurchaseApprovalItemVo.java
...purchaseApproval/domain/vo/SapPurchaseApprovalItemVo.java
+132
-0
SapPurchaseApprovalVo.java
...sap/purchaseApproval/domain/vo/SapPurchaseApprovalVo.java
+29
-0
sapPurchaseApprovalProc.bpmn
...psun/sap/sapPurchaseApproval/sapPurchaseApprovalProc.bpmn
+3
-3
No files found.
huigou-xt/src/main/resources/spring-mvc.xml
View file @
d157f67e
...
...
@@ -13,6 +13,7 @@
http://www.springframework.org/schema/mvc/spring-mvc.xsd"
>
<context:property-placeholder
location=
"classpath:application.properties"
/>
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<mvc:annotation-driven
/>
<!--
<context:annotation-config />
-->
...
...
@@ -62,4 +63,12 @@
<property
name=
"prefix"
value=
"/"
></property>
<property
name=
"suffix"
value=
".jsp"
></property>
</bean>
<bean
class=
"org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"
>
<property
name=
"messageConverters"
>
<list>
<!-- json转换器 -->
<bean
class=
"org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"
/>
</list>
</property>
</bean>
</beans>
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/purchaseApproval/sapPurchaseApprovalDetail.js
View file @
d157f67e
...
...
@@ -31,7 +31,7 @@ function initItemGrid() {
columns
:
getGridColumns
(),
dataAction
:
'server'
,
url
:
web_app
.
name
+
'/sapPurchaseApprovalItem/querySapPurchaseApprovalItems.ajax'
,
parms
:{
sapPurchaseId
:
getId
()},
parms
:{
sapPurchase
Approval
Id
:
getId
()},
height
:
'99.6%'
,
heightDiff
:
-
4
,
sortName
:
'id'
,
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/purchaseApproval/sapPurchaseApprovalDetail.jsp
View file @
d157f67e
...
...
@@ -28,8 +28,8 @@
<x:hidden
name=
"bsart"
/>
<div
class=
"hg-form-cols"
>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"banfn"
label=
"采购申请号"
readonly=
"
tru
e"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"batxt"
label=
"采购申请类型描述"
readonly=
"
tru
e"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"banfn"
label=
"采购申请号"
readonly=
"
fals
e"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
<x:inputC
name=
"batxt"
label=
"采购申请类型描述"
readonly=
"
fals
e"
labelCol=
"1"
fieldCol=
"2"
required=
"true"
/>
</div>
</div>
<div
id=
"maingrid"
></div>
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/purchaseApproval/sapPurchaseApprovalList.js
View file @
d157f67e
...
...
@@ -72,7 +72,7 @@ function viewHandler(id) {
UICtrl
.
addTabItem
({
tabid
:
'viewPurchase'
+
id
,
text
:
'查看采购申请'
,
url
:
web_app
.
name
+
'/sapPurchaseApproval/
loadPurchaseApprovalDetail.do?isReadOnly=true&i
d='
+
id
url
:
web_app
.
name
+
'/sapPurchaseApproval/
showSapPurchaseApprovalDetail.job?bizI
d='
+
id
});
}
...
...
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/application/SapPurchaseApprovalApplication.java
View file @
d157f67e
...
...
@@ -2,6 +2,7 @@ package com.huigou.topsun.sap.purchaseApproval.application;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval
;
import
com.huigou.topsun.sap.purchaseApproval.domain.query.SapPurchaseApprovalQueryRequest
;
import
com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalVo
;
import
java.util.Map
;
...
...
@@ -18,4 +19,6 @@ public interface SapPurchaseApprovalApplication {
Map
<
String
,
Object
>
slicedSapPurchaseApprovalList
(
SapPurchaseApprovalQueryRequest
queryRequest
);
SapPurchaseApproval
loadSapPurchaseApproval
(
String
id
);
void
saveSapPurchaseApprovalVo
(
SapPurchaseApprovalVo
sapPurchaseApprovalVo
);
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/application/impl/SapPurchaseApprovalApplicationImpl.java
View file @
d157f67e
package
com
.
huigou
.
topsun
.
sap
.
purchaseApproval
.
application
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
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.dictionary.A
;
import
com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalApplication
;
import
com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalItemApplication
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApprovalItem
;
import
com.huigou.topsun.sap.purchaseApproval.domain.query.SapPurchaseApprovalQueryRequest
;
import
com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalItemVo
;
import
com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalVo
;
import
com.huigou.topsun.sap.purchaseApproval.repository.SapPurchaseApprovalRepository
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bmp.operator.OperatorApplication
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.uasp.bpm.ProcessAction
;
import
com.huigou.uasp.bpm.ProcessStartModel
;
import
com.huigou.uasp.bpm.engine.application.WorkflowApplication
;
import
com.huigou.util.ClassHelper
;
import
com.huigou.util.Constants
;
import
com.huigou.util.SDO
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -24,12 +41,16 @@ import java.util.Map;
* @Date: 2024/01/09/18:59
* @Description:
*/
@Service
@Service
(
"sapPurchaseApprovalApplication"
)
public
class
SapPurchaseApprovalApplicationImpl
extends
FlowBroker
implements
SapPurchaseApprovalApplication
{
@Resource
private
SapPurchaseApprovalRepository
sapPurchaseApprovalRepository
;
@Resource
private
SapPurchaseApprovalItemApplication
sapPurchaseApprovalItemApplication
;
@Resource
private
WorkflowApplication
workflowApplication
;
@Resource
private
OperatorApplication
operatorApplication
;
@Override
protected
String
saveBizAndApprovalData
()
{
...
...
@@ -127,4 +148,59 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
public
SapPurchaseApproval
loadSapPurchaseApproval
(
String
id
)
{
return
sapPurchaseApprovalRepository
.
findOne
(
id
);
}
@Override
@Transactional
public
void
saveSapPurchaseApprovalVo
(
SapPurchaseApprovalVo
sapPurchaseApprovalVo
)
{
SapPurchaseApproval
sapPurchaseApproval
=
new
SapPurchaseApproval
();
BeanUtil
.
copyProperties
(
sapPurchaseApprovalVo
,
sapPurchaseApproval
);
//初始化用户信息
String
createdById
=
"5EEB2DC861694A65933CB4CE9A8D870A@C18E23AAAA6940E09DF7C122332C51E0"
;
Operator
operator
=
operatorApplication
.
createOperatorByPersonMemberId
(
createdById
);
sapPurchaseApproval
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
Map
<
String
,
Object
>
formData
=
BeanUtil
.
beanToMap
(
sapPurchaseApproval
);
String
bizId
=
this
.
startProcessInstance
(
SapPurchaseApprovalApplication
.
PROCESS_DEFINITION_KEY
,
formData
);
sapPurchaseApproval
.
setId
(
bizId
);
sapPurchaseApproval
=
this
.
sapPurchaseApprovalRepository
.
save
(
sapPurchaseApproval
);
List
<
SapPurchaseApprovalItemVo
>
approvalItemVoList
=
sapPurchaseApprovalVo
.
getItemVos
();
List
<
SapPurchaseApprovalItem
>
sapPurchaseApprovalItems
=
new
ArrayList
<>();
approvalItemVoList
.
forEach
(
approvalItemVo
->{
SapPurchaseApprovalItem
sapPurchaseApprovalItem
=
new
SapPurchaseApprovalItem
();
BeanUtil
.
copyProperties
(
approvalItemVo
,
sapPurchaseApprovalItem
);
sapPurchaseApprovalItems
.
add
(
sapPurchaseApprovalItem
);
});
sapPurchaseApprovalItemApplication
.
saveSapPurchaseApprovalItems
(
sapPurchaseApproval
.
getId
(),
sapPurchaseApprovalItems
);
}
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
;
}
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
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/controller/SapPurchaseApprovalController.java
View file @
d157f67e
...
...
@@ -5,12 +5,16 @@ import com.huigou.context.OrgUnit;
import
com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalApplication
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval
;
import
com.huigou.topsun.sap.purchaseApproval.domain.query.SapPurchaseApprovalQueryRequest
;
import
com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalVo
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.annotation.SkipAuth
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.util.JSONUtil
;
import
com.huigou.util.SDO
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
...
...
@@ -32,12 +36,15 @@ public class SapPurchaseApprovalController extends CommonController {
}
@SkipAuth
public
String
getSapPurchaseApprovalApproval
(){
SDO
sdo
=
this
.
getSDO
();
@RequestMapping
(
value
=
"/getSapPurchaseApproval"
)
@ResponseBody
public
HashMap
<
String
,
Object
>
getSapPurchaseApproval
(
@RequestBody
SapPurchaseApprovalVo
sapPurchaseApprovalVo
){
//SDO sdo = this.getSDO();
this
.
sapPurchaseApprovalApplication
.
saveSapPurchaseApprovalVo
(
sapPurchaseApprovalVo
);
HashMap
<
String
,
Object
>
messageMap
=
new
HashMap
<>();
messageMap
.
put
(
"Message_Status"
,
"S"
);
messageMap
.
put
(
"Message_Text"
,
"成功"
);
return
toResult
(
messageMap
)
;
return
messageMap
;
}
public
String
forwardSapPurchaseApprovalList
(){
...
...
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/domain/SapPurchaseApproval.java
View file @
d157f67e
...
...
@@ -36,6 +36,6 @@ public class SapPurchaseApproval extends FlowBillAbstractEntity {
@Override
protected
String
getCodeRuleId
()
{
return
"
p
urchaseApproval"
;
return
"
sapP
urchaseApproval"
;
}
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/domain/query/SapPurchaseApprovalQueryRequest.java
View file @
d157f67e
...
...
@@ -10,4 +10,18 @@ import lombok.Data;
*/
@Data
public
class
SapPurchaseApprovalQueryRequest
extends
QueryAbstractRequest
{
/**
* 采购申请号
*/
private
String
banfn
;
/**
* 采购申请类型(只传输四种:NB、ZNB1、ZNB2和ZSTR)
*/
private
String
bsart
;
/**
* 采购申请类型描述
*/
private
String
batxt
;
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/domain/vo/SapPurchaseApprovalItemVo.java
0 → 100644
View file @
d157f67e
package
com
.
huigou
.
topsun
.
sap
.
purchaseApproval
.
domain
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
*
* @TableName sap_purchase_approval_item
*/
@Data
public
class
SapPurchaseApprovalItemVo
{
/**
* 项目编号(已删除(EBAN-LOEKZ=X)者不传EP;已结清(EBAN-EBAKZ=X)者也不传(结清指已全部转为采购订单))
*/
private
String
bnfpo
;
/**
* 项目类别
*/
private
String
pstyp
;
/**
* 项目类别描述
*/
private
String
ptext
;
/**
* 科目分配类别
*/
private
String
knttp
;
/**
* 科目分配类别描述
*/
private
String
knttx
;
/**
* 物料号
*/
private
String
matnr
;
/**
* 物料描述
*/
private
String
txz01
;
/**
* 物料组
*/
private
String
matkl
;
/**
* 物料组描述
*/
private
String
wgbez
;
/**
* 采购申请数量
*/
private
BigDecimal
menge
;
/**
* 采购申请计量单位
*/
private
String
meins
;
/**
* 单位描述
*/
private
String
msehl
;
/**
* 要求交货日期
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lfdat
;
/**
* 工厂
*/
private
String
werks
;
/**
* 名称
*/
private
String
name1
;
/**
* 库存地点
*/
private
String
lgort
;
/**
* 库存地点的描述
*/
private
String
lgobe
;
/**
* 采购组
*/
private
String
ekgrp
;
/**
* 采购组描述
*/
private
String
eknam
;
/**
* 评估价格
*/
private
BigDecimal
preis
;
/**
* 价格单位
*/
private
String
peinh
;
/**
* 币种
*/
private
String
waers
;
/**
* 评估金额
*/
private
BigDecimal
rlwrt
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/domain/vo/SapPurchaseApprovalVo.java
0 → 100644
View file @
d157f67e
package
com
.
huigou
.
topsun
.
sap
.
purchaseApproval
.
domain
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @Auther: xin.lu
* @Date: 2024/01/10/9:22
* @Description:
*/
@Data
public
class
SapPurchaseApprovalVo
implements
Serializable
{
private
String
banfn
;
/**
* 采购申请类型(只传输四种:NB、ZNB1、ZNB2和ZSTR)
*/
private
String
bsart
;
/**
* 采购申请类型描述
*/
private
String
batxt
;
private
List
<
SapPurchaseApprovalItemVo
>
itemVos
;
}
topsun/src/main/resources/config/bpm/topsun/sap/sapPurchaseApproval/sapPurchaseApprovalProc.bpmn
View file @
d157f67e
<?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=
"sapPurchase
Proc
Proc"
name=
"采购审批"
isExecutable=
"true"
>
<process
id=
"sapPurchase
Approval
Proc"
name=
"采购审批"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{sapPurchaseApprovalApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{sapPurchaseApprovalApplication}"
></activiti:executionListener>
...
...
@@ -40,8 +40,8 @@
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approvePassed}]]>
</conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram
id=
"BPMNDiagram_sapPurchase
Proc
Proc"
>
<bpmndi:BPMNPlane
bpmnElement=
"sapPurchase
ProcProc"
id=
"BPMNPlane_sapPurchaseProc
Proc"
>
<bpmndi:BPMNDiagram
id=
"BPMNDiagram_sapPurchase
Approval
Proc"
>
<bpmndi:BPMNPlane
bpmnElement=
"sapPurchase
ApprovalProc"
id=
"BPMNPlane_sapPurchaseApproval
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>
...
...
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