Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c7cccdd3
由
sunke
编写于
2022-08-03 18:26:29 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
亮灯颜色调整
齐套页面增加字段展示 根据料架号过滤 安全库存页面导出数据修正
1 个父辈
9d55e961
显示空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
73 行增加
和
91 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/AccShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLMShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/enums/ORDER_COLOR.java
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/rest/bean/dto/OrderPnDto.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialController.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialStockController.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/AccShelfHandler.java
查看文件 @
c7cccdd
...
...
@@ -42,7 +42,7 @@ public class AccShelfHandler extends BaseDeviceHandler{
ORDER_COLOR
color
=
ORDER_COLOR
.
fromRgb
(
rgb
);
if
(
color
==
null
)
{
if
(
queueTask
.
isPutInTask
())
{
color
=
ORDER_COLOR
.
DARKGREEN
;
color
=
ORDER_COLOR
.
YELLOW
;
}
else
{
if
(
openZhiYin
&&
ObjectUtil
.
isNotEmpty
(
queueTask
.
getSourceId
()))
{
List
<
DataLog
>
dataLogList
=
outMap
.
get
(
queueTask
.
getSourceId
());
...
...
@@ -52,7 +52,7 @@ public class AccShelfHandler extends BaseDeviceHandler{
dataLogList
.
add
(
queueTask
);
outMap
.
put
(
queueTask
.
getSourceId
(),
dataLogList
);
}
else
{
color
=
ORDER_COLOR
.
BLUE
;
color
=
ORDER_COLOR
.
YELLOW
;
}
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLMShelfHandler.java
查看文件 @
c7cccdd
...
...
@@ -86,7 +86,7 @@ public class NLMShelfHandler extends BaseDeviceHandler {
dataLogList
.
add
(
queueTask
);
outMap
.
put
(
queueTask
.
getSourceId
(),
dataLogList
);
}
else
{
color
=
ORDER_COLOR
.
BLUE
;
color
=
ORDER_COLOR
.
YELLOW
;
}
// }
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
c7cccdd
...
...
@@ -140,8 +140,8 @@ public class NLPShelfHandler extends BaseDeviceHandler{
ORDER_COLOR
color
=
null
;
if
(
queueTask
.
isPutInTask
())
{
//入库默认深绿色
DARKGREEN
color
=
ORDER_COLOR
.
DARKGREEN
;
//入库默认深绿色
YELLOW
color
=
ORDER_COLOR
.
YELLOW
;
}
else
{
if
(
ObjectUtil
.
isNotEmpty
(
queueTask
.
getSourceId
()))
{
if
(
queueTask
.
isOrderTask
())
{
...
...
@@ -160,8 +160,8 @@ public class NLPShelfHandler extends BaseDeviceHandler{
color
=
ORDER_COLOR
.
fromRgb
(
rgb
);
}
}
else
{
//普通出库蓝色
BLUE
color
=
ORDER_COLOR
.
BLUE
;
//普通出库蓝色
DARKGREEN
color
=
ORDER_COLOR
.
DARKGREEN
;
}
}
if
(
color
!=
null
)
{
...
...
@@ -450,7 +450,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
String
rgb
=
task
.
getLightColor
();
ORDER_COLOR
color
=
ORDER_COLOR
.
fromRgb
(
rgb
);
if
(
color
==
null
){
color
=
ORDER_COLOR
.
BLUE
;
color
=
ORDER_COLOR
.
DARKGREEN
;
}
String
outTaskPos
=
task
.
getPosName
()+
"="
+
color
.
name
();
outTaskPosList
.
add
(
outTaskPos
);
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
c7cccdd
...
...
@@ -433,46 +433,13 @@ public class DataCache {
}
}
Map
<
String
,
InventoryItem
>
map
=
getInventory
(
storages
);
if
(
ObjectUtil
.
isEmpty
(
blurry
)){
return
map
;
}
Map
<
String
,
InventoryItem
>
resultMap
=
new
HashMap
<>();
for
(
InventoryItem
item
:
map
.
values
())
{
boolean
blurryOk
=
false
;
for
(
InventoryItem
item
:
map
.
values
())
{
if
(
ObjectUtil
.
isNotEmpty
(
blurry
))
{
String
[]
blurrys
=
blurry
.
split
(
","
);
String
[]
valueArray
=
new
String
[]{
item
.
getPartNumber
(),
item
.
getStorageName
()};
for
(
String
s
:
blurrys
)
{
if
(
ObjectUtil
.
isNotEmpty
(
s
))
{
for
(
String
v
:
valueArray
)
{
if
(
ObjectUtil
.
isEmpty
(
v
)){
continue
;
}
try
{
Pattern
pattern
=
Pattern
.
compile
(
QueryHelp
.
escapeExprSpecialWord
(
s
),
Pattern
.
CASE_INSENSITIVE
);
Matcher
m
=
pattern
.
matcher
(
v
);
while
(
m
.
find
())
{
blurryOk
=
true
;
break
;
}
if
(
blurryOk
)
break
;
}
catch
(
Exception
ex
)
{
log
.
error
(
ex
.
toString
());
}
}
if
(
blurryOk
)
break
;
}
else
{
blurryOk
=
true
;
}
if
(
item
.
getPartNumber
().
contains
(
blurry
)){
resultMap
.
put
(
item
.
getPartNumber
(),
item
);
}
}
else
{
blurryOk
=
true
;
}
if
(
blurryOk
)
{
resultMap
.
put
(
item
.
getPartNumber
(),
item
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
c7cccdd
...
...
@@ -587,24 +587,24 @@ public class LiteOrderCache implements ITaskListener {
int
count
=
jieliaoPosMap
.
get
(
pos
.
getPosName
());
task
.
setNeedSplitting
(
true
);
task
.
setNeedQty
(
count
);
task
.
setLightColor
(
ORDER_COLOR
.
P
URPLE
.
getRgb
());
//截料料 颜色:PURPLE
task
.
setLightColor
(
ORDER_COLOR
.
P
INK
.
getRgb
());
//截料料 颜色:PINK
}
else
if
(!
hasFirst
){
hasFirst
=
true
;
task
.
setFirstReel
(
true
);
task
.
setLightColor
(
ORDER_COLOR
.
CYAN
.
getRgb
());
//首盘料 颜色:CYA
N
task
.
setLightColor
(
ORDER_COLOR
.
GREEN
.
getRgb
());
//首盘料 颜色:GREE
N
}
else
{
task
.
setLightColor
(
ORDER_COLOR
.
SKYBLUE
.
getRgb
());
//普通工单 颜色:SKY
BLUE
task
.
setLightColor
(
ORDER_COLOR
.
BLUE
.
getRgb
());
//普通工单 颜色:
BLUE
}
if
(
addOutbound
){
task
.
setInOperate
(
true
);
task
.
setAddOutbound
(
true
);
task
.
setLightColor
(
ORDER_COLOR
.
PINK
.
getRgb
());
//缺料出库 颜色:PINK
task
.
setLightColor
(
ORDER_COLOR
.
ORANGE
.
getRgb
());
//缺料出库 颜色:orange
}
if
(
cacheOrder
.
isRepleOrder
()){
//产线补料
task
.
setLightColor
(
ORDER_COLOR
.
FORESTGREEN
.
getRgb
());
//产线补料出库 颜色:FORESTGREE
N
task
.
setLightColor
(
ORDER_COLOR
.
CYAN
.
getRgb
());
//产线补料出库 颜色:CYA
N
}
try
{
...
...
src/main/java/com/neotel/smfcore/core/order/enums/ORDER_COLOR.java
查看文件 @
c7cccdd
...
...
@@ -30,12 +30,24 @@ public enum ORDER_COLOR {
// 'off':[16,0,0,0],
// 'magenta':[17,125,125,0]
//手动出库:BLUE;入库:DARKGREEN;
// 工单首盘料:CYAN;工单截料:PURPLE;工单备件:SKYBLUE;
// 工单缺料出库:PINK;普通转储出库单:FIREBRICK;产线实料出库 颜色:FORESTGREEN
//1 普通转储出库单 火砖色 firebirck
//2 工单截料 粉色 pink
//3 工单缺料出库 橙色 orange
//4 产线补料出库 青色 cyan
//5 工单备件 蓝色 blue
//6 工单首盘料 绿色 green
//7 uid出库 墨绿 darkgreen
//8 感应灯 白色 white
//9 异常 红色 red
//10 入库 黄色 yellow
BLUE
(
"0000FF"
),
//MAGENTA("FF00FF
"),
ORANGE
(
"FF7F00
"
),
CYAN
(
"00FFFF"
),
GREEN
(
"008000"
),
YELLOW
(
"FFFF00"
),
FIREBRICK
(
"B22222"
),
PURPLE
(
"A020F0"
),
SKYBLUE
(
"6CA6CD"
),
...
...
@@ -72,8 +84,8 @@ public enum ORDER_COLOR {
}
public
static
ORDER_COLOR
nextColor
(
Collection
<
String
>
excludeColors
){
excludeColors
.
add
(
ORDER_COLOR
.
BLUE
.
getRgb
());
//手动出库
excludeColors
.
add
(
ORDER_COLOR
.
DARKGREEN
.
getRgb
());
//入库
excludeColors
.
add
(
ORDER_COLOR
.
DARKGREEN
.
getRgb
());
//手动出库
excludeColors
.
add
(
ORDER_COLOR
.
YELLOW
.
getRgb
());
//入库
ORDER_COLOR
[]
allColors
=
values
();
if
(
excludeColors
.
size
()
>=
allColors
.
length
){
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
c7cccdd
...
...
@@ -472,16 +472,18 @@ public class OrderController {
}
public
void
download
(
List
<
OrderPnInfo
>
orderPnInfoList
,
HttpServletResponse
response
,
Locale
locale
)
throws
IOException
{
String
pn
=
MessageUtils
.
getText
(
"smfcore.orderSet.barcode"
,
locale
,
"物料编号"
);
String
lackNum
=
MessageUtils
.
getText
(
"smfcore.orderSet.partNumber"
,
locale
,
"缺料数"
);
String
reelCount
=
MessageUtils
.
getText
(
"smfcore.orderSet.proDate"
,
locale
,
"缺料盘数"
);
//
String pn = MessageUtils.getText("smfcore.orderSet.barcode", locale, "物料编号");
//
String lackNum = MessageUtils.getText("smfcore.orderSet.partNumber", locale, "缺料数");
//
String reelCount = MessageUtils.getText("smfcore.orderSet.proDate", locale, "缺料盘数");
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
OrderPnInfo
orderPnInfo
:
orderPnInfoList
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
pn
,
orderPnInfo
.
getPartNumber
());
map
.
put
(
lackNum
,
orderPnInfo
.
getLackNum
());
map
.
put
(
reelCount
,
orderPnInfo
.
getReelCount
());
map
.
put
(
"物料编号"
,
orderPnInfo
.
getPartNumber
());
map
.
put
(
"缺料数"
,
orderPnInfo
.
getLackNum
());
map
.
put
(
"缺料盘数"
,
orderPnInfo
.
getReelCount
());
map
.
put
(
"最小包装"
,
orderPnInfo
.
getReelAmount
());
map
.
put
(
"需求总量"
,
orderPnInfo
.
getReelCount
()
*
orderPnInfo
.
getReelAmount
());
list
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
list
,
response
);
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderSheetController.java
查看文件 @
c7cccdd
...
...
@@ -262,7 +262,7 @@ public class OrderSheetController {
throw
new
ValidateException
(
"smfcore.orderSheet.noBox"
,
"工单{0}还未绑定箱子"
,
new
String
[]{
liteOrder
.
getOrderNo
()}
);
}
//判断工单是否完成
if
(
liteOrder
.
isClosed
()
){
if
(
!
liteOrder
.
isClosed
()
){
throw
new
ValidateException
(
"smfcore.orderSheet.end.error"
,
"操作失败,工单{0}还未出库完成"
,
new
String
[]{
orderNo
});
}
...
...
@@ -275,6 +275,6 @@ public class OrderSheetController {
liteOrderManager
.
save
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
return
ResultBean
.
newOkResult
(
"
ok
"
);
return
ResultBean
.
newOkResult
(
"
工单号["
+
liteOrder
.
getOrderNo
()
+
"]完成合单
"
);
}
}
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderPnDto.java
查看文件 @
c7cccdd
...
...
@@ -25,7 +25,7 @@ public class OrderPnDto implements Serializable {
// @ApiModelProperty(value = "库存数量")
// private int stockCount = 0;
//
@ApiModelProperty(value = "每盘料的包装数量")
//
private int reelAmount=0;
@ApiModelProperty
(
value
=
"每盘料的包装数量"
)
private
int
reelAmount
=
0
;
}
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
c7cccdd
...
...
@@ -164,7 +164,7 @@ public class LiteOrder extends BasePo implements Serializable {
/**
* 剩余箱子数
*/
private
Integer
remainBoxNum
=
100
;
private
int
remainBoxNum
=
100
;
/**
* 工单是否完成合单
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialController.java
查看文件 @
c7cccdd
...
...
@@ -82,20 +82,21 @@ public class MaterialController {
Map
<
String
,
InventoryItem
>
inventoryItemMap
=
dataCache
.
getAllInventory
(
criteria
.
getStorageIdList
(),
criteria
.
getBlurry
());
List
<
InventoryItem
>
list
=
Lists
.
newArrayList
(
inventoryItemMap
.
values
());
String
partNumberStr
=
MessageUtils
.
getText
(
"smfcore.inventory.partNumber"
,
locale
,
"物料编
号"
);
String
countStr
=
MessageUtils
.
getText
(
"smfcore.inventory.count"
,
locale
,
"
数量"
);
String
lockReelStr
=
MessageUtils
.
getText
(
"smfcore.inventory.lockReel"
,
locale
,
"锁定
"
);
String
stockReelStr
=
MessageUtils
.
getText
(
"smfcore.inventory.stockReel"
,
locale
,
"库存
"
);
String
storageNameStr
=
MessageUtils
.
getText
(
"smfcore.inventory.storageName"
,
locale
,
"设备"
);
//String partNumberStr= MessageUtils.getText("smfcore.inventory.partNumber",locale,"料
号");
//String countStr= MessageUtils.getText("smfcore.inventory.count",locale,"库存
数量");
//String stockReelStr= MessageUtils.getText("smfcore.inventory.stockReel",locale,"库存盘数
");
// String lockReelStr= MessageUtils.getText("smfcore.inventory.lockReel",locale,"锁定
");
//
String storageNameStr= MessageUtils.getText("smfcore.inventory.storageName",locale,"设备");
List
<
InventoryItemDto
>
inventoryItemDtos
=
inventoryItemMapper
.
toDto
(
list
);
List
<
Map
<
String
,
Object
>>
maps
=
new
ArrayList
<>();
for
(
InventoryItem
item
:
list
)
{
for
(
InventoryItem
Dto
item
:
inventoryItemDtos
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
partNumberStr
,
item
.
getPartNumber
());
map
.
put
(
countStr
,
item
.
getStockCount
());
map
.
put
(
lockReelStr
,
item
.
getLockReel
());
map
.
put
(
stockReelStr
,
item
.
getStockReel
());
map
.
put
(
storageNameStr
,
item
.
getStorageName
());
map
.
put
(
"料号"
,
item
.
getPartNumber
());
map
.
put
(
"库存数量"
,
item
.
getStockCount
());
map
.
put
(
"库存盘数"
,
item
.
getStockReel
());
map
.
put
(
"补充盘数"
,
item
.
getWillExireReel
());
// map.put("最小包装", );
// map.put("补充总量", );
maps
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
maps
,
response
);
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialStockController.java
查看文件 @
c7cccdd
...
...
@@ -115,22 +115,22 @@ public class MaterialStockController {
List
<
SafetyInventoryDto
>
results
=
getSafetyInventoryList
(
criteria
);
String
partNumberStr
=
MessageUtils
.
getText
(
"smfcore.safetyInventory.partNumber"
,
locale
,
"物料编号"
);
String
countStr
=
MessageUtils
.
getText
(
"smfcore.safetyInventory.count"
,
locale
,
"库存数量"
);
String
stockReelStr
=
MessageUtils
.
getText
(
"smfcore.safetyInventory.stockReel"
,
locale
,
"库存盘数"
);
String
supplementReelStr
=
MessageUtils
.
getText
(
"smfcore.safetyInventory.supplementReel"
,
locale
,
"补充盘数"
);
String
minPackageStr
=
MessageUtils
.
getText
(
"smfcore.safetyInventory.amount"
,
locale
,
"最小包装"
);
String
totalAddStr
=
MessageUtils
.
getText
(
"smfcore.safetyInventory.amount"
,
locale
,
"补充总量"
);
//
String partNumberStr= MessageUtils.getText("smfcore.safetyInventory.partNumber",locale,"物料编号");
//
String countStr= MessageUtils.getText("smfcore.safetyInventory.count",locale,"库存数量");
//
String stockReelStr= MessageUtils.getText("smfcore.safetyInventory.stockReel",locale,"库存盘数");
//
String supplementReelStr= MessageUtils.getText("smfcore.safetyInventory.supplementReel",locale,"补充盘数");
//
String minPackageStr= MessageUtils.getText("smfcore.safetyInventory.amount",locale,"最小包装");
//
String totalAddStr= MessageUtils.getText("smfcore.safetyInventory.amount",locale,"补充总量");
List
<
Map
<
String
,
Object
>>
maps
=
new
ArrayList
<>();
for
(
SafetyInventoryDto
item
:
results
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
partNumberStr
,
item
.
getPartNumber
());
map
.
put
(
countStr
,
item
.
getStockCount
());
map
.
put
(
stockReelStr
,
item
.
getStockReel
());
map
.
put
(
supplementReelStr
,
item
.
getSupplementReel
());
map
.
put
(
minPackageStr
,
item
.
getAmount
());
map
.
put
(
totalAddStr
,
item
.
getSupplementReel
()
*
item
.
getAmount
());
map
.
put
(
"物号"
,
item
.
getPartNumber
());
map
.
put
(
"库存数量"
,
item
.
getStockCount
());
map
.
put
(
"库存盘数"
,
item
.
getStockReel
());
map
.
put
(
"补充盘数"
,
item
.
getSupplementReel
());
map
.
put
(
"最小包装"
,
item
.
getAmount
());
map
.
put
(
"补充总量"
,
item
.
getSupplementReel
()
*
item
.
getAmount
());
maps
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
maps
,
response
);
...
...
@@ -151,7 +151,7 @@ public class MaterialStockController {
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
query
.
addCriteria
(
Criteria
.
where
(
"safetyStoreNum"
).
gt
(
0
));
List
<
Component
>
componentList
=
componentManager
.
findByQuery
(
query
);
Map
<
String
,
InventoryItem
>
inventoryItemMap
=
dataCache
.
getAllInventory
(
criteria
.
getStorageIdList
(),
criteria
.
get
Blurry
());
Map
<
String
,
InventoryItem
>
inventoryItemMap
=
dataCache
.
getAllInventory
(
criteria
.
getStorageIdList
(),
criteria
.
get
PartNumber
());
List
<
SafetyInventoryDto
>
results
=
new
ArrayList
<>();
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论