Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 189745dd
由
zshaohui
编写于
2024-10-30 15:45:56 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.uid出库 只增加线体选择,后台自己匹配机种
2.uid出库, 在选择线体时,增加 异常出库 选项
1 个父辈
311ee050
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
81 行增加
和
18 行删除
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/order/rest/bean/query/OrderQueryCondition.java
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
src/main/java/com/neotel/smfcore/core/system/rest/bean/dto/TaskDto.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/bean/PreWarningItem.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/util/PreWarningItemCache.java
src/main/java/com/neotel/smfcore/custom/lizhen/setting/controller/LineController.java
src/main/java/com/neotel/smfcore/custom/lizhen/wcs/LizhenController.java
src/main/resources/config/application-bg.yml
src/main/resources/config/application-cg.yml
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
189745d
...
...
@@ -553,6 +553,7 @@ public class LiteOrderCache {
while
(
assignReelCount
<
remainReelCount
)
{
String
partNumber
=
orderItem
.
getPn
();
String
[]
partNumberSpl
=
partNumber
.
split
(
","
);
StoragePos
pos
=
null
;
if
(
cacheOrder
.
getType
()
==
2
)
{
...
...
@@ -567,7 +568,12 @@ public class LiteOrderCache {
}
else
{
//PN
do
{
pos
=
storagePosManager
.
findPartNumberInStorages
(
storageIdList
,
partNumber
,
excludePosIds
,
checkoutType
,
orderItem
.
getBrand
());
for
(
String
pn
:
partNumberSpl
)
{
pos
=
storagePosManager
.
findPartNumberInStorages
(
storageIdList
,
pn
,
excludePosIds
,
checkoutType
,
orderItem
.
getBrand
());
if
(
pos
!=
null
){
break
;
}
}
if
(
pos
==
null
)
{
break
;
}
...
...
@@ -618,6 +624,7 @@ public class LiteOrderCache {
task
.
setPickingId
(
orderItem
.
getPickingId
());
task
.
setItemNo
(
orderItem
.
getItemNo
());
task
.
setModel
(
orderItem
.
getModel
());
task
.
setMo
(
orderItem
.
getMo
());
//先调用tower发料
String
result
=
lizhenApi
.
towerCheck
(
task
);
...
...
@@ -1254,16 +1261,22 @@ public class LiteOrderCache {
continue
;
}
}
String
pn
=
orderItem
.
getPn
();
String
[]
split
=
pn
.
split
(
","
);
if
(
orderItem
.
getOutReelCount
()
<
orderItem
.
getNeedReelCount
())
{
InventoryItem
inventoryItem
=
inventoryMap
.
get
(
orderItem
.
getPn
());
if
(
inventoryItem
!=
null
)
{
if
(
inventoryItem
.
getStockReel
()
/*- inventoryItem.getLockReel()*/
-
inventoryItem
.
getBindReel
()
>
0
)
{
inventoryItem
.
setBindReel
(
inventoryItem
.
getBindReel
()
+
1
);
}
else
{
lackItems
.
add
(
orderItem
);
boolean
lack
=
true
;
for
(
String
partNumber
:
split
)
{
InventoryItem
inventoryItem
=
inventoryMap
.
get
(
partNumber
);
if
(
inventoryItem
!=
null
){
if
(
inventoryItem
.
getStockReel
()
/*- inventoryItem.getLockReel()*/
-
inventoryItem
.
getBindReel
()
>
0
)
{
inventoryItem
.
setBindReel
(
inventoryItem
.
getBindReel
()
+
1
);
inventoryMap
.
put
(
orderItem
.
getPn
(),
inventoryItem
);
lack
=
false
;
break
;
}
}
inventoryMap
.
put
(
orderItem
.
getPn
(),
inventoryItem
);
}
else
{
}
if
(
lack
)
{
lackItems
.
add
(
orderItem
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
189745d
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/core/order/rest/bean/query/OrderQueryCondition.java
查看文件 @
189745d
...
...
@@ -4,6 +4,7 @@ package com.neotel.smfcore.core.order.rest.bean.query;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -14,7 +15,8 @@ public class OrderQueryCondition {
@QueryCondition
(
blurry
=
"orderNo,export"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
)
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"createDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
BetweenData
<
Date
>
createDate
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
IN
,
propName
=
"source"
)
...
...
@@ -28,6 +30,11 @@ public class OrderQueryCondition {
//缺料预警id
@QueryCondition
(
blurry
=
"warningItemId,reel"
)
private
String
warningItemId
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
BetweenData
<
Date
>
updateDate
;
//
// @QueryCondition(type=QueryCondition.Type.IN,propName = "status")
// private List<Integer> statusList ;
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
189745d
...
...
@@ -732,14 +732,20 @@ public class StoragePosController {
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"ID"
});
}
String
line
=
checkOutDto
.
getLine
();
if
(
StringUtils
.
isEmpty
(
line
)){
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"线体"
});
}
String
model
=
checkOutDto
.
getModel
();
if
(
StringUtils
.
isEmpty
(
model
)){
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"机种"
});
if
(!
"异常出库"
.
equals
(
line
)){
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"机种"
});
}
}
String
line
=
checkOutDto
.
getLine
();
if
(
StringUtils
.
isEmpty
(
line
)){
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"线体"
});
if
(
"异常出库"
.
equals
(
line
)){
checkOutDto
.
setForceOut
(
true
);
}
if
(
checkOutDto
.
getSingleOut
()
==
null
)
{
...
...
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
查看文件 @
189745d
...
...
@@ -113,6 +113,7 @@ public class TaskController {
headerList
.
add
(
Lists
.
newArrayList
(
"料仓名称"
));
headerList
.
add
(
Lists
.
newArrayList
(
"数量"
));
headerList
.
add
(
Lists
.
newArrayList
(
"类型"
));
headerList
.
add
(
Lists
.
newArrayList
(
"MO"
));
headerList
.
add
(
Lists
.
newArrayList
(
"来源"
));
headerList
.
add
(
Lists
.
newArrayList
(
"线体"
));
headerList
.
add
(
Lists
.
newArrayList
(
"机台名"
));
...
...
@@ -139,6 +140,7 @@ public class TaskController {
result
.
add
(
dataLog
.
getPosName
()+
" "
+
dataLog
.
getStorageName
());
result
.
add
(
dataLog
.
getNum
());
result
.
add
(
dataLog
.
getType
()
==
1
?
"入库"
:
"出库"
);
result
.
add
(
dataLog
.
getMo
());
result
.
add
(
dataLog
.
getSourceName
());
result
.
add
(
dataLog
.
getLine
());
result
.
add
(
dataLog
.
getMachineName
());
...
...
src/main/java/com/neotel/smfcore/core/system/rest/bean/dto/TaskDto.java
查看文件 @
189745d
...
...
@@ -154,7 +154,7 @@ public class TaskDto implements Serializable {
private
String
subSlot
=
""
;
private
String
side
=
""
;
private
String
mo
=
""
;
public
String
getTaskColor
()
{
if
(
ObjectUtil
.
isNotEmpty
(
lightColor
))
{
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/bean/PreWarningItem.java
查看文件 @
189745d
...
...
@@ -43,4 +43,7 @@ public class PreWarningItem extends BasePo {
private
Date
receiveDate
=
new
Date
();
private
String
pickingId
;
//工单号
private
String
mo
;
}
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
查看文件 @
189745d
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/util/PreWarningItemCache.java
查看文件 @
189745d
...
...
@@ -89,7 +89,7 @@ public class PreWarningItemCache {
int
minute
=
dataCache
.
getLineConfigMinute
(
line
);
if
(
minute
==
0
)
{
minute
=
20
;
minute
=
1
;
}
PreWarningItem
firstItem
=
itemList
.
get
(
0
);
...
...
@@ -185,6 +185,7 @@ public class PreWarningItemCache {
orderItem
.
setReceiveDate
(
item
.
getReceiveDate
());
orderItem
.
setPickingId
(
item
.
getPickingId
());
orderItem
.
setItemNo
(
item
.
getItemNo
());
orderItem
.
setMo
(
item
.
getMo
());
orderItems
.
add
(
orderItem
);
}
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/setting/controller/LineController.java
查看文件 @
189745d
...
...
@@ -27,6 +27,7 @@ public class LineController {
List
<
String
>
lineList
=
Arrays
.
asList
(
split
);
lineList
=
lineList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
Collections
.
sort
(
lineList
);
lineList
.
add
(
0
,
"异常出库"
);
return
ResultBean
.
newOkResult
(
lineList
);
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/wcs/LizhenController.java
查看文件 @
189745d
...
...
@@ -42,6 +42,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.PostConstruct
;
import
java.io.BufferedReader
;
import
java.io.FileReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.file.Files
;
import
java.nio.file.Paths
;
import
java.util.*
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
...
...
@@ -205,6 +212,8 @@ public class LizhenController {
item
.
setLine
(
data
.
get
(
"LINE"
));
item
.
setItemId
(
data
.
get
(
"ID"
));
item
.
setPickingId
(
data
.
get
(
"PICKING_ID"
));
String
mo
=
data
.
get
(
"MO"
);
item
.
setMo
(
mo
);
try
{
item
.
setItemNo
(
Integer
.
valueOf
(
data
.
get
(
"ITEM_NO"
)));
item
.
setPriority
(
Integer
.
valueOf
(
data
.
get
(
"PRIORITY"
)));
...
...
@@ -250,6 +259,7 @@ public class LizhenController {
item
.
setLine
(
data
.
get
(
"LINE"
));
item
.
setItemId
(
data
.
get
(
"ID"
));
item
.
setPickingId
(
data
.
get
(
"PICKING_ID"
));
item
.
setMo
(
data
.
get
(
"WORKORDERNO"
));
try
{
item
.
setItemNo
(
Integer
.
valueOf
(
data
.
get
(
"ITEM_NO"
)));
item
.
setPriority
(
Integer
.
valueOf
(
data
.
get
(
"PRIORITY"
)));
...
...
@@ -499,4 +509,24 @@ public class LizhenController {
}
return
url
;
}
public
static
void
main
(
String
[]
args
)
{
// 请将 "yourfile.txt" 替换为你的实际文件路径
String
filePath
=
"D:\\Desktop\\2024-10-26.mes.txt"
;
// 方法2:使用BufferedReader和InputStreamReader读取文件
try
(
BufferedReader
br
=
new
BufferedReader
(
new
InputStreamReader
(
Files
.
newInputStream
(
Paths
.
get
(
filePath
)),
"GBK"
)))
{
String
line
;
while
((
line
=
br
.
readLine
())
!=
null
)
{
if
(
/*line.startsWith("2024-10-26 09") ||*/
line
.
startsWith
(
"2024-10-26 10"
)
/* || line.startsWith("2024-10-26 11")*/
)
{
if
(
line
.
contains
(
"\"SIDE\":\"B\""
)){
System
.
out
.
println
(
line
);
}
}
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
src/main/resources/config/application-bg.yml
查看文件 @
189745d
3f
:
line
:
C03-3FSMT-13,C02-3FSMT-12,C02-3FSMT-18,C02-3FSMT-19,C03-1FSMT-12,C02-3FSMT-11,C03-1FSMT-11,C02-3FSMT-17,C02-3FSMT-14,C03-1FSMT-12,C02-3FSMT-13,C02-3FSMT-16,C02-3FSMT-15,C02-3FSMT-19
\ No newline at end of file
line
:
C02-3FSMT-18,C02-3FSMT-19,C02-3FSMT-17,C02-3FSMT-14,C02-3FSMT-13,C02-3FSMT-16,C02-3FSMT-15,C02-3FSMT-19
\ No newline at end of file
src/main/resources/config/application-cg.yml
查看文件 @
189745d
3f
:
line
:
C03-1FSMT-01,C02-3FSMT-02,C03-3FSMT-03,C02-3FSMT-09,C02-3FSMT-01,C03-1FSMT-02,C02-3FSMT-08,C02-3FSMT-06,C02-3FSMT-07,C02-3FSMT-04,C02-3FSMT-05,C02-3FSMT-03,C03-1FSMT-02
\ No newline at end of file
line
:
C02-3FSMT-09,C02-3FSMT-08,C02-3FSMT-06,C02-3FSMT-07,C02-3FSMT-04,C02-3FSMT-05,C02-3FSMT-03
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论