Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e1cf2260
由
LN
编写于
2021-10-27 15:53:58 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
工单RI类型出库修改
1 个父辈
f7ca4136
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
80 行增加
和
12 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/AccShelfHandler.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/AccShelfHandler.java
0 → 100644
查看文件 @
e1cf226
package
com
.
neotel
.
smfcore
.
core
.
device
.
handler
.
impl
;
import
com.neotel.smfcore.core.device.api.IOpAuthApi
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
lombok.extern.slf4j.Slf4j
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.*
;
@Slf4j
public
class
AccShelfHandler
extends
BaseDeviceHandler
{
public
AccShelfHandler
(
List
<
IOpAuthApi
>
apiList
)
{
super
(
apiList
);
}
@Override
public
StatusBean
handleClientRequest
(
StatusBean
statusBean
,
HttpServletRequest
request
)
{
handleMsg
(
statusBean
);
statusBean
=
saveAlarmAndHumidity
(
statusBean
);
//亮灯
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
(
statusBean
.
getCid
());
for
(
DataLog
queueTask
:
queueTasks
)
{
if
(
queueTask
.
isWait
()){
queueTask
.
setStatus
(
OP_STATUS
.
EXECUTING
.
name
());
taskService
.
updateQueueTask
(
queueTask
);
String
rgb
=
queueTask
.
getLightColor
();
ORDER_COLOR
color
=
ORDER_COLOR
.
fromRgb
(
rgb
);
if
(
color
==
null
){
if
(
queueTask
.
isPutInTask
()){
color
=
ORDER_COLOR
.
DARKGREEN
;
}
else
{
color
=
ORDER_COLOR
.
BLUE
;
}
}
statusBean
.
addData
(
"open"
,
queueTask
.
getPosName
()+
"="
+
color
.
name
());
log
.
info
(
"库位["
+
queueTask
.
getPosName
()+
"]+亮灯:"
+
color
.
name
());
}
}
return
statusBean
;
}
@Override
public
DeviceType
getDeviceType
()
{
return
DeviceType
.
ACCSHELF
;
}
}
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
e1cf226
...
@@ -358,7 +358,12 @@ public class LiteOrderCache implements ITaskListener {
...
@@ -358,7 +358,12 @@ public class LiteOrderCache implements ITaskListener {
if
(
cacheOrder
.
getType
()==
2
){
if
(
cacheOrder
.
getType
()==
2
){
//RI
//RI
pos
=
storagePosManager
.
getByBarcode
(
orderItem
.
getRi
());
pos
=
storagePosManager
.
getByBarcode
(
orderItem
.
getRi
());
if
(
excludePosIds
.
contains
(
pos
.
getId
()))
{
log
.
info
(
"工单["
+
orderNo
+
"]RI出库,任务数["
+
taskReelCount
+
"]出库位置仓位【"
+
pos
.
getPosName
()
+
"】RI=["
+
pos
.
getBarcode
().
getBarcode
()
+
"]已在操作队列中,跳过不处理"
);
break
;
}
}
else
{
}
else
{
//PN
pos
=
storagePosManager
.
findPartNumberInStorages
(
availableStorageIds
,
partNumber
,
excludePosIds
,
checkoutType
);
pos
=
storagePosManager
.
findPartNumberInStorages
(
availableStorageIds
,
partNumber
,
excludePosIds
,
checkoutType
);
}
}
if
(
pos
==
null
)
{
if
(
pos
==
null
)
{
...
@@ -379,8 +384,10 @@ public class LiteOrderCache implements ITaskListener {
...
@@ -379,8 +384,10 @@ public class LiteOrderCache implements ITaskListener {
task
.
setStatus
(
OP_STATUS
.
WAIT
.
name
());
task
.
setStatus
(
OP_STATUS
.
WAIT
.
name
());
// task = dataLogDao.save(task);
// task = dataLogDao.save(task);
taskService
.
addTaskToExecute
(
task
);
taskService
.
addTaskToExecute
(
task
);
}
//如果是RI出库,只有一盘,出完就结束
if
(
cacheOrder
.
getType
()==
2
){
break
;
}
}
}
}
}
}
...
@@ -506,7 +513,11 @@ public class LiteOrderCache implements ITaskListener {
...
@@ -506,7 +513,11 @@ public class LiteOrderCache implements ITaskListener {
if
(
cacheOrder
.
getType
()==
2
){
if
(
cacheOrder
.
getType
()==
2
){
//RI
//RI
pos
=
storagePosManager
.
getByBarcode
(
orderItem
.
getRi
());
pos
=
storagePosManager
.
getByBarcode
(
orderItem
.
getRi
());
if
(
excludePosIds
.
contains
(
pos
.
getId
()))
{
log
.
info
(
"工单["
+
orderNo
+
"]RI出库,仓位【"
+
pos
.
getPosName
()
+
"】RI=["
+
pos
.
getBarcode
().
getBarcode
()
+
"]已在操作队列中,跳过不处理"
);
}
}
else
{
}
else
{
//PN
pos
=
storagePosManager
.
findPartNumberInStorages
(
availableStorageIds
,
partNumber
,
excludePosIds
,
checkoutType
);
pos
=
storagePosManager
.
findPartNumberInStorages
(
availableStorageIds
,
partNumber
,
excludePosIds
,
checkoutType
);
}
}
if
(
pos
==
null
)
{
if
(
pos
==
null
)
{
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
e1cf226
...
@@ -103,12 +103,13 @@ public class OrderController {
...
@@ -103,12 +103,13 @@ public class OrderController {
String
image
=
"csv"
;
String
image
=
"csv"
;
String
fileType
=
FileUtil
.
getExtensionName
(
orderFile
.
getOriginalFilename
());
String
fileType
=
FileUtil
.
getExtensionName
(
orderFile
.
getOriginalFilename
());
String
fileName
=
FileUtil
.
getFileNameNoEx
(
orderFile
.
getOriginalFilename
());
if
(
fileType
!=
null
&&
!
image
.
contains
(
fileType
))
{
if
(
fileType
!=
null
&&
!
image
.
contains
(
fileType
))
{
throw
new
ValidateException
(
"smfcore.feleFormatError"
,
"文件格式错误!, 仅支持{0}格式"
,
new
String
[]{
image
});
throw
new
ValidateException
(
"smfcore.feleFormatError"
,
"文件格式错误!, 仅支持{0}格式"
,
new
String
[]{
image
});
}
}
File
folder
=
new
File
(
properties
.
getPath
(),
"pos"
);
File
folder
=
new
File
(
properties
.
getPath
(),
"pos"
);
File
localFile
=
FileUtil
.
upload
(
orderFile
,
folder
.
getAbsolutePath
());
File
localFile
=
FileUtil
.
upload
(
orderFile
,
folder
.
getAbsolutePath
());
Map
<
String
,
List
<
LiteOrderItem
>>
itemMap
=
handleOrderCsv
(
localFile
.
getName
()
,
localFile
.
getAbsolutePath
());
Map
<
String
,
List
<
LiteOrderItem
>>
itemMap
=
handleOrderCsv
(
fileName
,
localFile
.
getAbsolutePath
());
if
(
itemMap
==
null
||
itemMap
.
size
()
<=
0
)
{
if
(
itemMap
==
null
||
itemMap
.
size
()
<=
0
)
{
throw
new
ValidateException
(
"smfcore.fileError"
,
"文件解析失败"
);
throw
new
ValidateException
(
"smfcore.fileError"
,
"文件解析失败"
);
...
@@ -286,13 +287,17 @@ public class OrderController {
...
@@ -286,13 +287,17 @@ public class OrderController {
int
row
=
1
;
int
row
=
1
;
int
newRowCount
=
0
;
int
newRowCount
=
0
;
int
updateRowCount
=
0
;
int
updateRowCount
=
0
;
while
(
csvRead
.
readRecord
())
{
while
(
csvRead
.
readRecord
())
{
row
++;
row
++;
String
[]
lineValues
=
csvRead
.
getValues
();
String
[]
lineValues
=
csvRead
.
getValues
();
String
partNumber
=
lineValues
[
partNumberIndex
];
String
partNumber
=
lineValues
[
partNumberIndex
];
String
ri
=
""
;
if
(
partNumber
.
isEmpty
())
{
if
(
riIndex
!=-
1
){
log
.
warn
(
"行[partNumber="
+
partNumber
+
"]中PN 为空,此行忽略"
);
ri
=
lineValues
[
riIndex
];
}
if
(
partNumber
.
isEmpty
()&&
ri
.
isEmpty
())
{
log
.
warn
(
"行[partNumber="
+
partNumber
+
"]中PN和RI都 为空,此行忽略"
);
}
else
{
}
else
{
int
num
=
1
;
int
num
=
1
;
if
(
qtyIndex
!=
-
1
)
{
if
(
qtyIndex
!=
-
1
)
{
...
@@ -309,11 +314,8 @@ public class OrderController {
...
@@ -309,11 +314,8 @@ public class OrderController {
if
(
feederIndex
!=
-
1
)
{
if
(
feederIndex
!=
-
1
)
{
feeder
=
lineValues
[
feederIndex
];
feeder
=
lineValues
[
feederIndex
];
}
}
String
ri
=
""
;
String
so
=
fileName
;
String
so
=
fileName
;
if
(
riIndex
!=-
1
){
ri
=
lineValues
[
riIndex
];
}
if
(
soIndex
!=-
1
){
if
(
soIndex
!=-
1
){
so
=
lineValues
[
soIndex
];
so
=
lineValues
[
soIndex
];
}
}
...
@@ -322,7 +324,11 @@ public class OrderController {
...
@@ -322,7 +324,11 @@ public class OrderController {
}
}
LiteOrderItem
item
=
new
LiteOrderItem
();
LiteOrderItem
item
=
new
LiteOrderItem
();
item
.
setPn
(
partNumber
);
item
.
setPn
(
partNumber
);
item
.
setNeedNum
(
num
);
if
(
partNumber
.
isEmpty
()){
item
.
setNeedReelCount
(
1
);
}
item
.
setNeedNum
(
num
);
item
.
setFeederInfo
(
feeder
);
item
.
setFeederInfo
(
feeder
);
item
.
setRi
(
ri
);
item
.
setRi
(
ri
);
if
(!
itemMap
.
containsKey
(
so
)){
if
(!
itemMap
.
containsKey
(
so
)){
...
...
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
e1cf226
...
@@ -182,7 +182,7 @@ public class DataLog extends BasePo implements Serializable {
...
@@ -182,7 +182,7 @@ public class DataLog extends BasePo implements Serializable {
/**
/**
* 亮灯料架颜色
* 亮灯料架颜色
*/
*/
private
String
lightColor
=
"
FF0000
"
;
private
String
lightColor
=
""
;
/**
/**
* 出入库执行时间,秒
* 出入库执行时间,秒
*/
*/
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论