Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit fa6eee9f
由
hc
编写于
2024-07-31 20:59:13 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
工单保存,出库bug修复
1 个父辈
2009c248
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
136 行增加
和
106 行删除
src/main/java/com/neotel/smfcore/common/exception/handler/GlobalExceptionHandler.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/service/manager/ILiteOrderItemManager.java
src/main/java/com/neotel/smfcore/core/order/service/manager/ILiteOrderManager.java
src/main/java/com/neotel/smfcore/core/order/service/manager/impl/LiteOrderManagerImpl.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxCheckOutController.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpReturnInventoryController.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpSpareNoController.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpUnclaimedController.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/dao/SpareNoDao.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/dao/impl/SpareNoDaoImpl.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/manager/ISpareNoManager.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/manager/impl/SpBoxPutInManagerImpl.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/manager/impl/SpareNoManagerImpl.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/OrderNoCache.java
src/main/java/com/neotel/smfcore/common/exception/handler/GlobalExceptionHandler.java
查看文件 @
fa6eee9
...
...
@@ -32,7 +32,7 @@ public class GlobalExceptionHandler {
/**
* 处理所有不可知的异常
*/
@ExceptionHandler
(
Throwable
.
class
)
//
@ExceptionHandler(Throwable.class)
public
ResponseEntity
<
ApiError
>
handleException
(
Throwable
e
){
// 打印堆栈信息
log
.
error
(
e
.
getMessage
());
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
fa6eee9
...
...
@@ -281,15 +281,10 @@ public class LiteOrderCache {
//更新工单状态
String
orderNo
=
task
.
getSourceName
();
if
(!
Strings
.
isNullOrEmpty
(
orderNo
))
{
LiteOrder
order
=
liteOrderMap
.
get
(
orderNo
);
//LiteOrder order = null;
if
(
order
==
null
)
{
log
.
info
(
"缓存中未找到["
+
orderNo
+
"],从数据库中重新加载"
);
order
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
if
(
order
!=
null
){
List
<
LiteOrderItem
>
items
=
liteOrderItemManager
.
findOrderItems
(
order
.
getId
());
order
.
setOrderItems
(
items
);
}
LiteOrder
order
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
if
(
order
!=
null
){
List
<
LiteOrderItem
>
items
=
liteOrderItemManager
.
findOrderItems
(
order
.
getOrderNo
());
order
.
setOrderItems
(
items
);
}
if
(
order
!=
null
)
{
//任务是取消的,需要将总待出库数量-1
...
...
@@ -876,7 +871,8 @@ public class LiteOrderCache {
* @return
*/
public
synchronized
Collection
<
LiteOrder
>
getAllLiteOrder
()
{
return
liteOrderMap
.
values
();
return
liteOrderManager
.
findAll
();
// return liteOrderMap.values();
}
...
...
@@ -1361,10 +1357,7 @@ public class LiteOrderCache {
public
synchronized
String
checkOutUnclaimed
(
LiteOrder
liteOrder
)
throws
Exception
{
String
orderNo
=
liteOrder
.
getOrderNo
();
LiteOrder
cacheOrder
=
liteOrderMap
.
get
(
orderNo
);
if
(
cacheOrder
==
null
)
{
cacheOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
}
LiteOrder
cacheOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
if
(
cacheOrder
==
null
)
{
log
.
info
(
"未找到工单:"
+
orderNo
+
"的信息"
);
return
"预约单不存在"
;
...
...
@@ -1386,7 +1379,7 @@ public class LiteOrderCache {
int
boxCheckOutNum
=
0
;
for
(
LiteOrderItem
item
:
lit
eOrder
.
getOrderItems
())
{
for
(
LiteOrderItem
item
:
cach
eOrder
.
getOrderItems
())
{
String
pn
=
item
.
getPn
();
int
needNum
=
item
.
getNeedNum
();
int
totalOutNum
=
item
.
getTotalOutNum
();
...
...
@@ -1404,11 +1397,12 @@ public class LiteOrderCache {
CHECKOUT_TYPE
checkOutType
=
dataCache
.
getCheckOutType
();
//获取可用库位
StoragePos
pos
=
storagePosManager
.
findPartNumberInStorages
(
storageIdList
,
pn
,
excludePosIds
,
checkOutType
,
""
);
StoragePos
pos
=
storagePosManager
.
findPartNumberInStorages
(
storageIdList
,
pn
,
new
ArrayList
<>()
,
checkOutType
,
""
);
if
(
pos
==
null
)
{
log
.
info
(
item
.
getPn
()
+
"未找到可用库位,跳过"
);
break
;
}
cacheOrder
.
setTaskReelCount
(
item
.
getNeedNum
());
//进行标记
boolean
hasSmpPn
=
false
;
...
...
src/main/java/com/neotel/smfcore/core/order/service/manager/ILiteOrderItemManager.java
查看文件 @
fa6eee9
...
...
@@ -8,7 +8,7 @@ import java.util.Collection;
import
java.util.List
;
public
interface
ILiteOrderItemManager
extends
IBaseManager
<
LiteOrderItem
>
{
List
<
LiteOrderItem
>
findOrderItems
(
String
order
Id
);
List
<
LiteOrderItem
>
findOrderItems
(
String
order
No
);
LiteOrderItem
getOrderItemByBarcode
(
String
barcode
);
...
...
src/main/java/com/neotel/smfcore/core/order/service/manager/ILiteOrderManager.java
查看文件 @
fa6eee9
...
...
@@ -12,6 +12,7 @@ import java.util.Set;
public
interface
ILiteOrderManager
extends
IBaseManager
<
LiteOrder
>
{
LiteOrder
findByOrderNo
(
String
orderNo
);
LiteOrder
findByIdWithItems
(
String
orderId
);
LiteOrder
createWithItems
(
LiteOrder
liteOrder
)
throws
ValidateException
;
List
<
LiteOrder
>
findUnEndOrdersList
();
...
...
src/main/java/com/neotel/smfcore/core/order/service/manager/impl/LiteOrderManagerImpl.java
查看文件 @
fa6eee9
package
com
.
neotel
.
smfcore
.
core
.
order
.
service
.
manager
.
impl
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.base.BasePo
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.core.barcode.service.dao.IBarcodeDao
;
...
...
@@ -34,6 +35,12 @@ public class LiteOrderManagerImpl implements ILiteOrderManager {
private
ILiteOrderItemManager
liteOrderItemManager
;
@Override
@Deprecated
public
LiteOrder
findByIdWithItems
(
String
orderId
)
{
return
null
;
}
@Override
public
LiteOrder
findByOrderNo
(
String
orderNo
)
{
LiteOrder
order
=
liteOrderDao
.
findOneByCondition
(
new
String
[]
{
"orderNo"
},
new
String
[]
{
orderNo
});
if
(
order
!=
null
&&
order
.
getOrderItems
()==
null
){
...
...
@@ -52,7 +59,7 @@ public class LiteOrderManagerImpl implements ILiteOrderManager {
public
LiteOrder
get
(
String
id
)
{
LiteOrder
order
=
liteOrderDao
.
findOneById
(
id
);
if
(
order
!=
null
&&
order
.
getOrderItems
()==
null
){
List
<
LiteOrderItem
>
items
=
liteOrderItemManager
.
findOrderItems
(
order
.
get
Id
());
List
<
LiteOrderItem
>
items
=
liteOrderItemManager
.
findOrderItems
(
order
.
get
OrderNo
());
order
.
setOrderItems
(
items
);
}
return
order
;
...
...
@@ -69,6 +76,8 @@ public class LiteOrderManagerImpl implements ILiteOrderManager {
}
@Override
public
LiteOrder
createWithItems
(
LiteOrder
liteOrder
)
throws
ValidateException
{
liteOrder
.
setId
(
liteOrderDao
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderNo"
)
.
is
(
liteOrder
.
getOrderNo
()))).
getId
());
liteOrder
=
save
(
liteOrder
);
List
<
LiteOrderItem
>
items
=
Lists
.
newArrayList
();
for
(
LiteOrderItem
liteOrderItem
:
liteOrder
.
getOrderItems
())
{
...
...
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
fa6eee9
...
...
@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.utils.StorageConstants;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
lombok.Data
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.annotation.Transient
;
import
org.springframework.data.mongodb.core.mapping.Document
;
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxCheckOutController.java
查看文件 @
fa6eee9
...
...
@@ -125,13 +125,10 @@ public class SpBoxCheckOutController {
}
// 判断是不是工单出库
boolean
isOrderCheckout
=
ObjectUtil
.
isNotEmpty
(
gekouBarcode
.
getOrderId
());
boolean
isOrderCheckout
=
StringUtils
.
isNotBlank
(
liteOrderCache
.
hasExecutingOrder
());
LiteOrder
liteOrder
=
null
;
if
(
isOrderCheckout
)
{
liteOrder
=
liteOrderCache
.
getLiteOrder
(
liteOrder
.
getOrderNo
());
if
(
liteOrder
==
null
)
{
liteOrder
=
liteOrderManager
.
get
(
gekouBarcode
.
getOrderId
());
}
liteOrder
=
liteOrderManager
.
get
(
gekouBarcode
.
getOrderId
());
if
(
liteOrder
==
null
||
liteOrder
.
isClosed
())
{
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpReturnInventoryController.java
查看文件 @
fa6eee9
...
...
@@ -50,20 +50,22 @@ public class SpReturnInventoryController {
@AnonymousAccess
public
ResultBean
getAllReturnNo
(
String
no
)
{
List
<
GetReturnInventoryResult
>
resultList
=
LuxsanSpApi
.
getReturnInventory
(
new
GetReturnInventoryRequest
(
SpareNostatus
.
FUNCTION_DEPT
,
SpareNostatus
.
FORMAL_DEPT_ID
));
List
<
ReturnInventoryNo
>
returnInventoryNos
=
new
ArrayList
<>();
for
(
GetReturnInventoryResult
result
:
resultList
)
{
ReturnInventoryNo
returnInventoryNo
=
returnNoCache
.
getByOrderNo
(
result
.
getOrderNo
());
if
(
returnInventoryNo
==
null
)
{
returnInventoryNo
=
returnNoCache
.
getOrderNoResultToReturnInventoryNo
(
result
);
returnNoCache
.
addToMap
(
returnInventoryNo
);
returnNoManager
.
save
(
returnInventoryNo
);
List
<
ReturnInventoryNo
>
result
=
returnNoManager
.
findAll
();
List
<
String
>
returnInventoryNos
=
result
.
stream
().
map
(
ReturnInventoryNo:
:
getOrderNo
).
collect
(
Collectors
.
toList
());
for
(
GetReturnInventoryResult
returnInventoryResult
:
resultList
)
{
if
(
returnInventoryNos
.
contains
(
returnInventoryResult
.
getOrderNo
()))
{
continue
;
}
returnInventoryNos
.
add
(
returnInventoryNo
);
ReturnInventoryNo
returnInventoryNo
=
returnNoCache
.
getOrderNoResultToReturnInventoryNo
(
returnInventoryResult
);
result
.
add
(
returnInventoryNo
);
returnNoCache
.
addToMap
(
returnInventoryNo
);
returnNoManager
.
save
(
returnInventoryNo
);
}
if
(
StringUtils
.
isNotBlank
(
no
))
{
re
turnInventoryNos
=
returnInventoryNos
.
stream
().
filter
(
spareNo
->
spareNo
.
getOrderNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
re
sult
=
result
.
stream
().
filter
(
spareNo
->
spareNo
.
getOrderNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
}
return
ResultBean
.
newOkResult
(
re
turnInventoryNos
);
return
ResultBean
.
newOkResult
(
re
sult
);
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpSpareNoController.java
查看文件 @
fa6eee9
...
...
@@ -6,8 +6,6 @@ import com.neotel.smfcore.common.utils.StringUtils;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
com.neotel.smfcore.custom.luxsan_sp.api.LuxsanSpApi
;
import
com.neotel.smfcore.custom.luxsan_sp.api.bean.request.GetSpareNoRequest
;
import
com.neotel.smfcore.custom.luxsan_sp.api.bean.result.GetSpareNoResult
;
import
com.neotel.smfcore.custom.luxsan_sp.bean.SpareNo
;
import
com.neotel.smfcore.custom.luxsan_sp.enums.SpareNostatus
;
...
...
@@ -62,23 +60,26 @@ public class SpSpareNoController {
@RequestMapping
(
"/getAllSpareNo"
)
@AnonymousAccess
public
ResultBean
getAllSpareNo
(
String
no
)
{
List
<
GetSpareNoResult
>
resultList
=
LuxsanSpApi
.
getSpareNo
(
new
GetSpareNoRequest
(
SpareNostatus
.
FORMAL_DEPT_ID
,
SpareNostatus
.
FUNCTION_DEPT
));
// 从远程获取入库单(已经保存的不要)+还要展示本地的入库单
// List<GetSpareNoResult> resultList = LuxsanSpApi.getSpareNo(new GetSpareNoRequest(SpareNostatus.FORMAL_DEPT_ID, SpareNostatus.FUNCTION_DEPT));
List
<
GetSpareNoResult
>
resultList
=
new
ArrayList
<>();
List
<
SpareNo
>
allSpareFromDB
=
spareNoManager
.
findAll
();
List
<
SpareNo
>
spareNoList
=
new
ArrayList
<>();
for
(
GetSpareNoResult
result
:
resultList
)
{
SpareNo
spareNo
=
spareNoCache
.
getBySpareNo
(
result
.
getSpareNo
());
if
(
spareNo
==
null
)
{
spareNo
=
spareNoCache
.
getSpareNoResultToSpareNo
(
result
);
spareNoCache
.
addToMap
(
spareNo
);
spareNoManager
.
save
(
spareNo
);
List
<
SpareNo
>
resultSpare
=
new
ArrayList
<>(
allSpareFromDB
);
List
<
String
>
spareNoDBCollection
=
allSpareFromDB
.
stream
().
map
(
SpareNo:
:
getSpareNo
).
collect
(
Collectors
.
toList
());
for
(
GetSpareNoResult
spareNoResult
:
resultList
)
{
if
(
spareNoDBCollection
.
contains
(
spareNoResult
.
getSpareNo
()))
{
continue
;
}
spareNoList
.
add
(
spareNo
);
SpareNo
newSpareNo
=
spareNoCache
.
getSpareNoResultToSpareNo
(
spareNoResult
);
resultSpare
.
add
(
newSpareNo
);
spareNoCache
.
addToMap
(
newSpareNo
);
spareNoManager
.
save
(
newSpareNo
);
}
if
(
StringUtils
.
isNotBlank
(
no
))
{
spareNoList
=
spareNoList
.
stream
().
filter
(
spareNo
->
spareNo
.
getSpareNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
resultSpare
=
resultSpare
.
stream
().
filter
(
spareNo
->
spareNo
.
getSpareNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
}
return
ResultBean
.
newOkResult
(
spareNoList
);
return
ResultBean
.
newOkResult
(
resultSpare
);
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpUnclaimedController.java
查看文件 @
fa6eee9
package
com
.
neotel
.
smfcore
.
custom
.
luxsan_sp
.
controller
;
import
com.neotel.smfcore.common.base.BasePo
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.rest.bean.mapstruct.OrderMapperImpl
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
...
...
@@ -27,7 +29,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Consumer
;
import
java.util.stream.Collectors
;
...
...
@@ -58,6 +62,8 @@ public class SpUnclaimedController {
@Autowired
private
LiteOrderCache
liteOrderCache
;
@Autowired
private
OrderMapperImpl
orderMapperImpl
;
@ApiOperation
(
"获取正在执行出库单"
)
@RequestMapping
(
"/getActiveOrderNo"
)
...
...
@@ -72,67 +78,68 @@ public class SpUnclaimedController {
@RequestMapping
(
"/getAllUnclaimed"
)
@AnonymousAccess
public
ResultBean
getAllUnclaimed
(
String
no
)
{
List
<
GetUnclaimedResult
>
resultList
=
LuxsanSpApi
.
getUnclaimedDetails
(
new
GetUnclaimedRequest
(
SpareNostatus
.
FORMAL_DEPT_ID
,
SpareNostatus
.
FUNCTION_DEPT
));
// List<GetUnclaimedResult> resultList = LuxsanSpApi.getUnclaimedDetails(new GetUnclaimedRequest(SpareNostatus.FORMAL_DEPT_ID, SpareNostatus.FUNCTION_DEPT));
List
<
GetUnclaimedResult
>
resultList
=
new
ArrayList
<>();
List
<
LiteOrder
>
allLiteOrderFromDB
=
liteOrderManager
.
findAll
();
for
(
LiteOrder
liteOrder
:
allLiteOrderFromDB
)
{
if
(
resultList
.
stream
().
map
(
GetUnclaimedResult:
:
getOrderNo
).
collect
(
Collectors
.
toList
()).
contains
(
liteOrder
.
getOrderNo
()))
{
continue
;
List
<
LiteOrder
>
onlyOneAllLiteOrderFromDB
=
new
ArrayList
<>();
Map
<
String
,
List
<
LiteOrder
>>
collect
=
allLiteOrderFromDB
.
stream
().
collect
(
Collectors
.
groupingBy
(
LiteOrder:
:
getOrderNo
));
for
(
List
<
LiteOrder
>
liteOrders
:
collect
.
values
())
{
List
<
LiteOrder
>
collect1
=
liteOrders
.
stream
()
.
sorted
(
Comparator
.
comparing
(
BasePo:
:
getCreateDate
))
.
limit
(
1
)
.
collect
(
Collectors
.
toList
());
if
(!
collect1
.
isEmpty
())
{
onlyOneAllLiteOrderFromDB
.
add
(
collect1
.
get
(
0
));
}
GetUnclaimedResult
item
=
new
GetUnclaimedResult
();
item
.
setCreateTime
(
liteOrder
.
getCreateDate
());
item
.
setOrderNo
(
liteOrder
.
getOrderNo
());
}
List
<
String
>
allLiteOrderDBCollect
=
onlyOneAllLiteOrderFromDB
.
stream
().
map
(
LiteOrder:
:
getOrderNo
).
collect
(
Collectors
.
toList
());
List
<
Unclaimed
>
resultLiteOrder
=
new
ArrayList
<>();
for
(
LiteOrder
liteOrder
:
onlyOneAllLiteOrderFromDB
)
{
Unclaimed
unclaimed
=
new
Unclaimed
();
unclaimed
.
setCreateDate
(
liteOrder
.
getCreateDate
());
unclaimed
.
setOrderNo
(
liteOrder
.
getOrderNo
());
List
<
UnclaimedDetail
>
unclaimedDetails
=
new
ArrayList
<>();
item
.
setSpareApplyDetail
(
unclaimedDetails
);
for
(
LiteOrderItem
orderItem
:
liteOrder
.
getOrderItems
())
{
UnclaimedDetail
unclaimedDetail
=
new
UnclaimedDetail
();
unclaimedDetail
.
setPartno
(
orderItem
.
getPn
());
unclaimedDetail
.
setOrderNo
(
orderItem
.
getOrderNo
());
unclaimedDetail
.
setApplyQty
(
orderItem
.
getNeedNum
());
unclaimedDetail
.
setAlrInQty
(
orderItem
.
getOutNum
());
unclaimedDetail
.
setAlrInQty
(
orderItem
.
getTotalOutNum
());
if
(
liteOrder
.
isOutTails
()){
unclaimed
.
setUnclaimedStatus
(
SpareNostatus
.
EXECUTING_STATUS
);
}
else
if
(
liteOrder
.
isClosed
()){
unclaimed
.
setUnclaimedStatus
(
SpareNostatus
.
CLOSE_STATUS
);
}
unclaimedDetails
.
add
(
unclaimedDetail
);
}
resultList
.
add
(
item
);
unclaimed
.
setDetailList
(
unclaimedDetails
);
resultLiteOrder
.
add
(
unclaimed
);
}
List
<
Unclaimed
>
unclaimedList
=
new
ArrayList
<>();
for
(
GetUnclaimedResult
result
:
resultList
)
{
String
orderNo
=
result
.
getOrderNo
();
LiteOrder
liteOrder
=
liteOrderCache
.
getLiteOrder
(
orderNo
);
if
(
liteOrder
==
null
)
{
// 缓存没找到,从数据库找
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
}
if
(
liteOrder
==
null
)
{
// 数据库也没有 说明是新的出库单
liteOrder
=
new
LiteOrder
();
liteOrder
.
setOrderNo
(
orderNo
);
List
<
LiteOrderItem
>
itemList
=
new
ArrayList
<>();
for
(
UnclaimedDetail
detail
:
result
.
getSpareApplyDetail
())
{
LiteOrderItem
item
=
new
LiteOrderItem
();
item
.
setPn
(
detail
.
getPartno
());
item
.
setNeedNum
(
detail
.
getApplyQty
());
itemList
.
add
(
item
);
}
liteOrder
.
setOrderItems
(
itemList
);
liteOrder
=
liteOrderManager
.
createWithItems
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
for
(
GetUnclaimedResult
unclaimedResult
:
resultList
)
{
if
(
allLiteOrderDBCollect
.
contains
(
unclaimedResult
.
getOrderNo
()))
{
continue
;
}
Unclaimed
unclaimed
=
orderNoCache
.
getOrderNoResultToUnclaimed
(
result
);
if
(
liteOrder
.
isOutTails
()){
unclaimed
.
setUnclaimedStatus
(
SpareNostatus
.
EXECUTING_STATUS
);
}
else
if
(
liteOrder
.
isClosed
()){
unclaimed
.
setUnclaimedStatus
(
SpareNostatus
.
CLOSE_STATUS
);
Unclaimed
unclaimed
=
orderNoCache
.
getOrderNoResultToUnclaimed
(
unclaimedResult
);
orderNoCache
.
addToMap
(
unclaimed
);
LiteOrder
liteOrder
=
new
LiteOrder
();
liteOrder
.
setOrderNo
(
unclaimed
.
getOrderNo
());
liteOrder
.
setCreateDate
(
unclaimed
.
getCreateDate
());
List
<
LiteOrderItem
>
liteOrderItems
=
new
ArrayList
<>();
for
(
UnclaimedDetail
unclaimedDetail
:
unclaimed
.
getDetailList
())
{
LiteOrderItem
liteOrderItem
=
new
LiteOrderItem
();
liteOrderItem
.
setLine
(
"s1"
);
liteOrderItem
.
setPn
(
unclaimedDetail
.
getPartno
());
liteOrderItem
.
setNeedNum
(
unclaimedDetail
.
getApplyQty
());
liteOrderItems
.
add
(
liteOrderItem
);
}
unclaimedList
.
add
(
unclaimed
);
liteOrder
.
setOrderItems
(
liteOrderItems
);
liteOrderManager
.
createWithItems
(
liteOrder
);
resultLiteOrder
.
add
(
unclaimed
);
}
if
(
StringUtils
.
isNotEmpty
(
no
))
{
unclaimedList
=
unclaimedList
.
stream
().
filter
(
spareNo
->
spareNo
.
getOrderNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
resultLiteOrder
=
resultLiteOrder
.
stream
().
filter
(
spareNo
->
spareNo
.
getOrderNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
}
return
ResultBean
.
newOkResult
(
unclaimedList
);
return
ResultBean
.
newOkResult
(
resultLiteOrder
);
}
...
...
@@ -147,10 +154,7 @@ public class SpUnclaimedController {
}
//判断工单有没有关闭
LiteOrder
liteOrder
=
liteOrderCache
.
getLiteOrder
(
orderNoStr
);
if
(
liteOrder
==
null
){
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNoStr
);
}
LiteOrder
liteOrder
=
liteOrderManager
.
findByOrderNo
(
orderNoStr
);
if
(
liteOrder
==
null
){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
orderNoStr
+
"预约单不存在"
);
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/dao/SpareNoDao.java
查看文件 @
fa6eee9
package
com
.
neotel
.
smfcore
.
custom
.
luxsan_sp
.
service
.
dao
;
import
com.neotel.smfcore.common.base.IBaseDao
;
import
com.neotel.smfcore.custom.luxsan_sp.bean.SpareNo
;
import
java.util.List
;
public
interface
SpareNoDao
extends
IBaseDao
{
}
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/dao/impl/SpareNoDaoImpl.java
查看文件 @
fa6eee9
...
...
@@ -5,10 +5,14 @@ import com.neotel.smfcore.custom.luxsan_sp.bean.SpareNo;
import
com.neotel.smfcore.custom.luxsan_sp.service.dao.SpareNoDao
;
import
org.springframework.stereotype.Service
;
import
java.util.Collections
;
import
java.util.List
;
@Service
public
class
SpareNoDaoImpl
extends
AbstractBaseDao
implements
SpareNoDao
{
@Override
public
Class
getEntityClass
()
{
return
SpareNo
.
class
;
}
}
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/manager/ISpareNoManager.java
查看文件 @
fa6eee9
...
...
@@ -10,4 +10,6 @@ public interface ISpareNoManager extends IBaseManager<SpareNo> {
SpareNo
getBySpareNo
(
String
spareNo
);
List
<
SpareNo
>
findAll
();
List
<
SpareNo
>
findAllExcludeSpares
(
List
<
String
>
spareNos
);
}
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/manager/impl/SpBoxPutInManagerImpl.java
查看文件 @
fa6eee9
...
...
@@ -131,14 +131,18 @@ public class SpBoxPutInManagerImpl implements ISpBoxPutInManager {
//判断此料箱有没有待执行的出入库任务
List
<
String
>
needInPn
=
new
ArrayList
<>();
for
(
Barcode
barcode
:
boxBarcode
.
getSubCodeList
())
{
String
inNum
=
barcode
.
getExtraData
(
"needInNum"
);
if
(
ObjectUtil
.
isEmpty
(
inNum
)
||
inNum
.
equals
(
"0"
))
{
continue
;
}
else
{
needInPn
.
add
(
barcode
.
getPartNumber
());
isOrderPutIn
=
true
;
List
<
Barcode
>
subCodeList
=
boxBarcode
.
getSubCodeList
();
if
(
ObjectUtil
.
isEmpty
(
subCodeList
))
{
}
else
{
for
(
Barcode
barcode
:
subCodeList
)
{
String
inNum
=
barcode
.
getExtraData
(
"needInNum"
);
if
(
ObjectUtil
.
isEmpty
(
inNum
)
||
inNum
.
equals
(
"0"
))
{
continue
;
}
else
{
needInPn
.
add
(
barcode
.
getPartNumber
());
isOrderPutIn
=
true
;
}
}
}
if
(
needInPn
.
size
()
>
0
&&
(!
needInPn
.
contains
(
codeBarcode
.
getPartNumber
())))
{
...
...
@@ -320,4 +324,5 @@ public class SpBoxPutInManagerImpl implements ISpBoxPutInManager {
}
}
}
src/main/java/com/neotel/smfcore/custom/luxsan_sp/service/manager/impl/SpareNoManagerImpl.java
查看文件 @
fa6eee9
...
...
@@ -53,6 +53,12 @@ public class SpareNoManagerImpl implements ISpareNoManager {
}
@Override
public
List
<
SpareNo
>
findAllExcludeSpares
(
List
<
String
>
spareNos
)
{
Query
query
=
new
Query
(
Criteria
.
where
(
"spareNo"
).
nin
(
spareNos
));
return
spareNoDao
.
findByQuery
(
query
);
}
@Override
public
SpareNo
getBySpareNo
(
String
spareNo
)
{
return
spareNoDao
.
findOne
(
new
Query
(
Criteria
.
where
(
"spareNo"
).
is
(
spareNo
)));
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/OrderNoCache.java
查看文件 @
fa6eee9
...
...
@@ -74,6 +74,7 @@ public class OrderNoCache {
Unclaimed
unclaimed
=
new
Unclaimed
();
BeanUtils
.
copyProperties
(
result
,
unclaimed
);
unclaimed
.
setOrderNo
(
result
.
getOrderNo
());
unclaimed
.
setUnclaimedStatus
(
SpareNostatus
.
NEW_STATUS
);
List
<
UnclaimedDetail
>
detailList
=
new
ArrayList
<>();
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论