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
50d46772
Commit
50d46772
authored
Mar 20, 2024
by
鲁鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
无订单入库流程
parent
9e837896
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
723 additions
and
0 deletions
+723
-0
nonOrderStorageDetail.js
...p/biz/topsun/sap/nonOrderStorage/nonOrderStorageDetail.js
+54
-0
nonOrderStorageDetail.jsp
.../biz/topsun/sap/nonOrderStorage/nonOrderStorageDetail.jsp
+54
-0
nonOrderStorageList.js
...app/biz/topsun/sap/nonOrderStorage/nonOrderStorageList.js
+101
-0
nonOrderStorageList.jsp
...pp/biz/topsun/sap/nonOrderStorage/nonOrderStorageList.jsp
+26
-0
NonOrderStorageApplication.java
...nOrderStorage/application/NonOrderStorageApplication.java
+30
-0
NonOrderStorageApplicationImpl.java
...rage/application/impl/NonOrderStorageApplicationImpl.java
+127
-0
NonOrderStorageController.java
...nonOrderStorage/controller/NonOrderStorageController.java
+82
-0
NonOrderStorage.java
...ou/topsun/sap/nonOrderStorage/domain/NonOrderStorage.java
+104
-0
NonOrderStorageQueryRequest.java
...rderStorage/domain/query/NonOrderStorageQueryRequest.java
+14
-0
NonOrderStorageRepository.java
...nonOrderStorage/repository/NonOrderStorageRepository.java
+12
-0
nonOrderStorageProc.bpmn
...g/bpm/topsun/sap/nonOrderStorage/nonOrderStorageProc.bpmn
+111
-0
nonOrderStorage.xml
...ces/config/topsun/sap/nonOrderStorage/nonOrderStorage.xml
+8
-0
No files found.
topsun-xt/src/main/webapp/biz/topsun/sap/nonOrderStorage/nonOrderStorageDetail.js
0 → 100644
View file @
50d46772
$
(
document
).
ready
(
function
()
{
initializateUI
();
bindEvent
();
});
function
initializateUI
()
{
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
}
function
bindEvent
()
{
$
(
'#werksName'
).
searchbox
({
type
:
"system"
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"WERKS"
}
},
onChange
:
function
(
value
,
data
)
{
$
(
'#werks'
).
val
(
data
.
WERKS
);
$
(
'#werksName'
).
val
(
data
.
NAME1
);
}
});
$
(
'#storeName'
).
searchbox
({
type
:
"system"
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
if
(
Public
.
isBlank
(
$
(
'#werks'
).
val
())){
Public
.
tip
(
"请先选择工厂"
);
return
false
;
}
return
{
fieldName
:
"LGORT"
}
},
onChange
:
function
(
value
,
data
)
{
$
(
'#store'
).
val
(
data
.
LGORT
);
$
(
'#storeName'
).
val
(
data
.
LGOBE
);
}
});
$
(
'#unitName'
).
searchbox
({
type
:
"system"
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"MEINS"
}
},
onChange
:
function
(
value
,
data
)
{
$
(
'#unit'
).
val
(
data
.
MSEHI
);
$
(
'#unitName'
).
val
(
data
.
MSEHL
);
}
});
}
function
setId
(
value
)
{
$
(
'#id'
).
val
(
value
);
}
function
getId
()
{
return
$
(
"#id"
).
val
();
}
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/nonOrderStorage/nonOrderStorageDetail.jsp
0 → 100644
View file @
50d46772
<%@ 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/nonOrderStorage/nonOrderStorageDetail.js'
/>
</head>
<body>
<div
class=
"container-fluid"
>
<x:billTitle
title=
"无订单库存入库"
needStatus=
"false"
needPerson=
"true"
/>
<div
class=
"blank_div clearfix"
></div>
<form
class=
"hg-form"
method=
"post"
action=
""
id=
"submitForm"
>
<x:hidden
name=
"id"
/>
<x:hidden
name=
"version"
/>
<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"
/>
<x:hidden
name=
"statusId"
/>
<x:hidden
name=
"productCode"
/>
<x:hidden
name=
"unit"
/>
<x:hidden
name=
"werks"
/>
<x:hidden
name=
"store"
/>
<x:hidden
name=
"type"
/>
<x:hidden
name=
"message"
/>
<div
class=
"hg-form-cols"
>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"productName"
required=
"true"
label=
"品名"
labelCol=
"1"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"number"
required=
"true"
label=
"数量"
labelCol=
"1"
maxLength=
"64"
fieldCol=
"2"
/>
<x:inputC
name=
"unitName"
required=
"true"
label=
"单位"
labelCol=
"1"
wrapper=
"select"
fieldCol=
"2"
/>
<x:selectC
name=
"isCharge"
required=
"true"
label=
"是否收费"
labelCol=
"1"
dictionary=
"yesorno"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"werksName"
required=
"true"
label=
"工厂"
labelCol=
"1"
wrapper=
"select"
fieldCol=
"2"
/>
<x:inputC
name=
"storeName"
required=
"true"
label=
"库存地点"
labelCol=
"1"
wrapper=
"select"
fieldCol=
"2"
/>
<x:inputC
name=
"supplier"
required=
"true"
label=
"供应商"
labelCol=
"1"
fieldCol=
"2"
/>
</div>
<div
class=
"hg-form-row"
>
<x:textareaC
name=
"reason"
required=
"true"
label=
"事由"
labelCol=
"1"
rows=
"3"
fieldCol=
"6"
/>
</div>
</div>
</form>
</div>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/sap/nonOrderStorage/nonOrderStorageList.js
0 → 100644
View file @
50d46772
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initializateUI
();
loadCostCenterListGrid
();
});
function
initializateUI
()
{
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
}
function
loadCostCenterListGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
()
{
addHandler
();
},
deleteHandler
:
deleteHandler
,
});
gridManager
=
UICtrl
.
grid
(
"#maingrid"
,
{
columns
:
[
{
display
:
"品名"
,
name
:
"productName"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"数量"
,
name
:
"number"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"单位"
,
name
:
"unitName"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"是否收费"
,
name
:
"isChargeTextView"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"工厂"
,
name
:
"werksName"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"库存地点"
,
name
:
"storeName"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"供应商"
,
name
:
"supplier"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"申请人"
,
name
:
"personMemberName"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"申请部门"
,
name
:
"deptName"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"申请日期"
,
name
:
"fillinDate"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"事由"
,
name
:
"reason"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"状态"
,
name
:
"statusTextView"
,
width
:
60
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"消息类型"
,
name
:
"type"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"消息文本"
,
name
:
"message"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/nonOrderStorage/slicedNonOrderStorageList.ajax'
,
pageSize
:
20
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
width
:
"100%"
,
height
:
"100%"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
// 双击执行
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
updateHandler
(
data
);
}
});
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
function
query
(
obj
)
{
var
param
=
$
(
obj
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
param
);
}
function
reloadGrid
()
{
gridManager
.
loadData
();
}
function
resetForm
(
obj
)
{
$
(
obj
).
formClean
();
}
function
addHandler
()
{
UICtrl
.
addTabItem
({
tabid
:
'nonOrderStorageDetail'
,
text
:
"新增无订单库存入库"
,
url
:
web_app
.
name
+
'/nonOrderStorage/addNonOrderStorageDetail.job'
})
}
function
updateHandler
(
row
)
{
if
(
!
row
)
{
row
=
DataUtil
.
getUpdateRow
(
gridManager
);
if
(
!
row
)
{
return
;
}
}
UICtrl
.
addTabItem
({
tabid
:
'nonOrderStorageDetail'
,
text
:
"查看无订单库存入库"
,
url
:
web_app
.
name
+
'/nonOrderStorage/showNonOrderStorageDetail.job?isReadOnly=true&id='
+
row
.
id
})
}
//删除按钮
function
deleteHandler
()
{
DataUtil
.
del
({
action
:
'nonOrderStorage/deleteNonOrderStorageById.ajax'
,
gridManager
:
gridManager
,
idFieldName
:
'id'
,
onSuccess
:
function
()
{
reloadGrid
();
}
});
}
topsun-xt/src/main/webapp/biz/topsun/sap/nonOrderStorage/nonOrderStorageList.jsp
0 → 100644
View file @
50d46772
<%@ 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"
/>
<x:script
src=
'/biz/topsun/sap/nonOrderStorage/nonOrderStorageList.js'
/>
</head>
<body>
<div
class=
"container-fluid"
>
<div
class=
"ui-hide"
>
</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=
"billCode"
required=
"false"
label=
"编码"
labelCol=
"1"
/>
<x:searchButtons />
</form>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"maingrid"
style=
"margin: 2px;"
></div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/nonOrderStorage/application/NonOrderStorageApplication.java
0 → 100644
View file @
50d46772
package
com
.
huigou
.
topsun
.
sap
.
nonOrderStorage
.
application
;
import
com.huigou.topsun.sap.nonOrderStorage.domain.NonOrderStorage
;
import
com.huigou.topsun.sap.nonOrderStorage.domain.query.NonOrderStorageQueryRequest
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Auther: xin.lu
* @Date: 2024/03/20/14:08
* @Description:
*/
public
interface
NonOrderStorageApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/nonOrderStorage/nonOrderStorage.xml"
;
String
PROCESS_DEFINITION_KEY
=
"nonOrderStorageProc"
;
Map
<
String
,
Object
>
slicedNonOrderStorageList
(
NonOrderStorageQueryRequest
nonOrderStorageQueryRequest
);
void
deleteNonOrderStorageById
(
List
<
String
>
ids
);
void
saveNonOrderStorage
(
NonOrderStorage
nonOrderStorage
);
public
NonOrderStorage
sendSapCenterData
(
NonOrderStorage
nonOrderStorage
);
NonOrderStorage
findNonOrderStorageById
(
String
id
);
}
topsun/src/main/java/com/huigou/topsun/sap/nonOrderStorage/application/impl/NonOrderStorageApplicationImpl.java
0 → 100644
View file @
50d46772
package
com
.
huigou
.
topsun
.
sap
.
nonOrderStorage
.
application
.
impl
;
import
com.huigou.cache.DictUtil
;
import
com.huigou.context.Operator
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.sap.nonOrderStorage.domain.NonOrderStorage
;
import
com.huigou.topsun.sap.nonOrderStorage.application.NonOrderStorageApplication
;
import
com.huigou.topsun.sap.nonOrderStorage.domain.query.NonOrderStorageQueryRequest
;
import
com.huigou.topsun.sap.nonOrderStorage.repository.NonOrderStorageRepository
;
import
com.huigou.topsun.sap.suppliers.domain.SuppliersInfo
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.util.ClassHelper
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Auther: xin.lu
* @Date: 2024/03/20/14:09
* @Description:
*/
@Service
(
"nonOrderStorageApplication"
)
public
class
NonOrderStorageApplicationImpl
extends
FlowBroker
implements
NonOrderStorageApplication
{
@Autowired
private
NonOrderStorageRepository
nonOrderStorageRepository
;
@Override
protected
String
saveBizAndApprovalData
()
{
super
.
saveBizAndApprovalData
();
NonOrderStorage
nonOrderStorage
=
getBizEntity
(
NonOrderStorage
.
class
);
if
(
nonOrderStorage
.
isNew
())
{
Operator
operator
=
this
.
getOperator
();
BeanUtils
.
copyProperties
(
operator
,
nonOrderStorage
);
nonOrderStorage
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
}
else
{
nonOrderStorage
=
(
NonOrderStorage
)
commonDomainService
.
loadAndFillinProperties
(
nonOrderStorage
);
}
nonOrderStorage
=
nonOrderStorageRepository
.
save
(
nonOrderStorage
);
return
nonOrderStorage
.
getId
();
}
@Override
protected
void
onAbortProcessInstance
(
DelegateExecution
delegateExecution
)
{
super
.
onAbortProcessInstance
(
delegateExecution
);
String
bizId
=
delegateExecution
.
getProcessBusinessKey
();
NonOrderStorage
nonOrderStorage
=
nonOrderStorageRepository
.
findOne
(
bizId
);
nonOrderStorage
.
setStatusId
(
BizBillStatus
.
ABORTED
.
getId
());
nonOrderStorageRepository
.
save
(
nonOrderStorage
);
}
@Override
protected
void
onBack
(
DelegateTask
delegateTask
,
String
destActivityId
)
{
super
.
onBack
(
delegateTask
,
destActivityId
);
if
(
"Apply"
.
equalsIgnoreCase
(
destActivityId
))
{
String
bizId
=
delegateTask
.
getExecution
().
getProcessBusinessKey
();
NonOrderStorage
nonOrderStorage
=
nonOrderStorageRepository
.
findOne
(
bizId
);
nonOrderStorage
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
nonOrderStorageRepository
.
save
(
nonOrderStorage
);
}
}
@Override
protected
Map
<
String
,
Object
>
getProcessBizParams
(
String
bizId
)
{
return
ClassHelper
.
toMap
(
nonOrderStorageRepository
.
getOne
(
bizId
));
}
@Override
protected
void
onBeforeComplete
(
DelegateTask
delegateTask
)
{
super
.
onBeforeComplete
(
delegateTask
);
String
bizId
=
delegateTask
.
getExecution
().
getProcessBusinessKey
();
if
(
this
.
isApplyProcUnit
(
delegateTask
)
&&
this
.
getApprovalParameter
().
isAdvanceProcessAction
())
{
NonOrderStorage
nonOrderStorage
=
nonOrderStorageRepository
.
findOne
(
bizId
);
nonOrderStorage
.
setStatusId
(
BizBillStatus
.
APPROVING
.
getId
());
nonOrderStorageRepository
.
save
(
nonOrderStorage
);
}
}
@Override
protected
void
onEnd
(
DelegateExecution
delegateExecution
)
{
super
.
onEnd
(
delegateExecution
);
String
bizId
=
delegateExecution
.
getProcessBusinessKey
();
BizBillStatus
status
=
approvePassed
()
?
BizBillStatus
.
COMPLETED
:
BizBillStatus
.
ABORTED
;
NonOrderStorage
nonOrderStorage
=
nonOrderStorageRepository
.
findOne
(
bizId
);
nonOrderStorage
.
setStatusId
(
status
.
getId
());
this
.
sendSapCenterData
(
nonOrderStorage
);
nonOrderStorageRepository
.
save
(
nonOrderStorage
);
}
@Override
public
Map
<
String
,
Object
>
slicedNonOrderStorageList
(
NonOrderStorageQueryRequest
nonOrderStorageQueryRequest
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"nonOrderStorage"
);
QueryModel
queryModel
=
this
.
sqlExecutorDao
.
getQueryModel
(
queryDescriptor
,
nonOrderStorageQueryRequest
);
queryModel
.
putDictionary
(
"status"
,
DictUtil
.
getDictionary
(
"bizBillStatus"
));
queryModel
.
putDictionary
(
"isCharge"
,
DictUtil
.
getDictionary
(
"yesorno"
));
Map
<
String
,
Object
>
map
=
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryModel
);
return
map
;
}
@Override
public
void
deleteNonOrderStorageById
(
List
<
String
>
ids
)
{
for
(
String
id
:
ids
)
{
nonOrderStorageRepository
.
delete
(
id
);
}
}
@Override
public
void
saveNonOrderStorage
(
NonOrderStorage
nonOrderStorage
)
{
nonOrderStorageRepository
.
save
(
nonOrderStorage
);
}
@Override
public
NonOrderStorage
sendSapCenterData
(
NonOrderStorage
nonOrderStorage
)
{
return
null
;
}
@Override
public
NonOrderStorage
findNonOrderStorageById
(
String
id
)
{
return
nonOrderStorageRepository
.
findOne
(
id
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/nonOrderStorage/controller/NonOrderStorageController.java
0 → 100644
View file @
50d46772
package
com
.
huigou
.
topsun
.
sap
.
nonOrderStorage
.
controller
;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
import
com.huigou.topsun.sap.nonOrderStorage.application.NonOrderStorageApplication
;
import
com.huigou.topsun.sap.nonOrderStorage.domain.NonOrderStorage
;
import
com.huigou.topsun.sap.nonOrderStorage.domain.query.NonOrderStorageQueryRequest
;
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
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
java.util.List
;
/**
* @Auther: xin.lu
* @Date: 2024/03/20/14:09
* @Description:
*/
@Controller
@ControllerMapping
(
"/nonOrderStorage"
)
public
class
NonOrderStorageController
extends
CommonController
{
@Autowired
private
NonOrderStorageApplication
nonOrderStorageApplication
;
@Override
protected
String
getPagePath
()
{
return
"/biz/topsun/sap/nonOrderStorage/"
;
}
public
String
forwardNonOrderStorageList
()
{
return
forward
(
"nonOrderStorageList"
);
}
public
String
slicedNonOrderStorageList
()
{
SDO
sdo
=
this
.
getSDO
();
NonOrderStorageQueryRequest
NonOrderStorageQueryRequest
=
sdo
.
toQueryRequest
(
NonOrderStorageQueryRequest
.
class
);
return
toResult
(
nonOrderStorageApplication
.
slicedNonOrderStorageList
(
NonOrderStorageQueryRequest
));
}
/**
* 跳转到新增页面
*/
public
String
addNonOrderStorageDetail
()
{
this
.
putAttribute
(
"processDefinitionKey"
,
NonOrderStorageApplication
.
PROCESS_DEFINITION_KEY
);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this
.
putAttribute
(
"procUnitId"
,
"Apply"
);
NonOrderStorage
nonOrderStorage
=
new
NonOrderStorage
();
nonOrderStorage
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
/**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator
operator
=
getOperator
();
nonOrderStorage
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
return
forward
(
"nonOrderStorageDetail"
,
nonOrderStorage
);
}
/**
* 根据id获取
* @return
*/
public
String
showNonOrderStorageDetail
()
{
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getBizId
();
NonOrderStorage
nonOrderStorage
=
nonOrderStorageApplication
.
findNonOrderStorageById
(
id
);
return
forward
(
"nonOrderStorageDetail"
,
nonOrderStorage
);
}
/**
* 根据id删除
* @return
*/
public
String
deleteNonOrderStorageById
()
{
SDO
sdo
=
this
.
getSDO
();
List
<
String
>
ids
=
sdo
.
getIds
();
nonOrderStorageApplication
.
deleteNonOrderStorageById
(
ids
);
return
success
();
}
}
topsun/src/main/java/com/huigou/topsun/sap/nonOrderStorage/domain/NonOrderStorage.java
0 → 100644
View file @
50d46772
package
com
.
huigou
.
topsun
.
sap
.
nonOrderStorage
.
domain
;
import
com.huigou.data.domain.model.FlowBillAbstractEntity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
/**
* @Auther: xin.lu
* @Date: 2024/03/20/13:55
* @Description: 无订单库存入库流程
*/
@Data
@Entity
@Table
(
name
=
"sap_non_order_storage"
)
public
class
NonOrderStorage
extends
FlowBillAbstractEntity
{
/**
* 品名
*/
@Column
(
name
=
"product_code"
)
private
String
productCode
;
@Column
(
name
=
"product_name"
)
private
String
productName
;
/**
* 数量
*/
@Column
(
name
=
"number"
)
private
BigDecimal
number
;
/**
* 单位
*/
@Column
(
name
=
"unit"
)
private
String
unit
;
/**
* 单位
*/
@Column
(
name
=
"unit_name"
)
private
String
unitName
;
/**
* 是否收费
*/
@Column
(
name
=
"is_charge"
)
private
String
isCharge
;
/**
* 事由
*/
@Column
(
name
=
"reason"
)
private
String
reason
;
/**
* 工厂
*/
@Column
(
name
=
"werks"
)
private
String
werks
;
/**
* 工厂名称
*/
@Column
(
name
=
"werks_name"
)
private
String
werksName
;
/**
* 库存地点
*/
@Column
(
name
=
"store"
)
private
String
store
;
/**
* 库存地点名称
*/
@Column
(
name
=
"store_name"
)
private
String
storeName
;
/**
* 供应商
*/
@Column
(
name
=
"supplier"
)
private
String
supplier
;
/**
* 消息类型
*/
@Column
(
name
=
"type"
)
private
String
type
;
/**
* 消息文本
*/
@Column
(
name
=
"message"
)
private
String
message
;
@Override
protected
String
getCodeRuleId
()
{
return
"nonOrderStorage"
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/nonOrderStorage/domain/query/NonOrderStorageQueryRequest.java
0 → 100644
View file @
50d46772
package
com
.
huigou
.
topsun
.
sap
.
nonOrderStorage
.
domain
.
query
;
import
com.huigou.data.domain.query.QueryAbstractRequest
;
import
lombok.Data
;
/**
* @Auther: xin.lu
* @Date: 2024/03/20/14:10
* @Description:
*/
@Data
public
class
NonOrderStorageQueryRequest
extends
QueryAbstractRequest
{
private
String
billCode
;
}
topsun/src/main/java/com/huigou/topsun/sap/nonOrderStorage/repository/NonOrderStorageRepository.java
0 → 100644
View file @
50d46772
package
com
.
huigou
.
topsun
.
sap
.
nonOrderStorage
.
repository
;
import
com.huigou.topsun.sap.nonOrderStorage.domain.NonOrderStorage
;
import
org.springframework.data.jpa.repository.JpaRepository
;
/**
* @Auther: xin.lu
* @Date: 2024/03/20/14:08
* @Description:
*/
public
interface
NonOrderStorageRepository
extends
JpaRepository
<
NonOrderStorage
,
String
>
{
}
topsun/src/main/resources/config/bpm/topsun/sap/nonOrderStorage/nonOrderStorageProc.bpmn
0 → 100644
View file @
50d46772
<?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=
"nonOrderStorageProc"
name=
"无订单库存入库申请"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{nonOrderStorageApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{nonOrderStorageApplication}"
></activiti:executionListener>
</extensionElements>
<startEvent
id=
"startevent1"
name=
"Start"
></startEvent>
<endEvent
id=
"endevent1"
name=
"End"
></endEvent>
<userTask
id=
"Apply"
name=
"无订单库存入库申请"
activiti:formKey=
"nonOrderStorage/showNonOrderStorageDetail.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{nonOrderStorageApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{nonOrderStorageApplication}"
></activiti:taskListener>
</extensionElements>
</userTask>
<userTask
id=
"Approve"
name=
"无订单库存入库审批"
activiti:assignee=
"${assignee} "
activiti:formKey=
"nonOrderStorage/showNonOrderStorageDetail.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{nonOrderStorageApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{nonOrderStorageApplication}"
></activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics
isSequential=
"false"
activiti:collection=
"handlerList"
activiti:elementVariable=
"assignee"
>
<completionCondition>
${chiefApprovePassed}
</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
<sequenceFlow
id=
"flow1"
sourceRef=
"startevent1"
targetRef=
"Apply"
></sequenceFlow>
<sequenceFlow
id=
"flow2"
sourceRef=
"Apply"
targetRef=
"Approve"
></sequenceFlow>
<exclusiveGateway
id=
"ApproveFinished"
name=
"审批结束"
></exclusiveGateway>
<sequenceFlow
id=
"flow3"
name=
"审批通过"
sourceRef=
"ApprovePassed"
targetRef=
"ApproveFinished"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${approvePassed}]]>
</conditionExpression>
</sequenceFlow>
<sequenceFlow
id=
"flow4"
name=
"审批结束"
sourceRef=
"ApproveFinished"
targetRef=
"endevent1"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${approveFinished}]]>
</conditionExpression>
</sequenceFlow>
<sequenceFlow
id=
"flow5"
name=
"审批未结束"
sourceRef=
"ApproveFinished"
targetRef=
"Approve"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approveFinished}]]>
</conditionExpression>
</sequenceFlow>
<exclusiveGateway
id=
"ApprovePassed"
name=
"审批通过"
></exclusiveGateway>
<sequenceFlow
id=
"flow6"
sourceRef=
"Approve"
targetRef=
"ApprovePassed"
></sequenceFlow>
<sequenceFlow
id=
"flow9"
name=
"审批未通过"
sourceRef=
"ApprovePassed"
targetRef=
"Apply"
>
<conditionExpression
xsi:type=
"tFormalExpression"
>
<![CDATA[${!approvePassed}]]>
</conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram
id=
"BPMNDiagram_nonOrderStorageProc"
>
<bpmndi:BPMNPlane
bpmnElement=
"nonOrderStorageProc"
id=
"BPMNPlane_nonOrderStorageProc"
>
<bpmndi:BPMNShape
bpmnElement=
"startevent1"
id=
"BPMNShape_startevent1"
>
<omgdc:Bounds
height=
"35.0"
width=
"35.0"
x=
"355.0"
y=
"50.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"endevent1"
id=
"BPMNShape_endevent1"
>
<omgdc:Bounds
height=
"35.0"
width=
"35.0"
x=
"355.0"
y=
"550.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"Apply"
id=
"BPMNShape_Apply"
>
<omgdc:Bounds
height=
"55.0"
width=
"161.0"
x=
"292.0"
y=
"140.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"Approve"
id=
"BPMNShape_Approve"
>
<omgdc:Bounds
height=
"55.0"
width=
"161.0"
x=
"292.0"
y=
"240.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"ApproveFinished"
id=
"BPMNShape_ApproveFinished"
>
<omgdc:Bounds
height=
"40.0"
width=
"40.0"
x=
"352.0"
y=
"440.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape
bpmnElement=
"ApprovePassed"
id=
"BPMNShape_ApprovePassed"
>
<omgdc:Bounds
height=
"40.0"
width=
"40.0"
x=
"352.0"
y=
"349.0"
></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge
bpmnElement=
"flow1"
id=
"BPMNEdge_flow1"
>
<omgdi:waypoint
x=
"372.0"
y=
"85.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"140.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow2"
id=
"BPMNEdge_flow2"
>
<omgdi:waypoint
x=
"372.0"
y=
"195.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"240.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow3"
id=
"BPMNEdge_flow3"
>
<omgdi:waypoint
x=
"372.0"
y=
"389.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"440.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"48.0"
x=
"320.0"
y=
"396.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow4"
id=
"BPMNEdge_flow4"
>
<omgdi:waypoint
x=
"372.0"
y=
"480.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"550.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"48.0"
x=
"382.0"
y=
"489.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow5"
id=
"BPMNEdge_flow5"
>
<omgdi:waypoint
x=
"392.0"
y=
"460.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"459.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"317.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"519.0"
y=
"267.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"489.0"
y=
"267.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"453.0"
y=
"267.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"60.0"
x=
"459.0"
y=
"411.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow6"
id=
"BPMNEdge_flow6"
>
<omgdi:waypoint
x=
"372.0"
y=
"295.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"372.0"
y=
"349.0"
></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow9"
id=
"BPMNEdge_flow9"
>
<omgdi:waypoint
x=
"352.0"
y=
"369.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"231.0"
y=
"369.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"231.0"
y=
"167.0"
></omgdi:waypoint>
<omgdi:waypoint
x=
"292.0"
y=
"167.0"
></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"60.0"
x=
"257.0"
y=
"376.0"
></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
topsun/src/main/resources/config/topsun/sap/nonOrderStorage/nonOrderStorage.xml
0 → 100644
View file @
50d46772
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query
name=
"nonOrderStorage"
label=
"无订单库存入库"
table=
"sap_non_order_storage"
>
<sql-query>
select t.* from sap_non_order_storage t where 1=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