Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4310e7fa
由
hc
编写于
2024-07-26 15:58:10 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
fix:手动入库,手动出库优化
1 个父辈
45350f13
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
42 行增加
和
12 行删除
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IBarcodeManager.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/BarcodeManagerImpl.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxPutInController.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/SpBoxUtil.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IBarcodeManager.java
查看文件 @
4310e7f
...
...
@@ -31,4 +31,5 @@ public interface IBarcodeManager extends IBaseManager<Barcode> {
int
countByQuery
(
Query
query
);
boolean
partNumberIsAlreadyInThisOrNever
(
String
bin
,
String
partNumber
);
}
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/BarcodeManagerImpl.java
查看文件 @
4310e7f
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
service
.
manager
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.base.Strings
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
...
...
@@ -20,12 +19,13 @@ import org.springframework.data.mongodb.core.query.Criteria;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
com.neotel.smfcore.custom.luxsan_sp.util.SpBoxUtil
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
...
...
@@ -214,6 +214,19 @@ public class BarcodeManagerImpl implements IBarcodeManager {
return
barcodeDao
.
countByQuery
(
query
);
}
@Override
public
boolean
partNumberIsAlreadyInThisOrNever
(
String
bin
,
String
partNumber
)
{
Query
query
=
new
Query
(
Criteria
.
where
(
"subCodeList.partNumber"
).
is
(
partNumber
));
List
<
String
>
barcodes
=
new
ArrayList
<>();
for
(
Barcode
barcode
:
(
List
<
Barcode
>)
barcodeDao
.
findByQuery
(
query
))
{
barcodes
.
addAll
(
barcode
.
getSubCodeList
().
stream
()
.
map
(
Barcode:
:
getBarcode
).
collect
(
Collectors
.
toList
()));
}
for
(
String
barcode
:
barcodes
)
{
return
barcode
.
equals
(
bin
);
}
return
true
;
}
protected
boolean
validateComponent
(
Barcode
barcode
)
{
return
componentManager
.
findOneByPN
(
barcode
.
getPartNumber
())
!=
null
;
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxPutInController.java
查看文件 @
4310e7f
...
...
@@ -35,8 +35,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.*
;
import
java.util.function.Consumer
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
@Api
(
tags
=
"备件仓 料箱入库"
)
...
...
@@ -139,6 +137,24 @@ public class SpBoxPutInController {
return
ResultBean
.
newErrorResult
(-
1
,
""
,
binCodeStr
+
"不是有效的条码"
);
}
//2.解析条码信息
CodeBarcode
codeBarcode
=
CodeUtil
.
getCodeBarcode
(
codeStr
);
if
(
codeBarcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
codeStr
+
"不是有效的条码"
);
}
// 判断物料是否在其他格口
boolean
isAlreadyInThisOrNever
=
barcodeManager
.
partNumberIsAlreadyInThisOrNever
(
binCodeStr
,
codeBarcode
.
getPartNumber
());
if
(!
isAlreadyInThisOrNever
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
codeBarcode
.
getPartNumber
()
+
"已经存在其他料格"
);
}
if
(
boxBarcode
.
getPartNumber
().
equals
(
binBarcode
.
getPartNumber
()))
{
binBarcode
.
setPartNumber
(
null
);
}
//1.判断料格信息与料箱信息是否匹配
if
(!
binBarcode
.
getBarcode
().
startsWith
(
boxBarcode
.
getBarcode
()))
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
binCodeStr
+
"不是当前料箱:"
+
boxStr
+
"的隔口"
);
...
...
@@ -160,11 +176,6 @@ public class SpBoxPutInController {
}
//2.解析条码信息
CodeBarcode
codeBarcode
=
CodeUtil
.
getCodeBarcode
(
codeStr
);
if
(
codeBarcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
codeStr
+
"不是有效的条码"
);
}
//判断有没有正在执行入库单
SpareNo
spareNo
=
spareNoCache
.
getExecutIngSpareNo
();
...
...
@@ -201,6 +212,7 @@ public class SpBoxPutInController {
if
(
isOrderPutIn
)
{
}
else
{
isMatch
=
true
;
barcode
.
setPartNumber
(
codePartNumber
);
}
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/SpBoxUtil.java
查看文件 @
4310e7f
...
...
@@ -137,10 +137,13 @@ public class SpBoxUtil {
String
partNumber
=
getPartNumber
(
subCodeList
,
materialBarcode
);
SpareNoDetail
activeDetail
=
null
;
if
(
ObjectUtil
.
isNotNull
(
activeDetails
))
{
activeDetail
=
activeDetails
.
stream
()
List
<
SpareNoDetail
>
spareNoDetails
=
activeDetails
.
stream
()
.
filter
(
spareNoDetail
->
spareNoDetail
.
getPartno
().
equals
(
partNumber
))
.
limit
(
1
)
.
collect
(
Collectors
.
toList
()).
get
(
0
);
.
collect
(
Collectors
.
toList
());
if
(!
spareNoDetails
.
isEmpty
())
{
activeDetail
=
spareNoDetails
.
get
(
0
);
}
}
if
(
ObjectUtil
.
isNull
(
activeDetail
))
{
par
.
add
(
0
);
...
...
@@ -201,7 +204,8 @@ public class SpBoxUtil {
public
static
int
getAmount
(
List
<
Barcode
>
subCodeList
,
String
reelId
){
if
(
subCodeList
!=
null
&&
!
subCodeList
.
isEmpty
()){
for
(
Barcode
barcode
:
subCodeList
)
{
if
(
reelId
.
equals
(
barcode
.
getBarcode
())){
if
(
reelId
.
replace
(
"0"
,
""
)
.
equals
(
barcode
.
getBarcode
().
replace
(
"0"
,
""
))){
return
barcode
.
getAmount
();
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论