Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 595d9c52
由
hc
编写于
2024-07-24 17:05:55 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
fix:备品仓出入库修改
1 个父辈
37d6678e
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
162 行增加
和
60 行删除
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/api/LuxsanSpApi.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpAgvDeviceClientController.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxCheckOutController.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxPutInController.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/enums/SpareNostatus.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/SpBoxUtil.java
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/SpareNoCache.java
src/main/resources/config/application-apiprod.yml
src/main/resources/config/application-apitest.yml
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
595d9c5
...
...
@@ -105,31 +105,73 @@ public class TaskService {
* 条码入库,加入要执行的任务
*/
public
synchronized
DataLog
addPutInTaskToExecute
(
Storage
storage
,
Barcode
barcode
,
StoragePos
storagePos
,
String
boxLoc
)
throws
ValidateException
{
log
.
info
(
"Entering addPutInTaskToExecute method"
);
DataLog
task
=
new
DataLog
(
storage
,
barcode
,
storagePos
);
log
.
info
(
"DataLog task created"
);
task
.
setType
(
OP
.
PUT_IN
);
log
.
info
(
"Task type set to PUT_IN"
);
task
.
setStatus
(
OP_STATUS
.
WAIT
.
name
());
log
.
info
(
"Task status set to WAIT"
);
task
.
setLoc
(
boxLoc
);
log
.
info
(
"Task location set to: "
+
boxLoc
);
if
(
barcode
!=
null
)
{
task
.
setWarehouseCode
(
barcode
.
getWarehouseCode
());
log
.
info
(
"Warehouse code set to: "
+
barcode
.
getWarehouseCode
());
task
.
setDescribe
(
barcode
.
getDescribe
());
log
.
info
(
"Description set to: "
+
barcode
.
getDescribe
());
task
.
setBatchInfo
(
barcode
.
getBatch
());
log
.
info
(
"Batch info set to: "
+
barcode
.
getBatch
());
task
.
setDateCode
(
barcode
.
getDateCode
());
log
.
info
(
"Date code set to: "
+
barcode
.
getDateCode
());
task
.
setProvider
(
barcode
.
getProvider
());
log
.
info
(
"Provider set to: "
+
barcode
.
getProvider
());
task
.
setProviderNumber
(
barcode
.
getProviderNumber
());
log
.
info
(
"Provider number set to: "
+
barcode
.
getProviderNumber
());
task
.
setKeeperCode
(
barcode
.
getKeeperCode
());
log
.
info
(
"Keeper code set to: "
+
barcode
.
getKeeperCode
());
task
.
setNum
(
barcode
.
getAmount
());
log
.
info
(
"Amount set to: "
+
barcode
.
getAmount
());
barcode
.
setPutInTime
(
System
.
currentTimeMillis
());
log
.
info
(
"Put in time set"
);
barcode
.
updateSluggishTime
(
dataCache
.
getPNsluggishDay
(
barcode
.
getPartNumber
()));
log
.
info
(
"Sluggish time updated"
);
log
.
info
(
"任务生成准备完成"
);
barcodeManager
.
saveBarcode
(
barcode
);
log
.
info
(
"Barcode saved"
);
}
String
loginUser
=
DevicesStatusUtil
.
getLastOpUsername
(
storage
.
getCid
());
if
(
Strings
.
isNullOrEmpty
(
loginUser
))
{
loginUser
=
SecurityUtils
.
getLoginUsername
();
}
log
.
info
(
"Login user set to: "
+
loginUser
);
task
.
setOperator
(
loginUser
);
log
.
info
(
"Operator set to: "
+
loginUser
);
task
=
updateQueueTask
(
task
);
log
.
info
(
"Queue task updated"
);
log
.
info
(
"cid:["
+
storage
.
getCid
()
+
"] barcode:["
+
barcode
.
getBarcode
()
+
"] partNumber:["
+
task
.
getPartNumber
()
+
"]位置["
+
storagePos
.
getPosName
()
+
"]的入库操作成功加入队列"
);
log
.
info
(
"Exiting addPutInTaskToExecute method"
);
return
task
;
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/api/LuxsanSpApi.java
查看文件 @
595d9c5
...
...
@@ -126,7 +126,7 @@ public class LuxsanSpApi extends DefaultSmfApiListener {
public
static
List
<
GetSpareNoResult
>
getSpareNo
(
GetSpareNoRequest
request
)
{
try
{
String
url
=
GetSpareNoUrl
+
getQueryStr
(
request
);
log
.
info
(
"获取入库单号请求为:"
+
url
);
log
.
info
(
"获取入库单号请求为:"
+
request
);
String
resJsonStr
=
HttpHelper
.
sendGet
(
url
);
log
.
info
(
"获取入库单号返回:"
+
resJsonStr
);
LuxsanSpApiResult
lizhenApiResult
=
JSONObject
.
parseObject
(
resJsonStr
,
LuxsanSpApiResult
.
class
);
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpAgvDeviceClientController.java
查看文件 @
595d9c5
package
com
.
neotel
.
smfcore
.
custom
.
luxsan_sp
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.ReelLockPosUtil
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.barcode.enums.BARCODE_STATUS
;
...
...
@@ -196,43 +198,56 @@ public class SpAgvDeviceClientController {
@ResponseBody
@AnonymousAccess
public
ResultBean
getTarget
(
HttpServletRequest
request
)
{
Map
<
String
,
String
>
taskData
=
null
;
try
{
log
.
info
(
"getTarget"
+
request
.
getParameter
(
"barcode"
));
taskData
=
new
HashMap
<>();
taskData
.
put
(
"barcode"
,
""
);
taskData
.
put
(
"slotCode"
,
""
);
String
rfid
=
request
.
getParameter
(
"barcode"
);
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
"=2x2="
+
rfid
);
log
.
info
(
"getTarget"
+
JSON
.
toJSONString
(
barcode
));
if
(
barcode
!=
null
){
barcode
.
setAmount
(
1
);
barcodeManager
.
save
(
barcode
);
List
<
Storage
>
storageList
=
new
ArrayList
<>();
Collection
<
Storage
>
storages
=
dataCache
.
getAllStorage
().
values
();
for
(
Storage
storage
:
storages
)
{
storageList
.
add
(
storage
);
}
Map
<
String
,
String
>
taskData
=
new
HashMap
<>();
taskData
.
put
(
"barcode"
,
""
);
taskData
.
put
(
"slotCode"
,
""
);
String
rfid
=
request
.
getParameter
(
"barcode"
);
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
"=2x2="
+
rfid
);
if
(
barcode
!=
null
){
barcode
.
setAmount
(
1
);
barcodeManager
.
save
(
barcode
);
List
<
Storage
>
storageList
=
new
ArrayList
<>();
Collection
<
Storage
>
storages
=
dataCache
.
getAllStorage
().
values
();
for
(
Storage
storage
:
storages
)
{
storageList
.
add
(
storage
);
}
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
task
:
allTasks
)
{
if
(!
task
.
isFinished
()
&&
!
task
.
isCancel
())
{
if
(
task
.
getBarcode
().
equals
(
barcode
.
getBarcode
()))
{
taskData
.
put
(
"barcode"
,
barcode
.
getBarcode
());
taskData
.
put
(
"slotCode"
,
task
.
getPosName
());
return
ResultBean
.
newOkResult
(
taskData
);
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
task
:
allTasks
)
{
if
(!
task
.
isFinished
()
&&
!
task
.
isCancel
())
{
if
(
task
.
getBarcode
().
equals
(
barcode
.
getBarcode
()))
{
taskData
.
put
(
"barcode"
,
barcode
.
getBarcode
());
taskData
.
put
(
"slotCode"
,
task
.
getPosName
());
log
.
info
(
barcode
+
"已有任务"
);
return
ResultBean
.
newOkResult
(
taskData
);
}
}
}
log
.
info
(
"getTarget"
+
request
.
getParameter
(
"barcode"
)+
"没有正在执行的任务"
);
StoragePos
pos
=
SpBoxUtil
.
locOnePos
(
barcode
);
log
.
info
(
"getTarget"
+
request
.
getParameter
(
"barcode定位后的信息"
)+
JSON
.
toJSONString
(
pos
));
if
(
pos
!=
null
){
log
.
info
(
"开始生成新任务"
);
Storage
storage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
log
.
info
(
"库位信息"
+
JSON
.
toJSONString
(
storage
));
taskService
.
addPutInTaskToExecute
(
storage
,
barcode
,
pos
,
""
);
log
.
info
(
"生成完成"
);
taskData
.
put
(
"barcode"
,
barcode
.
getBarcode
());
taskData
.
put
(
"slotCode"
,
pos
.
getPosName
());
}
}
StoragePos
pos
=
SpBoxUtil
.
locOnePos
(
barcode
);
if
(
pos
!=
null
){
Storage
storage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
taskService
.
addPutInTaskToExecute
(
storage
,
barcode
,
pos
,
""
);
taskData
.
put
(
"barcode"
,
barcode
.
getBarcode
());
taskData
.
put
(
"slotCode"
,
pos
.
getPosName
());
}
}
log
.
info
(
barcode
.
getBarcode
()+
"生成ctu的任务信息"
+
JSON
.
toJSONString
(
taskData
));
}
catch
(
Throwable
e
)
{
e
.
printStackTrace
();
}
return
ResultBean
.
newOkResult
(
taskData
);
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxCheckOutController.java
查看文件 @
595d9c5
...
...
@@ -29,6 +29,7 @@ import com.neotel.smfcore.custom.luxsan_sp.util.SpBoxUtil;
import
com.neotel.smfcore.custom.luxsan_sp.util.SpareNoCache
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -36,6 +37,7 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.*
;
@Slf4j
@ApiOperation
(
"备件仓 料箱出库"
)
@RestController
@RequestMapping
(
"/spBoxCheckOut"
)
...
...
@@ -137,15 +139,19 @@ public class SpBoxCheckOutController {
//
数量加1
//
出库单已出库数量加
unclaimedDetail
.
setAlrInQty
(
unclaimedDetail
.
getAlrInQty
()+
codeBarcode
.
getQty
());
orderNo
.
updateDetailList
(
unclaimedDetail
);
log
.
info
(
"开始判断是否完成出库单"
);
for
(
UnclaimedDetail
noDetail
:
orderNo
.
getDetailList
())
{
if
(
noDetail
.
getApplyQty
()
<
noDetail
.
getAlrInQty
()){
if
(
noDetail
.
getApplyQty
()
>
noDetail
.
getAlrInQty
())
{
log
.
info
(
"出库未完成"
);
finish
=
false
;
break
;
}
log
.
info
(
"出料noDetail.getApplyQty()"
+
noDetail
.
getApplyQty
()+
"noDetail.getAlrInQty()"
+
noDetail
.
getAlrInQty
());
}
if
(
finish
){
...
...
@@ -171,11 +177,12 @@ public class SpBoxCheckOutController {
//6.生成出库任务
DataLog
dataLog
=
new
DataLog
();
dataLog
.
setBarcode
(
codeStr
);
dataLog
.
setPartNumber
(
codeBarcode
.
getPartNumber
());
dataLog
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
dataLog
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
dataLog
.
setPosName
(
binBarcode
.
getBarcode
());
dataLog
.
setType
(
OP
.
PUT_IN
);
dataLog
.
setType
(
OP
.
CHECKOUT
);
taskService
.
updateFinishedTask
(
dataLog
);
pos
.
setBarcode
(
boxBarcode
);
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpBoxPutInController.java
查看文件 @
595d9c5
...
...
@@ -24,7 +24,6 @@ import com.neotel.smfcore.custom.luxsan_sp.bean.*;
import
com.neotel.smfcore.custom.luxsan_sp.enums.SpareNostatus
;
import
com.neotel.smfcore.custom.luxsan_sp.service.manager.IReturnNoManager
;
import
com.neotel.smfcore.custom.luxsan_sp.service.manager.ISpareNoManager
;
import
com.neotel.smfcore.custom.luxsan_sp.service.manager.impl.ReturnManagerImpl
;
import
com.neotel.smfcore.custom.luxsan_sp.util.*
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.Api
;
...
...
@@ -32,16 +31,11 @@ import io.swagger.annotations.ApiOperation;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
@Api
(
tags
=
"备件仓 料箱入库"
)
@RestController
...
...
@@ -213,27 +207,37 @@ public class SpBoxPutInController {
return
ResultBean
.
newErrorResult
(-
1
,
""
,
codePartNumber
+
"没有入退库需求,请检查是否存在或者不符合入退库数量"
);
}
// 先调用入库接口
if
(
baseNo
.
getClass
().
equals
(
SpareNo
.
class
))
{
SpareInHourseDetail
detail
=
new
SpareInHourseDetail
();
detail
.
setInQty
(
codeBarcode
.
getQty
());
detail
.
setPartno
(
codeBarcode
.
getPartNumber
());
detail
.
setLocationCode
(
binBarcode
.
getBarcode
());
LuxsanSpApi
.
spareInHourse
(
new
SpareInHourseRequest
(
baseNo
.
getDeptId
(),
baseNo
.
getNo
(),
baseNo
.
getWhCode
(),
Arrays
.
asList
(
detail
)));
}
//数量加1
spareNoDetail
.
setAlrInQty
(
spareNoDetail
.
getAlrInQty
()+
codeBarcode
.
getQty
());
baseNo
.
updateDetailList
(
spareNoDetail
);
log
.
info
(
"开始判断是否完成入库单"
);
for
(
SpareNoDetail
noDetail
:
baseNo
.
getDetailList
())
{
if
(
noDetail
.
getInQty
()
<
noDetail
.
getAlrInQty
()){
if
(
noDetail
.
getInQty
()
>
noDetail
.
getAlrInQty
()){
log
.
info
(
"入库未完成"
);
finish
=
false
;
break
;
}
log
.
info
(
"入料noDetail.getInQty()"
+
noDetail
.
getInQty
()+
"noDetail.getAlrInQty()"
+
noDetail
.
getAlrInQty
());
}
if
(
finish
){
// 调用入库接口
if
(
baseNo
.
getClass
().
equals
(
SpareNo
.
class
))
{
List
<
SpareInHourseDetail
>
details
=
new
ArrayList
<>();
for
(
SpareNoDetail
detail
:
baseNo
.
getDetailList
())
{
SpareInHourseDetail
spareInHourseDetail
=
new
SpareInHourseDetail
();
spareInHourseDetail
.
setInQty
(
detail
.
getInQty
());
spareInHourseDetail
.
setPartno
(
detail
.
getPartno
());
String
location
=
SpareNostatus
.
LOCATION_CODE
.
get
(
baseNo
.
getWhCode
());
spareInHourseDetail
.
setLocationCode
(
location
);
// spareInHourseDetail.setLocationCode(binBarcode.getBarcode());
details
.
add
(
spareInHourseDetail
);
}
LuxsanSpApi
.
spareInHourse
(
new
SpareInHourseRequest
(
baseNo
.
getDeptId
(),
baseNo
.
getNo
(),
baseNo
.
getWhCode
(),
details
));
}
baseNo
.
setSpareStatus
(
SpareNostatus
.
CLOSE_STATUS
);
}
...
...
@@ -264,6 +268,7 @@ public class SpBoxPutInController {
//6.生成入库任务
DataLog
dataLog
=
new
DataLog
();
dataLog
.
setBarcode
(
codeStr
);
dataLog
.
setPartNumber
(
codeBarcode
.
getPartNumber
());
dataLog
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
dataLog
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpReturnInventoryController.java
查看文件 @
595d9c5
...
...
@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@RestController
...
...
@@ -48,8 +49,8 @@ public class SpReturnInventoryController {
@ApiOperation
(
"获取退库单"
)
@RequestMapping
(
"/getAllReturnNo"
)
@AnonymousAccess
public
ResultBean
getAllReturnNo
(
String
deptId
,
String
functionDept
)
{
List
<
GetReturnInventoryResult
>
resultList
=
LuxsanSpApi
.
getReturnInventory
(
new
GetReturnInventoryRequest
(
deptId
,
functionDept
));
public
ResultBean
getAllReturnNo
(
String
no
)
{
List
<
GetReturnInventoryResult
>
resultList
=
LuxsanSpApi
.
getReturnInventory
(
new
GetReturnInventoryRequest
(
SpareNostatus
.
FUNCTION_DEPT
,
SpareNostatus
.
DEPT_ID
));
List
<
ReturnInventoryNo
>
returnInventoryNos
=
new
ArrayList
<>();
for
(
GetReturnInventoryResult
result
:
resultList
)
{
ReturnInventoryNo
returnInventoryNo
=
returnNoCache
.
getByOrderNo
(
result
.
getOrderNo
());
...
...
@@ -60,6 +61,9 @@ public class SpReturnInventoryController {
}
returnInventoryNos
.
add
(
returnInventoryNo
);
}
if
(
StringUtils
.
isNotBlank
(
no
))
{
returnInventoryNos
=
returnInventoryNos
.
stream
().
filter
(
spareNo
->
spareNo
.
getOrderNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
}
return
ResultBean
.
newOkResult
(
returnInventoryNos
);
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpSpareNoController.java
查看文件 @
595d9c5
...
...
@@ -27,6 +27,8 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
@Slf4j
@RestController
...
...
@@ -64,8 +66,8 @@ public class SpSpareNoController {
@ApiOperation
(
"获取入库单"
)
@RequestMapping
(
"/getAllSpareNo"
)
@AnonymousAccess
public
ResultBean
getAllSpareNo
(
String
deptId
,
String
functionDept
)
{
List
<
GetSpareNoResult
>
resultList
=
LuxsanSpApi
.
getSpareNo
(
new
GetSpareNoRequest
(
deptId
,
functionDept
));
public
ResultBean
getAllSpareNo
(
String
no
)
{
List
<
GetSpareNoResult
>
resultList
=
LuxsanSpApi
.
getSpareNo
(
new
GetSpareNoRequest
(
SpareNostatus
.
DEPT_ID
,
SpareNostatus
.
FUNCTION_DEPT
));
List
<
SpareNo
>
spareNoList
=
new
ArrayList
<>();
for
(
GetSpareNoResult
result
:
resultList
)
{
SpareNo
spareNo
=
spareNoCache
.
getBySpareNo
(
result
.
getSpareNo
());
...
...
@@ -76,6 +78,9 @@ public class SpSpareNoController {
}
spareNoList
.
add
(
spareNo
);
}
if
(
StringUtils
.
isNotBlank
(
no
))
{
spareNoList
=
spareNoList
.
stream
().
filter
(
spareNo
->
spareNo
.
getSpareNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
}
return
ResultBean
.
newOkResult
(
spareNoList
);
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/controller/SpUnclaimedController.java
查看文件 @
595d9c5
...
...
@@ -30,6 +30,7 @@ import sun.util.calendar.BaseCalendar;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@RestController
...
...
@@ -68,8 +69,8 @@ public class SpUnclaimedController {
@ApiOperation
(
"获取出库单"
)
@RequestMapping
(
"/getAllUnclaimed"
)
@AnonymousAccess
public
ResultBean
getAllUnclaimed
(
String
deptId
,
String
functionDept
)
{
List
<
GetUnclaimedResult
>
resultList
=
LuxsanSpApi
.
getUnclaimedDetails
(
new
GetUnclaimedRequest
(
deptId
,
functionDept
));
public
ResultBean
getAllUnclaimed
(
String
no
)
{
List
<
GetUnclaimedResult
>
resultList
=
LuxsanSpApi
.
getUnclaimedDetails
(
new
GetUnclaimedRequest
(
SpareNostatus
.
DEPT_ID
,
SpareNostatus
.
FUNCTION_DEPT
));
List
<
Unclaimed
>
unclaimedList
=
new
ArrayList
<>();
for
(
GetUnclaimedResult
result
:
resultList
)
{
Unclaimed
unclaimed
=
orderNoCache
.
getByOrderNo
(
result
.
getOrderNo
());
...
...
@@ -98,6 +99,9 @@ public class SpUnclaimedController {
liteOrder
.
setLine
(
"s1"
);
liteOrderManager
.
createWithItems
(
liteOrder
);
}
if
(
StringUtils
.
isNotBlank
(
no
))
{
unclaimedList
=
unclaimedList
.
stream
().
filter
(
spareNo
->
spareNo
.
getOrderNo
().
equals
(
no
)).
collect
(
Collectors
.
toList
());
}
return
ResultBean
.
newOkResult
(
unclaimedList
);
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/enums/SpareNostatus.java
查看文件 @
595d9c5
package
com
.
neotel
.
smfcore
.
custom
.
luxsan_sp
.
enums
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
SpareNostatus
{
public
static
final
int
NEW_STATUS
=
0
;
...
...
@@ -17,4 +20,11 @@ public class SpareNostatus {
// 出库
public
static
final
Integer
TYPE_CHECKOUT
=
3
;
public
static
final
String
DEPT_ID
=
"102"
;
public
static
final
String
FUNCTION_DEPT
=
"MLB%20MFG"
;
public
static
final
Map
<
String
,
String
>
LOCATION_CODE
=
new
HashMap
<
String
,
String
>(){{
put
(
"MLB-A003"
,
"MLB-A003-01"
);
put
(
"MLB-A004"
,
"C01"
);
}};
}
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/SpBoxUtil.java
查看文件 @
595d9c5
...
...
@@ -210,6 +210,7 @@ public class SpBoxUtil {
//判断信息是否在已经在库位中(出入库只改变料箱位置状态,不从StoragePos表中清除)
StoragePos
pos
=
storagePosManager
.
getByBarcode
(
boxBarcode
.
getBarcode
());
if
(
pos
!=
null
)
{
log
.
info
(
boxBarcode
.
getBarcode
()+
"已经在"
+
pos
.
getPosName
());
return
pos
;
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan_sp/util/SpareNoCache.java
查看文件 @
595d9c5
...
...
@@ -292,6 +292,9 @@ public class SpareNoCache {
Barcode
barcode
=
pos
.
getBarcode
();
log
.
info
(
"入库单"
+
orderNo
+
", 为库位="
+
pos
.
getPosName
()
+
",料箱="
+
barcode
.
getBarcode
()
+
"生成出库任务:"
+
index
);
// 库位置空
barcode
.
setPosName
(
null
);
pos
.
setBarcode
(
null
);
barcodeManager
.
save
(
barcode
);
// barcodeManager.saveBarcode(barcode);
storagePosManager
.
save
(
pos
);
...
...
src/main/resources/config/application-apiprod.yml
查看文件 @
595d9c5
api
:
name
:
Luxsan_sp
getSpareNo
:
https://iamsapi.luxsan-ict.com/iams-api/getSpareNo
\ No newline at end of file
getSpareNo
:
https://iamsapi.luxsan-ict.com/iams-api/getSpareNo
spareInhourse
:
https://iamsapi.luxsan-ict.com/iams-api/spareInhourse
getUnclaimed
:
https://iamsapi.luxsan-ict.com/iams-api/getUnclaimed
getReturnInventory
:
https://iamsapi.luxsan-ict.com/iams-api/getReturnInventory
src/main/resources/config/application-apitest.yml
查看文件 @
595d9c5
api
:
name
:
Luxsan_sp
getSpareNo
:
http://10.42.220.118:8108/iams-api/getSpareNo
\ No newline at end of file
getSpareNo
:
http://10.42.220.118:8108/iams-api/getSpareNo
spareInhourse
:
http://10.42.220.118:8108/iams-api/spareInhourse
getUnclaimed
:
http://10.42.220.118:8108/iams-api/getUnclaimed
getReturnInventory
:
http://10.42.220.118:8108/iams-api/getReturnInventory
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论