Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit dc3a9fc9
由
LN
编写于
2023-04-06 20:10:22 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge remote-tracking branch 'origin/master'
2 个父辈
29070185
d210dbac
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
73 行增加
和
58 行删除
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/KanbanController.java → src/main/java/com/neotel/smfcore/core/elecKanban/ElecKanbanController.java
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/bean/dto/ExpireDto.java → src/main/java/com/neotel/smfcore/core/elecKanban/bean/dto/ExpireDto.java
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/bean/dto/InOutDataDto.java → src/main/java/com/neotel/smfcore/core/elecKanban/bean/dto/InOutDataDto.java
src/main/java/com/neotel/smfcore/custom/sungya20456/kanban/bean/dto/SluggishDto.java → src/main/java/com/neotel/smfcore/core/elecKanban/bean/dto/SluggishDto.java
src/main/java/com/neotel/smfcore/core/inout/service/manager/IInOutDataManager.java
src/main/java/com/neotel/smfcore/core/inout/service/manager/impl/InOutDataManagerImpl.java
src/main/java/com/neotel/smfcore/core/report/ReportController.java
src/main/java/com/neotel/smfcore/core/report/rest/query/ReportQuery.java
src/main/java/com/neotel/smfcore/c
ustom/sungya20456/kanban/
KanbanController.java
→
src/main/java/com/neotel/smfcore/c
ore/elecKanban/Elec
KanbanController.java
查看文件 @
dc3a9fc
package
com
.
neotel
.
smfcore
.
c
ustom
.
sungya20456
.
k
anban
;
package
com
.
neotel
.
smfcore
.
c
ore
.
elecK
anban
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.elecKanban.bean.dto.SluggishDto
;
import
com.neotel.smfcore.core.inout.service.manager.IInOutDataManager
;
import
com.neotel.smfcore.core.inout.service.po.InOutData
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.custom.sungya20456.kanban.bean.dto.ExpireDto
;
import
com.neotel.smfcore.custom.sungya20456.kanban.bean.dto.InOutDataDto
;
import
com.neotel.smfcore.custom.sungya20456.kanban.bean.dto.SluggishDto
;
import
com.neotel.smfcore.core.elecKanban.bean.dto.ExpireDto
;
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
;
...
...
@@ -21,18 +18,17 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@RestController
@RequiredArgsConstructor
@Api
(
tags
=
"看板"
)
public
class
KanbanController
{
@RequestMapping
(
"/elecKanban"
)
public
class
ElecKanbanController
{
@Autowired
private
IStoragePosManager
storagePosManager
;
...
...
@@ -40,9 +36,6 @@ public class KanbanController {
@Autowired
private
DataCache
dataCache
;
@Autowired
private
IInOutDataManager
inOutDataManager
;
@ApiOperation
(
"过期信息"
)
@RequestMapping
(
"/getExpiredInfo"
)
@AnonymousAccess
...
...
@@ -120,40 +113,4 @@ public class KanbanController {
}
return
usage
;
}
@ApiOperation
(
"近7日出入库统计"
)
@RequestMapping
(
"/getServenInOutData"
)
@AnonymousAccess
public
InOutDataDto
getServenInOutData
()
{
InOutDataDto
dto
=
new
InOutDataDto
();
List
<
String
>
dateStrList
=
new
ArrayList
<>();
List
<
Integer
>
inDataList
=
new
ArrayList
<>();
List
<
Integer
>
outDataList
=
new
ArrayList
<>();
int
days
=
7
;
//1.获取当前日期
String
currentDateStr
=
DateUtil
.
toDateString
(
new
Date
(),
"yyyy-MM-dd"
);
Date
currentDate
=
DateUtil
.
toDate
(
currentDateStr
,
"yyyy-MM-dd"
);
//2.开始处理 7天数据
for
(
int
day
=
1
;
day
<=
days
;
day
++)
{
Date
startDate
=
DateUtil
.
addDays
(
currentDate
,
day
-
days
);
Date
endDate
=
DateUtil
.
addDays
(
currentDate
,
day
-
days
+
1
);
List
<
InOutData
>
inOutDataList
=
inOutDataManager
.
findByDate
(
startDate
,
endDate
);
int
inData
=
0
;
int
outData
=
0
;
if
(
inOutDataList
!=
null
&&
!
inOutDataList
.
isEmpty
())
{
inData
=
inOutDataList
.
stream
().
mapToInt
(
InOutData
::
getInCount
).
sum
();
outData
=
inOutDataList
.
stream
().
mapToInt
(
InOutData
::
getOutCount
).
sum
();
}
dateStrList
.
add
(
DateUtil
.
toDateString
(
startDate
,
"MM/dd"
));
inDataList
.
add
(
inData
);
outDataList
.
add
(
outData
);
}
dto
.
setDateStrList
(
dateStrList
);
dto
.
setInDataList
(
inDataList
);
dto
.
setOutDataList
(
outDataList
);
return
dto
;
}
}
src/main/java/com/neotel/smfcore/c
ustom/sungya20456/k
anban/bean/dto/ExpireDto.java
→
src/main/java/com/neotel/smfcore/c
ore/elecK
anban/bean/dto/ExpireDto.java
查看文件 @
dc3a9fc
package
com
.
neotel
.
smfcore
.
c
ustom
.
sungya20456
.
k
anban
.
bean
.
dto
;
package
com
.
neotel
.
smfcore
.
c
ore
.
elecK
anban
.
bean
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
src/main/java/com/neotel/smfcore/c
ustom/sungya20456/k
anban/bean/dto/InOutDataDto.java
→
src/main/java/com/neotel/smfcore/c
ore/elecK
anban/bean/dto/InOutDataDto.java
查看文件 @
dc3a9fc
package
com
.
neotel
.
smfcore
.
c
ustom
.
sungya20456
.
k
anban
.
bean
.
dto
;
package
com
.
neotel
.
smfcore
.
c
ore
.
elecK
anban
.
bean
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
src/main/java/com/neotel/smfcore/c
ustom/sungya20456/k
anban/bean/dto/SluggishDto.java
→
src/main/java/com/neotel/smfcore/c
ore/elecK
anban/bean/dto/SluggishDto.java
查看文件 @
dc3a9fc
package
com
.
neotel
.
smfcore
.
c
ustom
.
sungya20456
.
k
anban
.
bean
.
dto
;
package
com
.
neotel
.
smfcore
.
c
ore
.
elecK
anban
.
bean
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
src/main/java/com/neotel/smfcore/core/inout/service/manager/IInOutDataManager.java
查看文件 @
dc3a9fc
...
...
@@ -8,7 +8,7 @@ import java.util.Date;
import
java.util.List
;
public
interface
IInOutDataManager
extends
IBaseManager
<
InOutData
>
{
List
<
InOutData
>
findByDate
(
Date
startDate
,
Date
endDate
);
List
<
InOutData
>
findByDate
(
Date
startDate
,
Date
endDate
,
List
<
String
>
storageIdList
);
InOutData
findOne
(
Query
query
);
...
...
src/main/java/com/neotel/smfcore/core/inout/service/manager/impl/InOutDataManagerImpl.java
查看文件 @
dc3a9fc
...
...
@@ -48,9 +48,12 @@ public class InOutDataManagerImpl implements IInOutDataManager {
}
@Override
public
List
<
InOutData
>
findByDate
(
Date
startDate
,
Date
endDate
)
{
public
List
<
InOutData
>
findByDate
(
Date
startDate
,
Date
endDate
,
List
<
String
>
storageIdList
)
{
Query
q
=
new
Query
();
Criteria
c
=
Criteria
.
where
(
"createDate"
).
gte
(
startDate
).
lt
(
endDate
);
if
(
storageIdList
!=
null
&&
!
storageIdList
.
isEmpty
())
{
c
.
and
(
"storageId"
).
in
(
storageIdList
);
}
Sort
s
=
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createDate"
);
return
inOutDataDao
.
findByQuery
(
q
.
addCriteria
(
c
).
with
(
s
));
}
...
...
src/main/java/com/neotel/smfcore/core/report/ReportController.java
查看文件 @
dc3a9fc
package
com
.
neotel
.
smfcore
.
core
.
report
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
cn.hutool.core.date.DateUnit
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.kanban.rest.bean.dto.BoxKanbanDto
;
import
com.neotel.smfcore.core.inout.service.manager.IInOutDataManager
;
import
com.neotel.smfcore.core.inout.service.po.InOutData
;
import
com.neotel.smfcore.core.report.bean.ChartItem
;
import
com.neotel.smfcore.core.report.rest.dto.InoutDataDto
;
import
com.neotel.smfcore.core.report.rest.dto.InventoryBoxDto
;
import
com.neotel.smfcore.core.report.rest.dto.InventoryGroupDto
;
import
com.neotel.smfcore.core.report.rest.mapstruct.ChartItemMapper
;
import
com.neotel.smfcore.core.report.rest.query.ReportQuery
;
import
com.neotel.smfcore.core.storage.bean.UsageItem
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.elecKanban.bean.dto.InOutDataDto
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.service.manager.IGroupManager
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
com.neotel.smfcore.security.service.po.Group
;
import
com.neotel.smfcore.security.service.po.User
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -29,7 +31,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.*
;
@Slf4j
...
...
@@ -49,6 +50,9 @@ public class ReportController {
@Autowired
DataCache
dataCache
;
@Autowired
IInOutDataManager
inOutDataManager
;
@RequestMapping
(
value
=
"/rest/api/mes/inOutData"
)
@ResponseBody
@AnonymousAccess
...
...
@@ -129,4 +133,50 @@ public class ReportController {
}
return
groupDtos
;
}
@ApiOperation
(
"出入库统计"
)
@RequestMapping
(
"/api/report/getInOutData"
)
@AnonymousAccess
public
InOutDataDto
getServenInOutData
(
ReportQuery
query
)
{
InOutDataDto
dto
=
new
InOutDataDto
();
List
<
String
>
dateStrList
=
new
ArrayList
<>();
List
<
Integer
>
inDataList
=
new
ArrayList
<>();
List
<
Integer
>
outDataList
=
new
ArrayList
<>();
int
days
=
7
;
//1.获取当前日期
String
currentDateStr
=
DateUtil
.
toDateString
(
new
Date
(),
"yyyy-MM-dd"
);
Date
currentDate
=
DateUtil
.
toDate
(
currentDateStr
,
"yyyy-MM-dd"
);
//判断日期是否为空
BetweenData
<
Date
>
updateDate
=
query
.
getUpdateDate
();
if
(
updateDate
!=
null
)
{
Date
from
=
updateDate
.
getFrom
();
Date
to
=
updateDate
.
getTo
();
if
(
to
!=
null
)
{
currentDate
=
to
;
}
if
(
from
!=
null
)
{
days
=
(
int
)
cn
.
hutool
.
core
.
date
.
DateUtil
.
between
(
from
,
to
,
DateUnit
.
DAY
)
+
1
;
}
}
//2.开始处理 7天数据
for
(
int
day
=
1
;
day
<=
days
;
day
++)
{
Date
startDate
=
DateUtil
.
addDays
(
currentDate
,
day
-
days
);
Date
endDate
=
DateUtil
.
addDays
(
currentDate
,
day
-
days
+
1
);
List
<
InOutData
>
inOutDataList
=
inOutDataManager
.
findByDate
(
startDate
,
endDate
,
query
.
getStorageIdList
());
int
inData
=
0
;
int
outData
=
0
;
if
(
inOutDataList
!=
null
&&
!
inOutDataList
.
isEmpty
())
{
inData
=
inOutDataList
.
stream
().
mapToInt
(
InOutData:
:
getInCount
).
sum
();
outData
=
inOutDataList
.
stream
().
mapToInt
(
InOutData:
:
getOutCount
).
sum
();
}
dateStrList
.
add
(
DateUtil
.
toDateString
(
startDate
,
"MM/dd"
));
inDataList
.
add
(
inData
);
outDataList
.
add
(
outData
);
}
dto
.
setDateStrList
(
dateStrList
);
dto
.
setInDataList
(
inDataList
);
dto
.
setOutDataList
(
outDataList
);
return
dto
;
}
}
src/main/java/com/neotel/smfcore/core/report/rest/query/ReportQuery.java
查看文件 @
dc3a9fc
package
com
.
neotel
.
smfcore
.
core
.
report
.
rest
.
query
;
import
cn.hutool.core.date.DateTime
;
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.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
ReportQuery
implements
Serializable
{
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
BetweenData
<
Date
>
updateDate
;
private
String
pn
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
IN
,
propName
=
"storageId"
)
private
List
<
String
>
storageIdList
;
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论