Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit b2fe0a50
由
zshaohui
编写于
2025-05-21 16:32:14 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.partNumber管理 增加操作人
1 个父辈
7ad66282
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
28 行增加
和
17 行删除
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/custom/Jkem21481/bean/MJPartNumber.java
src/main/java/com/neotel/smfcore/custom/Jkem21481/controller/PartNumberController.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
b2fe0a5
...
...
@@ -852,6 +852,7 @@ public class DeviceController {
Barcode
barcode
=
needMovePos
.
getBarcode
();
String
posName
=
""
;
if
(
barcode
!=
null
)
{
log
.
info
(
"需要移动的库位"
+
needMovePosName
+
",对应的barcode为:"
+
barcode
.
getBarcode
()+
",尺寸为:"
+
barcode
.
getPlateSize
()+
"x"
+
barcode
.
getHeight
());
// Storage storage = dataCache.getStorageById(checkOutPos.getStorageId());
// ReelLockPosInfo reelLocInfo = new ReelLockPosInfo();
// reelLocInfo.setBarcode(barcode.getBarcode());
...
...
@@ -907,6 +908,7 @@ public class DeviceController {
loopCount
++;
if
(
loopCount
>=
10
)
{
log
.
info
(
barcode
.
getBarcode
()
+
"已循环查找10次 直接跳出循环"
);
break
;
}
//优先找B结束的,如果没有再找F的
String
endStr
=
"B"
;
...
...
@@ -914,9 +916,9 @@ public class DeviceController {
if
(
pos
==
null
)
{
endStr
=
"F"
;
pos
=
taskService
.
findEmptyPosForMoveIn
(
storageList
,
barcode
,
""
,
""
,
needMovePosName
,
endStr
);
break
;
}
if
(
pos
==
null
)
{
log
.
info
(
"需要移动的库位"
+
needMovePosName
+
"未找到对应的库位信息"
);
break
;
}
...
...
@@ -1012,7 +1014,7 @@ public class DeviceController {
resultMap
.
put
(
"partNumber"
,
barcode
.
getPartNumber
());
if
(
ObjectUtil
.
isEmpty
(
posName
))
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.shelf.msg.inError"
,
"未找到适合[{0}]的库位"
,
new
String
[]{
"posName"
,
needMovePosName
});
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.shelf.msg.inError"
,
"未找到适合[{0}]的库位"
,
new
String
[]{
needMovePosName
});
}
else
{
resultMap
.
put
(
"posName"
,
posName
);
}
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
b2fe0a5
...
...
@@ -1004,9 +1004,17 @@ public class LiteOrderCache {
//List<Barcode> subCodeList = barcode.getSubCodeList();
//if (subCodeList == null || subCodeList.isEmpty()) {
if
(
barcode
.
isBox
())
{
//再用相同条件查一次工单出库,判断是否为最后一盘
boolean
hasReel
=
true
;
excludePosIds
.
add
(
pos
.
getId
());
StoragePos
finallyPos
=
storagePosManager
.
findPartNumberInStorages
(
availableStorageIds
,
partNumber
,
excludePosIds
,
checkoutType
);
if
(
finallyPos
==
null
)
{
hasReel
=
false
;
}
if
(
barcode
.
isBox
()
||
!
hasReel
)
{
int
checkingAmount
=
remainNum
-
assignNum
;
//剩余工单要出的数量
log
.
info
(
orderNo
+
"需要到的任务为治具,需要点料的数量:"
+
checkingAmount
+
",当前治具剩余的数量为:"
+
barcode
.
getAmount
());
log
.
info
(
orderNo
+
"需要到的任务为治具
或者为最后一盘料,barcode为:"
+
barcode
.
getBarcode
()+
"
,需要点料的数量:"
+
checkingAmount
+
",当前治具剩余的数量为:"
+
barcode
.
getAmount
());
//物料数量-已经发出的数量 = 点料数量
if
(
barcode
.
getAmount
()
-
checkingAmount
>
0
)
{
barcode
.
setCheckingAmount
(
checkingAmount
);
...
...
@@ -1036,14 +1044,6 @@ public class LiteOrderCache {
+
"]是否为料盒["
+
barcode
.
isBox
()
);
//再用相同条件查一次工单出库,判断是否为最后一盘
boolean
hasReel
=
true
;
excludePosIds
.
add
(
pos
.
getId
());
StoragePos
finallyPos
=
storagePosManager
.
findPartNumberInStorages
(
availableStorageIds
,
partNumber
,
excludePosIds
,
checkoutType
);
if
(
finallyPos
==
null
)
{
hasReel
=
false
;
}
DataLog
task
=
newTask
(
pos
);
task
.
setSourceId
(
cacheOrder
.
getId
());
task
.
setSourceName
(
cacheOrder
.
getOrderNo
());
...
...
src/main/java/com/neotel/smfcore/custom/Jkem21481/bean/MJPartNumber.java
查看文件 @
b2fe0a5
...
...
@@ -9,4 +9,5 @@ public class MJPartNumber extends BasePo {
private
String
jkemPartNumber
;
//JKEM 部品号;
private
int
pitch
;
private
int
msd
;
//MSD (1 = need control; 0 = no need control)
private
String
operator
;
}
src/main/java/com/neotel/smfcore/custom/Jkem21481/controller/PartNumberController.java
查看文件 @
b2fe0a5
...
...
@@ -6,6 +6,7 @@ import com.neotel.smfcore.common.excel.ExcelReader;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.custom.Jkem21481.bean.MJPartNumber
;
import
com.neotel.smfcore.custom.Jkem21481.bean.query.MjPartNumberQueryCondition
;
...
...
@@ -46,7 +47,7 @@ public class PartNumberController {
@ApiOperation
(
"文件上传"
)
@RequestMapping
(
"/uploadFile"
)
@AnonymousAccess
//
@AnonymousAccess
public
ResultBean
uploadFile
(
@RequestParam
(
"file"
)
MultipartFile
uploadFile
)
{
//判断是否为xlsx文件
String
xlsx
=
"xlsx"
;
...
...
@@ -67,6 +68,7 @@ public class PartNumberController {
for
(
MJPartNumber
mjPartNumber
:
partNumberList
)
{
MJPartNumber
daMjPartNumber
=
partNumberManager
.
findByMakerAndJkemPartNumber
(
mjPartNumber
.
getMakerPartNumber
(),
mjPartNumber
.
getJkemPartNumber
());
if
(
daMjPartNumber
==
null
){
mjPartNumber
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
partNumberManager
.
save
(
mjPartNumber
);
}
else
{
if
(
...
...
@@ -77,6 +79,7 @@ public class PartNumberController {
daMjPartNumber
.
setMakerPartNumber
(
mjPartNumber
.
getMakerPartNumber
());
daMjPartNumber
.
setMsd
(
mjPartNumber
.
getMsd
());
daMjPartNumber
.
setPitch
(
mjPartNumber
.
getPitch
());
daMjPartNumber
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
partNumberManager
.
save
(
daMjPartNumber
);
}
}
...
...
@@ -130,7 +133,7 @@ public class PartNumberController {
@ApiOperation
(
"获取所有给客户端使用"
)
@RequestMapping
(
"/getALlMakerPnAndJkemPn"
)
@AnonymousAccess
//
@AnonymousAccess
public
List
<
MJPartNumber
>
getALlMakerPnAndJkemPn
(){
return
partNumberManager
.
findAll
();
}
...
...
@@ -139,12 +142,13 @@ public class PartNumberController {
@ApiOperation
(
"批量删除"
)
@RequestMapping
(
"/batchDelete"
)
@AnonymousAccess
//
@AnonymousAccess
public
ResultBean
batchDelete
(
@RequestBody
Map
<
String
,
List
<
String
>>
paramMap
){
List
<
String
>
idList
=
paramMap
.
get
(
"ids"
);
if
(
idList
==
null
||
idList
.
isEmpty
()){
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"ids"
});
}
log
.
info
(
"批量删除,操作人为:"
+
SecurityUtils
.
getLoginUsername
());
partNumberManager
.
batchDelete
(
idList
);
return
ResultBean
.
newOkResult
(
""
);
}
...
...
@@ -152,7 +156,7 @@ public class PartNumberController {
@ApiOperation
(
"修改"
)
@RequestMapping
(
"/update"
)
@AnonymousAccess
//
@AnonymousAccess
public
ResultBean
update
(
@RequestBody
MJPartNumber
mjPartNumber
){
String
jkemPartNumber
=
mjPartNumber
.
getJkemPartNumber
();
String
makerPartNumber
=
mjPartNumber
.
getMakerPartNumber
();
...
...
@@ -160,13 +164,15 @@ public class PartNumberController {
int
msd
=
mjPartNumber
.
getMsd
();
String
id
=
mjPartNumber
.
getId
();
log
.
info
(
"修改PartNumber维护信息,jkemPartNumber:"
+
jkemPartNumber
+
",makerPartNumber:"
+
makerPartNumber
+
",pitch:"
+
pitch
+
",msd:"
+
msd
+
",id:"
+
id
);
log
.
info
(
"操作人为:"
+
SecurityUtils
.
getLoginUsername
());
mjPartNumber
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
partNumberManager
.
save
(
mjPartNumber
);
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"新增"
)
@RequestMapping
(
"/save"
)
@AnonymousAccess
//
@AnonymousAccess
public
ResultBean
save
(
@RequestBody
MJPartNumber
mjPartNumber
){
String
jkemPartNumber
=
mjPartNumber
.
getJkemPartNumber
();
String
makerPartNumber
=
mjPartNumber
.
getMakerPartNumber
();
...
...
@@ -174,12 +180,14 @@ public class PartNumberController {
int
msd
=
mjPartNumber
.
getMsd
();
String
id
=
mjPartNumber
.
getId
();
log
.
info
(
"新增PartNumber维护信息,jkemPartNumber:"
+
jkemPartNumber
+
",makerPartNumber:"
+
makerPartNumber
+
",pitch:"
+
pitch
+
",msd:"
+
msd
+
",id为:"
+
id
);
log
.
info
(
"操作人为:"
+
SecurityUtils
.
getLoginUsername
());
if
(
StringUtils
.
isEmpty
(
jkemPartNumber
)){
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"JKEM Part Number"
});
}
if
(
StringUtils
.
isEmpty
(
makerPartNumber
)){
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"Maker Part Number"
});
}
mjPartNumber
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
partNumberManager
.
save
(
mjPartNumber
);
return
ResultBean
.
newOkResult
(
""
);
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论