Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 43d14c35
由
zshaohui
编写于
2023-02-27 09:08:24 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
看板:过期和呆滞信息
1 个父辈
14337363
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
148 行增加
和
0 行删除
src/main/java/com/neotel/smfcore/common/utils/DateUtil.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStoragePosManager.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/KanbanController.java
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/bean/ExpireDto.java
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/bean/SluggishDto.java
src/main/java/com/neotel/smfcore/common/utils/DateUtil.java
查看文件 @
43d14c3
...
@@ -186,6 +186,17 @@ public class DateUtil {
...
@@ -186,6 +186,17 @@ public class DateUtil {
return
date0
.
after
(
date1
)?
date0
:
date1
;
return
date0
.
after
(
date1
)?
date0
:
date1
;
}
}
/**
* 通过秒毫秒数判断两个时间的间隔的天数
* @param date1
* @param date2
* @return
*/
public
static
int
differentDaysByMillisecond
(
Date
date1
,
Date
date2
)
{
int
days
=
(
int
)
((
date2
.
getTime
()
-
date1
.
getTime
())
/
(
1000
*
3600
*
24
));
return
days
;
}
public
static
class
Req
{
public
static
class
Req
{
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStoragePosManager.java
查看文件 @
43d14c3
...
@@ -82,4 +82,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
...
@@ -82,4 +82,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
List
<
StoragePos
>
findPosByIdList
(
List
<
String
>
idList
);
List
<
StoragePos
>
findPosByIdList
(
List
<
String
>
idList
);
StoragePos
findMpnInStorages
(
List
<
String
>
availableStorageIds
,
String
mpn
,
Collection
<
String
>
excludePosIds
,
CHECKOUT_TYPE
checkoutType
);
StoragePos
findMpnInStorages
(
List
<
String
>
availableStorageIds
,
String
mpn
,
Collection
<
String
>
excludePosIds
,
CHECKOUT_TYPE
checkoutType
);
List
<
StoragePos
>
findExpiredOrSluggishBarcode
(
Date
date
,
int
type
);
}
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
43d14c3
...
@@ -697,4 +697,18 @@ public class StoragePosManagerImpl implements IStoragePosManager {
...
@@ -697,4 +697,18 @@ public class StoragePosManagerImpl implements IStoragePosManager {
return
pos
;
return
pos
;
}
}
@Override
public
List
<
StoragePos
>
findExpiredOrSluggishBarcode
(
Date
date
,
int
type
)
{
Query
q
=
new
Query
();
Criteria
c
=
Criteria
.
where
(
"used"
).
is
(
true
);
//0 是返回过期字段 1是返回呆滞字段
if
(
type
==
0
)
{
c
.
and
(
"barcode.expireDate"
).
exists
(
true
).
lte
(
date
);
q
.
fields
().
include
(
"barcode.expireDate"
);
}
else
if
(
type
==
1
)
{
c
.
and
(
"barcode.putInDate"
).
exists
(
true
).
lte
(
date
);
q
.
fields
().
include
(
"barcode.putInDate"
);
}
return
storagePosDao
.
findByQuery
(
q
.
addCriteria
(
c
));
}
}
}
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/KanbanController.java
0 → 100644
查看文件 @
43d14c3
package
com
.
neotel
.
smfcore
.
custom
.
sungya20456
.
kanban
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.custom.sungya20456.kanban.bean.ExpireDto
;
import
com.neotel.smfcore.custom.sungya20456.kanban.bean.SluggishDto
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Date
;
import
java.util.List
;
@Slf4j
@RestController
@RequiredArgsConstructor
@Api
(
tags
=
"看板"
)
public
class
KanbanController
{
@Autowired
private
IStoragePosManager
storagePosManager
;
@ApiOperation
(
"过期信息"
)
@RequestMapping
(
"/getExpiredInfo"
)
@AnonymousAccess
public
ExpireDto
getExpiredInfo
()
{
ExpireDto
dto
=
new
ExpireDto
();
int
expire
=
0
;
int
zeroToSevenExpire
=
0
;
int
sevenToThirtyExpire
=
0
;
Date
currentDate
=
new
Date
();
List
<
StoragePos
>
expStoragePosList
=
storagePosManager
.
findExpiredOrSluggishBarcode
(
currentDate
,
0
);
if
(
expStoragePosList
!=
null
&&
!
expStoragePosList
.
isEmpty
())
{
expire
=
expStoragePosList
.
size
();
for
(
StoragePos
storagePos
:
expStoragePosList
)
{
Barcode
barcode
=
storagePos
.
getBarcode
();
if
(
barcode
!=
null
)
{
Date
expireDate
=
barcode
.
getExpireDate
();
int
days
=
DateUtil
.
differentDaysByMillisecond
(
expireDate
,
currentDate
);
if
(
0
<=
days
&&
days
<
7
)
{
zeroToSevenExpire
++;
}
else
if
(
7
<=
days
&&
days
<
30
)
{
sevenToThirtyExpire
++;
}
}
}
}
dto
.
setExpire
(
expire
);
dto
.
setSevenToThirtyExpire
(
sevenToThirtyExpire
);
dto
.
setZeroToSevenExpire
(
zeroToSevenExpire
);
return
dto
;
}
@ApiOperation
(
"呆滞信息"
)
@RequestMapping
(
"/getSluggishInfo"
)
@AnonymousAccess
public
SluggishDto
getSluggishInfo
()
{
SluggishDto
dto
=
new
SluggishDto
();
int
sevenToThirtySluggish
=
0
;
int
moreThenThirtySluggish
=
0
;
Date
currentDate
=
new
Date
();
List
<
StoragePos
>
sluStoragePosList
=
storagePosManager
.
findExpiredOrSluggishBarcode
(
currentDate
,
1
);
if
(
sluStoragePosList
!=
null
&&
!
sluStoragePosList
.
isEmpty
())
{
for
(
StoragePos
storagePos
:
sluStoragePosList
)
{
Barcode
barcode
=
storagePos
.
getBarcode
();
if
(
barcode
!=
null
)
{
Date
putInDate
=
barcode
.
getPutInDate
();
int
days
=
DateUtil
.
differentDaysByMillisecond
(
putInDate
,
currentDate
);
if
(
7
<=
days
&&
days
<
30
)
{
sevenToThirtySluggish
++;
}
else
if
(
days
>=
30
)
{
moreThenThirtySluggish
++;
}
}
}
}
dto
.
setSevenToThirtySluggish
(
sevenToThirtySluggish
);
dto
.
setMoreThenThirtySluggish
(
moreThenThirtySluggish
);
return
dto
;
}
}
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/bean/ExpireDto.java
0 → 100644
查看文件 @
43d14c3
package
com
.
neotel
.
smfcore
.
custom
.
sungya20456
.
kanban
.
bean
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
ExpireDto
{
@ApiModelProperty
(
"过期物料数量"
)
private
int
expire
=
0
;
@ApiModelProperty
(
"0-7天过期数量"
)
private
int
zeroToSevenExpire
=
0
;
@ApiModelProperty
(
"7到30天过期"
)
private
int
sevenToThirtyExpire
=
0
;
}
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/bean/SluggishDto.java
0 → 100644
查看文件 @
43d14c3
package
com
.
neotel
.
smfcore
.
custom
.
sungya20456
.
kanban
.
bean
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
SluggishDto
{
@ApiModelProperty
(
"7到30天呆滞"
)
private
int
sevenToThirtySluggish
=
0
;
@ApiModelProperty
(
"超过30天呆滞"
)
private
int
moreThenThirtySluggish
=
0
;
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论