Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 8b434640
由
zshaohui
编写于
2023-06-20 09:07:47 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.增加散料仓量测接口
2.过期报表增加状态:已过期,未过期,0-7,7-30 3.外仓异动增加首次入库时间
1 个父辈
69c5c1e0
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
164 行增加
和
15 行删除
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderItemDto.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrderItem.java
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/custom/lizhen/LizhenApi.java
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/OutLineController.java
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/WarehouseController.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/VirtualRestController.java
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/inner/InnerKanbanController.java
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/outer/OuterKanbanController.java
src/main/java/com/neotel/smfcore/custom/lizhen/report/bean/dto/ExpireDto.java
src/main/java/com/neotel/smfcore/custom/lizhen/report/inner/InnerReportController.java
src/main/java/com/neotel/smfcore/custom/lizhen/report/outer/OuterReportController.java
src/main/java/com/neotel/smfcore/custom/lizhen/util/ExpireDateUtil.java
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
查看文件 @
8b43464
...
...
@@ -238,7 +238,7 @@ public class DataInitManager {
addNewFunctionMenu
(
91
,
pMenuReport
,
"imDetailsReport"
,
"导入明细"
,
"imDetailsReport"
,
"innerWarehouse/imDetailsReport/index"
,
"feeding"
,
functionMenuMap
);
//内外仓都有
addNewFunctionMenu
(
92
,
pMenuReport
,
"expiredReport"
,
"
过期
"
,
"expiredReport"
,
"report/expiredReport/index"
,
"inventory"
,
functionMenuMap
);
addNewFunctionMenu
(
92
,
pMenuReport
,
"expiredReport"
,
"
物料状态
"
,
"expiredReport"
,
"report/expiredReport/index"
,
"inventory"
,
functionMenuMap
);
//可观测性:物料追踪
Menu
guanceMenu
=
Menu
.
CreatePMenu
(
"可观测性"
,
8
,
"observability"
,
2
,
"scanKey"
,
null
);
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
8b43464
...
...
@@ -433,6 +433,13 @@ public class NLShelfHandler extends BaseDeviceHandler {
Barcode
barcodeApi
=
lizhenApi
.
barcodeInfo
(
barcode
);
if
(
barcodeApi
!=
null
){
//判断返回过来的物料数量与标签上的是否一致,如果不一致,则调用散料量测接口
if
(
barcodeApi
.
getAmount
()
!=
barcode
.
getLabelAmount
())
{
boolean
check
=
lizhenApi
.
checkReelMeasure
(
barcode
);
if
(!
check
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
barcode
.
getBarcode
()
+
"散料未量测"
);
}
}
barcode
=
barcodeApi
;
}
...
...
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
8b43464
...
...
@@ -215,6 +215,13 @@ public class DeviceController {
Barcode
barcodeApi
=
lizhenApi
.
barcodeInfo
(
barcode
);
if
(
barcodeApi
!=
null
){
//判断返回过来的物料数量与标签上的是否一致,如果不一致,则调用散料量测接口
if
(
barcodeApi
.
getAmount
()
!=
barcode
.
getLabelAmount
())
{
boolean
check
=
lizhenApi
.
checkReelMeasure
(
barcode
);
if
(!
check
)
{
throw
new
ValidateException
(
""
,
barcode
.
getBarcode
()
+
"散料未量测"
);
}
}
barcode
=
barcodeApi
;
}
...
...
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderItemDto.java
查看文件 @
8b43464
...
...
@@ -122,4 +122,13 @@ public class OrderItemDto {
@ApiModelProperty
(
"缺料预警物料"
)
private
String
reel
;
@ApiModelProperty
(
"累计预警时间"
)
private
long
preWarningTime
;
@ApiModelProperty
(
"发料时间"
)
private
Date
issuanceDate
;
@ApiModelProperty
(
"楼层"
)
private
String
floor
;
}
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrderItem.java
查看文件 @
8b43464
...
...
@@ -8,6 +8,7 @@ import org.springframework.data.annotation.Transient;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
@Data
...
...
@@ -203,6 +204,22 @@ public class LiteOrderItem extends BasePo implements Serializable ,Comparable<Li
private
boolean
isManualUpload
=
false
;
/**
* 楼层
*/
private
String
floor
=
""
;
/**
* 预警时间
*/
private
long
preWarningTime
;
/**
* 发料时间
*/
private
Date
issuanceDate
;
/**
* 出库是否满足要求,已出库数量大于需求数量
*/
public
boolean
isOutFinished
(){
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
8b43464
...
...
@@ -417,7 +417,7 @@ public class StoragePosController {
for
(
StoragePosDto
storagePosDto
:
StoragePosDtos
)
{
BarcodeDto
barcode
=
storagePosDto
.
getBarcode
();
if
(
barcode
.
getPutInTime
()
==
-
1
){
barcode
.
setFirstPutInDate
(
barcode
.
get
PutIn
Date
());
barcode
.
setFirstPutInDate
(
barcode
.
get
Create
Date
());
//storagePosDto.setBarcode(barcode);
}
}
...
...
@@ -619,7 +619,7 @@ public class StoragePosController {
String
putInTime
=
(
pos
.
getBarcode
().
getPutInTime
()
==
-
1
)
?
""
:
dateFormat
.
format
(
new
Date
(
pos
.
getBarcode
().
getPutInTime
()));
if
(
ObjectUtil
.
isEmpty
(
putInTime
)){
putInTime
=
dateFormat
.
format
(
pos
.
getBarcode
().
get
PutIn
Date
());
putInTime
=
dateFormat
.
format
(
pos
.
getBarcode
().
get
Create
Date
());
}
List
<
Object
>
data
=
new
ArrayList
<>();
...
...
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
8b43464
...
...
@@ -343,6 +343,16 @@ public class DataLog extends BasePo implements Serializable {
*/
private
String
inventoryBatch
;
/**
* 物料描述
*/
private
String
describe
;
/**
* 首次入库时间
*/
private
Date
fristPutInDate
;
public
String
getBarcode
()
{
if
(
barcode
==
null
){
return
""
;
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/LizhenApi.java
查看文件 @
8b43464
...
...
@@ -563,17 +563,22 @@ public class LizhenApi extends DefaultSmfApiListener {
try
{
log
.
info
(
"散料量测接口入参为-----"
+
JSON
.
toJSONString
(
paramMap
));
String
result
=
HttpHelper
.
postJson
(
checkReelMeasureUrl
,
paramMap
);
log
.
info
(
"散料量测接口出参为-----"
+
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(
jsonObject
.
getInteger
(
"status"
)
==
200
)
{
JSONObject
data
=
jsonObject
.
getJSONObject
(
"data"
);
if
(
data
.
getBoolean
(
"result"
))
{
return
true
;
}
else
{
return
false
;
}
}
else
{
return
false
;
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
false
;
}
return
false
;
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/OutLineController.java
查看文件 @
8b43464
...
...
@@ -245,6 +245,13 @@ public class OutLineController {
//获取mes数量
Barcode
barcodeInfo
=
lizhenApi
.
barcodeInfo
(
barcode
);
if
(
barcodeInfo
!=
null
){
//判断返回过来的物料数量与标签上的是否一致,如果不一致,则调用散料量测接口
if
(
barcodeInfo
.
getAmount
()
!=
barcode
.
getLabelAmount
())
{
boolean
check
=
lizhenApi
.
checkReelMeasure
(
barcode
);
if
(!
check
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
barcode
.
getBarcode
()+
"散料未量测"
);
}
}
barcode
=
barcodeInfo
;
}
barcode
.
setReelAmount
(
1
);
...
...
@@ -787,6 +794,12 @@ public class OutLineController {
}
}
task
.
setBoxOut
(
isBoxOut
);
if
(
barcode
.
getPutInTime
()
!=
-
1
){
task
.
setFristPutInDate
(
new
Date
(
barcode
.
getPutInTime
()));
}
else
{
task
.
setFristPutInDate
(
barcode
.
getPutInDate
());
}
task
.
setDescribe
(
barcode
.
getDescribe
());
taskService
.
updateFinishedTask
(
task
);
return
task
;
}
...
...
@@ -1173,6 +1186,13 @@ public class OutLineController {
task
.
setReelPosName
(
barcode
.
getPosName
());
task
.
setExtendType
(
extendType
);
task
.
setWarehouseCode
(
barcode
.
getWarehouseCode
());
//增加首次入库时间和物料描述
if
(
barcode
.
getPutInTime
()
!=
-
1
){
task
.
setFristPutInDate
(
new
Date
(
barcode
.
getPutInTime
()));
}
else
{
task
.
setFristPutInDate
(
barcode
.
getPutInDate
());
}
task
.
setDescribe
(
barcode
.
getDescribe
());
taskService
.
updateFinishedTask
(
task
);
return
""
;
}
...
...
@@ -1187,6 +1207,12 @@ public class OutLineController {
task
.
setBoxPosName
(
pos
.
getPosName
());
task
.
setExtendType
(
extendType
);
task
.
setWarehouseCode
(
barcode
.
getWarehouseCode
());
if
(
barcode
.
getPutInTime
()
!=
-
1
)
{
task
.
setFristPutInDate
(
new
Date
(
barcode
.
getPutInTime
()));
}
else
{
task
.
setFristPutInDate
(
barcode
.
getPutInDate
());
}
task
.
setDescribe
(
barcode
.
getDescribe
());
taskService
.
addTaskToExecute
(
task
);
return
task
;
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/WarehouseController.java
查看文件 @
8b43464
...
...
@@ -846,6 +846,12 @@ public class WarehouseController {
task
.
setOperator
(
SecurityUtils
.
getCurrentUsername
());
task
.
setBoxPosName
(
pos
.
getPosName
());
task
.
setExtendType
(
extendType
);
if
(
barcode
.
getPutInTime
()
!=
-
1
)
{
task
.
setFristPutInDate
(
new
Date
(
barcode
.
getPutInTime
()));
}
else
{
task
.
setFristPutInDate
(
barcode
.
getPutInDate
());
}
task
.
setDescribe
(
barcode
.
getDescribe
());
taskService
.
addTaskToExecute
(
task
);
return
task
;
}
...
...
@@ -1300,6 +1306,12 @@ public class WarehouseController {
}
}
task
.
setBoxOut
(
isBoxOut
);
if
(
barcode
.
getPutInTime
()
!=
-
1
)
{
task
.
setFristPutInDate
(
new
Date
(
barcode
.
getPutInTime
()));
}
else
{
task
.
setFristPutInDate
(
barcode
.
getPutInDate
());
}
task
.
setDescribe
(
barcode
.
getDescribe
());
taskService
.
updateFinishedTask
(
task
);
return
task
;
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/VirtualRestController.java
查看文件 @
8b43464
...
...
@@ -131,6 +131,13 @@ public class VirtualRestController {
Barcode
barcodeInfo
=
lizhenApi
.
barcodeInfo
(
barcode
);
if
(
barcodeInfo
!=
null
){
//判断返回过来的物料数量与标签上的是否一致,如果不一致,则调用散料量测接口
if
(
barcodeInfo
.
getAmount
()
!=
barcode
.
getLabelAmount
())
{
boolean
check
=
lizhenApi
.
checkReelMeasure
(
barcode
);
if
(!
check
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
barcode
.
getBarcode
()
+
"散料未量测"
);
}
}
barcode
=
barcodeInfo
;
}
//判断是否为禁用料
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/inner/InnerKanbanController.java
查看文件 @
8b43464
...
...
@@ -194,7 +194,7 @@ public class InnerKanbanController {
@AnonymousAccess
public
ResultBean
getExpireInfo
()
throws
ParseException
{
Long
lastSaveTime
=
expireMap
.
get
(
"lastSaveTime"
);
if
(
lastSaveTime
==
null
||
System
.
currentTimeMillis
()
-
lastSaveTime
>=
1000
*
60
*
6
0
)
{
if
(
lastSaveTime
==
null
||
System
.
currentTimeMillis
()
-
lastSaveTime
>=
1000
*
60
*
1
0
)
{
expireMap
.
put
(
"noExpire"
,
getNoExpireCount
());
expireMap
.
put
(
"zeroToServen"
,
getZeroToServenExpireCount
());
expireMap
.
put
(
"servenToThirty"
,
getServenToThrityExpireCount
());
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/outer/OuterKanbanController.java
查看文件 @
8b43464
...
...
@@ -175,7 +175,7 @@ public class OuterKanbanController {
@AnonymousAccess
public
ResultBean
getExpireInfo
()
throws
ParseException
{
Long
lastSaveTime
=
expireMap
.
get
(
"lastSaveTime"
);
if
(
lastSaveTime
==
null
||
System
.
currentTimeMillis
()
-
lastSaveTime
>=
1000
*
60
*
6
0
)
{
if
(
lastSaveTime
==
null
||
System
.
currentTimeMillis
()
-
lastSaveTime
>=
1000
*
60
*
1
0
)
{
expireMap
.
put
(
"noExpire"
,
getNoExpireCount
());
expireMap
.
put
(
"zeroToServen"
,
getZeroToServenExpireCount
());
expireMap
.
put
(
"servenToThirty"
,
getServenToThrityExpireCount
());
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/report/bean/dto/ExpireDto.java
查看文件 @
8b43464
...
...
@@ -43,4 +43,9 @@ public class ExpireDto extends Barcode {
* 隔口数量
*/
private
Integer
partitionCount
;
/**
* 备注
*/
private
String
remark
;
}
src/main/java/com/neotel/smfcore/custom/lizhen/report/inner/InnerReportController.java
查看文件 @
8b43464
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/custom/lizhen/report/outer/OuterReportController.java
查看文件 @
8b43464
...
...
@@ -37,6 +37,7 @@ import com.neotel.smfcore.custom.lizhen.innerBox.enums.ExtendType;
import
com.neotel.smfcore.custom.lizhen.report.bean.dto.ExpireDto
;
import
com.neotel.smfcore.custom.lizhen.report.bean.dto.InventoryDto
;
import
com.neotel.smfcore.custom.lizhen.report.bean.query.ReportQueryCondition
;
import
com.neotel.smfcore.custom.lizhen.util.ExpireDateUtil
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -161,7 +162,7 @@ public class OuterReportController {
resultMap
.
put
(
"挑料单号"
,
getData
(
dataLog
.
getOrderNo
()));
resultMap
.
put
(
"工单号"
,
getData
(
dataLog
.
getMo
()));
resultMap
.
put
(
"料号"
,
getData
(
dataLog
.
getPartNumber
()));
resultMap
.
put
(
"物料描述"
,
getData
(
null
));
resultMap
.
put
(
"物料描述"
,
getData
(
dataLog
.
getDescribe
()
));
resultMap
.
put
(
"储位"
,
getData
(
dataLog
.
getPosName
()));
resultMap
.
put
(
"段别"
,
getData
(
dataLog
.
getSide
()));
resultMap
.
put
(
"数量"
,
getData
(
dataLog
.
getNum
()));
...
...
@@ -436,7 +437,7 @@ public class OuterReportController {
resultMap
.
put
(
"厂别"
,
getData
(
dataLog
.
getPlantCode
()));
resultMap
.
put
(
"厂区"
,
getData
(
dataLog
.
getFactory
()));
resultMap
.
put
(
"料号"
,
getData
(
dataLog
.
getPartNumber
()));
resultMap
.
put
(
"物料描述"
,
getData
(
null
));
resultMap
.
put
(
"物料描述"
,
getData
(
dataLog
.
getDescribe
()
));
resultMap
.
put
(
"隔口码"
,
getData
(
dataLog
.
getPosName
()));
resultMap
.
put
(
"异动数量"
,
getData
(
dataLog
.
getNum
()));
resultMap
.
put
(
"储位"
,
getData
(
dataLog
.
getStoragePosName
()));
...
...
@@ -452,6 +453,7 @@ public class OuterReportController {
resultMap
.
put
(
"Keeper"
,
getData
(
dataLog
.
getKeeperCode
()));
resultMap
.
put
(
"原始库别"
,
getData
(
dataLog
.
getWarehouseCode
()));
resultMap
.
put
(
"目的库别"
,
getData
(
null
));
resultMap
.
put
(
"首次入库时间"
,
getData
(
dataLog
.
getFristPutInDate
()));
resultMap
.
put
(
"事务日期"
,
getData
(
dataLog
.
getCreateDate
()));
resultMap
.
put
(
"工号"
,
getData
(
dataLog
.
getOperator
()));
resultMap
.
put
(
"姓名"
,
getData
(
null
));
...
...
@@ -707,7 +709,7 @@ public class OuterReportController {
resultMap
.
put
(
"厂区"
,
getData
(
dto
.
getFactory
()));
resultMap
.
put
(
"库别"
,
getData
(
dto
.
getWarehouseCode
()));
resultMap
.
put
(
"料号"
,
getData
(
dto
.
getPartNumber
()));
resultMap
.
put
(
"物料描述"
,
getData
(
null
));
resultMap
.
put
(
"物料描述"
,
getData
(
dto
.
getDescribe
()
));
resultMap
.
put
(
"隔口码"
,
getData
(
dto
.
getPosName
()));
resultMap
.
put
(
"储位"
,
getData
(
dto
.
getStoragePosName
()));
resultMap
.
put
(
"Keeper"
,
getData
(
dto
.
getKeeperCode
()));
...
...
@@ -790,7 +792,7 @@ public class OuterReportController {
@AnonymousAccess
public
PageData
<
ExpireDto
>
expireInfo
(
ReportQueryCondition
queryCondition
,
Pageable
pageable
)
{
Query
query
=
QueryHelp
.
getQuery
(
queryCondition
);
query
.
addCriteria
(
Criteria
.
where
(
"posName"
).
exists
(
true
).
ne
(
""
).
and
(
"
expireDate"
).
lt
(
new
Date
())
);
query
.
addCriteria
(
Criteria
.
where
(
"posName"
).
exists
(
true
).
ne
(
""
).
and
(
"
partNumber"
).
nin
(
Arrays
.
asList
(
"CS"
,
"CM"
,
"CB"
))
/*.and("expireDate").lt(new Date())*/
);
int
count
=
barcodeManager
.
countByQuery
(
query
);
List
<
Barcode
>
barcodeList
=
barcodeManager
.
findByQuery
(
query
,
pageable
);
List
<
ExpireDto
>
expireDtoList
=
new
ArrayList
<>();
...
...
@@ -815,14 +817,20 @@ public class OuterReportController {
//开始赋值
for
(
Barcode
barcode
:
barcodeList
)
{
List
<
Barcode
>
posNameList
=
pidBarcodeList
.
stream
().
filter
(
item
->
{
return
barcode
.
get
HostBarcodeId
().
equals
(
item
.
getId
());
return
barcode
.
get
PosName
().
startsWith
(
item
.
getBarcode
());
}).
collect
(
Collectors
.
toList
());
Barcode
pidBarcode
=
(
posNameList
!=
null
&&
!
posNameList
.
isEmpty
())
?
posNameList
.
get
(
0
)
:
null
;
ExpireDto
dto
=
new
ExpireDto
();
BeanUtils
.
copyProperties
(
barcode
,
dto
);
dto
.
setPutInDate
(
barcode
.
getPutInDate
());
dto
.
setExpireDays
(
DateUtil
.
between
(
dto
.
getExpireDate
(),
new
Date
(),
DateUnit
.
DAY
)
+
1
);
if
(
dto
.
getExpireDate
()
!=
null
)
{
long
expireDays
=
ExpireDateUtil
.
getExpireDays
(
dto
.
getExpireDate
());
dto
.
setExpireDays
(
expireDays
);
dto
.
setRemark
(
ExpireDateUtil
.
getReelStatus
(
expireDays
));
}
else
{
dto
.
setExpireDays
(
0
);
}
dto
.
setPlant
(
"W337"
);
dto
.
setFactory
(
"B15"
);
dto
.
setFloor
(
"1F"
);
...
...
@@ -851,7 +859,7 @@ public class OuterReportController {
@AnonymousAccess
public
void
expireInfoDownload
(
ReportQueryCondition
queryCondition
,
Pageable
pageable
,
HttpServletResponse
response
)
throws
IOException
{
Query
query
=
QueryHelp
.
getQuery
(
queryCondition
);
query
.
addCriteria
(
Criteria
.
where
(
"posName"
).
exists
(
true
).
ne
(
""
).
and
(
"
expireDate"
).
lt
(
new
Date
())
);
query
.
addCriteria
(
Criteria
.
where
(
"posName"
).
exists
(
true
).
ne
(
""
).
and
(
"
partNumber"
).
nin
(
Arrays
.
asList
(
"CS"
,
"CM"
,
"CB"
))
/*.and("expireDate").lt(new Date())*/
);
FileUtil
.
downloadExcel
(
query
,
pageable
,
response
,
new
IExcelDownLoad
()
{
@Override
...
...
@@ -874,11 +882,13 @@ public class OuterReportController {
header
.
add
(
Lists
.
newArrayList
(
"厂商代码"
));
header
.
add
(
Lists
.
newArrayList
(
"keeper"
));
header
.
add
(
Lists
.
newArrayList
(
"过期天数"
));
header
.
add
(
Lists
.
newArrayList
(
"物料状态"
));
header
.
add
(
Lists
.
newArrayList
(
"过期日期"
));
header
.
add
(
Lists
.
newArrayList
(
"工号"
));
header
.
add
(
Lists
.
newArrayList
(
"首次入库时间"
));
header
.
add
(
Lists
.
newArrayList
(
"当前入库时间"
));
header
.
add
(
Lists
.
newArrayList
(
"来源"
));
header
.
add
(
Lists
.
newArrayList
(
"备注"
));
return
header
;
}
...
...
@@ -903,14 +913,21 @@ public class OuterReportController {
List
<
Barcode
>
pidBarcodeList
=
barcodeManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"barcode"
).
in
(
boxStrList
)));
for
(
Barcode
barcode
:
barcodeList
)
{
List
<
Barcode
>
posNameList
=
pidBarcodeList
.
stream
().
filter
(
item
->
{
return
barcode
.
get
HostBarcodeId
().
equals
(
item
.
getId
());
return
barcode
.
get
PosName
().
startsWith
(
item
.
getBarcode
());
}).
collect
(
Collectors
.
toList
());
Barcode
pidBarcode
=
(
posNameList
!=
null
&&
!
posNameList
.
isEmpty
())
?
posNameList
.
get
(
0
)
:
null
;
ExpireDto
dto
=
new
ExpireDto
();
List
<
Object
>
data
=
new
ArrayList
<>();
BeanUtils
.
copyProperties
(
barcode
,
dto
);
dto
.
setPutInDate
(
barcode
.
getPutInDate
());
dto
.
setExpireDays
(
DateUtil
.
between
(
dto
.
getExpireDate
(),
new
Date
(),
DateUnit
.
DAY
)
+
1
);
if
(
dto
.
getExpireDate
()
!=
null
)
{
long
expireDays
=
ExpireDateUtil
.
getExpireDays
(
dto
.
getExpireDate
());
dto
.
setExpireDays
(
expireDays
);
dto
.
setRemark
(
ExpireDateUtil
.
getReelStatus
(
expireDays
));
}
else
{
dto
.
setExpireDays
(
0
);
dto
.
setRemark
(
""
);
}
dto
.
setPlant
(
"W337"
);
dto
.
setFactory
(
"B15"
);
dto
.
setFloor
(
"1F"
);
...
...
@@ -947,6 +964,7 @@ public class OuterReportController {
data
.
add
(
dto
.
getFirstPutInDate
());
data
.
add
(
dto
.
getPutInDate
());
data
.
add
(
dto
.
getSource
());
data
.
add
(
dto
.
getRemark
());
resultList
.
add
(
data
);
}
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/util/ExpireDateUtil.java
查看文件 @
8b43464
...
...
@@ -2,6 +2,7 @@ package com.neotel.smfcore.custom.lizhen.util;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUnit
;
import
cn.hutool.core.date.DateUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -11,6 +12,31 @@ import java.util.Locale;
@Slf4j
public
class
ExpireDateUtil
{
public
static
long
getExpireDays
(
Date
expireDate
)
{
Date
date
=
new
Date
();
long
days
=
DateUtil
.
between
(
expireDate
,
date
,
DateUnit
.
DAY
)
+
1
;
if
(
expireDate
.
getTime
()
>=
date
.
getTime
())
{
days
=
-
days
;
}
return
days
;
}
public
static
String
getReelStatus
(
long
days
)
{
if
(
days
<=
0
&&
days
>
-
7
)
{
return
"0-7天过期(未过期)"
;
}
if
(
days
>
-
30
&&
days
<=
-
7
)
{
return
"7-30天过期(未过期)"
;
}
if
(
days
>
0
)
{
return
"已过期"
;
}
if
(
days
<
0
)
{
return
"未过期"
;
}
return
""
;
}
public
static
Date
getExpireDate
(
String
dateStr
,
String
vendor
)
{
try
{
vendor
=
vendor
.
toUpperCase
(
Locale
.
ROOT
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论