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
781639be
Commit
781639be
authored
Jan 31, 2019
by
乾坤平台
Committed by
季圣华
Jan 31, 2019
Browse files
!23 修复未开启序列号的商品也强制使用序列号的bug
Merge pull request !23 from 乾坤平台/master
parents
37c64788
5bde2843
Changes
6
Hide whitespace changes
Inline
Side-by-side
erp_web/js/pages/materials/in_out.js
View file @
781639be
...
@@ -1737,7 +1737,7 @@
...
@@ -1737,7 +1737,7 @@
$
(
"
#ProjectIdShow
"
).
text
(
depotHeadInfo
[
10
]);
$
(
"
#ProjectIdShow
"
).
text
(
depotHeadInfo
[
10
]);
$
(
"
#NumberShow
"
).
text
(
depotHeadInfo
[
2
]);
$
(
"
#NumberShow
"
).
text
(
depotHeadInfo
[
2
]);
$
(
"
#OperTimeShow
"
).
text
(
depotHeadInfo
[
4
]);
$
(
"
#OperTimeShow
"
).
text
(
depotHeadInfo
[
4
]);
$
(
'
#OrganIdShow
'
).
text
(
depotHeadInfo
[
11
]);
$
(
'
#OrganIdShow
'
).
text
(
depotHeadInfo
[
11
]
==
"
undefined
"
?
''
:
depotHeadInfo
[
11
]
);
$
(
"
#HandsPersonIdShow
"
).
text
(
depotHeadInfo
[
12
]);
$
(
"
#HandsPersonIdShow
"
).
text
(
depotHeadInfo
[
12
]);
if
(
depotHeadInfo
[
13
]
&&
depotHeadInfo
[
13
]
!=
"
undefined
"
){
if
(
depotHeadInfo
[
13
]
&&
depotHeadInfo
[
13
]
!=
"
undefined
"
){
$
(
"
#AccountIdShow
"
).
text
(
depotHeadInfo
[
13
]);
//结算账户
$
(
"
#AccountIdShow
"
).
text
(
depotHeadInfo
[
13
]);
//结算账户
...
...
erp_web/pages/manage/serialNumber.html
View file @
781639be
...
@@ -188,30 +188,42 @@
...
@@ -188,30 +188,42 @@
pageList
:
initPageNum
,
pageList
:
initPageNum
,
columns
:
[[
columns
:
[[
{
field
:
'
id
'
,
width
:
35
,
align
:
"
center
"
,
checkbox
:
true
},
{
field
:
'
id
'
,
width
:
35
,
align
:
"
center
"
,
checkbox
:
true
},
{
field
:
'
depotheadId
'
,
hidden
:
true
},
{
field
:
'
depotHeadType
'
,
hidden
:
true
},
{
{
title
:
'
操作
'
,
field
:
'
op
'
,
align
:
"
center
"
,
width
:
60
,
formatter
:
function
(
value
,
rec
)
{
title
:
'
操作
'
,
field
:
'
op
'
,
align
:
"
center
"
,
width
:
60
,
formatter
:
function
(
value
,
rec
)
{
var
str
=
''
;
var
str
=
''
;
var
rowInfo
=
rec
.
id
+
'
AaBb
'
+
rec
.
materialId
+
'
AaBb
'
+
rec
.
materialName
+
'
AaBb
'
+
rec
.
serialNumber
+
'
AaBb
'
+
rec
.
isSell
+
'
AaBb
'
+
rec
.
remark
var
rowInfo
=
rec
.
id
+
'
AaBb
'
+
rec
.
materialId
+
'
AaBb
'
+
rec
.
materialName
+
'
AaBb
'
+
rec
.
serialNumber
+
'
AaBb
'
+
rec
.
isSell
+
'
AaBb
'
+
rec
.
remark
+
'
AaBb
'
+
rec
.
deleteFlag
+
'
AaBb
'
+
rec
.
createTime
+
'
AaBb
'
+
rec
.
updateTime
+
'
AaBb
'
+
rec
.
creator
+
'
AaBb
'
+
rec
.
updater
+
'
AaBb
'
+
rec
.
deleteFlag
+
'
AaBb
'
+
rec
.
createTime
+
'
AaBb
'
+
rec
.
updateTime
+
'
AaBb
'
+
rec
.
creator
+
'
AaBb
'
+
rec
.
updater
+
'
AaBb
'
+
rec
.
creatorName
+
'
AaBb
'
+
rec
.
updaterName
;
+
'
AaBb
'
+
rec
.
creatorName
+
'
AaBb
'
+
rec
.
updaterName
+
'
AaBb
'
+
rec
.
depotheadId
+
'
AaBb
'
+
rec
.
depotHeadNumber
+
'
AaBb
'
+
rec
.
depotHeadType
;
str
+=
'
<img title="编辑" src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editSerialNumber(
\'
'
+
rowInfo
+
'
\'
);"/>
'
;
str
+=
'
<img title="编辑" src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editSerialNumber(
\'
'
+
rowInfo
+
'
\'
);"/>
'
;
str
+=
'
<img title="删除" src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteSerialNumber(
'
+
rec
.
id
+
'
);"/>
'
;
str
+=
'
<img title="删除" src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteSerialNumber(
'
+
rec
.
id
+
'
);"/>
'
;
return
str
;
return
str
;
}
}
},
},
{
title
:
'
商品名称
'
,
field
:
'
materialName
'
,
width
:
100
},
{
title
:
'
商品名称
'
,
align
:
"
center
"
,
field
:
'
materialName
'
,
width
:
100
},
{
title
:
'
序列号
'
,
field
:
'
serialNumber
'
,
width
:
200
},
{
title
:
'
序列号
'
,
align
:
"
center
"
,
field
:
'
serialNumber
'
,
width
:
200
},
{
title
:
'
已卖出
'
,
field
:
'
isSell
'
,
width
:
60
,
formatter
:
function
(
value
)
{
{
title
:
'
单据编号
'
,
align
:
"
center
"
,
field
:
'
depotHeadNumber
'
,
width
:
140
,
formatter
:
function
(
value
,
row
)
{
if
(
row
.
depotHeadNumber
){
return
"
<a class='n-link' onclick=
\"
newTab('
"
+
row
.
depotHeadNumber
+
"
','../materials/bill_detail.html?n=
"
+
row
.
depotHeadNumber
+
"
&type=
"
+
row
.
depotHeadType
+
"
','')
\"
>
"
+
row
.
depotHeadNumber
+
"
</a>
"
;
}
return
''
;
}
},
{
title
:
'
已卖出
'
,
align
:
"
center
"
,
field
:
'
isSell
'
,
width
:
60
,
formatter
:
function
(
value
)
{
return
value
==
'
1
'
?
"
是
"
:
"
否
"
;
return
value
==
'
1
'
?
"
是
"
:
"
否
"
;
}
}
},
},
{
title
:
'
已删除
'
,
field
:
'
deleteFlag
'
,
width
:
60
,
formatter
:
function
(
value
)
{
{
title
:
'
已删除
'
,
align
:
"
center
"
,
field
:
'
deleteFlag
'
,
width
:
60
,
formatter
:
function
(
value
)
{
return
value
==
'
1
'
?
"
是
"
:
"
否
"
;
return
value
==
'
1
'
?
"
是
"
:
"
否
"
;
}
}
},
},
{
title
:
'
创建时间
'
,
field
:
'
createTime
'
,
width
:
140
,
formatter
:
formatDatebox
},
{
title
:
'
创建时间
'
,
align
:
"
center
"
,
field
:
'
createTime
'
,
width
:
140
,
formatter
:
formatDatebox
},
{
title
:
'
更新时间
'
,
field
:
'
updateTime
'
,
width
:
140
,
formatter
:
formatDatebox
},
{
title
:
'
更新时间
'
,
align
:
"
center
"
,
field
:
'
updateTime
'
,
width
:
140
,
formatter
:
formatDatebox
},
{
title
:
'
备注
'
,
field
:
'
remark
'
,
width
:
3
00
}
{
title
:
'
备注
'
,
align
:
"
center
"
,
field
:
'
remark
'
,
width
:
2
00
}
]],
]],
toolbar
:
[
toolbar
:
[
{
{
...
...
src/main/java/com/jsh/erp/constants/ExceptionConstants.java
View file @
781639be
...
@@ -32,10 +32,10 @@ public class ExceptionConstants {
...
@@ -32,10 +32,10 @@ public class ExceptionConstants {
public
static
final
int
SERIAL_NUMBERE_ALREADY_EXISTS_CODE
=
10500000
;
public
static
final
int
SERIAL_NUMBERE_ALREADY_EXISTS_CODE
=
10500000
;
public
static
final
String
SERIAL_NUMBERE_ALREADY_EXISTS_MSG
=
"序列号已存在"
;
public
static
final
String
SERIAL_NUMBERE_ALREADY_EXISTS_MSG
=
"序列号已存在"
;
/**序列号不能为为空*/
/**序列号不能为为空*/
public
static
final
int
SERIAL_NUMBERE_NOT_BE_EMPTY_CODE
=
1050000
0
;
public
static
final
int
SERIAL_NUMBERE_NOT_BE_EMPTY_CODE
=
1050000
1
;
public
static
final
String
SERIAL_NUMBERE_NOT_BE_EMPTY_MSG
=
"序列号不能为为空"
;
public
static
final
String
SERIAL_NUMBERE_NOT_BE_EMPTY_MSG
=
"序列号不能为为空"
;
/**商品%s下序列号不充足,请补充后重试*/
/**商品%s下序列号不充足,请补充后重试*/
public
static
final
int
MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_CODE
=
1050000
0
;
public
static
final
int
MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_CODE
=
1050000
2
;
public
static
final
String
MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_MSG
=
"商品:%s下序列号不充足,请补充后重试"
;
public
static
final
String
MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_MSG
=
"商品:%s下序列号不充足,请补充后重试"
;
...
@@ -56,6 +56,9 @@ public class ExceptionConstants {
...
@@ -56,6 +56,9 @@ public class ExceptionConstants {
//该商品已绑定序列号数量小于等于商品现有库存
//该商品已绑定序列号数量小于等于商品现有库存
public
static
final
int
MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_CODE
=
8000003
;
public
static
final
int
MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_CODE
=
8000003
;
public
static
final
String
MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_MSG
=
"该商品已绑定序列号数量大于等于商品现有库存"
;
public
static
final
String
MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_MSG
=
"该商品已绑定序列号数量大于等于商品现有库存"
;
//商品库存不足
public
static
final
int
MATERIAL_STOCK_NOT_ENOUGH_CODE
=
8000004
;
public
static
final
String
MATERIAL_STOCK_NOT_ENOUGH_MSG
=
"商品:%s库存不足"
;
/**
/**
* 标准正常返回/操作成功返回
* 标准正常返回/操作成功返回
...
...
src/main/java/com/jsh/erp/datasource/entities/SerialNumberEx.java
View file @
781639be
...
@@ -19,6 +19,10 @@ public class SerialNumberEx extends SerialNumber{
...
@@ -19,6 +19,10 @@ public class SerialNumberEx extends SerialNumber{
* 更新者名称
* 更新者名称
* */
* */
private
String
updaterName
;
private
String
updaterName
;
/**单据编号*/
private
String
depotHeadNumber
;
/**单据类型(出库入库)*/
private
String
depotHeadType
;
public
String
getMaterialName
()
{
public
String
getMaterialName
()
{
return
materialName
;
return
materialName
;
...
@@ -43,4 +47,20 @@ public class SerialNumberEx extends SerialNumber{
...
@@ -43,4 +47,20 @@ public class SerialNumberEx extends SerialNumber{
public
void
setUpdaterName
(
String
updaterName
)
{
public
void
setUpdaterName
(
String
updaterName
)
{
this
.
updaterName
=
updaterName
;
this
.
updaterName
=
updaterName
;
}
}
public
String
getDepotHeadNumber
()
{
return
depotHeadNumber
;
}
public
void
setDepotHeadNumber
(
String
depotHeadNumber
)
{
this
.
depotHeadNumber
=
depotHeadNumber
;
}
public
String
getDepotHeadType
()
{
return
depotHeadType
;
}
public
void
setDepotHeadType
(
String
depotHeadType
)
{
this
.
depotHeadType
=
depotHeadType
;
}
}
}
src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java
View file @
781639be
...
@@ -3,11 +3,13 @@ package com.jsh.erp.service.depotItem;
...
@@ -3,11 +3,13 @@ package com.jsh.erp.service.depotItem;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.jsh.erp.constants.BusinessConstants
;
import
com.jsh.erp.constants.BusinessConstants
;
import
com.jsh.erp.constants.ExceptionConstants
;
import
com.jsh.erp.datasource.entities.*
;
import
com.jsh.erp.datasource.entities.*
;
import
com.jsh.erp.datasource.mappers.DepotHeadMapper
;
import
com.jsh.erp.datasource.mappers.DepotHeadMapper
;
import
com.jsh.erp.datasource.mappers.DepotItemMapper
;
import
com.jsh.erp.datasource.mappers.DepotItemMapper
;
import
com.jsh.erp.datasource.mappers.DepotItemMapperEx
;
import
com.jsh.erp.datasource.mappers.DepotItemMapperEx
;
import
com.jsh.erp.datasource.mappers.SerialNumberMapperEx
;
import
com.jsh.erp.datasource.mappers.SerialNumberMapperEx
;
import
com.jsh.erp.exception.BusinessRunTimeException
;
import
com.jsh.erp.service.material.MaterialService
;
import
com.jsh.erp.service.material.MaterialService
;
import
com.jsh.erp.service.serialNumber.SerialNumberService
;
import
com.jsh.erp.service.serialNumber.SerialNumberService
;
import
com.jsh.erp.service.user.UserService
;
import
com.jsh.erp.service.user.UserService
;
...
@@ -246,8 +248,20 @@ public class DepotItemService {
...
@@ -246,8 +248,20 @@ public class DepotItemService {
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
DepotItem
depotItem
=
getDepotItem
(
tempDeletedJson
.
getLong
(
"Id"
));
DepotItem
depotItem
=
getDepotItem
(
tempDeletedJson
.
getLong
(
"Id"
));
serialNumberMapperEx
.
cancelSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
if
(
depotItem
==
null
){
new
Date
(),
userInfo
==
null
?
null
:
userInfo
.
getId
());
continue
;
}
/**
* 判断商品是否开启序列号,开启的收回序列号,未开启的跳过
* */
Material
material
=
materialService
.
getMaterial
(
depotItem
.
getMaterialid
());
if
(
material
==
null
){
continue
;
}
if
(
BusinessConstants
.
ENABLE_SERIAL_NUMBER_ENABLED
.
equals
(
material
.
getEnableSerialNumber
())){
serialNumberMapperEx
.
cancelSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
new
Date
(),
userInfo
==
null
?
null
:
userInfo
.
getId
());
}
}
}
this
.
deleteDepotItem
(
tempDeletedJson
.
getLong
(
"Id"
));
this
.
deleteDepotItem
(
tempDeletedJson
.
getLong
(
"Id"
));
}
}
...
@@ -328,13 +342,34 @@ public class DepotItemService {
...
@@ -328,13 +342,34 @@ public class DepotItemService {
if
(
tempInsertedJson
.
get
(
"MType"
)
!=
null
)
{
if
(
tempInsertedJson
.
get
(
"MType"
)
!=
null
)
{
depotItem
.
setMtype
(
tempInsertedJson
.
getString
(
"MType"
));
depotItem
.
setMtype
(
tempInsertedJson
.
getString
(
"MType"
));
}
}
this
.
insertDepotItemWithObj
(
depotItem
);
/**
/**出库时处理序列号*/
* 出库时判断库存是否充足
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
* */
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())){
//查询单据子表中开启序列号的数据列表
if
(
depotItem
==
null
){
serialNumberService
.
checkAndUpdateSerialNumber
(
depotItem
,
userInfo
);
continue
;
}
Material
material
=
materialService
.
getMaterial
(
depotItem
.
getMaterialid
());
if
(
material
==
null
){
continue
;
}
if
(
getCurrentInStock
(
depotItem
.
getMaterialid
())<
depotItem
.
getOpernumber
().
intValue
()){
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_STOCK_NOT_ENOUGH_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_STOCK_NOT_ENOUGH_MSG
,
material
==
null
?
""
:
material
.
getName
()));
}
/**出库时处理序列号*/
if
(!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
()))
{
/**
* 判断商品是否开启序列号,开启的收回序列号,未开启的跳过
* */
if
(
BusinessConstants
.
ENABLE_SERIAL_NUMBER_ENABLED
.
equals
(
material
.
getEnableSerialNumber
()))
{
//查询单据子表中开启序列号的数据列表
serialNumberService
.
checkAndUpdateSerialNumber
(
depotItem
,
userInfo
);
}
}
}
}
this
.
insertDepotItemWithObj
(
depotItem
);
}
}
}
}
...
@@ -342,11 +377,23 @@ public class DepotItemService {
...
@@ -342,11 +377,23 @@ public class DepotItemService {
for
(
int
i
=
0
;
i
<
updatedJson
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
updatedJson
.
size
();
i
++)
{
JSONObject
tempUpdatedJson
=
JSONObject
.
parseObject
(
updatedJson
.
getString
(
i
));
JSONObject
tempUpdatedJson
=
JSONObject
.
parseObject
(
updatedJson
.
getString
(
i
));
DepotItem
depotItem
=
this
.
getDepotItem
(
tempUpdatedJson
.
getLong
(
"Id"
));
DepotItem
depotItem
=
this
.
getDepotItem
(
tempUpdatedJson
.
getLong
(
"Id"
));
if
(
depotItem
==
null
){
continue
;
}
Material
material
=
materialService
.
getMaterial
(
depotItem
.
getMaterialid
());
if
(
material
==
null
){
continue
;
}
//首先回收序列号
//首先回收序列号
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
()))
{
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
()))
{
serialNumberMapperEx
.
cancelSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
/**
new
Date
(),
userInfo
==
null
?
null
:
userInfo
.
getId
());
* 判断商品是否开启序列号,开启的收回序列号,未开启的跳过
* */
if
(
BusinessConstants
.
ENABLE_SERIAL_NUMBER_ENABLED
.
equals
(
material
.
getEnableSerialNumber
()))
{
serialNumberMapperEx
.
cancelSerialNumber
(
depotItem
.
getMaterialid
(),
depotItem
.
getHeaderid
(),
depotItem
.
getOpernumber
().
intValue
(),
new
Date
(),
userInfo
==
null
?
null
:
userInfo
.
getId
());
}
}
}
depotItem
.
setId
(
tempUpdatedJson
.
getLong
(
"Id"
));
depotItem
.
setId
(
tempUpdatedJson
.
getLong
(
"Id"
));
depotItem
.
setMaterialid
(
tempUpdatedJson
.
getLong
(
"MaterialId"
));
depotItem
.
setMaterialid
(
tempUpdatedJson
.
getLong
(
"MaterialId"
));
...
@@ -408,13 +455,23 @@ public class DepotItemService {
...
@@ -408,13 +455,23 @@ public class DepotItemService {
depotItem
.
setOtherfield4
(
tempUpdatedJson
.
getString
(
"OtherField4"
));
depotItem
.
setOtherfield4
(
tempUpdatedJson
.
getString
(
"OtherField4"
));
depotItem
.
setOtherfield5
(
tempUpdatedJson
.
getString
(
"OtherField5"
));
depotItem
.
setOtherfield5
(
tempUpdatedJson
.
getString
(
"OtherField5"
));
depotItem
.
setMtype
(
tempUpdatedJson
.
getString
(
"MType"
));
depotItem
.
setMtype
(
tempUpdatedJson
.
getString
(
"MType"
));
this
.
updateDepotItemWithObj
(
depotItem
);
/**出库时处理序列号*/
/**出库时处理序列号*/
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())
if
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
.
equals
(
depotHead
.
getType
())){
&&!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
())){
if
(
getCurrentInStock
(
depotItem
.
getMaterialid
())<
depotItem
.
getOpernumber
().
intValue
()){
//查询单据子表中开启序列号的数据列表
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_STOCK_NOT_ENOUGH_CODE
,
serialNumberService
.
checkAndUpdateSerialNumber
(
depotItem
,
userInfo
);
String
.
format
(
ExceptionConstants
.
MATERIAL_STOCK_NOT_ENOUGH_MSG
,
material
==
null
?
""
:
material
.
getName
()));
}
if
(!
BusinessConstants
.
SUB_TYPE_TRANSFER
.
equals
(
depotHead
.
getSubtype
()))
{
/**
* 判断商品是否开启序列号,开启的收回序列号,未开启的跳过
* */
if
(
BusinessConstants
.
ENABLE_SERIAL_NUMBER_ENABLED
.
equals
(
material
.
getEnableSerialNumber
()))
{
//查询单据子表中开启序列号的数据列表
serialNumberService
.
checkAndUpdateSerialNumber
(
depotItem
,
userInfo
);
}
}
}
}
this
.
updateDepotItemWithObj
(
depotItem
);
}
}
}
}
return
null
;
return
null
;
...
@@ -439,5 +496,16 @@ public class DepotItemService {
...
@@ -439,5 +496,16 @@ public class DepotItemService {
}
}
return
unitName
;
return
unitName
;
}
}
/**
* 查询商品当前库存数量是否充足,
*
* */
public
int
getCurrentInStock
(
Long
materialId
){
//入库数量
int
inSum
=
findByTypeAndMaterialId
(
BusinessConstants
.
DEPOTHEAD_TYPE_STORAGE
,
materialId
);
//出库数量
int
outSum
=
findByTypeAndMaterialId
(
BusinessConstants
.
DEPOTHEAD_TYPE_OUT
,
materialId
);
return
(
inSum
-
outSum
);
}
}
}
src/main/resources/mapper_xml/SerialNumberMapperEx.xml
View file @
781639be
...
@@ -6,14 +6,17 @@
...
@@ -6,14 +6,17 @@
<result
column=
"materialName"
jdbcType=
"VARCHAR"
property=
"materialName"
/>
<result
column=
"materialName"
jdbcType=
"VARCHAR"
property=
"materialName"
/>
<result
column=
"creatorName"
jdbcType=
"VARCHAR"
property=
"creatorName"
/>
<result
column=
"creatorName"
jdbcType=
"VARCHAR"
property=
"creatorName"
/>
<result
column=
"updaterName"
jdbcType=
"VARCHAR"
property=
"updaterName"
/>
<result
column=
"updaterName"
jdbcType=
"VARCHAR"
property=
"updaterName"
/>
<result
column=
"depotHeadNumber"
jdbcType=
"VARCHAR"
property=
"depotHeadNumber"
/>
<result
column=
"depotHeadType"
jdbcType=
"VARCHAR"
property=
"depotHeadType"
/>
</resultMap>
</resultMap>
<select
id=
"selectByConditionSerialNumber"
resultMap=
"SerialNumberExBaseResultMap"
>
<select
id=
"selectByConditionSerialNumber"
resultMap=
"SerialNumberExBaseResultMap"
>
select
select
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.update_Time,mat.name as materialName,null as creator,null as updater,null as creatorName,
ser.update_Time,mat.name as materialName,null as creator,null as updater,null as creatorName,
null as updaterName,ser.depothead_Id
null as updaterName,ser.depothead_Id
, dh.number as depotHeadNumber,concat(dh.SubType,dh.Type) as depotHeadType
FROM jsh_serial_number ser
FROM jsh_serial_number ser
left JOIN jsh_material mat on mat.id = ser.material_Id
left join jsh_material mat on mat.id = ser.material_Id
left join jsh_depothead dh on dh.id= ser.depothead_Id
where 1=1
where 1=1
<if
test=
"serialNumber != null"
>
<if
test=
"serialNumber != null"
>
<bind
name=
"serialNumber"
value=
"'%' + _parameter.serialNumber + '%'"
/>
<bind
name=
"serialNumber"
value=
"'%' + _parameter.serialNumber + '%'"
/>
...
...
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