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
e7240e6d
Commit
e7240e6d
authored
Jul 22, 2025
by
1650842865
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
IM/WM库存盘点审批功能;
parent
28cdfad3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
1863 additions
and
13 deletions
+1863
-13
inventoryRecordImDetail.js
.../topsun/sap/inventoryRecord/im/inventoryRecordImDetail.js
+113
-0
inventoryRecordImDetail.jsp
...topsun/sap/inventoryRecord/im/inventoryRecordImDetail.jsp
+32
-0
inventoryRecordImList.js
...iz/topsun/sap/inventoryRecord/im/inventoryRecordImList.js
+102
-0
inventoryRecordImList.jsp
...z/topsun/sap/inventoryRecord/im/inventoryRecordImList.jsp
+42
-0
inventoryRecordWmDetail.js
.../topsun/sap/inventoryRecord/wm/inventoryRecordWmDetail.js
+115
-0
inventoryRecordWmDetail.jsp
...topsun/sap/inventoryRecord/wm/inventoryRecordWmDetail.jsp
+32
-0
inventoryRecordWmList.js
...iz/topsun/sap/inventoryRecord/wm/inventoryRecordWmList.js
+113
-0
inventoryRecordWmList.jsp
...z/topsun/sap/inventoryRecord/wm/inventoryRecordWmList.jsp
+41
-0
nonProdApplyNext.js
...in/webapp/biz/topsun/sap/nonProdApply/nonProdApplyNext.js
+19
-10
processOutsourceDetail.js
...biz/topsun/sap/processOutsource/processOutsourceDetail.js
+5
-2
showAddAufnrDetail.js
...app/biz/topsun/sap/processOutsource/showAddAufnrDetail.js
+3
-0
InventoryRecordApplication.java
...ventoryRecord/application/InventoryRecordApplication.java
+26
-0
InventoryRecordItemImApplication.java
...yRecord/application/InventoryRecordItemImApplication.java
+24
-0
InventoryRecordItemWmApplication.java
...yRecord/application/InventoryRecordItemWmApplication.java
+24
-0
InventoryRecordApplicationImpl.java
...cord/application/impl/InventoryRecordApplicationImpl.java
+230
-0
InventoryRecordItemImApplicationImpl.java
...pplication/impl/InventoryRecordItemImApplicationImpl.java
+66
-0
InventoryRecordItemWmApplicationImpl.java
...pplication/impl/InventoryRecordItemWmApplicationImpl.java
+66
-0
InventoryRecordController.java
...inventoryRecord/controller/InventoryRecordController.java
+127
-0
InventoryRecord.java
...ou/topsun/sap/inventoryRecord/domain/InventoryRecord.java
+27
-0
InventoryRecordItemIm.java
...sun/sap/inventoryRecord/domain/InventoryRecordItemIm.java
+88
-0
InventoryRecordItemWm.java
...sun/sap/inventoryRecord/domain/InventoryRecordItemWm.java
+121
-0
InventoryRecordQueryRequest.java
...ntoryRecord/domain/query/InventoryRecordQueryRequest.java
+33
-0
InventoryRecordVo.java
...psun/sap/inventoryRecord/domain/vo/InventoryRecordVo.java
+141
-0
InventoryRecordItemImRepository.java
...oryRecord/repository/InventoryRecordItemImRepository.java
+15
-0
InventoryRecordItemWmRepository.java
...oryRecord/repository/InventoryRecordItemWmRepository.java
+15
-0
InventoryRecordRepository.java
...inventoryRecord/repository/InventoryRecordRepository.java
+13
-0
inventoryRecordProc.bpmn
...g/bpm/topsun/sap/inventoryRecord/inventoryRecordProc.bpmn
+111
-0
easy-search-suppliers.xml
...urces/config/content/easysearch/easy-search-suppliers.xml
+1
-1
inventoryRecord.xml
...ces/config/topsun/sap/inventoryRecord/inventoryRecord.xml
+118
-0
No files found.
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/im/inventoryRecordImDetail.js
0 → 100644
View file @
e7240e6d
var
itemGridManager
=
null
;
$
(
function
()
{
initItemGrid
();
});
function
initItemGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
});
itemGridManager
=
UICtrl
.
grid
(
'#maingrid'
,
{
columns
:
getGridColumns
(),
dataAction
:
'server'
,
_tableKey
:
'inventoryRecordImDetail'
,
_local
:
true
,
url
:
web_app
.
name
+
'/inventoryRecord/queryInventoryRecordImByInventoryRecordId.ajax'
,
parms
:{
inventoryRecordId
:
getId
()},
height
:
'95%'
,
heightDiff
:
-
4
,
sortName
:
'id'
,
sortOrder
:
'asc'
,
checkbox
:
false
,
usePager
:
true
,
rownumbers
:
true
,
enabledEdit
:
false
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
//autoApplyNextEditor:false,
toolbar
:
toolbarOptions
,
}
);
UICtrl
.
setSearchAreaToggle
(
itemGridManager
);
}
function
getGridColumns
()
{
var
columns
=
[];
columns
=
[
{
display
:
"库存盘点凭证"
,
name
:
"iblnr"
,
width
:
"80"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"会计年度"
,
name
:
"gjahr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"行号"
,
name
:
"zeili"
,
width
:
"60"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"物料编号"
,
name
:
"matnr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,
//去掉前导零
render
:
function
(
item
)
{
return
item
.
matnr
.
replace
(
/^0+/
,
""
);
}
},
{
display
:
"物料描述"
,
name
:
"maktx"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"工厂"
,
name
:
"werks"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"工厂名称"
,
name
:
"name1"
,
width
:
"200"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"存储地点"
,
name
:
"lgort"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"存储地点名称"
,
name
:
"lgobe"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"批次编号"
,
name
:
"charg"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"盘点日期"
,
name
:
"zldat"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"账面数量"
,
name
:
"buchm"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"盘点数量"
,
name
:
"erfmg"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"差额数量"
,
name
:
"difmg"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"money"
,
align
:
"center"
,},
{
display
:
"计量单位"
,
name
:
"meins"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"计量单位描述"
,
name
:
"msehl"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点金额"
,
name
:
"wrtzl"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"money"
,
align
:
"center"
,},
{
display
:
"账面金额"
,
name
:
"wrtbm"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"本币差额"
,
name
:
"dmbtr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"货币码"
,
name
:
"waers"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"货币描述"
,
name
:
"ktext"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
]
return
columns
;
}
//获取数据保存的参数
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
.
imItems
=
Public
.
encodeJSONURI
(
datas
);
}
return
extendedData
;
}
function
getId
()
{
return
$
(
'#id'
).
val
();
}
function
setId
(
value
)
{
$
(
"#id"
).
val
(
value
);
var
_grid
=
UICtrl
.
getGridManager
(
'#maingrid'
);
_grid
.
options
.
parms
.
inventoryRecordId
=
value
;
}
function
reloadGrid
()
{
itemGridManager
.
loadData
();
}
function
getGridData
(){
var
_grid
=
UICtrl
.
getGridManager
(
'#maingrid'
);
var
datas
=
DataUtil
.
getGridData
({
gridManager
:
_grid
,
isAllData
:
true
});
return
datas
;
}
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/im/inventoryRecordImDetail.jsp
0 → 100644
View file @
e7240e6d
<%--采购申请--%>
<%@ 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,dateTime,combox,attachment,commonTree,comboDialog"
/>
<x:script
src=
"/biz/topsun/sap/inventoryRecord/im/inventoryRecordImDetail.js"
/>
</head>
<body>
<div
class=
"container-fluid"
>
<x:billTitle
title=
"IM盘点结果审批"
needStatus=
"true"
needPerson=
"true"
/>
<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"
/>
<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=
"ztype"
/>
<div
id=
"maingrid"
></div>
</form>
</div>
</body>
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/im/inventoryRecordImList.js
0 → 100644
View file @
e7240e6d
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initUI
();
initPurchaseListGrid
();
}
);
function
initUI
()
{
UICtrl
.
initDefaultLayout
();
}
function
initPurchaseListGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
});
gridManager
=
UICtrl
.
grid
(
'#grid'
,
{
columns
:
[
{
display
:
"库存盘点凭证"
,
name
:
"iblnr"
,
width
:
"80"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"会计年度"
,
name
:
"gjahr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"行号"
,
name
:
"zeili"
,
width
:
"60"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"物料编号"
,
name
:
"matnr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,
//去掉前导零
render
:
function
(
item
)
{
return
item
.
matnr
.
replace
(
/^0+/
,
""
);
}
},
{
display
:
"物料描述"
,
name
:
"maktx"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"工厂"
,
name
:
"werks"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"工厂名称"
,
name
:
"name1"
,
width
:
"200"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"存储地点"
,
name
:
"lgort"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"存储地点名称"
,
name
:
"lgobe"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"批次编号"
,
name
:
"charg"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"盘点日期"
,
name
:
"zldat"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"账面数量"
,
name
:
"buchm"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"盘点数量"
,
name
:
"erfmg"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"差额数量"
,
name
:
"difmg"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"money"
,
align
:
"center"
,},
{
display
:
"计量单位"
,
name
:
"meins"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"计量单位描述"
,
name
:
"msehl"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点金额"
,
name
:
"wrtzl"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"money"
,
align
:
"center"
,},
{
display
:
"账面金额"
,
name
:
"wrtbm"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"本币差额"
,
name
:
"dmbtr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"money"
,},
{
display
:
"货币码"
,
name
:
"waers"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"货币描述"
,
name
:
"ktext"
,
width
:
"100"
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,}
],
dataAction
:
'server'
,
url
:
web_app
.
name
+
'/inventoryRecord/slicedInventoryRecordImList.ajax?'
,
toolbar
:
toolbarOptions
,
width
:
'99.8%'
,
height
:
'100%'
,
pageSize
:
20
,
heightDiff
:
-
4
,
sortName
:
'fillinDate'
,
sortOrder
:
'desc'
,
checkbox
:
true
,
usePager
:
true
,
rownumbers
:
true
,
enabledEdit
:
false
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
enableObjectBag
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
viewHandler
(
data
.
id
);
},
}
);
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
/**
* 查看采购申请详情
* @param id 采购申请id
* @returns {boolean}
*/
function
viewHandler
(
id
)
{
if
(
!
id
)
{
var
row
=
DataUtil
.
getSelectedRow
(
gridManager
);
if
(
!
row
)
{
return
row
;
}
id
=
row
.
id
;
}
UICtrl
.
addTabItem
({
tabid
:
'viewInventoryRecord'
+
id
,
text
:
'查看库存盘点'
,
url
:
web_app
.
name
+
'/inventoryRecord/showInventoryRecordDetail.job?isReadOnly=true&bizId='
+
id
});
}
function
reloadGrid
()
{
var
params
=
$
(
"#queryMainForm"
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
params
);
}
function
query
(
obj
)
{
var
param
=
$
(
obj
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
param
);
}
function
resetForm
(
obj
)
{
$
(
obj
).
formClean
();
}
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/im/inventoryRecordImList.jsp
0 → 100644
View file @
e7240e6d
<%@ 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,dateTime,combox,attachment,commonTree,comboDialog"
/>
<script
src=
'
<c:url
value=
"/lib/jquery/jquery.comboDialog.js"
/>
'
type=
"text/javascript"
></script>
<script
src=
'
<c:url
value=
"/lib/jquery/jquery.commonTree.js"
/>
'
type=
"text/javascript"
></script>
<script
src=
'
<c:url
value=
"/lib/jquery/jquery.flexField.js"
/>
'
type=
"text/javascript"
></script>
<script
src=
'
<c:url
value=
"/biz/topsun/sap/inventoryRecord/im/inventoryRecordImList.js"
/>
'
type=
"text/javascript"
></script>
</head>
<body>
<div
class=
"container-fluid"
>
<div
id=
"layout"
>
<div
position=
"center"
title=
""
>
<x:title
title=
"搜索"
hideTable=
"queryMainForm"
/>
<form
class=
"hg-form ui-show"
method=
"post"
action=
""
id=
"queryMainForm"
>
<div
class=
"hg-form-row"
>
<x:hidden
name=
"loginId"
/>
<x:inputC
name=
"billCode"
label=
"单据编号"
labelCol=
"1"
/>
<x:inputC
name=
"iblnr"
label=
"库存盘点凭证"
labelCol=
"1"
/>
<x:inputC
name=
"gjahr"
label=
"会计年度"
labelCol=
"1"
/>
<x:inputC
name=
"charg"
label=
"批次编号"
labelCol=
"1"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"name1"
label=
"工厂名称"
labelCol=
"1"
/>
<x:inputC
name=
"lgobe"
label=
"存储地点名称"
labelCol=
"1"
/>
<x:inputC
name=
"matnr"
label=
"物料"
labelCol=
"1"
/>
<x:inputC
name=
"maktx"
label=
"物料描述"
labelCol=
"1"
/>
</div>
<div
class=
"hg-form-row"
>
<x:checkboxListC
name=
"statusKind"
label=
"common.field.status"
list=
"statusKindsList"
labelCol=
"1"
fieldCol=
"3"
/>
</div>
<x:searchButtons/>
</form>
<div
id=
"grid"
style=
"margin:2px;"
></div>
</div>
</div>
</div>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/wm/inventoryRecordWmDetail.js
0 → 100644
View file @
e7240e6d
var
gridManager
=
null
;
$
(
function
()
{
initGrid
();
});
function
initGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
});
gridManager
=
UICtrl
.
grid
(
'#grid'
,
{
columns
:
getGridColumns
(),
dataAction
:
'server'
,
_tableKey
:
'inventoryRecordWmDetail'
,
_local
:
true
,
url
:
web_app
.
name
+
'/inventoryRecord/queryInventoryRecordWmByInventoryRecordId.ajax'
,
parms
:{
inventoryRecordId
:
getId
()},
height
:
'95%'
,
heightDiff
:
-
4
,
sortName
:
'id'
,
sortOrder
:
'asc'
,
checkbox
:
false
,
usePager
:
true
,
rownumbers
:
true
,
enabledEdit
:
false
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
//autoApplyNextEditor:false,
toolbar
:
toolbarOptions
,
}
);
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
function
getGridColumns
()
{
var
columns
=
[];
columns
=
[
{
display
:
"仓库号"
,
name
:
"lgnum"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
},
{
display
:
"仓库描述"
,
name
:
"lnumt"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
},
{
display
:
"盘点记录号"
,
name
:
"ivnum"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"重新盘点版本"
,
name
:
"nvers"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"项目号"
,
name
:
"ivpos"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"仓位"
,
name
:
"lgpla"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"物料"
,
name
:
"matnr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,
//去掉前导0
render
:
function
(
item
)
{
return
item
.
matnr
.
replace
(
/^0+/
,
""
);
}
},
{
display
:
"物料描述"
,
name
:
"maktx"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"批次"
,
name
:
"charg"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"工厂"
,
name
:
"werks"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"工厂名称"
,
name
:
"name1"
,
width
:
"200"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"存储地点"
,
name
:
"lgort"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"存储地点名称"
,
name
:
"lgobe"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"库存类别"
,
name
:
"bestq"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"特殊库存标识"
,
name
:
"sobkz"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"特殊库存编号"
,
name
:
"sonum"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点数量"
,
name
:
"menga"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点数量单位"
,
name
:
"msehl"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"账面数量"
,
name
:
"gesme"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"差异"
,
name
:
"abwei"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"价值差额"
,
name
:
"dwert"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"货币"
,
name
:
"ktext"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点完成日期"
,
name
:
"idatu"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,}
]
return
columns
;
}
//获取数据保存的参数
function
getExtendedData
(
processAction
)
{
//回退、打回、转交时,不需要验证必填项是否已经填写;
if
(
processAction
==
ProcessAction
.
BACK
||
processAction
==
ProcessAction
.
REPLENISH
||
processAction
==
ProcessAction
.
TRANSMIT
)
{
//不验证
$
(
'#submitForm'
).
attr
(
'check'
,
false
);
}
var
extendedData
=
{};
var
_grid
=
UICtrl
.
getGridManager
(
'#grid'
);
if
(
_grid
)
{
var
datas
=
DataUtil
.
getGridData
({
gridManager
:
_grid
,
isAllData
:
true
});
if
(
!
datas
)
{
return
false
;
}
extendedData
.
wmItems
=
Public
.
encodeJSONURI
(
datas
);
}
return
extendedData
;
}
function
getId
()
{
return
$
(
'#id'
).
val
();
}
function
setId
(
value
)
{
$
(
"#id"
).
val
(
value
);
var
_grid
=
UICtrl
.
getGridManager
(
'#grid'
);
_grid
.
options
.
parms
.
inventoryRecordId
=
value
;
}
function
reloadGrid
()
{
gridManager
.
loadData
();
}
function
getGridData
(){
var
_grid
=
UICtrl
.
getGridManager
(
'#grid'
);
var
datas
=
DataUtil
.
getGridData
({
gridManager
:
_grid
,
isAllData
:
true
});
return
datas
;
}
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/wm/inventoryRecordWmDetail.jsp
0 → 100644
View file @
e7240e6d
<%--采购申请--%>
<%@ 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,dateTime,combox,attachment,commonTree,comboDialog"
/>
<x:script
src=
"/biz/topsun/sap/inventoryRecord/wm/inventoryRecordWmDetail.js"
/>
</head>
<body>
<div
class=
"container-fluid"
>
<x:billTitle
title=
"WM盘点结果审批"
needStatus=
"true"
needPerson=
"true"
/>
<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"
/>
<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=
"ztype"
/>
<div
id=
"grid"
></div>
</form>
</div>
</body>
\ No newline at end of file
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/wm/inventoryRecordWmList.js
0 → 100644
View file @
e7240e6d
var
gridManager
=
null
;
$
(
document
).
ready
(
function
()
{
initUI
();
initGrid
();
}
);
function
initUI
()
{
UICtrl
.
initDefaultLayout
();
}
function
initGrid
()
{
var
toolbarOptions
=
UICtrl
.
getDefaultToolbarOptions
({
});
gridManager
=
UICtrl
.
grid
(
'#grid'
,
{
columns
:
[
{
display
:
"状态"
,
name
:
"statusTextView"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"id"
,
name
:
"id"
,
width
:
"140"
,
align
:
"left"
,
type
:
"string"
,
hide
:
true
},
{
display
:
"BPM单据号"
,
name
:
"billCode"
,
width
:
150
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
},
{
display
:
"仓库号"
,
name
:
"lgnum"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
},
{
display
:
"仓库描述"
,
name
:
"lnumt"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
},
{
display
:
"盘点记录号"
,
name
:
"ivnum"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"重新盘点版本"
,
name
:
"nvers"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"项目号"
,
name
:
"ivpos"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"仓位"
,
name
:
"lgpla"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"物料"
,
name
:
"matnr"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,
//去掉前导0
render
:
function
(
item
)
{
return
item
.
matnr
.
replace
(
/^0+/
,
""
);
}
},
{
display
:
"物料描述"
,
name
:
"maktx"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"批次"
,
name
:
"charg"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"工厂"
,
name
:
"werks"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"工厂名称"
,
name
:
"name1"
,
width
:
"200"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"存储地点"
,
name
:
"lgort"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"存储地点名称"
,
name
:
"lgobe"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"库存类别"
,
name
:
"bestq"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"特殊库存标识"
,
name
:
"sobkz"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"特殊库存编号"
,
name
:
"sonum"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点数量"
,
name
:
"menga"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点数量单位"
,
name
:
"msehl"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"账面数量"
,
name
:
"gesme"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"差异"
,
name
:
"abwei"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"价值差额"
,
name
:
"dwert"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
},
{
display
:
"货币"
,
name
:
"ktext"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"盘点完成日期"
,
name
:
"idatu"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
,},
{
display
:
"创建人"
,
name
:
"personMemberName"
,
width
:
"100"
,
align
:
"left"
,
type
:
"string"
,},
{
display
:
"消息类型"
,
name
:
"type"
,
width
:
100
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
},
{
display
:
"消息文本"
,
name
:
"message"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"center"
},
{
display
:
"创建日期"
,
name
:
"fillinDate"
,
width
:
140
,
minWidth
:
60
,
type
:
"date"
,
align
:
"center"
},
],
dataAction
:
'server'
,
url
:
web_app
.
name
+
'/inventoryRecord/slicedInventoryRecordWmList.ajax?'
,
toolbar
:
toolbarOptions
,
width
:
'99.8%'
,
height
:
'100%'
,
pageSize
:
20
,
heightDiff
:
-
4
,
sortName
:
'fillinDate'
,
sortOrder
:
'desc'
,
checkbox
:
true
,
usePager
:
true
,
rownumbers
:
true
,
enabledEdit
:
false
,
fixedCellHeight
:
true
,
selectRowButtonOnly
:
true
,
enableObjectBag
:
true
,
onDblClickRow
:
function
(
data
,
rowindex
,
rowobj
)
{
viewHandler
(
data
.
id
);
},
}
);
UICtrl
.
setSearchAreaToggle
(
gridManager
);
}
/**
* 查看详情
* @param id 采购申请id
* @returns {boolean}
*/
function
viewHandler
(
id
)
{
if
(
!
id
)
{
var
row
=
DataUtil
.
getSelectedRow
(
gridManager
);
if
(
!
row
)
{
return
row
;
}
id
=
row
.
id
;
}
UICtrl
.
addTabItem
({
tabid
:
'viewInventoryRecord'
+
id
,
text
:
'查看库存盘点'
,
url
:
web_app
.
name
+
'/inventoryRecord/showInventoryRecordDetail.job?isReadOnly=true&bizId='
+
id
});
}
function
reloadGrid
()
{
var
params
=
$
(
"#queryMainForm"
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
params
);
}
function
query
(
obj
)
{
var
param
=
$
(
obj
).
formToJSON
();
UICtrl
.
gridSearch
(
gridManager
,
param
);
}
function
resetForm
(
obj
)
{
$
(
obj
).
formClean
();
}
topsun-xt/src/main/webapp/biz/topsun/sap/inventoryRecord/wm/inventoryRecordWmList.jsp
0 → 100644
View file @
e7240e6d
<%@ 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,dateTime,combox,attachment,commonTree,comboDialog"
/>
<script
src=
'
<c:url
value=
"/lib/jquery/jquery.comboDialog.js"
/>
'
type=
"text/javascript"
></script>
<script
src=
'
<c:url
value=
"/lib/jquery/jquery.commonTree.js"
/>
'
type=
"text/javascript"
></script>
<script
src=
'
<c:url
value=
"/lib/jquery/jquery.flexField.js"
/>
'
type=
"text/javascript"
></script>
<script
src=
'
<c:url
value=
"/biz/topsun/sap/inventoryRecord/wm/inventoryRecordWmList.js"
/>
'
type=
"text/javascript"
></script>
</head>
<body>
<div
class=
"container-fluid"
>
<div
id=
"layout"
>
<div
position=
"center"
title=
""
>
<x:title
title=
"搜索"
hideTable=
"queryMainForm"
/>
<form
class=
"hg-form ui-show"
method=
"post"
action=
""
id=
"queryMainForm"
>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"billCode"
label=
"单据编号"
labelCol=
"1"
/>
<x:inputC
name=
"lnumt"
label=
"仓库描述"
labelCol=
"1"
/>
<x:inputC
name=
"ivnum"
label=
"盘点记录号"
labelCol=
"1"
/>
<x:inputC
name=
"charg"
label=
"批次编号"
labelCol=
"1"
/>
</div>
<div
class=
"hg-form-row"
>
<x:inputC
name=
"name1"
label=
"工厂名称"
labelCol=
"1"
/>
<x:inputC
name=
"lgobe"
label=
"存储地点名称"
labelCol=
"1"
/>
<x:inputC
name=
"matnr"
label=
"物料"
labelCol=
"1"
/>
<x:inputC
name=
"maktx"
label=
"物料描述"
labelCol=
"1"
/>
</div>
<div
class=
"hg-form-row"
>
<x:checkboxListC
name=
"statusKind"
label=
"common.field.status"
list=
"statusKindsList"
labelCol=
"1"
fieldCol=
"3"
/>
</div>
<x:searchButtons/>
</form>
<div
id=
"grid"
style=
"margin:2px;"
></div>
</div>
</div>
</div>
</body>
</html>
topsun-xt/src/main/webapp/biz/topsun/sap/nonProdApply/nonProdApplyNext.js
View file @
e7240e6d
...
@@ -38,14 +38,6 @@ function initializate() {
...
@@ -38,14 +38,6 @@ function initializate() {
initMRP
(
data
.
value
);
initMRP
(
data
.
value
);
initbstmi
(
data
.
value
);
initbstmi
(
data
.
value
);
initueetk
(
data
.
value
);
initueetk
(
data
.
value
);
//物料主数据的创建,修改 物料类型为:ZGKL(客供料),字段mrp控制者(DISPO),改为默认并且只能是105
if
(
data
.
value
==
"ZKGL"
){
$
(
"#dispo"
).
val
(
"105"
);
//MRP控制者
$
(
"#dispo_text"
).
val
(
"105-客供料"
);
//MRP控制者
}
else
{
$
(
"#dispo"
).
val
(
""
);
//MRP控制者
$
(
"#dispo_text"
).
val
(
""
);
//MRP控制者
}
}
}
});
});
...
@@ -151,6 +143,7 @@ function initializate() {
...
@@ -151,6 +143,7 @@ function initializate() {
}
}
}
}
showAllBusiness
();
showAllBusiness
();
initMRP
(
$
(
"#mtart"
).
val
());
}
else
{
}
else
{
$
(
"input[name='businessUsage']"
).
each
(
function
(){
$
(
"input[name='businessUsage']"
).
each
(
function
(){
$
(
this
).
attr
(
"checked"
,
false
);
$
(
this
).
attr
(
"checked"
,
false
);
...
@@ -193,8 +186,8 @@ function initializate() {
...
@@ -193,8 +186,8 @@ function initializate() {
//BPM不能修改产成品、半成品、设备类的产品名称、物料组、单位、规格
//BPM不能修改产成品、半成品、设备类的产品名称、物料组、单位、规格
if
(
mtart
==
"ZBCP"
||
mtart
==
"ZZCP"
||
mtart
==
"ZSHB"
){
if
(
mtart
==
"ZBCP"
||
mtart
==
"ZZCP"
||
mtart
==
"ZSHB"
){
//
UICtrl.disable("#matklTypeName");
UICtrl
.
disable
(
"#matklTypeName"
);
//
UICtrl.disable("#matklName");
UICtrl
.
disable
(
"#matklName"
);
// UICtrl.disable("#groes");
// UICtrl.disable("#groes");
// UICtrl.disable("#spartName");
// UICtrl.disable("#spartName");
// UICtrl.disable("#meinsName");
// UICtrl.disable("#meinsName");
...
@@ -252,6 +245,21 @@ function initMRP(mtart){
...
@@ -252,6 +245,21 @@ function initMRP(mtart){
UICtrl
.
setElRequiredFlag
(
"#beskz"
,
true
);
UICtrl
.
setElRequiredFlag
(
"#beskz"
,
true
);
UICtrl
.
enable
(
"#beskz"
);
UICtrl
.
enable
(
"#beskz"
);
}
}
//物料主数据的创建,修改 物料类型为:ZGKL(客供料),字段mrp控制者(DISPO),改为默认并且只能是105
if
(
mtart
==
"ZKGL"
){
$
(
"#dispo"
).
val
(
"105"
);
//MRP控制者
$
(
"#dispo_text"
).
val
(
"105-客供料"
);
//MRP控制者
}
else
if
(
mtart
==
"ZBCP"
||
mtart
==
"ZZCP"
){
$
(
"#dispo"
).
val
(
"106"
);
//MRP控制者
$
(
"#dispo_text"
).
val
(
"106-半成品"
);
//MRP控制者
}
else
if
(
mtart
==
"ZSHB"
){
$
(
"#dispo"
).
val
(
"107"
);
//MRP控制者
$
(
"#dispo_text"
).
val
(
"107-自制设备"
);
//MRP控制者
}
else
{
$
(
"#dispo"
).
val
(
""
);
//MRP控制者
$
(
"#dispo_text"
).
val
(
""
);
//MRP控制者
}
}
}
function
initbstmi
(
mtart
){
function
initbstmi
(
mtart
){
...
@@ -322,6 +330,7 @@ function showBusiness(busiCode) {
...
@@ -322,6 +330,7 @@ function showBusiness(busiCode) {
UICtrl
.
setElRequiredFlag
(
"#dismm"
,
true
);
UICtrl
.
setElRequiredFlag
(
"#dismm"
,
true
);
UICtrl
.
setElRequiredFlag
(
"#werksName"
,
true
);
UICtrl
.
setElRequiredFlag
(
"#werksName"
,
true
);
UICtrl
.
setElRequiredFlag
(
"#mtvfp"
,
true
);
UICtrl
.
setElRequiredFlag
(
"#mtvfp"
,
true
);
initMRP
(
$
(
"#mtart"
).
val
());
}
}
if
(
busiCode
==
"A"
)
{
//生产
if
(
busiCode
==
"A"
)
{
//生产
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/processOutsource/processOutsourceDetail.js
View file @
e7240e6d
...
@@ -124,7 +124,7 @@ function loadOrderItemGrid() {
...
@@ -124,7 +124,7 @@ function loadOrderItemGrid() {
onAfterEdit
:
function
(
item
)
{
onAfterEdit
:
function
(
item
)
{
if
(
item
.
column
.
name
==
"lifnrName"
){
if
(
item
.
column
.
name
==
"lifnrName"
){
Public
.
ajax
(
web_app
.
name
+
"/processQuotedPrice/findPriceByProductAndProcess.ajax?"
+
Public
.
ajax
(
web_app
.
name
+
"/processQuotedPrice/findPriceByProductAndProcess.ajax?"
+
"productCode="
+
item
.
record
.
productCode
+
"productCode="
+
item
.
record
.
productCode
.
replace
(
/^0+/
,
''
)
+
"&outProcess="
+
item
.
record
.
wempf
+
"&outProcess="
+
item
.
record
.
wempf
+
"&number="
+
getMengs
(
item
.
record
)
+
"&number="
+
getMengs
(
item
.
record
)
+
"&lifnr="
+
item
.
record
.
lifnr
,
"&lifnr="
+
item
.
record
.
lifnr
,
...
@@ -243,6 +243,9 @@ function getOrderColumns(){
...
@@ -243,6 +243,9 @@ function getOrderColumns(){
},);
},);
columns
.
push
({
columns
.
push
({
display
:
"产品编码"
,
name
:
"productCode"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
display
:
"产品编码"
,
name
:
"productCode"
,
width
:
140
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
render
:
function
(
item
){
return
item
.
productCode
.
replace
(
/^0+/
,
''
);
}
},);
},);
columns
.
push
({
columns
.
push
({
display
:
"产品名称"
,
name
:
"productName"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
display
:
"产品名称"
,
name
:
"productName"
,
width
:
200
,
minWidth
:
60
,
type
:
"string"
,
align
:
"left"
,
...
@@ -373,7 +376,7 @@ function getOrderColumns(){
...
@@ -373,7 +376,7 @@ function getOrderColumns(){
name
:
"selectQuotedSuppliers"
,
name
:
"selectQuotedSuppliers"
,
getParam
:
function
(
item
)
{
getParam
:
function
(
item
)
{
return
{
return
{
productCode
:
item
.
productCode
,
productCode
:
item
.
productCode
.
replace
(
/^0+/
,
''
)
,
outProcess
:
item
.
wempf
outProcess
:
item
.
wempf
}
}
},
},
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/processOutsource/showAddAufnrDetail.js
View file @
e7240e6d
...
@@ -27,6 +27,9 @@ function initGrid() {
...
@@ -27,6 +27,9 @@ function initGrid() {
},
},
{
{
display
:
"产品编码"
,
name
:
"PLNBEZ"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
,
display
:
"产品编码"
,
name
:
"PLNBEZ"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
,
render
:
function
(
item
){
return
item
.
PLNBEZ
.
replace
(
/^0+/
,
''
);
}
},
},
{
{
display
:
"产品名称"
,
name
:
"MAKTX"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
,
display
:
"产品名称"
,
name
:
"MAKTX"
,
width
:
"300"
,
align
:
"left"
,
type
:
"string"
,
...
...
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/application/InventoryRecordApplication.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
application
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecord
;
import
com.huigou.topsun.sap.inventoryRecord.domain.query.InventoryRecordQueryRequest
;
import
com.huigou.topsun.sap.inventoryRecord.domain.vo.InventoryRecordVo
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:23
*/
public
interface
InventoryRecordApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/inventoryRecord/inventoryRecord.xml"
;
String
PROCESS_DEFINITION_KEY
=
"sapInventoryRecordProc"
;
Map
<
String
,
Object
>
slicedInventoryRecordWmList
(
InventoryRecordQueryRequest
queryRequest
);
Map
<
String
,
Object
>
slicedInventoryRecordImList
(
InventoryRecordQueryRequest
queryRequest
);
InventoryRecord
loadInventoryRecord
(
String
id
);
String
saveInventoryRecordVo
(
List
<
InventoryRecordVo
>
inventoryRecordVos
);
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/application/InventoryRecordItemImApplication.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
application
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecordItemIm
;
import
com.huigou.topsun.sap.inventoryRecord.domain.query.InventoryRecordQueryRequest
;
import
com.huigou.topsun.sap.inventoryRecord.domain.vo.InventoryRecordVo
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:31
*/
public
interface
InventoryRecordItemImApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/inventoryRecord/inventoryRecord.xml"
;
void
saveInventoryRecordItemIms
(
String
InventoryRecordId
,
List
<
InventoryRecordItemIm
>
InventoryRecordItems
);
Map
<
String
,
Object
>
queryInventoryRecordItemIms
(
InventoryRecordQueryRequest
queryRequest
);
List
<
InventoryRecordItemIm
>
queryInventoryRecordItemIms
(
String
InventoryRecordId
);
void
saveInventoryRecordImVo
(
List
<
InventoryRecordVo
>
inventoryRecordVos
,
String
inventoryRecordId
);
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/application/InventoryRecordItemWmApplication.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
application
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecordItemWm
;
import
com.huigou.topsun.sap.inventoryRecord.domain.query.InventoryRecordQueryRequest
;
import
com.huigou.topsun.sap.inventoryRecord.domain.vo.InventoryRecordVo
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:31
*/
public
interface
InventoryRecordItemWmApplication
{
public
static
final
String
QUERY_XML_FILE_PATH
=
"config/topsun/sap/inventoryRecord/inventoryRecord.xml"
;
void
saveInventoryRecordItemWms
(
String
InventoryRecordId
,
List
<
InventoryRecordItemWm
>
InventoryRecordItems
);
Map
<
String
,
Object
>
queryInventoryRecordItemWms
(
InventoryRecordQueryRequest
queryRequest
);
List
<
InventoryRecordItemWm
>
queryInventoryRecordItemWms
(
String
InventoryRecordId
);
void
saveInventoryRecordWmVo
(
List
<
InventoryRecordVo
>
inventoryRecordVos
,
String
inventoryRecordId
);
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/application/impl/InventoryRecordApplicationImpl.java
0 → 100644
View file @
e7240e6d
This diff is collapsed.
Click to expand it.
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/application/impl/InventoryRecordItemImApplicationImpl.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
application
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.sap.inventoryRecord.application.InventoryRecordItemImApplication
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecordItemIm
;
import
com.huigou.topsun.sap.inventoryRecord.domain.query.InventoryRecordQueryRequest
;
import
com.huigou.topsun.sap.inventoryRecord.domain.vo.InventoryRecordVo
;
import
com.huigou.topsun.sap.inventoryRecord.repository.InventoryRecordItemImRepository
;
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.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:38
*/
@Service
(
"inventoryRecordItemImApplication"
)
public
class
InventoryRecordItemImApplicationImpl
extends
BaseApplication
implements
InventoryRecordItemImApplication
{
@Autowired
private
InventoryRecordItemImRepository
inventoryRecordItemImRepository
;
@Override
public
void
saveInventoryRecordItemIms
(
String
inventoryRecordId
,
List
<
InventoryRecordItemIm
>
inventoryRecordItemIms
)
{
inventoryRecordItemIms
.
forEach
(
inventoryRecordItemIm
->
{
inventoryRecordItemIm
.
setInventoryRecordId
(
inventoryRecordId
);
inventoryRecordItemImRepository
.
save
(
inventoryRecordItemIm
);
});
}
@Override
public
Map
<
String
,
Object
>
queryInventoryRecordItemIms
(
InventoryRecordQueryRequest
queryRequest
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
StringUtil
.
isNotBlank
(
queryRequest
.
getInventoryRecordId
())){
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"inventoryRecordItemIms"
);
QueryModel
queryModel
=
this
.
sqlExecutorDao
.
getQueryModel
(
queryDescriptor
,
queryRequest
);
map
=
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryModel
);
}
return
map
;
}
@Override
public
List
<
InventoryRecordItemIm
>
queryInventoryRecordItemIms
(
String
inventoryRecordId
)
{
return
inventoryRecordItemImRepository
.
findByInventoryRecordId
(
inventoryRecordId
);
}
@Override
public
void
saveInventoryRecordImVo
(
List
<
InventoryRecordVo
>
inventoryRecordVos
,
String
inventoryRecordId
)
{
List
<
InventoryRecordItemIm
>
inventoryRecordItemIms
=
new
ArrayList
<>();
for
(
InventoryRecordVo
inventoryRecordVo
:
inventoryRecordVos
)
{
InventoryRecordItemIm
inventoryRecordItemIm
=
new
InventoryRecordItemIm
();
BeanUtil
.
copyProperties
(
inventoryRecordVo
,
inventoryRecordItemIm
);
inventoryRecordItemIm
.
setInventoryRecordId
(
inventoryRecordId
);
inventoryRecordItemIms
.
add
(
inventoryRecordItemIm
);
}
inventoryRecordItemImRepository
.
save
(
inventoryRecordItemIms
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/application/impl/InventoryRecordItemWmApplicationImpl.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
application
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.sap.inventoryRecord.application.InventoryRecordItemWmApplication
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecordItemWm
;
import
com.huigou.topsun.sap.inventoryRecord.domain.query.InventoryRecordQueryRequest
;
import
com.huigou.topsun.sap.inventoryRecord.domain.vo.InventoryRecordVo
;
import
com.huigou.topsun.sap.inventoryRecord.repository.InventoryRecordItemWmRepository
;
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.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:38
*/
@Service
(
"inventoryRecordItemWmApplication"
)
public
class
InventoryRecordItemWmApplicationImpl
extends
BaseApplication
implements
InventoryRecordItemWmApplication
{
@Autowired
private
InventoryRecordItemWmRepository
inventoryRecordItemWmRepository
;
@Override
public
void
saveInventoryRecordItemWms
(
String
inventoryRecordId
,
List
<
InventoryRecordItemWm
>
inventoryRecordItemWms
)
{
inventoryRecordItemWms
.
forEach
(
inventoryRecordItemWm
->
{
inventoryRecordItemWm
.
setInventoryRecordId
(
inventoryRecordId
);
inventoryRecordItemWmRepository
.
save
(
inventoryRecordItemWm
);
});
}
@Override
public
Map
<
String
,
Object
>
queryInventoryRecordItemWms
(
InventoryRecordQueryRequest
queryRequest
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
StringUtil
.
isNotBlank
(
queryRequest
.
getInventoryRecordId
())){
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"inventoryRecordItemWms"
);
QueryModel
queryModel
=
this
.
sqlExecutorDao
.
getQueryModel
(
queryDescriptor
,
queryRequest
);
map
=
this
.
sqlExecutorDao
.
executeSlicedQuery
(
queryModel
);
}
return
map
;
}
@Override
public
List
<
InventoryRecordItemWm
>
queryInventoryRecordItemWms
(
String
inventoryRecordId
)
{
return
inventoryRecordItemWmRepository
.
findByInventoryRecordId
(
inventoryRecordId
);
}
@Override
public
void
saveInventoryRecordWmVo
(
List
<
InventoryRecordVo
>
inventoryRecordVos
,
String
inventoryRecordId
)
{
List
<
InventoryRecordItemWm
>
inventoryRecordItemWms
=
new
ArrayList
<>();
for
(
InventoryRecordVo
inventoryRecordVo
:
inventoryRecordVos
)
{
InventoryRecordItemWm
inventoryRecordItemWm
=
new
InventoryRecordItemWm
();
BeanUtil
.
copyProperties
(
inventoryRecordVo
,
inventoryRecordItemWm
);
inventoryRecordItemWm
.
setInventoryRecordId
(
inventoryRecordId
);
inventoryRecordItemWms
.
add
(
inventoryRecordItemWm
);
}
inventoryRecordItemWmRepository
.
save
(
inventoryRecordItemWms
);
}
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/controller/InventoryRecordController.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
controller
;
import
com.huigou.topsun.common.BillStatus
;
import
com.huigou.topsun.sap.inventoryRecord.application.InventoryRecordApplication
;
import
com.huigou.topsun.sap.inventoryRecord.application.InventoryRecordItemImApplication
;
import
com.huigou.topsun.sap.inventoryRecord.application.InventoryRecordItemWmApplication
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecord
;
import
com.huigou.topsun.sap.inventoryRecord.domain.query.InventoryRecordQueryRequest
;
import
com.huigou.topsun.sap.inventoryRecord.domain.vo.InventoryRecordVo
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.annotation.SkipAuth
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.util.JSONUtil
;
import
com.huigou.util.SDO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1711:50
*/
@Controller
@ControllerMapping
(
"/inventoryRecord"
)
public
class
InventoryRecordController
extends
CommonController
{
private
final
static
Logger
LOG
=
LoggerFactory
.
getLogger
(
InventoryRecordController
.
class
);
@Override
protected
String
getPagePath
()
{
return
"/biz/topsun/sap/inventoryRecord/"
;
}
@Autowired
private
InventoryRecordApplication
inventoryRecordApplication
;
@Autowired
private
InventoryRecordItemWmApplication
inventoryRecordItemWmApplication
;
@Autowired
private
InventoryRecordItemImApplication
inventoryRecordItemImApplication
;
@SkipAuth
@RequestMapping
(
value
=
"/getInventoryRecord"
)
@ResponseBody
private
HashMap
<
String
,
Object
>
getInventoryRecord
(
@RequestBody
List
<
InventoryRecordVo
>
inventoryRecordVos
){
HashMap
<
String
,
Object
>
messageMap
=
new
HashMap
<>();
messageMap
.
put
(
"CODE"
,
"S"
);
messageMap
.
put
(
"MSG"
,
"成功"
);
messageMap
.
put
(
"DATA"
,
""
);
LOG
.
info
(
"库存盘点数据=={}"
,
JSONUtil
.
toString
(
inventoryRecordVos
));
String
billCode
=
""
;
try
{
if
(
ObjectUtils
.
isEmpty
(
inventoryRecordVos
)){
messageMap
.
put
(
"CODE"
,
"E"
);
messageMap
.
put
(
"MSG"
,
"未接收到数据,请检查"
);
messageMap
.
put
(
"DATA"
,
""
);
}
else
{
billCode
=
this
.
inventoryRecordApplication
.
saveInventoryRecordVo
(
inventoryRecordVos
);
}
}
catch
(
RuntimeException
e
){
messageMap
.
put
(
"CODE"
,
"E"
);
messageMap
.
put
(
"MSG"
,
e
.
getMessage
());
messageMap
.
put
(
"DATA"
,
""
);
}
messageMap
.
put
(
"ZBPMID"
,
billCode
);
return
messageMap
;
}
public
String
forwardInventoryRecordWmList
(){
this
.
putAttribute
(
"statusKindsList"
,
BillStatus
.
getValidMap
());
this
.
putAttribute
(
"loginId"
,
this
.
getOperator
().
getPersonMemberId
());
return
forward
(
"wm/inventoryRecordWmList"
);
}
public
String
forwardInventoryRecordImList
(){
this
.
putAttribute
(
"statusKindsList"
,
BillStatus
.
getValidMap
());
this
.
putAttribute
(
"loginId"
,
this
.
getOperator
().
getPersonMemberId
());
return
forward
(
"im/inventoryRecordImList"
);
}
public
String
slicedInventoryRecordWmList
(){
SDO
sdo
=
this
.
getSDO
();
InventoryRecordQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
InventoryRecordQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
inventoryRecordApplication
.
slicedInventoryRecordWmList
(
queryRequest
);
return
toResult
(
map
);
}
public
String
queryInventoryRecordWmByInventoryRecordId
(){
SDO
sdo
=
this
.
getSDO
();
String
inventoryRecordId
=
sdo
.
getString
(
"inventoryRecordId"
);
return
packGridDataAndResult
(
inventoryRecordItemWmApplication
.
queryInventoryRecordItemWms
(
inventoryRecordId
));
}
public
String
slicedInventoryRecordImList
(){
SDO
sdo
=
this
.
getSDO
();
InventoryRecordQueryRequest
queryRequest
=
sdo
.
toQueryRequest
(
InventoryRecordQueryRequest
.
class
);
Map
<
String
,
Object
>
map
=
inventoryRecordApplication
.
slicedInventoryRecordImList
(
queryRequest
);
return
toResult
(
map
);
}
public
String
queryInventoryRecordImByInventoryRecordId
(){
SDO
sdo
=
this
.
getSDO
();
String
inventoryRecordId
=
sdo
.
getString
(
"inventoryRecordId"
);
return
packGridDataAndResult
(
inventoryRecordItemImApplication
.
queryInventoryRecordItemIms
(
inventoryRecordId
));
}
public
String
showInventoryRecordDetail
(){
SDO
sdo
=
this
.
getSDO
();
String
id
=
sdo
.
getBizId
();
InventoryRecord
inventoryRecord
=
inventoryRecordApplication
.
loadInventoryRecord
(
id
);
switch
(
inventoryRecord
.
getZtype
()){
case
"IM"
:
return
forward
(
"im/inventoryRecordImDetail"
,
inventoryRecord
);
case
"WM"
:
return
forward
(
"wm/inventoryRecordWmDetail"
,
inventoryRecord
);
}
return
null
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/domain/InventoryRecord.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
domain
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.huigou.data.domain.model.FlowBillAbstractEntity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
/**
* @author xin.lu
* @Description: 库存盘点主表
* @date 2025/7/179:52
*/
@Entity
@Data
@Table
(
name
=
"sap_inventory_record"
)
public
class
InventoryRecord
extends
FlowBillAbstractEntity
{
@Column
(
name
=
"ZTYPE"
)
private
String
ztype
;
@Override
protected
String
getCodeRuleId
()
{
return
"inventoryRecord"
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/domain/InventoryRecordItemIm.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
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
;
/**
* IM库存盘点
*/
@Entity
@Data
@Table
(
name
=
"sap_inventory_record_item_im"
)
public
class
InventoryRecordItemIm
extends
AbstractEntity
{
@Column
(
name
=
"inventory_record_id"
)
private
String
inventoryRecordId
;
@Column
(
name
=
"IBLNR"
)
private
String
iblnr
;
// 库存盘点凭证
@Column
(
name
=
"GJAHR"
)
private
String
gjahr
;
// 会计年度
@Column
(
name
=
"ZEILI"
)
private
String
zeili
;
// 行号
@Column
(
name
=
"MATNR"
)
private
String
matnr
;
// 物料编号
@Column
(
name
=
"MAKTX"
)
private
String
maktx
;
//物料描述
@Column
(
name
=
"WERKS"
)
private
String
werks
;
// 工厂
//工厂名称
@Column
(
name
=
"name1"
)
private
String
name1
;
@Column
(
name
=
"LGORT"
)
private
String
lgort
;
// 存储地点
//存储地点名称
@Column
(
name
=
"lgobe"
)
private
String
lgobe
;
@Column
(
name
=
"CHARG"
)
private
String
charg
;
// 批次编号
@Column
(
name
=
"ZLDAT"
)
private
String
zldat
;
// 盘点日期
@Column
(
name
=
"BUCHM"
)
private
BigDecimal
buchm
;
// 账面数量
@Column
(
name
=
"ERFMG"
)
private
BigDecimal
erfmg
;
// 盘点数量
@Column
(
name
=
"DIFMG"
)
private
BigDecimal
difmg
;
// 差额数量
@Column
(
name
=
"MEINS"
)
private
String
meins
;
// 基本计量单位
//单位描述
@Column
(
name
=
"MSEHL"
)
private
String
msehl
;
@Column
(
name
=
"WRTZL"
)
private
BigDecimal
wrtzl
;
// 盘点金额
@Column
(
name
=
"WRTBM"
)
private
BigDecimal
wrtbm
;
// 账面金额
@Column
(
name
=
"DMBTR"
)
private
BigDecimal
dmbtr
;
// 本币差额
@Column
(
name
=
"WAERS"
)
private
String
waers
;
// 货币码
//货币描述
@Column
(
name
=
"ktext"
)
private
String
ktext
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/domain/InventoryRecordItemWm.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
domain
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
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
;
/**
* WM库存盘点
*/
@Entity
@Data
@Table
(
name
=
"sap_inventory_record_item_wm"
)
public
class
InventoryRecordItemWm
extends
AbstractEntity
{
@Column
(
name
=
"inventory_record_id"
)
private
String
inventoryRecordId
;
// 仓库号
@Column
(
name
=
"lgnum"
)
private
String
lgnum
;
@Column
(
name
=
"lnumt"
)
private
String
lnumt
;
// 盘点记录号
@Column
(
name
=
"ivnum"
)
private
String
ivnum
;
// 重新盘点版本
@Column
(
name
=
"nvers"
)
private
String
nvers
;
// 项目号
@Column
(
name
=
"ivpos"
)
private
String
ivpos
;
// 仓位
@Column
(
name
=
"lgpla"
)
private
String
lgpla
;
// 物料
@Column
(
name
=
"matnr"
)
private
String
matnr
;
// 物料描述
@Column
(
name
=
"MAKTX"
)
private
String
maktx
;
// 批次
@Column
(
name
=
"charg"
)
private
String
charg
;
// 工厂
@Column
(
name
=
"werks"
)
private
String
werks
;
//工厂名称
@Column
(
name
=
"name1"
)
private
String
name1
;
// 存储地点
@Column
(
name
=
"lgort"
)
private
String
lgort
;
//存储地点名称
@Column
(
name
=
"lgobe"
)
private
String
lgobe
;
// 库存类别
@Column
(
name
=
"bestq"
)
private
String
bestq
;
// 特殊库存标识
@Column
(
name
=
"sobkz"
)
private
String
sobkz
;
// 特殊库存编号
@Column
(
name
=
"sonum"
)
private
String
sonum
;
// 盘点数量
@Column
(
name
=
"menga"
)
private
BigDecimal
menga
;
// 盘点数量单位
@Column
(
name
=
"altme"
)
private
String
altme
;
//单位描述
@Column
(
name
=
"MSEHL"
)
private
String
msehl
;
// 账面数量
@Column
(
name
=
"gesme"
)
private
BigDecimal
gesme
;
// 差异
@Column
(
name
=
"abwei"
)
private
String
abwei
;
// 价值差额
@Column
(
name
=
"dwert"
)
private
BigDecimal
dwert
;
// 货币
@Column
(
name
=
"waers"
)
private
String
waers
;
//货币描述
@Column
(
name
=
"ktext"
)
private
String
ktext
;
// 盘点完成日期
@Column
(
name
=
"idatu"
)
private
String
idatu
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/domain/query/InventoryRecordQueryRequest.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
domain
.
query
;
import
com.huigou.data.domain.query.QueryAbstractRequest
;
import
lombok.Data
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:29
*/
@Data
public
class
InventoryRecordQueryRequest
extends
QueryAbstractRequest
{
//公共条件
private
String
billCode
;
private
String
inventoryRecordId
;
private
String
ztype
;
private
String
name1
;
private
String
lgobe
;
private
String
matnr
;
private
String
maktx
;
private
String
charg
;
//IM查询条件
private
String
iblnr
;
private
String
gjahr
;
//WM查询条件
private
String
lnumt
;
private
String
ivnum
;
private
String
nvers
;
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/domain/vo/InventoryRecordVo.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
domain
.
vo
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1810:29
*/
@Data
public
class
InventoryRecordVo
implements
Serializable
{
@JsonProperty
(
"ZTYPE"
)
private
String
ztype
;
@JsonProperty
(
"LGNUM"
)
private
String
lgnum
;
@JsonProperty
(
"LNUMT"
)
private
String
lnumt
;
@JsonProperty
(
"IVNUM"
)
private
String
ivnum
;
@JsonProperty
(
"NVERS"
)
private
String
nvers
;
@JsonProperty
(
"IVPOS"
)
private
String
ivpos
;
@JsonProperty
(
"LGPLA"
)
private
String
lgpla
;
@JsonProperty
(
"MATNR"
)
private
String
matnr
;
@JsonProperty
(
"MAKTX"
)
private
String
maktx
;
@JsonProperty
(
"CHARG"
)
private
String
charg
;
@JsonProperty
(
"WERKS"
)
private
String
werks
;
@JsonProperty
(
"NAME1"
)
private
String
name1
;
@JsonProperty
(
"LGORT"
)
private
String
lgort
;
@JsonProperty
(
"LGOBE"
)
private
String
lgobe
;
@JsonProperty
(
"BESTQ"
)
private
String
bestq
;
@JsonProperty
(
"SOBKZ"
)
private
String
sobkz
;
@JsonProperty
(
"SONUM"
)
private
String
sonum
;
@JsonProperty
(
"MENGA"
)
private
BigDecimal
menga
;
@JsonProperty
(
"ALTME"
)
private
String
altme
;
@JsonProperty
(
"MSEHL"
)
private
String
msehl
;
@JsonProperty
(
"GESME"
)
private
BigDecimal
gesme
;
@JsonProperty
(
"ABWEI"
)
private
String
abwei
;
@JsonProperty
(
"DWERT"
)
private
BigDecimal
dwert
;
@JsonProperty
(
"WAERS"
)
private
String
waers
;
@JsonProperty
(
"KTEXT"
)
private
String
ktext
;
@JsonProperty
(
"IDATU"
)
private
String
idatu
;
@JsonProperty
(
"ZBPMID"
)
private
String
zbpmid
;
@JsonProperty
(
"ZSP"
)
private
String
zsp
;
@JsonProperty
(
"ZTSZT"
)
private
String
ztszt
;
@JsonProperty
(
"UNAME"
)
private
String
uname
;
@JsonProperty
(
"IBLNR"
)
private
String
iblnr
;
// 库存盘点凭证
@JsonProperty
(
"GJAHR"
)
private
String
gjahr
;
// 会计年度
@JsonProperty
(
"ZEILI"
)
private
String
zeili
;
// 行号
@JsonProperty
(
"ZLDAT"
)
private
String
zldat
;
// 盘点日期
@JsonProperty
(
"BUCHM"
)
private
BigDecimal
buchm
;
// 账面数量
@JsonProperty
(
"ERFMG"
)
private
BigDecimal
erfmg
;
// 盘点数量
@JsonProperty
(
"DIFMG"
)
private
BigDecimal
difmg
;
// 差额数量
@JsonProperty
(
"MEINS"
)
private
String
meins
;
// 基本计量单位
@JsonProperty
(
"WRTZL"
)
private
BigDecimal
wrtzl
;
// 盘点金额
@JsonProperty
(
"WRTBM"
)
private
BigDecimal
wrtbm
;
// 账面金额
@JsonProperty
(
"DMBTR"
)
private
BigDecimal
dmbtr
;
// 本币差额
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/repository/InventoryRecordItemImRepository.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
repository
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecordItemIm
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:20
*/
public
interface
InventoryRecordItemImRepository
extends
JpaRepository
<
InventoryRecordItemIm
,
String
>
{
List
<
InventoryRecordItemIm
>
findByInventoryRecordId
(
String
inventoryRecordId
);
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/repository/InventoryRecordItemWmRepository.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
repository
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecordItemWm
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:21
*/
public
interface
InventoryRecordItemWmRepository
extends
JpaRepository
<
InventoryRecordItemWm
,
String
>
{
List
<
InventoryRecordItemWm
>
findByInventoryRecordId
(
String
inventoryRecordId
);
}
topsun/src/main/java/com/huigou/topsun/sap/inventoryRecord/repository/InventoryRecordRepository.java
0 → 100644
View file @
e7240e6d
package
com
.
huigou
.
topsun
.
sap
.
inventoryRecord
.
repository
;
import
com.huigou.topsun.sap.inventoryRecord.domain.InventoryRecord
;
import
org.springframework.data.jpa.repository.JpaRepository
;
/**
* @author xin.lu
* @Description: TODO
* @date 2025/7/1710:20
*/
public
interface
InventoryRecordRepository
extends
JpaRepository
<
InventoryRecord
,
String
>
{
}
topsun/src/main/resources/config/bpm/topsun/sap/inventoryRecord/inventoryRecordProc.bpmn
0 → 100644
View file @
e7240e6d
<?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=
"sapInventoryRecordProc"
name=
"库存盘点"
isExecutable=
"true"
>
<extensionElements>
<activiti:executionListener
event=
"start"
delegateExpression=
"#{inventoryRecordApplication}"
></activiti:executionListener>
<activiti:executionListener
event=
"end"
delegateExpression=
"#{inventoryRecordApplication}"
></activiti:executionListener>
</extensionElements>
<startEvent
id=
"startevent1"
name=
"Start"
></startEvent>
<endEvent
id=
"endevent1"
name=
"End"
></endEvent>
<userTask
id=
"Apply"
name=
"库存盘点"
activiti:formKey=
"inventoryRecord/showInventoryRecordDetail.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{inventoryRecordApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{inventoryRecordApplication}"
></activiti:taskListener>
</extensionElements>
</userTask>
<userTask
id=
"Approve"
name=
"库存盘点审批"
activiti:assignee=
"${assignee} "
activiti:formKey=
"inventoryRecord/showInventoryRecordDetail.job"
>
<extensionElements>
<activiti:taskListener
event=
"all"
delegateExpression=
"#{inventoryRecordApplication}"
></activiti:taskListener>
<activiti:taskListener
event=
"saveBizData"
delegateExpression=
"#{inventoryRecordApplication}"
></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_sapInventoryRecordProc"
>
<bpmndi:BPMNPlane
bpmnElement=
"sapInventoryRecordProc"
id=
"BPMNPlane_sapInventoryRecordProc"
>
<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/content/easysearch/easy-search-suppliers.xml
View file @
e7240e6d
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
</sql>
</sql>
<field
name=
"供应商编码"
title=
"供应商编码"
code=
"supplier"
width=
"100"
/>
<field
name=
"供应商编码"
title=
"供应商编码"
code=
"supplier"
width=
"100"
/>
<field
name=
"供应商名称"
title=
"供应商名称"
code=
"supplierName"
width=
"200"
/>
<field
name=
"供应商名称"
title=
"供应商名称"
code=
"supplierName"
width=
"200"
/>
<condition
column=
"product_code"
name=
"productCode"
symbol=
"
=
"
alias=
"pi"
/>
<condition
column=
"product_code"
name=
"productCode"
symbol=
"
like
"
alias=
"pi"
/>
<condition
column=
"out_process"
name=
"outProcess"
symbol=
"="
alias=
"pi"
/>
<condition
column=
"out_process"
name=
"outProcess"
symbol=
"="
alias=
"pi"
/>
</easy-search>
</easy-search>
...
...
topsun/src/main/resources/config/topsun/sap/inventoryRecord/inventoryRecord.xml
0 → 100644
View file @
e7240e6d
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query
name=
"inventoryRecordWmList"
label=
"库存盘点"
table=
"sap_inventory_record"
>
<sql-query>
SELECT t.id,
t.bill_code,
t.fillin_date,
t.status,
t.full_id,
t.person_member_name,
t.ZTYPE,
wm.lgnum,
wm.ivpos,
wm.lgpla,
wm.matnr,
wm.charg,
wm.werks,
wm.lgort,
wm.bestq,
wm.sobkz,
wm.sonum,
wm.menga,
wm.altme,
wm.gesme,
wm.abwei,
wm.dwert,
wm.waers,
wm.idatu,
wm.ivnum,
wm.nvers,
wm.lnumt,
wm.name1,
wm.lgobe,
wm.ktext,
wm.msehl,
wm.maktx
FROM sap_inventory_record_item_wm wm
left join sap_inventory_record t on t.id = wm.inventory_record_id WHERE t.ztype = 'WM'
</sql-query>
<condition
column=
"bill_code"
name=
"billCode"
type=
"java.lang.String"
symbol=
"like"
alias=
"p"
/>
<condition
column=
"status"
name=
"statusKind"
type=
"java.lang.Integer"
symbol=
"in"
alias=
"p"
/>
<condition
column=
"fillin_date"
name=
"fillinBeginDate"
type=
"java.util.Date"
symbol=
">="
alias=
"p"
/>
<condition
column=
"fillin_date"
name=
"fillinEndDate"
type=
"java.util.Date"
symbol=
"<="
alias=
"p"
/>
<condition
column=
"ztype"
name=
"ztype"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
<condition
column=
"lnumt"
name=
"lnumt"
type=
"java.lang.String"
symbol=
"like"
alias=
"wm"
/>
<condition
column=
"ivnum"
name=
"ivnum"
type=
"java.lang.String"
symbol=
"like"
alias=
"wm"
/>
<condition
column=
"nvers"
name=
"nvers"
type=
"java.lang.String"
symbol=
"like"
alias=
"wm"
/>
<condition
column=
"name1"
name=
"name1"
type=
"java.lang.String"
symbol=
"like"
alias=
"wm"
/>
<condition
column=
"lgobe"
name=
"lgobe"
type=
"java.lang.String"
symbol=
"like"
alias=
"wm"
/>
<condition
column=
"matnr"
name=
"matnr"
type=
"java.lang.String"
symbol=
"like"
alias=
"wm"
/>
<condition
column=
"maktx"
name=
"maktx"
type=
"java.lang.String"
symbol=
"like"
alias=
"wm"
/>
</query>
<query
name=
"inventoryRecordImList"
label=
"库存盘点"
table=
"sap_inventory_record"
>
<sql-query>
SELECT t.id,
t.bill_code,
t.fillin_date,
t.status,
t.full_id,
t.person_member_name,
t.ZTYPE,
im.zeili,
im.matnr,
im.werks,
im.lgort,
im.charg,
im.zldat,
im.buchm,
im.erfmg,
im.difmg,
im.meins,
im.wrtzl,
im.wrtbm,
im.dmbtr,
im.waers,
im.iblnr,
im.gjahr,
im.name1,
im.lgobe,
im.ktext,
im.msehl,
im.maktx
FROM sap_inventory_record_item_im im
left join sap_inventory_record t on t.id = im.inventory_record_id WHERE t.ztype = 'IM'
</sql-query>
<condition
column=
"bill_code"
name=
"billCode"
type=
"java.lang.String"
symbol=
"like"
alias=
"p"
/>
<condition
column=
"status"
name=
"statusKind"
type=
"java.lang.Integer"
symbol=
"in"
alias=
"p"
/>
<condition
column=
"fillin_date"
name=
"fillinBeginDate"
type=
"java.util.Date"
symbol=
">="
alias=
"p"
/>
<condition
column=
"fillin_date"
name=
"fillinEndDate"
type=
"java.util.Date"
symbol=
"<="
alias=
"p"
/>
<condition
column=
"ztype"
name=
"ztype"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
<condition
column=
"name1"
name=
"name1"
type=
"java.lang.String"
symbol=
"like"
alias=
"im"
/>
<condition
column=
"lgobe"
name=
"lgobe"
type=
"java.lang.String"
symbol=
"like"
alias=
"im"
/>
<condition
column=
"matnr"
name=
"matnr"
type=
"java.lang.String"
symbol=
"like"
alias=
"im"
/>
<condition
column=
"maktx"
name=
"maktx"
type=
"java.lang.String"
symbol=
"like"
alias=
"im"
/>
<condition
column=
"iblnr"
name=
"iblnr"
type=
"java.lang.String"
symbol=
"like"
alias=
"im"
/>
<condition
column=
"gjahr"
name=
"gjahr"
type=
"java.lang.String"
symbol=
"like"
alias=
"im"
/>
<condition
column=
"charg"
name=
"charg"
type=
"java.lang.String"
symbol=
"like"
alias=
"im"
/>
</query>
<query
name=
"inventoryRecordItemIms"
>
<sql-query>
SELECT t.* FROM sap_inventory_record_item_im t WHERE 1 =1
</sql-query>
<condition
column=
"inventory_record_id"
name=
"inventoryRecordId"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
</query>
<query
name=
"inventoryRecordItemWms"
>
<sql-query>
SELECT t.* FROM sap_inventory_record_item_wm t WHERE 1 =1
</sql-query>
<condition
column=
"inventory_record_id"
name=
"inventoryRecordId"
type=
"java.lang.String"
symbol=
"="
alias=
"t"
/>
</query>
</query-mappings>
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