Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 585e62bc
由
LN
编写于
2022-05-30 18:39:57 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
功能修改。
1 个父辈
e8f815ad
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
70 行增加
和
33 行删除
src/main/java/com/neotel/smfcore/core/order/enums/LITEORDER_STATUS.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderSheetController.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderShortageController.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/enums/LITEORDER_STATUS.java
查看文件 @
585e62b
...
@@ -7,7 +7,7 @@ public class LITEORDER_STATUS {
...
@@ -7,7 +7,7 @@ public class LITEORDER_STATUS {
/**新建的工单*/
/**新建的工单*/
public
static
int
NEW
=
0
;
public
static
int
NEW
=
0
;
/**工单缺料*/
/**工单缺料
未齐套
*/
public
static
int
SHORTAGE
=
1
;
public
static
int
SHORTAGE
=
1
;
/**工单正在出库执行中*/
/**工单正在出库执行中*/
...
@@ -18,7 +18,7 @@ public class LITEORDER_STATUS {
...
@@ -18,7 +18,7 @@ public class LITEORDER_STATUS {
public
static
int
CLOSED
=
3
;
public
static
int
CLOSED
=
3
;
/**出库完成
单
缺料*/
/**出库完成
但
缺料*/
public
static
int
EXECUTING_END
=
4
;
public
static
int
EXECUTING_END
=
4
;
...
@@ -28,11 +28,11 @@ public class LITEORDER_STATUS {
...
@@ -28,11 +28,11 @@ public class LITEORDER_STATUS {
/**
/**
* 工单状态
* 工单状态
* 0=新建
的工单
* 0=新建
* 1=
工单缺料
* 1=
未齐套
* 2=
工单正在
出库中
* 2=出库中
* 3=
工单
已关闭
* 3=已关闭
* 4=
出库完成
* 4=
工单欠料
* 5=欠料出库中
* 5=欠料出库中
*/
*/
/**
/**
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderSheetController.java
查看文件 @
585e62b
...
@@ -201,18 +201,20 @@ public class OrderSheetController {
...
@@ -201,18 +201,20 @@ public class OrderSheetController {
}
}
String
pos
=
liteOrder
.
getPosition
(
type
);
String
pos
=
liteOrder
.
getPosition
(
type
);
if
(
ObjectUtil
.
isNotEmpty
(
pos
)){
if
(
ObjectUtil
.
isNotEmpty
(
pos
)){
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
liteOrder
.
getPosition
(
type
),
pos
}
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]失败:已有位置:"
+
type
+
"_"
+
pos
);
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
type
+
""
,
pos
}
);
}
}
if
(
liteOrder
.
getPosInfos
()!=
null
){
if
(
liteOrder
.
getPosInfos
()!=
null
){
for
(
OrderPosInfo
posInfo
:
for
(
OrderPosInfo
posInfo
:
liteOrder
.
getPosInfos
())
{
liteOrder
.
getPosInfos
())
{
if
(
posInfo
.
getPosition
().
equals
(
position
))
{
if
(
posInfo
.
getPosition
().
equals
(
position
))
{
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
liteOrder
.
getPosition
(
posInfo
.
getType
()),
position
}
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]失败:已有位置:"
+
posInfo
.
getType
()+
"_"
+
pos
);
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
posInfo
.
getType
()+
""
,
position
}
);
}
}
}
}
}
}
liteOrder
.
addPos
(
type
,
position
);
liteOrder
.
addPos
(
type
,
position
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]"
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]
成功
"
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderShortageController.java
查看文件 @
585e62b
...
@@ -107,8 +107,8 @@ public class OrderShortageController {
...
@@ -107,8 +107,8 @@ public class OrderShortageController {
@ApiOperation
(
"欠料发料:工单欠料出库"
)
@ApiOperation
(
"欠料发料:工单欠料出库"
)
@PostMapping
(
value
=
"/shortageOut"
)
@PostMapping
(
value
=
"/shortageOut"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
public
ResultBean
shortageOut
(
@RequestBody
Map
<
String
,
String
>
mapValues
)
{
public
ResultBean
shortageOut
(
@RequestBody
String
orderNo
)
{
String
orderNo
=
mapValues
.
get
(
"orderNo"
);
//
String orderNo = mapValues.get("orderNo");
if
(
orderNo
==
null
)
{
if
(
orderNo
==
null
)
{
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"orderNo"
});
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"orderNo"
});
}
}
...
@@ -120,11 +120,19 @@ public class OrderShortageController {
...
@@ -120,11 +120,19 @@ public class OrderShortageController {
//判断是否已有在出库中的工单
//判断是否已有在出库中的工单
Integer
[]
status
=
new
Integer
[]{
LITEORDER_STATUS
.
ADDOUTBOUND
};
Integer
[]
status
=
new
Integer
[]{
LITEORDER_STATUS
.
ADDOUTBOUND
};
Query
query
=
getQuery
(
new
OrderQueryCondition
(),
status
);
Query
query
=
getQuery
(
new
OrderQueryCondition
(),
status
);
//已齐套的不显示
query
.
addCriteria
(
Criteria
.
where
(
"complete"
).
ne
(
true
));
List
<
LiteOrder
>
liteOrders
=
liteOrderManager
.
findByQuery
(
query
);
List
<
LiteOrder
>
liteOrders
=
liteOrderManager
.
findByQuery
(
query
);
if
(
liteOrders
.
size
()>
0
){
if
(
liteOrders
.
size
()>
0
){
throw
new
ValidateException
(
"smfcore.orderShortage.hasOut"
,
"请等待工单["
+
liteOrders
.
get
(
0
).
getOrderNo
()+
"]欠料出库结束"
,
new
String
[]{
"orderNo"
,
liteOrders
.
get
(
0
).
getOrderNo
()});
throw
new
ValidateException
(
"smfcore.orderShortage.hasOut"
,
"请等待工单["
+
liteOrders
.
get
(
0
).
getOrderNo
()+
"]欠料出库结束"
,
new
String
[]{
"orderNo"
,
liteOrders
.
get
(
0
).
getOrderNo
()});
}
}
//判断是否可以欠料出库
if
(!
liteOrder
.
isExecutingEnd
()){
throw
new
ValidateException
(
"smfcore.orderShortage.statusError"
,
"操作失败,"
+
liteOrder
.
getOrderNo
()+
"非工单欠料状态"
,
new
String
[]{
liteOrder
.
getOrderNo
()}
);
}
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]开始欠料出库"
);
//TODO 调用缺料出库方法
//TODO 调用缺料出库方法
String
result
=
liteOrderCache
.
checkOutLiteOrder
(
SecurityUtils
.
getCurrentUsername
(),
liteOrder
.
getOrderNo
(),
true
,
true
);
String
result
=
liteOrderCache
.
checkOutLiteOrder
(
SecurityUtils
.
getCurrentUsername
(),
liteOrder
.
getOrderNo
(),
true
,
true
);
...
@@ -139,16 +147,7 @@ public class OrderShortageController {
...
@@ -139,16 +147,7 @@ public class OrderShortageController {
@GetMapping
(
"/shortageOutTasks"
)
@GetMapping
(
"/shortageOutTasks"
)
@PreAuthorize
(
"@el.check('reelOut')"
)
@PreAuthorize
(
"@el.check('reelOut')"
)
public
List
<
TaskDto
>
shortageOutTasks
(
@RequestParam
Map
<
String
,
String
>
paramsMap
)
{
public
List
<
TaskDto
>
shortageOutTasks
(
@RequestParam
Map
<
String
,
String
>
paramsMap
)
{
//
// String orderNo = paramsMap.get("orderNo");
// if (orderNo == null) {
// throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"orderNo"});
// }
//
// LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
// if (liteOrder == null) {
// throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
// }
//判断是否已有在出库中的工单
//判断是否已有在出库中的工单
Integer
[]
status
=
new
Integer
[]{
LITEORDER_STATUS
.
ADDOUTBOUND
};
Integer
[]
status
=
new
Integer
[]{
LITEORDER_STATUS
.
ADDOUTBOUND
};
Query
query
=
getQuery
(
new
OrderQueryCondition
(),
status
);
Query
query
=
getQuery
(
new
OrderQueryCondition
(),
status
);
...
@@ -178,9 +177,10 @@ public class OrderShortageController {
...
@@ -178,9 +177,10 @@ public class OrderShortageController {
@GetMapping
(
value
=
"/sheetList"
)
@GetMapping
(
value
=
"/sheetList"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
public
PageData
<
OrderDto
>
queryList
(
OrderQueryCondition
criteria
,
Pageable
pageable
)
{
public
PageData
<
OrderDto
>
queryList
(
OrderQueryCondition
criteria
,
Pageable
pageable
)
{
Integer
[]
status
=
new
Integer
[]{
LITEORDER_STATUS
.
CLOSED
};
Integer
[]
status
=
new
Integer
[]{
LITEORDER_STATUS
.
CLOSED
,
LITEORDER_STATUS
.
ADDOUTBOUND
,
LITEORDER_STATUS
.
EXECUTING_END
};
Query
query
=
getQuery
(
criteria
,
status
);
Query
query
=
getQuery
(
criteria
,
status
);
query
.
addCriteria
(
Criteria
.
where
(
"complete"
).
ne
(
true
));
PageData
<
LiteOrder
>
orderList
=
liteOrderManager
.
findByPage
(
query
,
pageable
);
PageData
<
LiteOrder
>
orderList
=
liteOrderManager
.
findByPage
(
query
,
pageable
);
PageData
<
OrderDto
>
resultList
=
orderMapper
.
toDto
(
orderList
);
PageData
<
OrderDto
>
resultList
=
orderMapper
.
toDto
(
orderList
);
return
resultList
;
return
resultList
;
...
@@ -229,18 +229,20 @@ public class OrderShortageController {
...
@@ -229,18 +229,20 @@ public class OrderShortageController {
String
pos
=
liteOrder
.
getPosition
(
type
);
String
pos
=
liteOrder
.
getPosition
(
type
);
if
(
ObjectUtil
.
isNotEmpty
(
pos
)){
if
(
ObjectUtil
.
isNotEmpty
(
pos
)){
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
liteOrder
.
getPosition
(
type
),
pos
}
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]失败:已有位置:欠料_"
+
pos
);
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
"欠料"
,
pos
}
);
}
}
if
(
liteOrder
.
getPosInfos
()!=
null
){
if
(
liteOrder
.
getPosInfos
()!=
null
){
for
(
OrderPosInfo
posInfo
:
for
(
OrderPosInfo
posInfo
:
liteOrder
.
getPosInfos
())
{
liteOrder
.
getPosInfos
())
{
if
(
posInfo
.
getPosition
().
equals
(
position
))
{
if
(
posInfo
.
getPosition
().
equals
(
position
))
{
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
liteOrder
.
getPosition
(
posInfo
.
getType
()),
position
}
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]失败:已有位置:"
+
posInfo
.
getType
()+
"_"
+
pos
);
throw
new
ValidateException
(
"smfcore.orderSheet.hasPos"
,
"工单{0}已有{1}位置{2}"
,
new
String
[]{
orderNo
,
posInfo
.
getType
()+
""
,
position
}
);
}
}
}
}
}
}
liteOrder
.
addPos
(
type
,
position
);
liteOrder
.
addPos
(
type
,
position
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]"
);
log
.
info
(
"工单合单:工单号["
+
liteOrder
.
getOrderNo
()+
"]绑定位置["
+
type
+
"]["
+
position
+
"]
成功
"
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
...
@@ -252,19 +254,37 @@ public class OrderShortageController {
...
@@ -252,19 +254,37 @@ public class OrderShortageController {
@ApiOperation
(
"合单欠料:工单已齐套"
)
@ApiOperation
(
"合单欠料:工单已齐套"
)
@PostMapping
(
value
=
"/orderComplete"
)
@PostMapping
(
value
=
"/orderComplete"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
public
ResultBean
orderComplete
(
@RequestBody
Map
<
String
,
Object
>
mapValues
)
{
public
ResultBean
orderComplete
(
@RequestBody
String
orderNo
)
{
String
orderNo
=
mapValues
.
get
(
"orderNo"
).
toString
();
//
String orderNo = mapValues.get("orderNo").toString();
LiteOrder
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
LiteOrder
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
if
(
liteOrder
==
null
){
if
(
liteOrder
==
null
){
throw
new
ValidateException
(
"smfcore.orderSheet.barcode"
,
"未找到工单{0}"
,
new
String
[]{
orderNo
}
);
throw
new
ValidateException
(
"smfcore.orderSheet.barcode"
,
"未找到工单{0}"
,
new
String
[]{
orderNo
}
);
}
}
//如果还有未完成的工单任务,不能齐套
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
datalog
:
allTasks
)
{
if
(
datalog
.
isOrderTask
()
&&
datalog
.
getSourceId
().
equals
(
liteOrder
.
getId
()))
{
if
(
datalog
.
isWait
()||
datalog
.
isExecuting
()){
log
.
info
(
"工单已齐套:工单号["
+
orderNo
+
"]操作失败:工单出库任务["
+
datalog
.
getPosName
()+
"]["
+
datalog
.
getBarcode
()+
"]还未结束"
);
throw
new
ValidateException
(
"smfcore.orderSheet.taskNotEnd"
,
"操作失败,工单出库任务["
+
datalog
.
getPosName
()+
"]["
+
datalog
.
getBarcode
()+
"]还未结束"
,
new
String
[]{
datalog
.
getPosName
(),
datalog
.
getBarcode
()}
);
}
}
}
if
(
liteOrder
.
isExecutingEnd
()||
liteOrder
.
isClosed
()){
log
.
info
(
"工单已齐套:工单号["
+
liteOrder
.
getOrderNo
()+
"]工单已齐套"
);
log
.
info
(
"工单已齐套:工单号["
+
liteOrder
.
getOrderNo
()+
"]工单已齐套"
);
liteOrder
.
setComplete
(
true
);
liteOrder
.
setComplete
(
true
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
return
ResultBean
.
newOkResult
(
"ok"
);
}
else
{
log
.
info
(
"工单已齐套:工单号["
+
orderNo
+
"]操作失败:状态="
+
liteOrder
.
getStatus
());
throw
new
ValidateException
(
"smfcore.orderSheet.complete.error"
,
"操作失败"
);
}
return
ResultBean
.
newOkResult
(
"ok"
);
}
}
}
}
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
585e62b
...
@@ -236,6 +236,19 @@ public class LiteOrder extends BasePo implements Serializable {
...
@@ -236,6 +236,19 @@ public class LiteOrder extends BasePo implements Serializable {
public
boolean
isExecuting
(){
public
boolean
isExecuting
(){
return
status
==
LITEORDER_STATUS
.
EXECUTING
;
return
status
==
LITEORDER_STATUS
.
EXECUTING
;
}
}
/**
* 是否出库完成欠料工单
*/
public
boolean
isExecutingEnd
(){
return
status
==
LITEORDER_STATUS
.
EXECUTING_END
;
}
/**
* 是否欠料出库中的工单
*/
public
boolean
isAddOutBound
(){
return
status
==
LITEORDER_STATUS
.
ADDOUTBOUND
;
}
...
...
src/main/resources/messages.properties
查看文件 @
585e62b
...
@@ -258,6 +258,8 @@ smfcore.outList.out.short=\u5B58\u50A8\u51FA\u5E93\u5355{0}\u7F3A\u6599
...
@@ -258,6 +258,8 @@ smfcore.outList.out.short=\u5B58\u50A8\u51FA\u5E93\u5355{0}\u7F3A\u6599
smfcore.outList.out.noTask
=
\u
8F6C
\u
50A8
\u
51FA
\u
5E93
\u5355\u
65E0
\u
53EF
\u6267\u
884C
\u7684\u
4EFB
\u
52A1
smfcore.outList.out.noTask
=
\u
8F6C
\u
50A8
\u
51FA
\u
5E93
\u5355\u
65E0
\u
53EF
\u6267\u
884C
\u7684\u
4EFB
\u
52A1
smfcore.posNotDel
=
\u5220\u9664\u5931\u
8D25
\u
FF0C
\u
8BF7
\u5148\u5220\u9664
[{0}]
\u7684\u6240\u6709\u
5E93
\u
4F4D
smfcore.posNotDel
=
\u5220\u9664\u5931\u
8D25
\u
FF0C
\u
8BF7
\u5148\u5220\u9664
[{0}]
\u7684\u6240\u6709\u
5E93
\u
4F4D
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.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.order.out.short=\u5DE5\u5355\u51FA\u5E93\u5931\u8D25\uFF0C\u5DE5\u5355\u7F3A\u6599
#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}
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论