Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
1f628d75
Commit
1f628d75
authored
Apr 30, 2019
by
天门溪水
Committed by
季圣华
Apr 30, 2019
Browse files
!53 添加仓库默认及商品明细时默认显示仓库,会员、客户快捷添加方式
Merge pull request !53 from 天门溪水/master
parents
40acd004
ad44bdd3
Changes
20
Hide whitespace changes
Inline
Side-by-side
erp_web/js/pages/materials/in_out.js
View file @
1f628d75
//初始化界面
var
defDepotId
=
null
;
var
kid
=
sessionStorage
.
getItem
(
"
userId
"
);
var
pageType
=
getUrlParam
(
'
t
'
);
//获取页面类型传值
var
depotList
=
null
;
...
...
@@ -53,7 +54,7 @@
initMProperty
();
//初始化商品属性
initTableData
();
ininPager
();
initForm
();
initForm
();
bindEvent
();
//绑定操作事件
});
//根据单据名称获取类型
...
...
@@ -74,8 +75,8 @@
amountNum
=
"
CGDD
"
;
}
else
if
(
listTitle
===
"
采购入库列表
"
){
listType
=
"
入库
"
;
listSubType
=
"
采购
"
;
listType
=
"
入库
"
;
listSubType
=
"
采购
"
;
payTypeTitle
=
"
付款
"
;
organUrl
=
supUrl
;
amountNum
=
"
CGRK
"
;
...
...
@@ -88,15 +89,15 @@
amountNum
=
"
LSTH
"
;
}
else
if
(
listTitle
===
"
销售退货列表
"
){
listType
=
"
入库
"
;
listSubType
=
"
销售退货
"
;
listType
=
"
入库
"
;
listSubType
=
"
销售退货
"
;
payTypeTitle
=
"
付款
"
;
organUrl
=
cusUrl
;
amountNum
=
"
XSTH
"
;
}
else
if
(
listTitle
===
"
其它入库列表
"
){
listType
=
"
入库
"
;
listSubType
=
"
其它
"
;
listType
=
"
入库
"
;
listSubType
=
"
其它
"
;
payTypeTitle
=
"
隐藏
"
;
organUrl
=
supUrl
;
amountNum
=
"
QTRK
"
;
...
...
@@ -116,29 +117,29 @@
amountNum
=
"
XSDD
"
;
}
else
if
(
listTitle
===
"
销售出库列表
"
){
listType
=
"
出库
"
;
listSubType
=
"
销售
"
;
listType
=
"
出库
"
;
listSubType
=
"
销售
"
;
payTypeTitle
=
"
收款
"
;
organUrl
=
cusUrl
;
amountNum
=
"
XSCK
"
;
}
else
if
(
listTitle
===
"
采购退货列表
"
){
listType
=
"
出库
"
;
listType
=
"
出库
"
;
listSubType
=
"
采购退货
"
;
payTypeTitle
=
"
收款
"
;
organUrl
=
supUrl
;
amountNum
=
"
CGTH
"
;
}
else
if
(
listTitle
===
"
其它出库列表
"
){
listType
=
"
出库
"
;
listSubType
=
"
其它
"
;
listType
=
"
出库
"
;
listSubType
=
"
其它
"
;
payTypeTitle
=
"
隐藏
"
;
organUrl
=
cusUrl
;
amountNum
=
"
QTCK
"
;
}
else
if
(
listTitle
===
"
调拨出库列表
"
){
listType
=
"
出库
"
;
listSubType
=
"
调拨
"
;
listType
=
"
出库
"
;
listSubType
=
"
调拨
"
;
payTypeTitle
=
"
隐藏
"
;
organUrl
=
supUrl
;
amountNum
=
"
DBCK
"
;
...
...
@@ -178,12 +179,12 @@
userBusinessList
=
null
;
}
}
});
});
}
//初始化页面选项卡
function
initSelectInfo_UB
(){
if
(
userBusinessList
!=
null
)
{
if
(
userBusinessList
.
length
>
0
)
...
...
@@ -193,8 +194,8 @@
}
}
}
//初始化系统基础信息
function
initSystemData_depot
(){
$
.
ajax
({
...
...
@@ -211,24 +212,27 @@
return
;
}
}
});
});
}
//初始化页面选项卡
function
initSelectInfo_depot
(){
var
options
=
""
;
if
(
depotList
!=
null
)
{
options
=
""
;
for
(
var
i
=
0
;
i
<
depotList
.
length
;
i
++
)
{
var
depot
=
depotList
[
i
];
if
(
userdepot
!=
null
)
{
if
(
userdepot
.
indexOf
(
"
[
"
+
depot
.
id
+
"
]
"
)
!=-
1
)
{
options
+=
'
<option value="
'
+
depot
.
id
+
'
">
'
+
depot
.
name
+
'
</option>
'
;
if
(
depot
.
isdefault
){
defDepotId
=
depot
.
id
;
}
options
+=
'
<option value="
'
+
depot
.
id
+
'
">
'
+
depot
.
name
+
'
</option>
'
;
depotString
=
depotString
+
depot
.
id
+
"
,
"
;
}
}
...
...
@@ -238,16 +242,16 @@
}
depotString
=
depotString
.
substring
(
1
,
depotString
.
length
-
1
);
$
(
"
#ProjectId
"
).
empty
().
append
(
options
);
$
(
"
#AllocationProjectId
"
).
empty
().
append
(
options
);
$
(
"
#AllocationProjectId
"
).
empty
().
append
(
options
);
$
(
"
#searchProjectId
"
).
empty
().
append
(
'
<option value="">全部</option>
'
).
append
(
options
);
}
}
//初始化供应商、客户、散户信息
function
initSupplier
(){
$
(
'
#OrganId
'
).
combobox
({
url
:
organUrl
,
valueField
:
'
id
'
,
valueField
:
'
id
'
,
textField
:
'
supplier
'
,
filter
:
function
(
q
,
row
){
var
opts
=
$
(
this
).
combobox
(
'
options
'
);
...
...
@@ -297,7 +301,7 @@
});
}
}
});
});
}
//初始化销售人员
...
...
@@ -364,7 +368,7 @@
}
});
}
//初始化系统基础信息
function
initSystemData_person
(){
$
.
ajax
({
...
...
@@ -380,12 +384,12 @@
}
}
}
});
});
}
//初始化页面选项卡
function
initSelectInfo_person
(){
var
options1
=
""
;
if
(
personList
!=
null
)
{
for
(
var
i
=
0
;
i
<
personList
.
length
;
i
++
)
...
...
@@ -398,7 +402,7 @@
if
(
person
.
type
==
"
仓管员
"
)
{
options1
+=
'
<option value="
'
+
person
.
id
+
'
">
'
+
person
.
name
+
'
</option>
'
;
}
}
}
$
(
"
#HandsPersonId
"
).
empty
().
append
(
options1
);
}
...
...
@@ -418,11 +422,11 @@
}
}
}
});
});
}
//获取账户信息
function
initSelectInfo_account
(){
var
options
=
""
;
var
options
=
""
;
if
(
accountList
!=
null
){
options
=
"
<option value=''>(空)</option>
"
;
options
+=
"
<option value='many' class='many' data-manyAmount=''>多账户</option>
"
;
...
...
@@ -432,11 +436,11 @@
if
(
account
.
isdefault
)
{
defaultAccountId
=
account
.
id
;
//给账户赋值默认id
}
}
}
$
(
"
#AccountId
"
).
empty
().
append
(
options
);
}
}
//防止表单提交重复
function
initForm
(){
$
(
'
#depotHeadFM
'
).
form
({
...
...
@@ -445,7 +449,7 @@
}
});
}
//初始化表格数据
function
initTableData
(){
if
(
pageType
===
"
skip
"
)
{
...
...
@@ -616,7 +620,7 @@
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
}
});
}
...
...
@@ -1112,7 +1116,7 @@
iconCls
:
'
icon-undo
'
,
handler
:
function
()
{
reject
();
//撤销
reject
();
//撤销
}
}
],
...
...
@@ -1120,7 +1124,7 @@
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
}
});
$
.
ajax
({
type
:
"
get
"
,
...
...
@@ -1164,8 +1168,8 @@
$
.
messager
.
alert
(
'
查询提示
'
,
'
查询数据后台异常,请稍后再试!
'
,
'
error
'
);
}
});
}
}
//初始化表格数据-商品列表-查看状态
function
initTableData_material_show
(
TotalPrice
){
var
isShowAnotherDepot
=
true
;
//显示对方仓库,true为隐藏,false为显示
...
...
@@ -1221,7 +1225,7 @@
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
}
});
$
.
ajax
({
type
:
"
get
"
,
...
...
@@ -1256,28 +1260,28 @@
function
ininPager
(){
try
{
var
opts
=
$
(
"
#tableData
"
).
datagrid
(
'
options
'
);
var
pager
=
$
(
"
#tableData
"
).
datagrid
(
'
getPager
'
);
pager
.
pagination
({
var
opts
=
$
(
"
#tableData
"
).
datagrid
(
'
options
'
);
var
pager
=
$
(
"
#tableData
"
).
datagrid
(
'
getPager
'
);
pager
.
pagination
({
onSelectPage
:
function
(
pageNum
,
pageSize
)
{
opts
.
pageNumber
=
pageNum
;
opts
.
pageSize
=
pageSize
;
{
opts
.
pageNumber
=
pageNum
;
opts
.
pageSize
=
pageSize
;
pager
.
pagination
(
'
refresh
'
,
{
pageNumber
:
pageNum
,
pageSize
:
pageSize
});
{
pageNumber
:
pageNum
,
pageSize
:
pageSize
});
showDepotHeadDetails
(
pageNum
,
pageSize
);
}
});
}
});
}
catch
(
e
)
catch
(
e
)
{
$
.
messager
.
alert
(
'
异常处理提示
'
,
"
分页信息异常 :
"
+
e
.
name
+
"
:
"
+
e
.
message
,
'
error
'
);
}
}
//删除单据信息
function
deleteDepotHead
(
depotHeadID
,
thisOrganId
,
totalPrice
,
status
){
if
(
status
==
"
1
"
||
status
==
"
2
"
)
{
...
...
@@ -1349,11 +1353,11 @@
//批量删除单据信息
function
batDeleteDepotHead
(){
var
row
=
$
(
'
#tableData
'
).
datagrid
(
'
getChecked
'
);
var
row
=
$
(
'
#tableData
'
).
datagrid
(
'
getChecked
'
);
if
(
row
.
length
==
0
)
{
$
.
messager
.
alert
(
'
删除提示
'
,
'
没有记录被选中!
'
,
'
info
'
);
return
;
$
.
messager
.
alert
(
'
删除提示
'
,
'
没有记录被选中!
'
,
'
info
'
);
return
;
}
if
(
row
.
length
>
0
)
{
...
...
@@ -1575,7 +1579,7 @@
var
addTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#depotHeadDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加
'
+
addTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
orgDepotHead
=
""
;
depotHeadID
=
0
;
initTableData_material
(
"
add
"
);
//商品列表
...
...
@@ -1583,6 +1587,13 @@
$
(
"
#addOrgan
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
(){
$
(
'
#supplierDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加供应商信息
'
);
});
$
(
"
#addMember
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
(){
$
(
'
#supplierDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加会员信息
'
);
});
$
(
"
#addCustomer
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
(){
$
(
'
#supplierDlg
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加客户信息
'
);
});
url
=
'
/depotHead/addDepotHeadAndDetail
'
;
//零售单据修改收款时,自动计算找零
...
...
@@ -1627,7 +1638,7 @@
}
});
}
}
}
//编辑信息
function
editDepotHead
(
depotHeadTotalInfo
,
status
){
...
...
@@ -1735,7 +1746,7 @@
var
itemMoneyArr
=
depotHeadInfo
[
26
].
split
(
"
,
"
);
$
(
"
#OtherMoney
"
).
attr
(
"
data-itemArr
"
,
JSON
.
stringify
(
itemArr
)).
attr
(
"
data-itemMoneyArr
"
,
JSON
.
stringify
(
itemMoneyArr
));
//json数据存储
}
initTableData_material
(
"
edit
"
,
TotalPrice
);
//商品列表
reject
();
//撤销下、刷新商品列表
if
(
pageType
===
"
skip
"
)
{
...
...
@@ -1746,7 +1757,7 @@
url
=
'
/depotHead/updateDepotHeadAndDetail?id=
'
+
depotHeadInfo
[
0
];
//更新接口
}
}
//查看信息
function
showDepotHead
(
depotHeadTotalInfo
){
var
depotHeadInfo
=
depotHeadTotalInfo
.
split
(
"
AaBb
"
);
...
...
@@ -1812,7 +1823,7 @@
var
showTitle
=
listTitle
.
replace
(
"
列表
"
,
"
信息
"
);
$
(
'
#depotHeadDlgShow
'
).
dialog
(
'
open
'
).
dialog
(
'
setTitle
'
,
'
<img src="/js/easyui-1.3.5/themes/icons/list.png"/> 查看
'
+
showTitle
);
$
(
"
.window-mask
"
).
css
({
width
:
webW
,
height
:
webH
});
depotHeadID
=
depotHeadInfo
[
0
];
initTableData_material_show
(
TotalPrice
);
//商品列表-查看状态
...
...
@@ -1862,7 +1873,7 @@
}
}
}
//绑定操作事件
function
bindEvent
(){
showDepotHeadDetails
(
1
,
initPageSize
);
//初始化时自动查询
...
...
@@ -2569,7 +2580,13 @@
$
(
"
#otherMoneyTotalDlg
"
).
text
(
$
(
"
#OtherMoney
"
).
val
());
});
if
(
listTitle
===
"
采购入库列表
"
||
listTitle
===
"
其它入库列表
"
||
listTitle
===
"
采购订单列表
"
){
if
(
listTitle
===
"
采购入库列表
"
||
listTitle
===
"
其它入库列表
"
||
listTitle
===
"
采购订单列表
"
||
listTitle
===
"
零售出库列表
"
||
listTitle
===
"
销售出库列表
"
||
listTitle
===
"
销售订单列表
"
){
var
supplierType
=
"
供应商
"
;
if
(
listTitle
===
"
零售出库列表
"
){
supplierType
=
"
会员
"
;
}
else
if
(
listTitle
===
"
销售出库列表
"
||
listTitle
===
"
销售订单列表
"
){
supplierType
=
"
客户
"
;
}
//检查单位名称是否存在 ++ 重名无法提示问题需要跟进
function
checkSupplierName
()
{
var
supplierName
=
$
.
trim
(
$
(
"
#supplier
"
).
val
());
...
...
@@ -2608,6 +2625,7 @@
}
return
flag
;
}
//保存供应商信息
$
(
"
#saveSupplier
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
()
{
if
(
checkSupplierName
()){
...
...
@@ -2629,7 +2647,7 @@
}
var
url
=
'
/supplier/add
'
;
var
supObj
=
$
(
"
#supplierFM
"
).
serializeObject
();
supObj
.
type
=
"
供应商
"
;
supObj
.
type
=
supplierType
;
supObj
.
enabled
=
1
;
$
.
ajax
({
url
:
url
,
...
...
@@ -2706,7 +2724,7 @@
}
});
}
//自动计算事件
function
autoReckon
()
{
//延时绑定事件
...
...
@@ -2892,8 +2910,8 @@
}
},
500
);
}
//结束编辑
//结束编辑
function
endEditing
()
{
if
(
editIndex
==
undefined
)
{
return
true
}
if
(
$
(
'
#materialData
'
).
datagrid
(
'
validateRow
'
,
editIndex
))
{
...
...
@@ -2927,7 +2945,7 @@
//新增
function
append
(){
if
(
endEditing
())
{
$
(
'
#materialData
'
).
datagrid
(
'
appendRow
'
,
{});
$
(
'
#materialData
'
).
datagrid
(
'
appendRow
'
,
{
DepotId
:
defDepotId
});
editIndex
=
$
(
'
#materialData
'
).
datagrid
(
'
getRows
'
).
length
-
1
;
$
(
'
#materialData
'
).
datagrid
(
'
selectRow
'
,
editIndex
).
datagrid
(
'
beginEdit
'
,
editIndex
);
autoReckon
();
...
...
@@ -3000,7 +3018,7 @@
}
if
(
totalRowNum
!=
""
)
{
var
totalRowNum
=
totalRowNum
.
substring
(
0
,
totalRowNum
.
length
-
1
);
$
.
messager
.
alert
(
'
提示
'
,
"
第
"
+
totalRowNum
+
"
行数据填写不完整!
"
,
'
info
'
);
$
.
messager
.
alert
(
'
提示
'
,
"
第
"
+
totalRowNum
+
"
行数据填写不完整!
"
,
'
info
'
);
return
false
;
}
return
true
;
...
...
@@ -3056,7 +3074,7 @@
}
}
});
if
(
depotHeadMax
!=
null
)
{
depotHeadMaxId
=
depotHeadMax
;
}
...
...
erp_web/pages/manage/depot.html
View file @
1f628d75
...
...
@@ -182,7 +182,19 @@
{
title
:
'
搬运费
'
,
field
:
'
truckage
'
,
width
:
60
},
{
title
:
'
负责人
'
,
field
:
'
principalName
'
,
width
:
60
},
{
title
:
'
排序
'
,
field
:
'
sort
'
,
width
:
60
},
{
title
:
'
是否默认
'
,
field
:
'
isdefault
'
,
width
:
100
,
align
:
"
center
"
,
formatter
:
function
(
value
,
rec
)
{
if
(
rec
.
isdefault
)
{
return
"
<b style='color:green'>是</b>
"
;
}
else
{
return
"
否
"
;
}
}
},
{
title
:
'
描述
'
,
field
:
'
remark
'
,
width
:
120
}
]],
toolbar
:
[
{
...
...
@@ -200,6 +212,14 @@
handler
:
function
()
{
batDeleteDepot
();
}
},
{
id
:
'
setDepotIsDefault
'
,
text
:
'
设为默认
'
,
iconCls
:
'
icon-ok
'
,
handler
:
function
()
{
setDepotIsDefault
();
}
}
],
onLoadError
:
function
()
{
...
...
@@ -286,7 +306,53 @@
}
});
}
//设为默认操作事件
function
setDepotIsDefault
()
{
var
allRow
=
$
(
'
#tableData
'
).
datagrid
(
'
getRows
'
);
var
row
=
$
(
'
#tableData
'
).
datagrid
(
'
getChecked
'
);
if
(
row
.
length
==
0
)
{
$
.
messager
.
alert
(
'
设置提示
'
,
'
没有记录被选中!
'
,
'
info
'
);
return
;
}
if
(
row
.
length
>
0
)
{
function
setDefault
(
depotID
,
isDefault
)
{
$
.
ajax
({
type
:
"
post
"
,
url
:
"
/depot/updateDepotIsDefault
"
,
dataType
:
"
json
"
,
async
:
false
,
data
:
({
depotID
:
depotID
,
isDefault
:
isDefault
}),
success
:
function
(
res
)
{
if
(
res
==
"
true
"
&&
isDefault
)
{
}
},
//此处添加错误处理
error
:
function
()
{
$
.
messager
.
alert
(
'
提示
'
,
'
设为默认账户异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
if
(
row
.
length
==
1
)
{
setDefault
(
row
[
0
].
id
,
true
);
//设置默认
for
(
var
i
=
0
;
i
<
allRow
.
length
;
i
++
)
{
if
(
allRow
[
i
].
id
!=
row
[
0
].
id
)
{
setDefault
(
allRow
[
i
].
id
,
false
);
}
}
setTimeout
(
function
()
{
$
(
"
#searchBtn
"
).
click
();
},
1000
);
}
return
;
}
}
//批量删除仓库
function
batDeleteDepot
()
{
var
row
=
$
(
'
#tableData
'
).
datagrid
(
'
getChecked
'
);
...
...
@@ -565,4 +631,4 @@
});
</script>
</body>
</html>
\ No newline at end of file
</html>
erp_web/pages/materials/retail_out_list.html
View file @
1f628d75
...
...
@@ -63,7 +63,13 @@
<tr>
<td
style=
"width:60px;height:50px;"
>
会员卡号:
</td>
<td
style=
"padding:5px;width:200px;"
>
<div
class=
"org-list"
>
<input
id=
"OrganId"
name=
"OrganId"
style=
"width:130px;"
/>
</div>
<div
class=
"add-org-btn"
>
<img
id=
"addMember"
src=
"/js/easyui-1.3.5/themes/icons/edit_add.png"
style=
"cursor: pointer;"
alt=
"增加会员"
title=
"增加会员"
/>
</div>
</td>
<td
style=
"width:70px;"
>
单据日期:
</td>
<td
style=
"padding:5px"
>
...
...
@@ -243,5 +249,107 @@
<a
href=
"javascript:void(0)"
id=
"saveDepotHeadAccountDlg"
class=
"easyui-linkbutton"
iconCls=
"icon-ok"
>
保存
</a>
<a
href=
"javascript:void(0)"
id=
"cancelDepotHeadAccountDlg"
class=
"easyui-linkbutton"
iconCls=
"icon-cancel"
>
取消
</a>
</div>
<div
id=
"supplierDlg"
class=
"easyui-dialog"
style=
"width:580px;padding:10px 20px"
closed=
"true"
buttons=
"#supplierDlgBtn"
modal=
"true"
collapsible=
"false"
closable=
"true"
>
<form
id=
"supplierFM"
>
<table>
<tr>
<td
style=
"width: 80px;height: 20px"
>
名称
</td>
<td
style=
"width: 180px;padding:1px"
>
<input
name=
"supplier"
id=
"supplier"
class=
"easyui-validatebox"
data-options=
"required:true,validType:'length[2,30]'"
style=
"width: 160px;height: 20px"
/>
</td>
<td
style=
"width: 60px;height: 20px"
>
联系人
</td>
<td
style=
"width:180px;padding:1px;"
>
<input
name=
"contacts"
id=
"contacts"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
联系电话
</td>
<td
style=
"padding:1px;"
>
<input
name=
"phonenum"
id=
"phonenum"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
手机
</td>
<td
style=
"padding:1px;"
>
<input
name=
"telephone"
id=
"telephone"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
电子邮箱
</td>
<td
style=
"padding:1px"
>
<input
name=
"email"
id=
"email"
class=
"easyui-validatebox"
validType=
"email"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
传真
</td>
<td
style=
"padding:1px"
>
<input
name=
"fax"
id=
"fax"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
期初应收
</td>
<td
style=
"padding:1px"
>
<input
name=
"BeginNeedGet"
id=
"BeginNeedGet"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
></input>
</td>
<td>
期初应付
</td>
<td
style=
"padding:1px"
>
<input
name=
"BeginNeedPay"
id=
"BeginNeedPay"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
></input>
</td>
</tr>
<tr>
<td>
累计应收
</td>
<td
style=
"padding:1px"
>
<input
name=
"AllNeedGet"
id=
"AllNeedGet"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
disabled=
"true"
></input>
</td>
<td>
累计应付
</td>
<td
style=
"padding:1px"
>
<input
name=
"AllNeedPay"
id=
"AllNeedPay"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
disabled=
"true"
></input>
</td>
</tr>
<tr>
<td>
纳税人识别号
</td>
<td
style=
"padding:1px"
>
<input
name=
"taxNum"
id=
"taxNum"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
税率
</td>
<td
style=
"padding:1px"
>
<input
name=
"taxRate"
id=
"taxRate"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
开户行
</td>
<td
style=
"padding:1px"
>
<input
name=
"bankName"
id=
"bankName"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
账号
</td>
<td
style=
"padding:1px"
>
<input
name=
"accountNumber"
id=
"accountNumber"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
地址
</td>
<td
style=
"padding:1px"
colspan=
"3"
>
<input
name=
"address"
id=
"address"
class=
"easyui-validatebox"
style=
"width: 408px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
备注
</td>
<td
style=
"padding:1px"
colspan=
"3"
>
<textarea
name=
"description"
id=
"description"
rows=
"2"
cols=
"2"
style=
"width: 408px;"
></textarea>
</td>
</tr>
</table>
</form>
</div>
<div
id=
"supplierDlgBtn"
>
<a
href=
"javascript:void(0)"
id=
"saveSupplier"
class=
"easyui-linkbutton"
iconCls=
"icon-ok"
>
保存
</a>
<a
href=
"javascript:void(0)"
id=
"cancelSupplier"
class=
"easyui-linkbutton"
iconCls=
"icon-cancel"
onclick=
"javascript:$('#supplierDlg').dialog('close')"
>
取消
</a>
</div>
</body>
</html>
\ No newline at end of file
</html>
erp_web/pages/materials/sale_orders_list.html
View file @
1f628d75
...
...
@@ -63,7 +63,13 @@
<tr>
<td
style=
"width:60px;"
>
客户:
</td>
<td
style=
"padding:5px"
>
<input
id=
"OrganId"
name=
"OrganId"
style=
"width:130px;"
/>
<div
class=
"org-list"
>
<input
id=
"OrganId"
name=
"OrganId"
style=
"width:130px;"
/>
</div>
<div
class=
"add-org-btn"
>
<img
id=
"addCustomer"
src=
"/js/easyui-1.3.5/themes/icons/edit_add.png"
style=
"cursor: pointer;"
alt=
"增加客戶"
title=
"增加客戶"
/>
</div>
</td>
<td
style=
"width:70px;"
>
单据日期:
</td>
<td
style=
"padding:5px"
>
...
...
@@ -195,6 +201,107 @@
<a
href=
"javascript:void(0)"
id=
"saveOtherMoneyDlg"
class=
"easyui-linkbutton"
iconCls=
"icon-ok"
>
保存
</a>
<a
href=
"javascript:void(0)"
id=
"cancelOtherMoneyDlg"
class=
"easyui-linkbutton"
iconCls=
"icon-cancel"
>
取消
</a>
</div>
<div
id=
"supplierDlg"
class=
"easyui-dialog"
style=
"width:580px;padding:10px 20px"
closed=
"true"
buttons=
"#supplierDlgBtn"
modal=
"true"
collapsible=
"false"
closable=
"true"
>
<form
id=
"supplierFM"
>
<table>
<tr>
<td
style=
"width: 80px;height: 20px"
>
名称
</td>
<td
style=
"width: 180px;padding:1px"
>
<input
name=
"supplier"
id=
"supplier"
class=
"easyui-validatebox"
data-options=
"required:true,validType:'length[2,30]'"
style=
"width: 160px;height: 20px"
/>
</td>
<td
style=
"width: 60px;height: 20px"
>
联系人
</td>
<td
style=
"width:180px;padding:1px;"
>
<input
name=
"contacts"
id=
"contacts"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
联系电话
</td>
<td
style=
"padding:1px;"
>
<input
name=
"phonenum"
id=
"phonenum"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
手机
</td>
<td
style=
"padding:1px;"
>
<input
name=
"telephone"
id=
"telephone"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
电子邮箱
</td>
<td
style=
"padding:1px"
>
<input
name=
"email"
id=
"email"
class=
"easyui-validatebox"
validType=
"email"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
传真
</td>
<td
style=
"padding:1px"
>
<input
name=
"fax"
id=
"fax"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
期初应收
</td>
<td
style=
"padding:1px"
>
<input
name=
"BeginNeedGet"
id=
"BeginNeedGet"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
></input>
</td>
<td>
期初应付
</td>
<td
style=
"padding:1px"
>
<input
name=
"BeginNeedPay"
id=
"BeginNeedPay"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
></input>
</td>
</tr>
<tr>
<td>
累计应收
</td>
<td
style=
"padding:1px"
>
<input
name=
"AllNeedGet"
id=
"AllNeedGet"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
disabled=
"true"
></input>
</td>
<td>
累计应付
</td>
<td
style=
"padding:1px"
>
<input
name=
"AllNeedPay"
id=
"AllNeedPay"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
disabled=
"true"
></input>
</td>
</tr>
<tr>
<td>
纳税人识别号
</td>
<td
style=
"padding:1px"
>
<input
name=
"taxNum"
id=
"taxNum"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
税率
</td>
<td
style=
"padding:1px"
>
<input
name=
"taxRate"
id=
"taxRate"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
开户行
</td>
<td
style=
"padding:1px"
>
<input
name=
"bankName"
id=
"bankName"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
账号
</td>
<td
style=
"padding:1px"
>
<input
name=
"accountNumber"
id=
"accountNumber"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
地址
</td>
<td
style=
"padding:1px"
colspan=
"3"
>
<input
name=
"address"
id=
"address"
class=
"easyui-validatebox"
style=
"width: 408px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
备注
</td>
<td
style=
"padding:1px"
colspan=
"3"
>
<textarea
name=
"description"
id=
"description"
rows=
"2"
cols=
"2"
style=
"width: 408px;"
></textarea>
</td>
</tr>
</table>
</form>
</div>
<div
id=
"supplierDlgBtn"
>
<a
href=
"javascript:void(0)"
id=
"saveSupplier"
class=
"easyui-linkbutton"
iconCls=
"icon-ok"
>
保存
</a>
<a
href=
"javascript:void(0)"
id=
"cancelSupplier"
class=
"easyui-linkbutton"
iconCls=
"icon-cancel"
onclick=
"javascript:$('#supplierDlg').dialog('close')"
>
取消
</a>
</div>
</body>
</html>
\ No newline at end of file
</html>
erp_web/pages/materials/sale_out_list.html
View file @
1f628d75
...
...
@@ -63,7 +63,13 @@
<tr>
<td
style=
"width:60px;"
>
客户:
</td>
<td
style=
"padding:5px"
>
<input
id=
"OrganId"
name=
"OrganId"
style=
"width:130px;"
/>
<div
class=
"org-list"
>
<input
id=
"OrganId"
name=
"OrganId"
style=
"width:130px;"
/>
</div>
<div
class=
"add-org-btn"
>
<img
id=
"addCustomer"
src=
"/js/easyui-1.3.5/themes/icons/edit_add.png"
style=
"cursor: pointer;"
alt=
"增加客戶"
title=
"增加客戶"
/>
</div>
</td>
<td
style=
"width:70px;"
>
单据日期:
</td>
<td
style=
"padding:5px"
>
...
...
@@ -276,6 +282,107 @@
<a
href=
"javascript:void(0)"
id=
"saveOtherMoneyDlg"
class=
"easyui-linkbutton"
iconCls=
"icon-ok"
>
保存
</a>
<a
href=
"javascript:void(0)"
id=
"cancelOtherMoneyDlg"
class=
"easyui-linkbutton"
iconCls=
"icon-cancel"
>
取消
</a>
</div>
<div
id=
"supplierDlg"
class=
"easyui-dialog"
style=
"width:580px;padding:10px 20px"
closed=
"true"
buttons=
"#supplierDlgBtn"
modal=
"true"
collapsible=
"false"
closable=
"true"
>
<form
id=
"supplierFM"
>
<table>
<tr>
<td
style=
"width: 80px;height: 20px"
>
名称
</td>
<td
style=
"width: 180px;padding:1px"
>
<input
name=
"supplier"
id=
"supplier"
class=
"easyui-validatebox"
data-options=
"required:true,validType:'length[2,30]'"
style=
"width: 160px;height: 20px"
/>
</td>
<td
style=
"width: 60px;height: 20px"
>
联系人
</td>
<td
style=
"width:180px;padding:1px;"
>
<input
name=
"contacts"
id=
"contacts"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
联系电话
</td>
<td
style=
"padding:1px;"
>
<input
name=
"phonenum"
id=
"phonenum"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
手机
</td>
<td
style=
"padding:1px;"
>
<input
name=
"telephone"
id=
"telephone"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
电子邮箱
</td>
<td
style=
"padding:1px"
>
<input
name=
"email"
id=
"email"
class=
"easyui-validatebox"
validType=
"email"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
传真
</td>
<td
style=
"padding:1px"
>
<input
name=
"fax"
id=
"fax"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
期初应收
</td>
<td
style=
"padding:1px"
>
<input
name=
"BeginNeedGet"
id=
"BeginNeedGet"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
></input>
</td>
<td>
期初应付
</td>
<td
style=
"padding:1px"
>
<input
name=
"BeginNeedPay"
id=
"BeginNeedPay"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
></input>
</td>
</tr>
<tr>
<td>
累计应收
</td>
<td
style=
"padding:1px"
>
<input
name=
"AllNeedGet"
id=
"AllNeedGet"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
disabled=
"true"
></input>
</td>
<td>
累计应付
</td>
<td
style=
"padding:1px"
>
<input
name=
"AllNeedPay"
id=
"AllNeedPay"
type=
"text"
class=
"easyui-numberbox"
data-options=
"min:0,precision:2"
style=
"width: 160px;height: 20px"
disabled=
"true"
></input>
</td>
</tr>
<tr>
<td>
纳税人识别号
</td>
<td
style=
"padding:1px"
>
<input
name=
"taxNum"
id=
"taxNum"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
税率
</td>
<td
style=
"padding:1px"
>
<input
name=
"taxRate"
id=
"taxRate"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
开户行
</td>
<td
style=
"padding:1px"
>
<input
name=
"bankName"
id=
"bankName"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
<td>
账号
</td>
<td
style=
"padding:1px"
>
<input
name=
"accountNumber"
id=
"accountNumber"
class=
"easyui-validatebox"
style=
"width: 160px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
地址
</td>
<td
style=
"padding:1px"
colspan=
"3"
>
<input
name=
"address"
id=
"address"
class=
"easyui-validatebox"
style=
"width: 408px;height: 20px"
/>
</td>
</tr>
<tr>
<td>
备注
</td>
<td
style=
"padding:1px"
colspan=
"3"
>
<textarea
name=
"description"
id=
"description"
rows=
"2"
cols=
"2"
style=
"width: 408px;"
></textarea>
</td>
</tr>
</table>
</form>
</div>
<div
id=
"supplierDlgBtn"
>
<a
href=
"javascript:void(0)"
id=
"saveSupplier"
class=
"easyui-linkbutton"
iconCls=
"icon-ok"
>
保存
</a>
<a
href=
"javascript:void(0)"
id=
"cancelSupplier"
class=
"easyui-linkbutton"
iconCls=
"icon-cancel"
onclick=
"javascript:$('#supplierDlg').dialog('close')"
>
取消
</a>
</div>
</body>
</html>
\ No newline at end of file
</html>
erp_web/pages/reports/account_report.html
View file @
1f628d75
...
...
@@ -39,6 +39,10 @@
<a
href=
"javascript:void(0)"
class=
"easyui-linkbutton"
iconCls=
"icon-print"
id=
"printBtn"
>
打印
</a>
</td>
<td>
</td>
<td>
当前总余额:
<span
class=
"first-total"
>
0
</span>
</td>
</tr>
</table>
</div>
...
...
@@ -182,6 +186,13 @@
if
(
res
&&
res
.
code
===
200
){
if
(
res
.
data
&&
res
.
data
.
page
)
{
$
(
"
#tableData
"
).
datagrid
(
'
loadData
'
,
res
.
data
.
page
);
var
total
=
0
;
res
.
data
.
page
.
rows
.
forEach
(
function
(
value
,
index
,
array
){
//执行某些操作
total
+=
value
.
currentamount
;
})
$
(
"
.first-total
"
).
text
(
total
);
//当前总余额
}
}
},
...
...
@@ -316,4 +327,4 @@
}
</script>
</body>
</html>
\ No newline at end of file
</html>
erp_web/pages/reports/stock_warning_report.html
0 → 100644
View file @
1f628d75
<!DOCTYPE html>
<html>
<head>
<title>
库存预警
</title>
<meta
charset=
"utf-8"
>
<!-- 指定以IE8的方式来渲染 -->
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=EmulateIE8"
/>
<link
rel=
"shortcut icon"
href=
"/images/favicon.ico"
type=
"image/x-icon"
/>
<script
type=
"text/javascript"
src=
"/js/jquery-1.8.0.min.js"
></script>
<script
type=
"text/javascript"
src=
"/js/print/print.js"
></script>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"/js/easyui-1.3.5/themes/default/easyui.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"/js/easyui-1.3.5/themes/icon.css"
/>
<link
type=
"text/css"
rel=
"stylesheet"
href=
"/css/common.css"
/>
<script
type=
"text/javascript"
src=
"/js/easyui-1.3.5/jquery.easyui.min.js"
></script>
<script
type=
"text/javascript"
src=
"/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"
></script>
<script
type=
"text/javascript"
src=
"/js/My97DatePicker/WdatePicker.js"
></script>
<script
type=
"text/javascript"
src=
"/js/common/common.js"
></script>
</head>
<body>
<!-- 查询 -->
<div
id=
"searchPanel"
class=
"easyui-panel"
style=
"padding:10px;"
title=
"查询窗口"
iconCls=
"icon-search"
collapsible=
"true"
closable=
"false"
>
<table
id=
"searchTable"
>
<tr>
<td>
仓库:
</td>
<td>
<select
name=
"searchProjectId"
id=
"searchProjectId"
style=
"width:80px;"
></select>
</td>
<td>
</td>
<td>
<a
href=
"javascript:void(0)"
class=
"easyui-linkbutton"
iconCls=
"icon-search"
id=
"searchBtn"
>
查询
</a>
<a
href=
"javascript:void(0)"
class=
"easyui-linkbutton"
iconCls=
"icon-redo"
id=
"exprotBtn"
>
导出
</a>
<a
href=
"javascript:void(0)"
class=
"easyui-linkbutton"
iconCls=
"icon-print"
id=
"printBtn"
>
打印
</a>
<span
class=
"total-count"
></span>
</td>
</tr>
</table>
</div>
<!-- 数据显示table -->
<div
id=
"tablePanel"
class=
"easyui-panel"
style=
"padding:1px;top:300px;"
title=
"库存预警列表"
iconCls=
"icon-list"
collapsible=
"true"
closable=
"false"
>
<table
id=
"tableData"
style=
"top:300px;border-bottom-color:#FFFFFF"
></table>
</div>
<script
type=
"text/javascript"
>
var
depotList
=
null
;
var
depotID
=
null
;
var
mPropertyList
=
""
;
//商品属性列表
var
kid
=
sessionStorage
.
getItem
(
"
userId
"
);
//初始化界面
$
(
function
()
{
var
thisDate
=
getNowFormatMonth
();
//当前月份
var
userBusinessList
=
null
;
var
userdepot
=
null
;
initSystemData_UB
();
initSelectInfo_UB
();
initSystemData_depot
();
initSelectInfo_depot
();
initMProperty
();
//初始化商品属性
initTableData
();
ininPager
();
search
();
exportExcel
();
print
();
});
//导出EXCEL
function
exportExcel
()
{
$
(
"
#exprotBtn
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
()
{
if
(
!
$
(
"
#searchProjectId
"
).
val
())
{
$
.
messager
.
alert
(
'
导出提示
'
,
'
请先选择仓库再进行查询!
'
,
'
error
'
);
}
else
{
showEachDetails
(
1
,
3000
);
//此处直接去做get请求,用下面的查询每月统计的方法,去获取list,参数长度虽长,但还是可以用get
//window.location.href = "/depotItem/exportExcel.action?browserType=" + getOs();
}
});
}
//初始化系统基础信息
function
initSystemData_UB
()
{
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/userBusiness/getBasicData
"
,
data
:
({
KeyId
:
kid
,
Type
:
"
UserDepot
"
}),
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
.
data
)
{
userBusinessList
=
res
.
data
.
userBusinessList
;
}
}
else
{
userBusinessList
=
null
;
}
}
});
}
//初始化页面选项卡
function
initSelectInfo_UB
()
{
if
(
userBusinessList
!=
null
)
{
if
(
userBusinessList
.
length
>
0
)
{
//用户对应的仓库列表 [1][2][3]...
userdepot
=
userBusinessList
[
0
].
value
;
}
}
}
//初始化系统基础信息
function
initSystemData_depot
()
{
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/depot/getAllList
"
,
//设置为同步
async
:
false
,
dataType
:
"
json
"
,
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
)
{
depotList
=
res
.
data
;
}
}
});
}
//初始化页面选项卡
function
initSelectInfo_depot
()
{
var
options
=
""
;
if
(
depotList
!=
null
)
{
options
=
""
;
for
(
var
i
=
0
;
i
<
depotList
.
length
;
i
++
)
{
var
depot
=
depotList
[
i
];
if
(
userdepot
!=
null
)
{
if
(
userdepot
.
indexOf
(
"
[
"
+
depot
.
id
+
"
]
"
)
!=
-
1
)
{
options
+=
'
<option value="
'
+
depot
.
id
+
'
">
'
+
depot
.
name
+
'
</option>
'
;
}
}
}
$
(
"
#searchProjectId
"
).
empty
().
append
(
options
);
}
}
//初始化商品属性
function
initMProperty
()
{
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/materialProperty/list
"
,
dataType
:
"
json
"
,
data
:
({
search
:
JSON
.
stringify
({
name
:
""
}),
currentPage
:
1
,
pageSize
:
100
}),
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
){
var
thisRows
=
res
.
data
.
page
.
rows
;
for
(
var
i
=
0
;
i
<
thisRows
.
length
;
i
++
)
{
if
(
thisRows
[
i
].
enabled
)
{
mPropertyList
+=
thisRows
[
i
].
nativename
+
"
,
"
;
}
}
if
(
mPropertyList
)
{
mPropertyList
=
mPropertyList
.
substring
(
0
,
mPropertyList
.
length
-
1
);
}
}
},
//此处添加错误处理
error
:
function
()
{
$
.
messager
.
alert
(
'
查询提示
'
,
'
查询信息异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
//初始化表格数据
function
initTableData
()
{
$
(
'
#tableData
'
).
datagrid
({
height
:
heightInfo
,
nowrap
:
false
,
rownumbers
:
true
,
//动画效果
animate
:
false
,
//选中单行
singleSelect
:
true
,
pagination
:
true
,
//交替出现背景
striped
:
true
,
//loadFilter: pagerFilter,
pageSize
:
10
,
pageList
:
[
10
,
50
,
100
],
columns
:
[[
{
title
:
'
名称
'
,
field
:
'
materialName
'
,
width
:
60
},
{
title
:
'
型号
'
,
field
:
'
materialModel
'
,
width
:
80
},
{
title
:
'
扩展信息
'
,
field
:
'
materialOther
'
,
width
:
150
},
{
title
:
'
单位
'
,
field
:
'
materialUnit
'
,
width
:
80
},
{
title
:
'
入库数量
'
,
field
:
'
basicInNumber
'
,
width
:
80
},
{
title
:
'
出库数量
'
,
field
:
'
basicOutNumber
'
,
width
:
80
},
{
title
:
'
库存数量
'
,
field
:
'
basicNumber
'
,
width
:
80
},
{
title
:
'
安全库存量
'
,
field
:
'
safetystock
'
,
width
:
80
},
{
title
:
'
临界库存量
'
,
field
:
'
basicLinjieNumber
'
,
width
:
80
}
]],
onLoadError
:
function
()
{
$
.
messager
.
alert
(
'
页面加载提示
'
,
'
页面加载异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
//初始化键盘enter事件
$
(
document
).
keydown
(
function
(
event
)
{
//兼容 IE和firefox 事件
var
e
=
window
.
event
||
event
;
var
k
=
e
.
keyCode
||
e
.
which
||
e
.
charCode
;
//兼容 IE,firefox 兼容
var
obj
=
e
.
srcElement
?
e
.
srcElement
:
e
.
target
;
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
if
(
k
==
"
13
"
&&
(
obj
.
id
==
"
Type
"
||
obj
.
id
==
"
Name
"
))
{
$
(
"
#savePerson
"
).
click
();
}
//搜索按钮添加快捷键
if
(
k
==
"
13
"
&&
(
obj
.
id
==
"
searchType
"
))
{
$
(
"
#searchBtn
"
).
click
();
}
});
//分页信息处理
function
ininPager
()
{
try
{
var
opts
=
$
(
"
#tableData
"
).
datagrid
(
'
options
'
);
var
pager
=
$
(
"
#tableData
"
).
datagrid
(
'
getPager
'
);
pager
.
pagination
({
onSelectPage
:
function
(
pageNum
,
pageSize
)
{
opts
.
pageNumber
=
pageNum
;
opts
.
pageSize
=
pageSize
;
pager
.
pagination
(
'
refresh
'
,
{
pageNumber
:
pageNum
,
pageSize
:
pageSize
});
showEachDetails
(
pageNum
,
pageSize
);
}
});
}
catch
(
e
)
{
$
.
messager
.
alert
(
'
异常处理提示
'
,
"
分页信息异常 :
"
+
e
.
name
+
"
:
"
+
e
.
message
,
'
error
'
);
}
}
//增加
var
url
;
var
personID
=
0
;
//保存编辑前的名称
var
orgPerson
=
""
;
//搜索处理
function
search
()
{
showEachDetails
(
1
,
initPageSize
);
var
opts
=
$
(
"
#tableData
"
).
datagrid
(
'
options
'
);
var
pager
=
$
(
"
#tableData
"
).
datagrid
(
'
getPager
'
);
opts
.
pageNumber
=
1
;
opts
.
pageSize
=
initPageSize
;
pager
.
pagination
(
'
refresh
'
,
{
pageNumber
:
1
,
pageSize
:
initPageSize
});
}
$
(
"
#searchBtn
"
).
unbind
().
bind
({
click
:
function
()
{
search
();
}
});
function
showEachDetails
(
pageNo
,
pageSize
)
{
$
.
ajax
({
type
:
"
get
"
,
url
:
"
/depotItem/findStockWarningCount
"
,
dataType
:
"
json
"
,
data
:
({
currentPage
:
pageNo
,
pageSize
:
pageSize
,
projectId
:
$
.
trim
(
$
(
"
#searchProjectId
"
).
val
())
}),
success
:
function
(
res
)
{
if
(
res
&&
res
.
code
===
200
&&
res
.
data
)
{
var
HeadIds
=
res
.
data
.
total
;
if
(
HeadIds
>
0
)
{
if
(
pageSize
===
3000
)
{
window
.
location
.
href
=
"
/depotItem/exportWarningExcel?browserType=
"
+
getOs
()
+
"
¤tPage=
"
+
pageNo
+
"
&pageSize=
"
+
pageSize
+
"
&projectId=
"
+
$
.
trim
(
$
(
"
#searchProjectId
"
).
val
())
;
}
else
{
//获取排序后的产品ID
$
(
"
#tableData
"
).
datagrid
(
'
loadData
'
,
res
.
data
.
rows
);
}
}
else
{
$
.
messager
.
alert
(
'
查询提示
'
,
'
无数据!
'
,
'
error
'
);
}
}
},
//此处添加错误处理
error
:
function
()
{
$
.
messager
.
alert
(
'
查询提示
'
,
'
查询数据后台异常,请稍后再试!
'
,
'
error
'
);
return
;
}
});
}
//报表打印
function
print
()
{
$
(
"
#printBtn
"
).
off
(
"
click
"
).
on
(
"
click
"
,
function
()
{
CreateFormPage
(
'
打印报表
'
,
$
(
'
#tableData
'
));
});
}
</script>
</body>
</html>
sql/jsh_erp.sql
View file @
1f628d75
...
...
@@ -328,6 +328,7 @@ CREATE TABLE `jsh_depot` (
`type`
int
(
10
)
DEFAULT
NULL
COMMENT
'类型'
,
`sort`
varchar
(
10
)
DEFAULT
NULL
COMMENT
'排序'
,
`remark`
varchar
(
100
)
DEFAULT
NULL
COMMENT
'描述'
,
`IsDefault`
bit
(
1
)
DEFAULT
NULL
COMMENT
'是否默认'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
7
DEFAULT
CHARSET
=
utf8
COMMENT
=
'仓库表'
;
...
...
sql/华夏ERP数据库设计汇总.xlsx
View file @
1f628d75
No preview for this file type
src/main/java/com/jsh/erp/constants/BusinessConstants.java
View file @
1f628d75
...
...
@@ -86,7 +86,7 @@ public class BusinessConstants {
/**
* create by: qiankunpingtai
* create time: 2019/3/14 11:41
* description:
* description:
* 为了使用户可以自己建初始目录,设定根目录的父级目录id为-1
*
*/
...
...
src/main/java/com/jsh/erp/controller/DepotController.java
View file @
1f628d75
...
...
@@ -207,5 +207,16 @@ public class DepotController {
}
return
result
;
}
@PostMapping
(
value
=
"/updateDepotIsDefault"
)
public
String
updateDepotIsDefault
(
@RequestParam
(
"isDefault"
)
Boolean
isDefault
,
@RequestParam
(
"depotID"
)
Long
depotID
,
HttpServletRequest
request
)
throws
Exception
{
Map
<
String
,
Object
>
objectMap
=
new
HashMap
<
String
,
Object
>();
int
res
=
depotService
.
updateDepotIsDefault
(
isDefault
,
depotID
);
if
(
res
>
0
)
{
return
returnJson
(
objectMap
,
ErpInfo
.
OK
.
name
,
ErpInfo
.
OK
.
code
);
}
else
{
return
returnJson
(
objectMap
,
ErpInfo
.
ERROR
.
name
,
ErpInfo
.
ERROR
.
code
);
}
}
}
src/main/java/com/jsh/erp/controller/DepotItemController.java
View file @
1f628d75
...
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.jsh.erp.constants.BusinessConstants
;
import
com.jsh.erp.constants.ExceptionConstants
;
import
com.jsh.erp.datasource.entities.*
;
import
com.jsh.erp.datasource.vo.DepotItemStockWarningCount
;
import
com.jsh.erp.exception.BusinessRunTimeException
;
import
com.jsh.erp.service.depotItem.DepotItemService
;
import
com.jsh.erp.service.material.MaterialService
;
...
...
@@ -448,7 +449,7 @@ public class DepotItemController {
BigDecimal
InPrice
=
sumPrice
(
"入库"
,
pid
,
diEx
.
getMId
(),
monthTime
,
false
);
BigDecimal
OutPrice
=
sumPrice
(
"出库"
,
pid
,
diEx
.
getMId
(),
monthTime
,
false
);
item
.
put
(
"MaterialName"
,
diEx
.
getMName
());
item
.
put
(
"MaterialModel"
,
diEx
.
getM
Color
());
item
.
put
(
"MaterialModel"
,
diEx
.
getM
Model
());
//扩展信息
String
materialOther
=
getOtherInfo
(
mpArr
,
diEx
);
item
.
put
(
"MaterialOther"
,
materialOther
);
...
...
@@ -827,4 +828,81 @@ public class DepotItemController {
}
return
result
;
}
}
/**
* 库存预警报表
* @param currentPage
* @param pageSize
* @return
*/
@GetMapping
(
value
=
"/findStockWarningCount"
)
public
BaseResponseInfo
findStockWarningCount
(
@RequestParam
(
"currentPage"
)
Integer
currentPage
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
,
@RequestParam
(
"projectId"
)
Integer
pid
)
throws
Exception
{
BaseResponseInfo
res
=
new
BaseResponseInfo
();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
try
{
List
<
DepotItemStockWarningCount
>
resList
=
new
ArrayList
<
DepotItemStockWarningCount
>();
List
<
DepotItemStockWarningCount
>
list
=
depotItemService
.
findStockWarningCount
((
currentPage
-
1
)*
pageSize
,
pageSize
,
pid
);
int
total
=
depotItemService
.
findStockWarningCountTotal
(
pid
);
map
.
put
(
"total"
,
total
);
map
.
put
(
"rows"
,
list
);
res
.
code
=
200
;
res
.
data
=
map
;
}
catch
(
Exception
e
){
e
.
printStackTrace
();
res
.
code
=
500
;
res
.
data
=
"获取数据失败"
;
}
return
res
;
}
/**
* 导出库存预警excel表格
* @param currentPage
* @param pageSize
* @param projectId
* @param monthTime
* @param request
* @param response
* @return
*/
@GetMapping
(
value
=
"/exportWarningExcel"
)
public
BaseResponseInfo
exportWarningExcel
(
@RequestParam
(
"currentPage"
)
Integer
currentPage
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
,
@RequestParam
(
"projectId"
)
Integer
projectId
,
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
BaseResponseInfo
res
=
new
BaseResponseInfo
();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
String
message
=
"成功"
;
try
{
List
<
DepotItemStockWarningCount
>
dataList
=
depotItemService
.
findStockWarningCount
((
currentPage
-
1
)
*
pageSize
,
pageSize
,
projectId
);
//存放数据json数组
Integer
pid
=
projectId
;
String
[]
names
=
{
"名称"
,
"型号"
,
"扩展信息"
,
"单位"
,
"入库数量"
,
"出库数量"
,
"库存数量"
,
"安全库存量"
,
"临界库存量"
};
String
title
=
"库存预警报表"
;
List
<
String
[]>
objects
=
new
ArrayList
<
String
[]>();
if
(
null
!=
dataList
)
{
for
(
DepotItemStockWarningCount
diEx
:
dataList
)
{
String
[]
objs
=
new
String
[
9
];
objs
[
0
]
=
diEx
.
getMaterialName
().
toString
();
objs
[
1
]
=
diEx
.
getMaterialModel
().
toString
();
objs
[
2
]
=
diEx
.
getMaterialOther
().
toString
();
objs
[
3
]
=
diEx
.
getMaterialUnit
().
toString
();
objs
[
4
]
=
diEx
.
getBasicInNumber
().
toString
();
objs
[
5
]
=
diEx
.
getBasicOutNumber
()
==
null
?
"0"
:
diEx
.
getBasicOutNumber
().
toString
();
objs
[
6
]
=
diEx
.
getBasicNumber
()
==
null
?
"0"
:
diEx
.
getBasicNumber
().
toString
();
objs
[
7
]
=
diEx
.
getSafetystock
()
==
null
?
"0"
:
diEx
.
getSafetystock
().
toString
();
objs
[
8
]
=
diEx
.
getBasicLinjieNumber
()
==
null
?
"0"
:
diEx
.
getBasicLinjieNumber
().
toString
();
objects
.
add
(
objs
);
}
}
File
file
=
ExcelUtils
.
exportObjectsWithoutTitle
(
title
+
pid
,
names
,
title
,
objects
);
ExportExecUtil
.
showExec
(
file
,
file
.
getName
(),
response
);
res
.
code
=
200
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
message
=
"导出失败"
;
res
.
code
=
500
;
}
return
res
;
}
}
src/main/java/com/jsh/erp/datasource/entities/Depot.java
View file @
1f628d75
...
...
@@ -90,6 +90,15 @@ public class Depot {
* @mbggenerated
*/
private
String
deleteFlag
;
private
Boolean
isdefault
;
public
Boolean
getIsdefault
()
{
return
isdefault
;
}
public
void
setIsdefault
(
Boolean
isdefault
)
{
this
.
isdefault
=
isdefault
;
}
/**
* This method was generated by MyBatis Generator.
...
...
@@ -354,4 +363,4 @@ public class Depot {
public
void
setDeleteFlag
(
String
deleteFlag
)
{
this
.
deleteFlag
=
deleteFlag
==
null
?
null
:
deleteFlag
.
trim
();
}
}
\ No newline at end of file
}
src/main/java/com/jsh/erp/datasource/entities/DepotExample.java
View file @
1f628d75
...
...
@@ -235,6 +235,7 @@ public class DepotExample {
return
(
Criteria
)
this
;
}
public
Criteria
andIdIn
(
List
<
Long
>
values
)
{
addCriterion
(
"id in"
,
values
,
"id"
);
return
(
Criteria
)
this
;
...
...
@@ -664,7 +665,65 @@ public class DepotExample {
addCriterion
(
"remark <>"
,
value
,
"remark"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultIsNull
()
{
addCriterion
(
"IsDefault is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultIsNotNull
()
{
addCriterion
(
"IsDefault is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultEqualTo
(
Boolean
value
)
{
addCriterion
(
"IsDefault ="
,
value
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultNotEqualTo
(
Boolean
value
)
{
addCriterion
(
"IsDefault <>"
,
value
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultGreaterThan
(
Boolean
value
)
{
addCriterion
(
"IsDefault >"
,
value
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultGreaterThanOrEqualTo
(
Boolean
value
)
{
addCriterion
(
"IsDefault >="
,
value
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultLessThan
(
Boolean
value
)
{
addCriterion
(
"IsDefault <"
,
value
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultLessThanOrEqualTo
(
Boolean
value
)
{
addCriterion
(
"IsDefault <="
,
value
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultIn
(
List
<
Boolean
>
values
)
{
addCriterion
(
"IsDefault in"
,
values
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultNotIn
(
List
<
Boolean
>
values
)
{
addCriterion
(
"IsDefault not in"
,
values
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultBetween
(
Boolean
value1
,
Boolean
value2
)
{
addCriterion
(
"IsDefault between"
,
value1
,
value2
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIsdefaultNotBetween
(
Boolean
value1
,
Boolean
value2
)
{
addCriterion
(
"IsDefault not between"
,
value1
,
value2
,
"isdefault"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRemarkGreaterThan
(
String
value
)
{
addCriterion
(
"remark >"
,
value
,
"remark"
);
return
(
Criteria
)
this
;
...
...
@@ -1010,4 +1069,4 @@ public class DepotExample {
this
(
condition
,
value
,
secondValue
,
null
);
}
}
}
\ No newline at end of file
}
src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java
View file @
1f628d75
package
com.jsh.erp.datasource.mappers
;
import
com.jsh.erp.datasource.entities.*
;
import
com.jsh.erp.datasource.vo.DepotItemStockWarningCount
;
import
org.apache.ibatis.annotations.Param
;
import
java.math.BigDecimal
;
...
...
@@ -172,4 +173,10 @@ public interface DepotItemMapperEx {
List
<
DepotItem
>
getDepotItemListListByDepotIds
(
@Param
(
"depotIds"
)
String
[]
depotIds
);
List
<
DepotItem
>
getDepotItemListListByMaterialIds
(
@Param
(
"materialIds"
)
String
[]
materialIds
);
List
<
DepotItemStockWarningCount
>
findStockWarningCount
(
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"rows"
)
Integer
rows
,
@Param
(
"pid"
)
Integer
pid
);
int
findStockWarningCountTotal
(
@Param
(
"pid"
)
Integer
pid
);
}
src/main/java/com/jsh/erp/datasource/vo/DepotItemStockWarningCount.java
0 → 100644
View file @
1f628d75
package
com.jsh.erp.datasource.vo
;
import
java.math.BigDecimal
;
public
class
DepotItemStockWarningCount
{
private
String
MaterialName
;
private
String
MaterialModel
;
private
String
categoryName
;
private
String
MaterialOther
;
private
String
MaterialUnit
;
private
BigDecimal
safetystock
;
//安全库存量
private
BigDecimal
BasicInNumber
;
//入库量
private
BigDecimal
BasicOutNumber
;
//出库量
private
BigDecimal
BasicNumber
;
//库存
private
BigDecimal
BasicLinjieNumber
;
//临界库存
public
String
getMaterialName
()
{
return
MaterialName
;
}
public
void
setMaterialName
(
String
materialName
)
{
MaterialName
=
materialName
;
}
public
String
getMaterialModel
()
{
return
MaterialModel
;
}
public
void
setMaterialModel
(
String
materialModel
)
{
MaterialModel
=
materialModel
;
}
public
String
getCategoryName
()
{
return
categoryName
;
}
public
void
setCategoryName
(
String
categoryName
)
{
this
.
categoryName
=
categoryName
;
}
public
String
getMaterialOther
()
{
return
MaterialOther
;
}
public
void
setMaterialOther
(
String
materialOther
)
{
MaterialOther
=
materialOther
;
}
public
String
getMaterialUnit
()
{
return
MaterialUnit
;
}
public
void
setMaterialUnit
(
String
materialUnit
)
{
MaterialUnit
=
materialUnit
;
}
public
BigDecimal
getSafetystock
()
{
return
safetystock
;
}
public
void
setSafetystock
(
BigDecimal
safetystock
)
{
this
.
safetystock
=
safetystock
;
}
public
BigDecimal
getBasicInNumber
()
{
return
BasicInNumber
;
}
public
void
setBasicInNumber
(
BigDecimal
basicInNumber
)
{
BasicInNumber
=
basicInNumber
;
}
public
BigDecimal
getBasicOutNumber
()
{
return
BasicOutNumber
;
}
public
void
setBasicOutNumber
(
BigDecimal
basicOutNumber
)
{
BasicOutNumber
=
basicOutNumber
;
}
public
BigDecimal
getBasicNumber
()
{
return
BasicNumber
;
}
public
void
setBasicNumber
(
BigDecimal
basicNumber
)
{
BasicNumber
=
basicNumber
;
}
public
BigDecimal
getBasicLinjieNumber
()
{
return
BasicLinjieNumber
;
}
public
void
setBasicLinjieNumber
(
BigDecimal
basicLinjieNumber
)
{
BasicLinjieNumber
=
basicLinjieNumber
;
}
}
src/main/java/com/jsh/erp/service/depot/DepotService.java
View file @
1f628d75
...
...
@@ -316,4 +316,24 @@ public class DepotService {
return
deleteTotal
;
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
int
updateDepotIsDefault
(
Boolean
isDefault
,
Long
depotID
)
throws
Exception
{
logService
.
insertLog
(
BusinessConstants
.
LOG_INTERFACE_NAME_DEPOT
,
BusinessConstants
.
LOG_OPERATION_TYPE_EDIT
+
depotID
,
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
());
Depot
depot
=
new
Depot
();
depot
.
setIsdefault
(
isDefault
);
DepotExample
example
=
new
DepotExample
();
example
.
createCriteria
().
andIdEqualTo
(
depotID
);
int
result
=
0
;
try
{
result
=
depotMapper
.
updateByExampleSelective
(
depot
,
example
);
}
catch
(
Exception
e
){
logger
.
error
(
"异常码[{}],异常提示[{}],异常[{}]"
,
ExceptionConstants
.
DATA_WRITE_FAIL_CODE
,
ExceptionConstants
.
DATA_WRITE_FAIL_MSG
,
e
);
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
DATA_WRITE_FAIL_CODE
,
ExceptionConstants
.
DATA_WRITE_FAIL_MSG
);
}
return
result
;
}
}
src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java
View file @
1f628d75
...
...
@@ -9,17 +9,16 @@ import com.jsh.erp.datasource.mappers.DepotHeadMapper;
import
com.jsh.erp.datasource.mappers.DepotItemMapper
;
import
com.jsh.erp.datasource.mappers.DepotItemMapperEx
;
import
com.jsh.erp.datasource.mappers.SerialNumberMapperEx
;
import
com.jsh.erp.datasource.vo.DepotItemStockWarningCount
;
import
com.jsh.erp.exception.BusinessRunTimeException
;
import
com.jsh.erp.service.log.LogService
;
import
com.jsh.erp.service.material.MaterialService
;
import
com.jsh.erp.service.serialNumber.SerialNumberService
;
import
com.jsh.erp.service.user.UserService
;
import
com.jsh.erp.utils.ErpInfo
;
import
com.jsh.erp.utils.QueryUtils
;
import
com.jsh.erp.utils.StringUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.dao.DataAccessException
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.context.request.RequestContextHolder
;
...
...
@@ -32,8 +31,6 @@ import java.util.Date;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
jsh
.
erp
.
utils
.
ResponseJsonUtil
.
returnJson
;
@Service
public
class
DepotItemService
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
DepotItemService
.
class
);
...
...
@@ -795,4 +792,32 @@ public class DepotItemService {
}
return
result
;
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
List
<
DepotItemStockWarningCount
>
findStockWarningCount
(
int
offset
,
Integer
rows
,
Integer
pid
)
{
List
<
DepotItemStockWarningCount
>
list
=
null
;
try
{
list
=
depotItemMapperEx
.
findStockWarningCount
(
offset
,
rows
,
pid
);
}
catch
(
Exception
e
){
logger
.
error
(
"异常码[{}],异常提示[{}],异常[{}]"
,
ExceptionConstants
.
DATA_READ_FAIL_CODE
,
ExceptionConstants
.
DATA_READ_FAIL_MSG
,
e
);
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
DATA_READ_FAIL_CODE
,
ExceptionConstants
.
DATA_READ_FAIL_MSG
);
}
return
list
;
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
int
findStockWarningCountTotal
(
Integer
pid
)
{
int
result
=
0
;
try
{
result
=
depotItemMapperEx
.
findStockWarningCountTotal
(
pid
);
}
catch
(
Exception
e
){
logger
.
error
(
"异常码[{}],异常提示[{}],异常[{}]"
,
ExceptionConstants
.
DATA_READ_FAIL_CODE
,
ExceptionConstants
.
DATA_READ_FAIL_MSG
,
e
);
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
DATA_READ_FAIL_CODE
,
ExceptionConstants
.
DATA_READ_FAIL_MSG
);
}
return
result
;
}
}
src/main/resources/mapper_xml/DepotItemMapperEx.xml
View file @
1f628d75
...
...
@@ -41,6 +41,18 @@
<result
column=
"MaterialUnit"
jdbcType=
"VARCHAR"
property=
"MaterialUnit"
/>
<result
column=
"MColor"
jdbcType=
"VARCHAR"
property=
"MColor"
/>
</resultMap>
<resultMap
id=
"ResultStockWarningCount"
type=
"com.jsh.erp.datasource.vo.DepotItemStockWarningCount"
>
<result
column=
"MaterialName"
jdbcType=
"VARCHAR"
property=
"MaterialName"
/>
<result
column=
"MaterialModel"
jdbcType=
"VARCHAR"
property=
"MaterialModel"
/>
<result
column=
"categoryName"
jdbcType=
"VARCHAR"
property=
"categoryName"
/>
<result
column=
"MaterialOther"
jdbcType=
"VARCHAR"
property=
"MaterialOther"
/>
<result
column=
"MaterialUnit"
jdbcType=
"VARCHAR"
property=
"MaterialUnit"
/>
<result
column=
"safetystock"
jdbcType=
"DECIMAL"
property=
"safetystock"
/>
<result
column=
"BasicInNumber"
jdbcType=
"DECIMAL"
property=
"BasicInNumber"
/>
<result
column=
"BasicOutNumber"
jdbcType=
"DECIMAL"
property=
"BasicOutNumber"
/>
<result
column=
"BasicNumber"
jdbcType=
"DECIMAL"
property=
"BasicNumber"
/>
<result
column=
"BasicLinjieNumber"
jdbcType=
"DECIMAL"
property=
"BasicLinjieNumber"
/>
</resultMap>
<select
id=
"selectByConditionDepotItem"
parameterType=
"com.jsh.erp.datasource.entities.DepotItemExample"
resultMap=
"com.jsh.erp.datasource.mappers.DepotItemMapper.BaseResultMap"
>
select *
...
...
@@ -438,5 +450,95 @@
<select
id=
"findStockWarningCount"
parameterType=
"com.jsh.erp.datasource.entities.DepotItemExample"
resultMap=
"ResultStockWarningCount"
>
SELECT
m. NAME MaterialName,
m.Model MaterialModel,
mc.`Name` categoryName,
CONCAT(
'(',
m.Standard,
')',
'(',
m.Color,
')'
) AS MaterialOther,
m.unit MaterialUnit,
ifnull(m.safetystock,0) safetystock,
IFNULL(intype.BasicInNumber ,0) BasicInNumber,
IFNULL(outtype.BasicOutNumber ,0) BasicOutNumber,
(
IFNULL(intype.BasicInNumber ,0) - IFNULL(outtype.BasicOutNumber ,0)
) BasicNumber,
(IFNULL(intype.BasicInNumber ,0) - IFNULL(outtype.BasicOutNumber ,0) - ifnull(m.safetystock,0)) BasicLinjieNumber
FROM
jsh_material m
LEFT JOIN jsh_materialcategory mc ON mc.Id = m.CategoryId
LEFT JOIN (
SELECT
di.MaterialId,
ifnull(sum(BasicNumber), 0) AS BasicInNumber
FROM
jsh_depothead dh
INNER JOIN jsh_depotitem di ON dh.id = di.HeaderId
AND ifnull(di.delete_Flag, '0') != '1'
WHERE
dh.type = '入库'
<if
test=
"pid != null"
>
and di.DepotId= ${pid}
</if>
AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId
) intype ON intype.MaterialId = m.id
LEFT JOIN (
SELECT
di.MaterialId,
ifnull(sum(BasicNumber), 0) AS BasicOutNumber
FROM
jsh_depothead dh
INNER JOIN jsh_depotitem di ON dh.id = di.HeaderId
AND ifnull(di.delete_Flag, '0') != '1'
WHERE
dh.type = '出库'
AND dh.SubType != '调拨'
<if
test=
"pid != null"
>
and di.DepotId= ${pid}
</if>
AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId
) outtype ON outtype.MaterialId = m.id
WHERE
1 = 1
AND ifnull(m.delete_Flag, '0') != '1'
AND intype.BasicInNumber > 0
ORDER BY
(IFNULL(intype.BasicInNumber ,0) - IFNULL(outtype.BasicOutNumber ,0) - ifnull(m.safetystock,0))
<if
test=
"offset != null and rows != null"
>
limit #{offset},#{rows}
</if>
</select>
<select
id=
"findStockWarningCountTotal"
resultType=
"java.lang.Integer"
>
select count(1) from
jsh_material m
LEFT JOIN (
SELECT
di.MaterialId,
ifnull(sum(BasicNumber), 0) AS BasicInNumber
FROM
jsh_depothead dh
INNER JOIN jsh_depotitem di ON dh.id = di.HeaderId
AND ifnull(di.delete_Flag, '0') != '1'
WHERE
dh.type = '入库'
<if
test=
"pid != null"
>
and di.DepotId= ${pid}
</if>
AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId
) intype ON intype.MaterialId = m.id
WHERE
1 = 1
AND ifnull(m.delete_Flag, '0') != '1'
AND intype.BasicInNumber > 0
</select>
</mapper>
\ No newline at end of file
</mapper>
src/main/resources/mapper_xml/DepotMapper.xml
View file @
1f628d75
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.jsh.erp.datasource.mappers.DepotMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.jsh.erp.datasource.entities.Depot"
>
<!--
...
...
@@ -17,6 +17,7 @@
<result
column=
"principal"
jdbcType=
"BIGINT"
property=
"principal"
/>
<result
column=
"tenant_id"
jdbcType=
"BIGINT"
property=
"tenantId"
/>
<result
column=
"delete_Flag"
jdbcType=
"VARCHAR"
property=
"deleteFlag"
/>
<result
column=
"IsDefault"
jdbcType=
"BIT"
property=
"isdefault"
/>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<!--
...
...
@@ -89,8 +90,8 @@
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
-->
id, name, address, warehousing, truckage, type, sort, remark, principal, tenant_id,
delete_Flag
id, name, address, warehousing, truckage, type, sort, remark, principal, tenant_id,
delete_Flag
,IsDefault
</sql>
<select
id=
"selectByExample"
parameterType=
"com.jsh.erp.datasource.entities.DepotExample"
resultMap=
"BaseResultMap"
>
<!--
...
...
@@ -115,7 +116,7 @@
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
-->
select
select
<include
refid=
"Base_Column_List"
/>
from jsh_depot
where id = #{id,jdbcType=BIGINT}
...
...
@@ -143,13 +144,13 @@
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into jsh_depot (id, name, address,
warehousing, truckage, type,
sort, remark, principal,
insert into jsh_depot (id, name, address,
warehousing, truckage, type,
sort, remark, principal,
tenant_id, delete_Flag)
values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR},
#{warehousing,jdbcType=DECIMAL}, #{truckage,jdbcType=DECIMAL}, #{type,jdbcType=INTEGER},
#{sort,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{principal,jdbcType=BIGINT},
values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR},
#{warehousing,jdbcType=DECIMAL}, #{truckage,jdbcType=DECIMAL}, #{type,jdbcType=INTEGER},
#{sort,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{principal,jdbcType=BIGINT},
#{tenantId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=VARCHAR})
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.jsh.erp.datasource.entities.Depot"
>
...
...
@@ -279,6 +280,9 @@
<if
test=
"record.deleteFlag != null"
>
delete_Flag = #{record.deleteFlag,jdbcType=VARCHAR},
</if>
<if
test=
"record.isdefault != null"
>
IsDefault = #{record.isdefault,jdbcType=BIT},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
...
@@ -363,4 +367,4 @@
delete_Flag = #{deleteFlag,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
</mapper>
Write
Preview
Supports
Markdown
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