Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1536edf5
由
LN
编写于
2022-06-02 16:50:34 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
工单合单修改。执行工单出库时必须先绑定箱子
1 个父辈
8464247b
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
32 行增加
和
9 行删除
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderSheetController.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
src/main/resources/messages.properties
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
1536edf
...
...
@@ -11,6 +11,7 @@ import com.neotel.smfcore.core.device.util.DataCache;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.OrderPnCache
;
import
com.neotel.smfcore.core.order.bean.OrderBoxInfo
;
import
com.neotel.smfcore.core.order.bean.OrderPnInfo
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.rest.bean.dto.OrderDto
;
...
...
@@ -403,6 +404,20 @@ public class OrderController {
}
LiteOrder
liteOrder
=
orderList
.
get
(
0
);
//判断是否绑定过箱子
boolean
isbind
=
false
;
if
(
liteOrder
.
getBoxInfos
()!=
null
){
for
(
OrderBoxInfo
boxInfo:
liteOrder
.
getBoxInfos
())
{
if
(
boxInfo
.
getOperater
().
equals
(
user
.
getUsername
())){
isbind
=
true
;
}
}
}
if
(!
isbind
){
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.order.noBind"
,
"操作失败,请先为工单{0}绑定箱子"
,
new
String
[]{
liteOrder
.
getOrderNo
()});
}
//设置此工单的任务可以发送给料架
List
<
DataLog
>
taskList
=
getOrderTaskByUser
(
user
,
liteOrder
,
true
);
for
(
DataLog
datalog
:
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderSheetController.java
查看文件 @
1536edf
...
...
@@ -125,8 +125,10 @@ public class OrderSheetController {
}
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
//查询所有出库中或关闭的
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
in
(
new
Integer
[]{
LITEORDER_STATUS
.
EXECUTING
,
LITEORDER_STATUS
.
CLOSED
,
LITEORDER_STATUS
.
EXECUTING_END
,
LITEORDER_STATUS
.
ADDOUTBOUND
}));
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
in
(
new
Integer
[]{
LITEORDER_STATUS
.
EXECUTING
,
LITEORDER_STATUS
.
CLOSED
}));
query
.
addCriteria
(
Criteria
.
where
(
"sheetEnd"
).
ne
(
true
));
query
.
addCriteria
(
Criteria
.
where
(
"boxInfos"
).
ne
(
null
));
//必须绑定箱子
query
.
addCriteria
(
Criteria
.
where
(
"shortageOut"
).
ne
(
true
));
//非欠料出库
PageData
<
LiteOrder
>
orderList
=
liteOrderManager
.
findByPage
(
query
,
pageable
);
PageData
<
OrderDto
>
resultList
=
orderMapper
.
toDto
(
orderList
);
...
...
@@ -147,7 +149,6 @@ public class OrderSheetController {
if
(
dataLog
==
null
)
{
throw
new
ValidateException
(
"smfcore.orderSheet.barcode"
,
"未找到料盘{0}的工单信息"
,
new
String
[]{
barcodeInfo
.
getBarcode
()}
);
}
//TODO 判断任务是否已结束,未结束不能绑定位置
LiteOrder
liteOrder
=
liteOrderManager
.
findByOrderNo
(
dataLog
.
getSourceName
());
if
(
liteOrder
==
null
){
...
...
@@ -228,19 +229,23 @@ public class OrderSheetController {
@PreAuthorize
(
"@el.check('workOrder')"
)
public
ResultBean
endOrderSheet
(
@RequestBody
Map
<
String
,
Object
>
mapValues
)
{
String
orderNo
=
mapValues
.
get
(
"orderNo"
).
toString
();
LiteOrder
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
if
(
liteOrder
==
null
)
{
throw
new
ValidateException
(
"smfcore.orderSheet.barcode"
,
"未找到工单{0}"
,
new
String
[]{
orderNo
}
);
LiteOrder
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
if
(
liteOrder
==
null
)
{
throw
new
ValidateException
(
"smfcore.orderSheet.barcode"
,
"未找到工单{0}"
,
new
String
[]{
orderNo
}
);
}
if
(
liteOrder
.
getBoxNum
()<=
0
){
throw
new
ValidateException
(
"smfcore.orderSheet.noBox"
,
"工单{0}还未绑定箱子"
,
new
String
[]{
liteOrder
.
getOrderNo
()}
);
}
//判断工单是否完成
if
(
liteOrder
.
isClosed
()
){
throw
new
ValidateException
(
"smfcore.orderSheet.end.error"
,
"操作失败,工单{0}还未出库完成"
,
new
String
[]{
orderNo
});
}
if
(
liteOrder
.
getCurrBoxNum
()<
liteOrder
.
getBoxNum
())
{
throw
new
ValidateException
(
"smfcore.orderSheet.endOrderSheet.error"
,
"工单{0}合单进度未完成"
,
new
String
[]{
orderNo
}
);
if
(
liteOrder
.
getCurrBoxNum
()
<
liteOrder
.
getBoxNum
())
{
throw
new
ValidateException
(
"smfcore.orderSheet.endOrderSheet.error"
,
"工单{0}合单进度未完成"
,
new
String
[]{
orderNo
}
);
}
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]完成合单"
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()
+
"]完成合单"
);
liteOrder
.
setSheetEnd
(
true
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
...
...
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
1536edf
...
...
@@ -159,7 +159,7 @@ public class LiteOrder extends BasePo implements Serializable {
/**
* 当前箱子数
*/
private
Integer
currBoxNum
;
private
Integer
currBoxNum
=
0
;
/**
* 工单是否完成合单
...
...
src/main/resources/messages.properties
查看文件 @
1536edf
...
...
@@ -260,6 +260,9 @@ smfcore.posNotDel=\u5220\u9664\u5931\u8D25\uFF0C\u8BF7\u5148\u5220\u9664[{0}]\u7
smfcore.orderShortage.hasOut
=
\u
8BF7
\u
7B49
\u
5F85
\u
5DE5
\u5355
[{0}]
\u
6B20
\u6599\u
51FA
\u
5E93
\u
7ED3
\u
675F
smfcore.orderShortage.statusError
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF0C{0}
\u
975E
\u
5DE5
\u5355\u
6B20
\u6599\u
72B6
\u6001
smfcore.orderSheet.taskNotEnd
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF0C
\u
5DE5
\u5355\u
51FA
\u
5E93
\u
4EFB
\u
52A1[{0}][{1}}]
\u
8FD8
\u
672A
\u
7ED3
\u
675F
smfcore.orderSheet.end.error
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF0C
\u
5DE5
\u5355
{0}
\u
8FD8
\u
672A
\u
51FA
\u
5E93
\u
5B8C
\u6210
smfcore.order.noBind
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF0C
\u
8BF7
\u5148\u
4E3A
\u
5DE5
\u5355
{0}
\u
7ED1
\u
5B9A
\u
7BB1
\u
5B50
#smfcore.order.out.short=\u5DE5\u5355\u51FA\u5E93\u5931\u8D25\uFF0C\u5DE5\u5355\u7F3A\u6599
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论