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
f322e9fa
Commit
f322e9fa
authored
Jun 04, 2024
by
刘学辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
组件补充发料
parent
6446174d
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1286 additions
and
0 deletions
+1286
-0
componentSupplyDetail.js
...p/biz/topsun/sap/componentSupply/componentSupplyDetail.js
+221
-0
componentSupplyDetail.jsp
.../biz/topsun/sap/componentSupply/componentSupplyDetail.jsp
+49
-0
componentSupplyList.js
...app/biz/topsun/sap/componentSupply/componentSupplyList.js
+100
-0
componentSupplyList.jsp
...pp/biz/topsun/sap/componentSupply/componentSupplyList.jsp
+34
-0
ComponentSupplyApplication.java
...mponentSupply/application/ComponentSupplyApplication.java
+34
-0
ComponentSupplyItemApplication.java
...entSupply/application/ComponentSupplyItemApplication.java
+27
-0
ComponentSupplyApplicationImpl.java
...pply/application/impl/ComponentSupplyApplicationImpl.java
+233
-0
ComponentSupplyItemApplicationImpl.java
.../application/impl/ComponentSupplyItemApplicationImpl.java
+66
-0
ComponentSupplyController.java
...componentSupply/controller/ComponentSupplyController.java
+90
-0
ComponentSupplyItemController.java
...onentSupply/controller/ComponentSupplyItemController.java
+38
-0
ComponentSupply.java
...ou/topsun/sap/componentSupply/domain/ComponentSupply.java
+62
-0
ComponentSupplyItem.java
...opsun/sap/componentSupply/domain/ComponentSupplyItem.java
+65
-0
ComponentSupplyQueryRequest.java
...onentSupply/domain/query/ComponentSupplyQueryRequest.java
+17
-0
ComponentSupplyItemRepository.java
...onentSupply/repository/ComponentSupplyItemRepository.java
+16
-0
ComponentSupplyRepository.java
...componentSupply/repository/ComponentSupplyRepository.java
+13
-0
ComponentSupplyItemVo.java
.../topsun/sap/componentSupply/vo/ComponentSupplyItemVo.java
+37
-0
ComponentSupplyVo.java
...igou/topsun/sap/componentSupply/vo/ComponentSupplyVo.java
+46
-0
componentSupplyProc.bpmn
...g/bpm/topsun/sap/componentSupply/componentSupplyProc.bpmn
+111
-0
componentSupply.xml
...ces/config/topsun/sap/componentSupply/componentSupply.xml
+17
-0
componentSupplyItem.xml
...config/topsun/sap/componentSupply/componentSupplyItem.xml
+10
-0
No files found.
topsun-xt/src/main/webapp/biz/topsun/sap/componentSupply/componentSupplyDetail.js
0 → 100644
View file @
f322e9fa
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initialize
();
loadGrid
();
bindEvent
();
});
function
initialize
(){
//if (typeof(getSubProcUnitId) =='function'&&"10" === getSubProcUnitId()) {
var
mainFileTable
=
$
(
'#componentSupplyInfoList'
).
fileList
();
mainFileTable
.
find
(
'table'
).
css
({
borderTopWidth
:
0
});
$
(
'#componentSupplyInfoList'
).
fileList
({
bizId
:
$
(
"#attbizId"
).
val
()
});
UICtrl
.
layout
(
"#layout"
,
{
leftWidth
:
3
});
}
function
bindEvent
(){
$
(
"#departName"
).
orgTree
({
// checkbox : true,
tree
:{
autoCheckboxEven
:
false
},
getParam
:
function
()
{
return
{
orgRoot
:
'orgRoot'
,
status
:
"1"
,
isVirtual
:
"0"
,
orgKindId
:
'ogn,dpt'
};
},
back
:
{
text
:
'#departName'
,
value
:
'#depart'
},
});
/* $("#applyPersonName").orgTree({
filter: "ogn,dpt,pos,psm",
excludePos: 1, param: {orgKindId: "ogn,dpt,pos,psm"},
back: {text: "#applyPersonName",value :'#applyPerson'},
manageType: 'taskQuery,admin',
onChange:function(value,data){ //alert(data.name);
// $("#applyPerson").val(data.fullId);
// $("#applyPersonName").val(data.name);
}
});
*/
$
(
"#applyPersonName"
).
orgTree
({
checkbox
:
false
,
tree
:{
autoCheckboxEven
:
true
},
getParam
:
function
()
{
return
{
orgRoot
:
'orgRoot'
,
status
:
"1"
,
isVirtual
:
"0"
,
orgKindId
:
'ogn,dpt,pos,psm'
};
},
back
:
{
text
:
'#applyPersonName'
,
value
:
'#applyPerson'
}
});
//工厂
$
(
'#suppliersName'
).
searchbox
({
type
:
"system"
,
name
:
"dictionary"
,
getParam
:
function
(
item
)
{
return
{
fieldName
:
"WERKS"
}
},
onChange
:
function
(
value
,
data
)
{
$
(
'#suppliers'
).
val
(
data
.
WERKS
);
$
(
'#suppliersName'
).
val
(
data
.
NAME1
);
}
});
}
function
loadGrid
()
{
var
toolbarOptions
=
null
;
//if ($("#statusId").val()==0){
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
function
()
{
UICtrl
.
addGridRow
(
gridManager
);
},
deleteHandler
:
function
()
{
var
_grid
=
UICtrl
.
getGridManager
(
'#maingrid'
);
DataUtil
.
delSelectedRows
({
action
:
'sapPermitItem/deleteSapPermitItems.ajax'
,
param
:
{},
gridManager
:
_grid
,
idFieldName
:
'id'
,
onSuccess
:
function
()
{
reloadGrid
();
}
});
}
// copyHandler: copyHandler
// impExcelDataHandler:{id:'impExcelData',img:'fa-table',text:'导入数据',click:impExcelDataHandler},
});
// }
gridManager
=
UICtrl
.
grid
(
"#maingrid"
,
{
columns
:
[
{
display
:
"产品物料"
,
name
:
"productMaterial"
,
width
:
"160"
,
align
:
"left"
,
type
:
"string"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"sapMaterialSelect"
,
getParam
:
function
(
item
)
{
return
{
filterValue
:
item
.
werks
}
},
back
:
{
MATNR
:
"productMaterial"
,
MAKTX
:
"productMaterialName"
}
},
}
},
{
display
:
"产品物料名称"
,
name
:
"productMaterialName"
,
width
:
"200"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"供给物料"
,
name
:
"supplyMaterial"
,
width
:
"160"
,
align
:
"left"
,
type
:
"string"
,
editor
:
{
required
:
true
,
type
:
"select"
,
data
:
{
type
:
'system'
,
name
:
"sapMaterialSelect"
,
getParam
:
function
(
item
)
{
return
{
filterValue
:
item
.
werks
}
},
back
:
{
MATNR
:
"supplyMaterial"
,
MAKTX
:
"supplyMaterialName"
}
},
}
},
{
display
:
"供给物料名称"
,
name
:
"supplyMaterialName"
,
width
:
"200"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"补发数量"
,
name
:
"quantity"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
type
:
"text"
,
mask
:
'nnnnnn.nn'
,
required
:
true
}
},
{
display
:
"说明"
,
name
:
"remark"
,
width
:
400
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
editor
:
{
required
:
false
,
type
:
"text"
}
}
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/componentSupplyItem/queryComponentSupplyItems.ajax'
,
pageSize
:
10
,
usePager
:
true
,
parms
:{
componentSupplyId
:
getId
()},
toolbar
:
toolbarOptions
,
enabledEdit
:
true
,
width
:
"100%"
,
height
:
"80%"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
});
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
/**
* 流程引擎回调设置打样的id
* @param value 打样申请的id
*/
function
setId
(
id
)
{
$
(
"#id"
).
val
(
id
);
var
_grid
=
UICtrl
.
getGridManager
(
'#maingrid'
);
_grid
.
options
.
parms
.
componentSupplyId
=
id
;
$
(
'#componentSupplyInfoList'
).
fileList
({
bizId
:
id
});
}
/**
* 流程引擎获取打样申请id的回掉方法。
* @return 打样申请的id
*/
function
getId
()
{
return
$
(
"#id"
).
val
()
||
""
;
}
function
reloadGrid
()
{
gridManager
.
loadData
();
}
function
getExtendedData
(
processAction
)
{
//回退、打回、转交时,不需要验证必填项是否已经填写;
if
(
processAction
==
ProcessAction
.
BACK
||
processAction
==
ProcessAction
.
REPLENISH
||
processAction
==
ProcessAction
.
TRANSMIT
)
{
//不验证
$
(
'#submitForm'
).
attr
(
'check'
,
false
);
}
var
extendedData
=
{};
var
_grid
=
UICtrl
.
getGridManager
(
'#maingrid'
);
if
(
_grid
)
{
var
datas
=
DataUtil
.
getGridData
({
gridManager
:
_grid
,
isAllData
:
true
});
if
(
!
datas
)
{
return
false
;
}
extendedData
.
items
=
Public
.
encodeJSONURI
(
datas
);
}
return
extendedData
;
}
topsun-xt/src/main/webapp/biz/topsun/sap/componentSupply/componentSupplyDetail.jsp
0 → 100644
View file @
f322e9fa
<%@ 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,attachment"
/>
<x:script
src=
"/system/excelimport/AssignCodeImp.js"
/>
<x:script
src=
'/biz/topsun/sap/componentSupply/componentSupplyDetail.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=
"statusId"
/>
<x:hidden
name=
"attbizId"
/>
<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:hidden
name=
"depart"
/>
<x:inputC
name=
"departName"
required=
"true"
label=
"部门"
labelCol=
"2"
fieldCol=
"2"
wrapper=
"tree"
/>
<x:hidden
name=
"applyPerson"
/>
<x:inputC
name=
"applyPersonName"
required=
"true"
label=
"人员"
labelCol=
"2"
fieldCol=
"2"
wrapper=
"tree"
/>
<x:hidden
name=
"suppliers"
/>
<x:inputC
name=
"suppliersName"
required=
"false"
label=
"供应商"
labelCol=
"2"
wrapper=
"select"
fieldCol=
"2"
/>
</div>
</div>
<div
class=
"blank_div clearfix"
></div>
<div
id=
"maingrid"
style=
"margin: 2px;"
>
</div>
<div
style=
"padding-top: 15px;"
>
<x:fileList
bizCode=
"componentSupplyInfo"
bizId=
"attbizId"
id=
"componentSupplyInfoList"
title=
"上传附件"
/>
</div>
</form>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/sap/componentSupply/componentSupplyList.js
0 → 100644
View file @
f322e9fa
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initUI
();
loadGrid
();
})
function
initUI
()
{
UICtrl
.
initDefaultLayout
();
}
function
loadGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
addHandler
:
addHandler
,
deleteHandler
:
deleteHandler
// exportExcelHandler:exportExcelHandler,
// exportModelHandler:{id:'exportModelHandler',img:'fa-cloud-download',text:'导出模板',click:exportModelHandler},
});
gridManager
=
UICtrl
.
grid
(
"#maingrid"
,
{
columns
:
[
{
display
:
"单据编号"
,
name
:
"billCode"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"创建日期"
,
name
:
"fillinDate"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"申请状态"
,
name
:
"statusTextView"
,
width
:
60
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"创建人"
,
name
:
"personMemberName"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"申请部门"
,
name
:
"deptName"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"部门"
,
name
:
"departName"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"人员"
,
name
:
"applyPersonName"
,
width
:
120
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
{
display
:
"供应商"
,
name
:
"suppliersName"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
},
],
dataAction
:
"server"
,
url
:
web_app
.
name
+
'/componentSupply/slicedComponentSupplyList.ajax'
,
pageSize
:
20
,
usePager
:
true
,
toolbar
:
toolbarOptions
,
width
:
"100%"
,
height
:
"100%"
,
heightDiff
:
-
8
,
checkbox
:
true
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
doView
(
data
.
id
);
},
});
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
function
query
(
obj
)
{
var
param
=
$
(
obj
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
param
);
}
function
reloadGrid
()
{
gridManager
.
loadData
();
}
function
resetForm
(
obj
)
{
$
(
obj
).
formClean
();
}
//删除按钮
function
deleteHandler
()
{
let
result
=
DataUtil
.
getUpdateRow
(
gridManager
);
if
(
result
.
status
!==
0
){
Public
.
tip
(
"请选择申请状态的数据!"
)
return
false
;
}
// var message = "您确认要删除选择的数据?";
// UICtrl.confirm(message, function () {
DataUtil
.
del
({
action
:
'componentSupply/deleteComponentSupply.ajax'
,
gridManager
:
gridManager
,
idFieldName
:
'id'
,
onSuccess
:
function
()
{
reloadGrid
();
}
});
// });
}
function
addHandler
()
{
UICtrl
.
addTabItem
({
tabid
:
'addSapPermit'
,
text
:
"新增组件补充发料"
,
url
:
web_app
.
name
+
'/componentSupply/forwardComponentSupplyDetail.job'
});
}
function
doView
(
id
)
{
UICtrl
.
addTabItem
({
tabid
:
'viewSapPermit'
+
id
,
text
:
"组件补充发料协议"
,
url
:
web_app
.
name
+
'/componentSupply/showComponentSupply.job?bizId='
+
id
+
"&isReadOnly=true"
});
}
topsun-xt/src/main/webapp/biz/topsun/sap/componentSupply/componentSupplyList.jsp
0 → 100644
View file @
f322e9fa
<%@ 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,attachment"
/>
<x:script
src=
'/biz/topsun/sap/componentSupply/componentSupplyList.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:hidden
name=
"templetId"
value=
""
/>
<x:hidden
name=
"batchNumber"
value=
""
/>
<x:hidden
name=
"fullId"
/>
<x:inputC
name=
"billCode"
required=
"false"
label=
"申请单号"
labelCol=
"1"
/>
<x:inputC
name=
"suppliersName"
required=
"false"
label=
"供应商"
labelCol=
"1"
/>
<x:selectC
name=
"status"
label=
"审批状态"
labelCol=
"1"
fieldCol=
"2"
dictionary=
"bizBillStatus"
/>
<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/componentSupply/application/ComponentSupplyApplication.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
application
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupply
;
import
com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest
;
import
com.huigou.topsun.sap.componentSupply.vo.ComponentSupplyVo
;
import
com.huigou.topsun.sap.permit.domain.SapPermit
;
import
com.huigou.topsun.sap.permit.domain.query.SapPermitQueryRequest
;
import
com.huigou.topsun.sap.permit.vo.SapPermitVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.ByteArrayOutputStream
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Auther:LXH
* @Date: 2024/06/03/11:35
* @Description:
*/
public
interface
ComponentSupplyApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/componentSupply/componentSupply.xml"
;
String
PROCESS_DEFINITION_KEY
=
"componentSupplyProc"
;
Map
<
String
,
Object
>
getComponentSupplyList
(
ComponentSupplyQueryRequest
sapPermitVo
);
ComponentSupply
getComponentSupplyById
(
String
id
);
void
deleteByIds
(
List
<
String
>
ids
);
void
saveComponentSupplyVo
(
ComponentSupplyVo
componentSupplyVo
);
// ByteArrayOutputStream printInfo(HttpServletResponse response, String id);
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/application/ComponentSupplyItemApplication.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
application
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupplyItem
;
import
com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest
;
import
com.huigou.topsun.sap.permit.domain.SapPermitItem
;
import
com.huigou.topsun.sap.permit.domain.query.SapPermitQueryRequest
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Auther: LXH
* @Date: 2024/06/03/10:35
* @Description:
*/
public
interface
ComponentSupplyItemApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/componentSupply/componentSupply.xml"
;
void
saveComponentSupplyItems
(
String
sapRetirementId
,
List
<
ComponentSupplyItem
>
items
);
Map
<
String
,
Object
>
queryComponentSupplyItems
(
ComponentSupplyQueryRequest
queryRequest
);
void
deleteByIds
(
List
<
String
>
ids
);
List
<
ComponentSupplyItem
>
findByComponentSupplyId
(
String
componentSupplyId
);
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/application/impl/ComponentSupplyApplicationImpl.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
application
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.huigou.cache.DictUtil
;
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.common.CommonUtils
;
import
com.huigou.topsun.sap.componentSupply.application.ComponentSupplyApplication
;
import
com.huigou.topsun.sap.componentSupply.application.ComponentSupplyItemApplication
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupply
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupplyItem
;
import
com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest
;
import
com.huigou.topsun.sap.componentSupply.repository.ComponentSupplyItemRepository
;
import
com.huigou.topsun.sap.componentSupply.repository.ComponentSupplyRepository
;
import
com.huigou.topsun.sap.componentSupply.vo.ComponentSupplyItemVo
;
import
com.huigou.topsun.sap.componentSupply.vo.ComponentSupplyVo
;
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.*
;
import
freemarker.template.Template
;
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.util.CollectionUtils
;
import
org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @Auther: Lxh
* @Date: 2024/06/03/11:35
* @Description:
*/
@Service
(
"componentSupplyApplication"
)
public
class
ComponentSupplyApplicationImpl
extends
FlowBroker
implements
ComponentSupplyApplication
{
@Autowired
private
ComponentSupplyRepository
componentSupplyRepository
;
@Autowired
private
ComponentSupplyItemRepository
componentSupplyItemRepository
;
@Autowired
private
ComponentSupplyItemApplication
componentSupplyItemApplication
;
@Autowired
private
WorkflowApplication
workflowApplication
;
@Autowired
private
OperatorApplication
operatorApplication
;
@Override
public
Map
<
String
,
Object
>
getComponentSupplyList
(
ComponentSupplyQueryRequest
queryRequest
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"componentSupply"
);
QueryModel
queryModel
=
this
.
sqlExecutorDao
.
getQueryModel
(
queryDescriptor
,
queryRequest
);
if
(
queryRequest
.
getStatus
()
!=
null
)
{
queryModel
.
addCriteria
(
" and t.status =:status"
);
queryModel
.
putParam
(
"status"
,
queryRequest
.
getStatus
());
}
if
(
queryRequest
.
getBillCode
()
!=
null
)
{
queryModel
.
addCriteria
(
" and t.bill_code =:billCode"
);
queryModel
.
putParam
(
"billCode"
,
queryRequest
.
getBillCode
());
}
if
(
queryRequest
.
getReason
()
!=
null
)
{
queryModel
.
addCriteria
(
" and t.reason like:reason"
);
queryModel
.
putLikeParam
(
"reason"
,
queryRequest
.
getReason
());
}
queryModel
.
putDictionary
(
"status"
,
DictUtil
.
getDictionary
(
"bizBillStatus"
));
queryModel
.
addCriteria
(
" order by bill_code desc "
);
Map
<
String
,
Object
>
map
=
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryModel
);
return
map
;
}
@Override
public
ComponentSupply
getComponentSupplyById
(
String
id
)
{
return
componentSupplyRepository
.
findOne
(
id
);
}
@Override
public
void
deleteByIds
(
List
<
String
>
ids
)
{
ids
.
forEach
(
id
->{
componentSupplyRepository
.
delete
(
id
);
List
<
ComponentSupplyItem
>
list
=
componentSupplyItemRepository
.
findByComponentSupplyId
(
id
);
for
(
ComponentSupplyItem
componentSupplyItem:
list
){
componentSupplyItemRepository
.
delete
(
componentSupplyItem
);
}
});
}
@Override
protected
void
onBeforeComplete
(
DelegateTask
delegateTask
)
{
super
.
onBeforeComplete
(
delegateTask
);
String
bizId
=
delegateTask
.
getExecution
().
getProcessBusinessKey
();
if
(
this
.
isApplyProcUnit
(
delegateTask
)
&&
this
.
getApprovalParameter
().
isAdvanceProcessAction
())
{
ComponentSupply
componentSupply
=
componentSupplyRepository
.
findOne
(
bizId
);
componentSupply
.
setStatusId
(
BizBillStatus
.
APPROVING
.
getId
());
componentSupplyRepository
.
save
(
componentSupply
);
}
}
@Override
protected
void
onEnd
(
DelegateExecution
delegateExecution
)
{
super
.
onEnd
(
delegateExecution
);
String
bizId
=
delegateExecution
.
getProcessBusinessKey
();
BizBillStatus
status
=
approvePassed
()
?
BizBillStatus
.
COMPLETED
:
BizBillStatus
.
ABORTED
;
ComponentSupply
componentSupply
=
componentSupplyRepository
.
findOne
(
bizId
);
componentSupply
.
setStatusId
(
status
.
getId
());
componentSupplyRepository
.
save
(
componentSupply
);
}
@Override
protected
void
onAbortProcessInstance
(
DelegateExecution
delegateExecution
)
{
super
.
onAbortProcessInstance
(
delegateExecution
);
String
bizId
=
delegateExecution
.
getProcessBusinessKey
();
ComponentSupply
componentSupply
=
componentSupplyRepository
.
findOne
(
bizId
);
componentSupply
.
setStatusId
(
BizBillStatus
.
ABORTED
.
getId
());
componentSupplyRepository
.
save
(
componentSupply
);
}
@Override
protected
void
onBack
(
DelegateTask
delegateTask
,
String
destActivityId
)
{
super
.
onBack
(
delegateTask
,
destActivityId
);
if
(
"Apply"
.
equalsIgnoreCase
(
destActivityId
))
{
String
bizId
=
delegateTask
.
getExecution
().
getProcessBusinessKey
();
ComponentSupply
componentSupply
=
componentSupplyRepository
.
findOne
(
bizId
);
componentSupply
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
componentSupplyRepository
.
save
(
componentSupply
);
}
}
@Override
protected
Map
<
String
,
Object
>
getProcessBizParams
(
String
bizId
)
{
return
ClassHelper
.
toMap
(
componentSupplyRepository
.
getOne
(
bizId
));
}
@Override
protected
String
saveBizAndApprovalData
()
{
super
.
saveBizAndApprovalData
();
ComponentSupply
componentSupply
=
getBizEntity
(
ComponentSupply
.
class
);
if
(
componentSupply
.
isNew
())
{
componentSupply
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
}
else
{
componentSupply
=
(
ComponentSupply
)
commonDomainService
.
loadAndFillinProperties
(
componentSupply
);
}
componentSupply
=
componentSupplyRepository
.
save
(
componentSupply
);
List
<
ComponentSupplyItem
>
items
=
getBizEntities
(
ComponentSupplyItem
.
class
,
"items"
);
if
(
items
.
size
()<
1
){
throw
new
IllegalArgumentException
(
"没有补充发料明细信息!"
);
}
componentSupplyItemApplication
.
saveComponentSupplyItems
(
componentSupply
.
getId
(),
items
);
//更新附件ID为主键ID
// if (!(componentSupply.getId().equals(componentSupply.getAttbizId()))) {
// List<Attachment> attachmentList = attachmentApplication.queryAttachments("sapRetirementInfo", componentSupply.getAttbizId());
// for (Attachment attachment : attachmentList) {
// attachment.setBizId(componentSupply.getId());
// attachmentApplication.saveAttachment(attachment);
// }
// }
return
componentSupply
.
getId
();
}
@Override
public
void
saveComponentSupplyVo
(
ComponentSupplyVo
componentSupplyVo
){
ComponentSupply
ComponentSupply
=
new
ComponentSupply
();
BeanUtil
.
copyProperties
(
componentSupplyVo
,
ComponentSupply
);
//初始化用户信息
Operator
operator
=
operatorApplication
.
createOperatorByPersonMemberId
(
componentSupplyVo
.
getApplyPerson
());
ComponentSupply
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
Map
<
String
,
Object
>
formData
=
BeanUtil
.
beanToMap
(
ComponentSupply
);
//保存明细
List
<
ComponentSupplyItemVo
>
itemVos
=
componentSupplyVo
.
getItemVos
();
List
<
ComponentSupplyItem
>
ComponentSupplyItems
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
itemVos
)){
ComponentSupplyItems
=
itemVos
.
stream
()
.
map
(
itemVo
->
{
ComponentSupplyItem
ComponentSupplyItem
=
new
ComponentSupplyItem
();
BeanUtil
.
copyProperties
(
itemVo
,
ComponentSupplyItem
);
return
ComponentSupplyItem
;
}).
collect
(
Collectors
.
toList
());
formData
.
put
(
"items"
,
JSONUtil
.
toString
(
ComponentSupplyItems
));
//启动流程实例
this
.
startProcessInstance
(
ComponentSupplyApplication
.
PROCESS_DEFINITION_KEY
,
formData
);
//ComponentSupply.setId(bizId);
//this.ComponentSupplyRepository.save(ComponentSupply);
}
}
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
(
"applyPerson"
);
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/componentSupply/application/impl/ComponentSupplyItemApplicationImpl.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
application
.
impl
;
import
com.huigou.cache.DictUtil
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.sap.componentSupply.application.ComponentSupplyItemApplication
;
import
com.huigou.topsun.sap.componentSupply.repository.ComponentSupplyItemRepository
;
import
com.huigou.topsun.sap.componentSupply.application.ComponentSupplyItemApplication
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupplyItem
;
import
com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest
;
import
com.huigou.topsun.sap.componentSupply.repository.ComponentSupplyItemRepository
;
import
com.huigou.uasp.bmp.common.application.BaseApplication
;
import
com.huigou.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Auther: LXH
* @Date: 2024/03/26/10:16
* @Description:
*/
@Service
(
"componentSupplyItemApplication"
)
public
class
ComponentSupplyItemApplicationImpl
extends
BaseApplication
implements
ComponentSupplyItemApplication
{
@Autowired
private
ComponentSupplyItemRepository
componentSupplyItemRepository
;
@Override
public
void
saveComponentSupplyItems
(
String
componentSupplyId
,
List
<
ComponentSupplyItem
>
items
)
{
for
(
ComponentSupplyItem
item
:
items
)
{
item
.
setComponentSupplyId
(
componentSupplyId
);
componentSupplyItemRepository
.
save
(
item
);
}
}
@Override
public
Map
<
String
,
Object
>
queryComponentSupplyItems
(
ComponentSupplyQueryRequest
queryRequest
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
StringUtil
.
isNotBlank
(
queryRequest
.
getComponentSupplyId
())){
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"componentSupplyItems"
);
QueryModel
queryModel
=
this
.
sqlExecutorDao
.
getQueryModel
(
queryDescriptor
,
queryRequest
);
if
(
queryRequest
.
getComponentSupplyId
()
!=
null
)
{
queryModel
.
addCriteria
(
" and t.component_supply_id =:componentSupplyId"
);
queryModel
.
putParam
(
"componentSupplyId"
,
queryRequest
.
getComponentSupplyId
());
}
// queryModel.putDictionary("unit", DictUtil.getDictionary("ComponentSupplyUnit"));
map
=
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryModel
);
}
return
map
;
}
@Override
public
void
deleteByIds
(
List
<
String
>
ids
)
{
ids
.
forEach
(
id
->{
componentSupplyItemRepository
.
delete
(
id
);
});
}
@Override
public
List
<
ComponentSupplyItem
>
findByComponentSupplyId
(
String
componentSupplyId
)
{
return
componentSupplyItemRepository
.
findByComponentSupplyId
(
componentSupplyId
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/controller/ComponentSupplyController.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
controller
;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
import
com.huigou.topsun.sap.componentSupply.application.ComponentSupplyApplication
;
import
com.huigou.topsun.sap.componentSupply.application.ComponentSupplyItemApplication
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupply
;
import
com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest
;
import
com.huigou.topsun.sap.permit.application.SapPermitApplication
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.uasp.tool.dataimport.application.ExcelImportApplication
;
import
com.huigou.util.CommonUtil
;
import
com.huigou.util.SDO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
import
java.util.Map
;
/**组件补充协议
* @Auther: LXH
* @Date: 2024/06/03 10:10
* @Description:
*/
@Controller
@ControllerMapping
(
"/componentSupply"
)
public
class
ComponentSupplyController
extends
CommonController
{
@Override
protected
String
getPagePath
()
{
return
"/biz/topsun/sap/componentSupply/"
;
}
@Resource
private
ComponentSupplyApplication
componentSupplyApplication
;
@Autowired
private
ComponentSupplyItemApplication
componentSupplyItemApplication
;
// private ExcelImportApplication excelImportApplication;
public
String
forwardComponentSupplyList
(){
return
forward
(
"componentSupplyList"
);
}
public
String
slicedComponentSupplyList
(){
SDO
sdo
=
this
.
getSDO
();
ComponentSupplyQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
ComponentSupplyQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
componentSupplyApplication
.
getComponentSupplyList
(
queryRequest
);
return
toResult
(
map
);
}
public
String
forwardComponentSupplyDetail
(){
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this
.
putAttribute
(
"processDefinitionKey"
,
componentSupplyApplication
.
PROCESS_DEFINITION_KEY
);
this
.
putAttribute
(
"procUnitId"
,
"Apply"
);
ComponentSupply
componentSupply
=
new
ComponentSupply
();
componentSupply
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
/**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator
operator
=
getOperator
();
componentSupply
.
setDefaultValues
(
new
OrgUnit
(
operator
.
getFullId
(),
operator
.
getFullName
()));
componentSupply
.
setAttbizId
(
CommonUtil
.
createGUID
());
// 自动生成附件id
// ExcelImportTemplate excelImportTemplate=excelImportApplication.loadExcelImportTemplateByCode("ComponentSupplyData");
return
forward
(
"componentSupplyDetail"
,
componentSupply
);
}
public
String
showComponentSupply
(){
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getBizId
();
// this.putAttribute("attbizId", id); // 设置附件id
ComponentSupply
componentSupply
=
componentSupplyApplication
.
getComponentSupplyById
(
id
);
// sapRetirement.setAttbizId(id);
return
forward
(
"componentSupplyDetail"
,
componentSupply
);
}
/**
* 删除组件补充发料
*/
public
String
deleteComponentSupply
()
{
List
<
String
>
ids
=
this
.
getSDO
().
getIds
();
componentSupplyApplication
.
deleteByIds
(
ids
);
return
success
();
}
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/controller/ComponentSupplyItemController.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
controller
;
import
com.huigou.topsun.sap.componentSupply.application.ComponentSupplyItemApplication
;
import
com.huigou.topsun.sap.componentSupply.domain.query.ComponentSupplyQueryRequest
;
import
com.huigou.uasp.annotation.ControllerMapping
;
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
;
import
java.util.Map
;
/**
* @Auther: LXH
* @Date: 2024/06/03 10:10
* @Description:
*/
@Controller
@ControllerMapping
(
"/componentSupplyItem"
)
public
class
ComponentSupplyItemController
extends
CommonController
{
@Autowired
private
ComponentSupplyItemApplication
componentSupplyItemApplication
;
public
String
queryComponentSupplyItems
(){
SDO
sdo
=
this
.
getSDO
();
ComponentSupplyQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
ComponentSupplyQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
componentSupplyItemApplication
.
queryComponentSupplyItems
(
queryRequest
);
return
toResult
(
map
);
}
public
String
deleteComponentSupplyItems
(){
SDO
sdo
=
this
.
getSDO
();
List
<
String
>
ids
=
sdo
.
getIds
();
componentSupplyItemApplication
.
deleteByIds
(
ids
);
return
success
();
}
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/domain/ComponentSupply.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
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.util.Date
;
/**
* @Auther: LXH
* @Date: 2024/06/03/10:45
* @Description:组件补充发料
*/
@Table
(
name
=
"sap_component_supply"
)
@Entity
@Data
public
class
ComponentSupply
extends
FlowBillAbstractEntity
{
/**
* 责任部门
*/
@Column
(
name
=
"depart"
)
private
String
depart
;
@Column
(
name
=
"depart_name"
)
private
String
departName
;
/**
* 申请人
*/
@Column
(
name
=
"apply_person"
)
private
String
applyPerson
;
@Column
(
name
=
"apply_person_name"
)
private
String
applyPersonName
;
/*
* 供应商
*/
@Column
(
name
=
"suppliers"
)
private
String
suppliers
;
/*
* 供应商名称
*/
@Column
(
name
=
"suppliers_name"
)
private
String
suppliersName
;
@Column
(
name
=
"attbiz_id"
)
private
String
attbizId
;
@Override
protected
String
getCodeRuleId
()
{
return
"componentSupply"
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/domain/ComponentSupplyItem.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
domain
;
import
com.huigou.data.domain.model.AbstractEntity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
/**
* SAP组件补充发料协议明细
*
* @TableName sap_component_supply_item
*/
@Table
(
name
=
"sap_component_supply_item"
)
@Entity
@Data
public
class
ComponentSupplyItem
extends
AbstractEntity
{
/**
* SAP组件补充发料id
*/
@Column
(
name
=
"component_supply_id"
)
private
String
componentSupplyId
;
/**
* 产品物料
*/
@Column
(
name
=
"product_material"
)
private
String
productMaterial
;
/**
* 产品物料名称
*/
@Column
(
name
=
"product_material_name"
)
private
String
productMaterialName
;
/**
* 供给物料
*/
@Column
(
name
=
"supply_material"
)
private
String
supplyMaterial
;
/**
* 供给物料名称
*/
@Column
(
name
=
"supply_material_name"
)
private
String
supplyMaterialName
;
/**
* 补发数量
*/
@Column
(
name
=
"quantity"
)
private
BigDecimal
quantity
;
/**
* 备注
*/
@Column
(
name
=
"remark"
)
private
String
remark
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/domain/query/ComponentSupplyQueryRequest.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
domain
.
query
;
import
com.huigou.data.domain.query.QueryAbstractRequest
;
import
lombok.Data
;
/**
* @Auther: lxh
* @Date: 2024/06/03/16:38
* @Description:
*/
@Data
public
class
ComponentSupplyQueryRequest
extends
QueryAbstractRequest
{
private
String
componentSupplyId
;
private
String
billCode
;
private
String
reason
;
private
String
status
;
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/repository/ComponentSupplyItemRepository.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
repository
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupplyItem
;
import
com.huigou.topsun.sap.permit.domain.SapPermitItem
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
/**
* @Auther: LXH
* @Date: 2024/06/03/16:33
* @Description:
*/
public
interface
ComponentSupplyItemRepository
extends
JpaRepository
<
ComponentSupplyItem
,
String
>
{
List
<
ComponentSupplyItem
>
findByComponentSupplyId
(
String
componentSupplyId
);
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/repository/ComponentSupplyRepository.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
repository
;
import
com.huigou.topsun.sap.componentSupply.domain.ComponentSupply
;
import
com.huigou.topsun.sap.permit.domain.SapPermit
;
import
org.springframework.data.jpa.repository.JpaRepository
;
/**
* @Auther: LXH
* @Date: 2024/06/03/16:33
* @Description:
*/
public
interface
ComponentSupplyRepository
extends
JpaRepository
<
ComponentSupply
,
String
>
{
}
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/vo/ComponentSupplyItemVo.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
vo
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* SAP放行条
*
* @TableName sap_permit_item
*/
@Data
public
class
ComponentSupplyItemVo
{
/**
* 携带物名称
*/
private
String
belongings
;
/**
* 数量
*/
private
BigDecimal
quantity
;
/**
* 单位
*/
private
String
unit
;
/**
* 备注
*/
private
String
remark
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/componentSupply/vo/ComponentSupplyVo.java
0 → 100644
View file @
f322e9fa
package
com
.
huigou
.
topsun
.
sap
.
componentSupply
.
vo
;
import
com.huigou.topsun.sap.permit.vo.SapPermitItemVo
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Auther: xin.lu
* @Date: 2024/04/17/17:08
* @Description:
*/
@Data
public
class
ComponentSupplyVo
{
/**
* 公司
*/
private
String
company
;
/**
* 责任部门
*/
private
String
dutyDepart
;
private
String
dutyDepartName
;
/**
* 申请人
*/
private
String
applyPerson
;
private
String
applyPersonName
;
/**
* 携出人
*/
private
String
belongPerson
;
/**
* 日期
*/
private
Date
permitDate
;
List
<
ComponentSupplyItemVo
>
itemVos
;
}
topsun/src/main/resources/config/bpm/topsun/sap/componentSupply/componentSupplyProc.bpmn
0 → 100644
View file @
f322e9fa
<?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=
"componentSupplyProc"
name=
"组件补充发料协议"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{componentSupplyApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{componentSupplyApplication}"
></activiti:executionListener>
</extensionElements>
<startEvent
id=
"startevent1"
name=
"Start"
></startEvent>
<endEvent
id=
"endevent1"
name=
"End"
></endEvent>
<userTask
id=
"Apply"
name=
"组件补充发料申请"
activiti:formKey=
"componentSupply/showComponentSupply.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{componentSupplyApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{componentSupplyApplication}"
></activiti:taskListener>
</extensionElements>
</userTask>
<userTask
id=
"Approve"
name=
"组件补充发料审批"
activiti:assignee=
"${assignee} "
activiti:formKey=
"componentSupply/showComponentSupply.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{componentSupplyApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{componentSupplyApplication}"
></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_componentSupplyProc"
>
<bpmndi:BPMNPlane
bpmnElement=
"componentSupplyProc"
id=
"BPMNPlane_componentSupplyProc"
>
<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/componentSupply/componentSupply.xml
0 → 100644
View file @
f322e9fa
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query
name=
"componentSupply"
label=
"组件补充发料"
table=
"sap_permit"
>
<sql-query>
select t.* from sap_component_supply t
</sql-query>
<condition
column=
"bill_code"
name=
"billCode"
type=
"java.lang.String"
symbol=
"like"
alias=
"t"
/>
</query>
<query
name=
"componentSupplyItems"
label=
"组件补充发料明细"
table=
"sap_component_supply_item"
>
<sql-query>
select t.* from sap_component_supply_item t
</sql-query>
<condition
column=
"component_supply_id"
name=
"componentSupplyId"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
</query>
</query-mappings>
\ No newline at end of file
topsun/src/main/resources/config/topsun/sap/componentSupply/componentSupplyItem.xml
0 → 100644
View file @
f322e9fa
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query
name=
"sapPermitItems"
label=
"放行条明细"
table=
"sap_permit_item"
>
<sql-query>
select t.* from sap_permit_item t
</sql-query>
<condition
column=
"sap_permit_id"
name=
"sapPermitId"
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