Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
ee77ffd4
提交
ee77ffd4
authored
9月 29, 2020
作者:
Matrix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[决算模块] 决算模块除excel接口完成
上级
1a1030f8
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
349 行增加
和
73 行删除
+349
-73
pom.xml
dev-finalcheck/pom.xml
+32
-10
FinalCheckController.java
...ev/device/finalcheck/controller/FinalCheckController.java
+29
-26
FinalDetail.java
...tykj/dev/device/finalcheck/entity/domain/FinalDetail.java
+7
-1
FinalReport.java
...tykj/dev/device/finalcheck/entity/domain/FinalReport.java
+8
-6
TimeParam.java
...om/tykj/dev/device/finalcheck/entity/other/TimeParam.java
+17
-2
FinalDetailVo.java
...m/tykj/dev/device/finalcheck/entity/vo/FinalDetailVo.java
+2
-0
FinalReportVo.java
...m/tykj/dev/device/finalcheck/entity/vo/FinalReportVo.java
+20
-5
FinalDetailDao.java
.../tykj/dev/device/finalcheck/repisotry/FinalDetailDao.java
+7
-3
FinalReportDao.java
.../tykj/dev/device/finalcheck/repisotry/FinalReportDao.java
+2
-2
FinalCheckService.java
...tykj/dev/device/finalcheck/service/FinalCheckService.java
+38
-0
FinalCheckServiceImpl.java
...device/finalcheck/service/impl/FinalCheckServiceImpl.java
+125
-0
DeviceLibraryDao.java
.../tykj/dev/device/library/repository/DeviceLibraryDao.java
+11
-4
FinalCheckControllerTest.java
...ava/com/tykj/dev/finalcheck/FinalCheckControllerTest.java
+32
-0
DeviceUseReportServiceImpl.java
...ce/usereport/service/impl/DeviceUseReportServiceImpl.java
+19
-14
没有找到文件。
dev-finalcheck/pom.xml
浏览文件 @
ee77ffd4
...
@@ -10,16 +10,37 @@
...
@@ -10,16 +10,37 @@
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
dev-finalcheck
</artifactId>
<artifactId>
dev-finalcheck
</artifactId>
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
com.tykj.dev
</groupId>
<groupId>
com.tykj.dev
</groupId>
<artifactId>
misc
</artifactId>
<artifactId>
misc
</artifactId>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.tykj.dev
</groupId>
<groupId>
com.tykj.dev
</groupId>
<artifactId>
config
</artifactId>
<artifactId>
config
</artifactId>
</dependency>
</dependency>
</dependencies>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-user
</artifactId>
</dependency>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-library
</artifactId>
</dependency>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-usereport
</artifactId>
</dependency>
<dependency>
<groupId>
org.jeecgframework
</groupId>
<artifactId>
autopoi-web
</artifactId>
<version>
1.0.3
</version>
</dependency>
</dependencies>
</project>
</project>
\ No newline at end of file
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/controller/FinalCheckController.java
浏览文件 @
ee77ffd4
...
@@ -3,17 +3,22 @@ package com.tykj.dev.device.finalcheck.controller;
...
@@ -3,17 +3,22 @@ package com.tykj.dev.device.finalcheck.controller;
import
com.tykj.dev.config.swagger.AutoDocument
;
import
com.tykj.dev.config.swagger.AutoDocument
;
import
com.tykj.dev.device.finalcheck.entity.other.TimeParam
;
import
com.tykj.dev.device.finalcheck.entity.other.TimeParam
;
import
com.tykj.dev.device.finalcheck.entity.vo.FinalReportVo
;
import
com.tykj.dev.device.finalcheck.entity.vo.FinalReportVo
;
import
com.tykj.dev.device.finalcheck.repisotry.FinalDetailRepo
;
import
com.tykj.dev.device.finalcheck.service.FinalCheckService
;
import
com.tykj.dev.device.finalcheck.repisotry.FinalReportRepo
;
import
com.tykj.dev.misc.base.ResultObj
;
import
com.tykj.dev.misc.base.ResultObj
;
import
com.tykj.dev.misc.utils.ResultUtil
;
import
com.tykj.dev.misc.utils.ResultUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.List
;
/**
/**
* finalCheckController.
* finalCheckController.
*
*
...
@@ -27,43 +32,41 @@ import org.springframework.web.bind.annotation.*;
...
@@ -27,43 +32,41 @@ import org.springframework.web.bind.annotation.*;
@Api
(
tags
=
"决算模块"
,
description
=
"决算模块"
)
@Api
(
tags
=
"决算模块"
,
description
=
"决算模块"
)
public
class
FinalCheckController
{
public
class
FinalCheckController
{
@Autowired
private
FinalDetailRepo
detailRepo
;
@Autowired
@Autowired
private
FinalReportRepo
reportRepo
;
private
FinalCheckService
fcService
;
@PostMapping
(
"/test"
)
public
ResponseEntity
test
(
@RequestBody
TimeParam
param
)
{
log
.
info
(
"测试打印参数 {}"
,
param
);
return
ResponseEntity
.
ok
(
"ok"
);
}
@GetMapping
(
"/reports"
)
@GetMapping
(
"/reports"
)
@ApiOperation
(
value
=
"查询所有决算报告(不附带详情数据)"
)
@ApiOperation
(
value
=
"查询所有决算报告(不附带详情数据)"
)
public
ResponseEntity
<
ResultObj
<
FinalReportVo
>>
findAllReports
(
String
keyword
)
{
public
ResponseEntity
<
ResultObj
<
List
<
FinalReportVo
>>>
findAllReports
(
String
keyword
)
{
return
ResultUtil
.
success
(
fcService
.
findAllWithoutDetail
(
keyword
));
return
ResultUtil
.
success
(
new
FinalReportVo
());
}
@PostMapping
(
"/reports"
)
public
ResponseEntity
generateReport
(
)
{
return
null
;
}
}
@GetMapping
(
"/{id}"
)
@GetMapping
(
"/{id}"
)
@ApiOperation
(
value
=
"根据id查询决算报告(附带详情数据)"
)
@ApiOperation
(
value
=
"根据id查询决算报告(附带详情数据)"
)
public
ResponseEntity
<
ResultObj
<
FinalReportVo
>>
findReportById
(
@PathVariable
Integer
id
)
{
public
ResponseEntity
<
ResultObj
<
FinalReportVo
>>
findReportById
(
@PathVariable
Integer
id
)
{
return
ResultUtil
.
success
(
new
FinalReportVo
());
return
ResultUtil
.
success
(
fcService
.
findReportById
(
id
));
}
@GetMapping
(
"/test"
)
public
ResponseEntity
test
()
throws
IOException
{
ClassPathResource
classPathResource
=
new
ClassPathResource
(
"excleTemplate/test.xlsx"
);
InputStream
inputStream
=
classPathResource
.
getInputStream
();
System
.
out
.
println
(
inputStream
.
getClass
());
return
ResponseEntity
.
ok
(
"ok"
);
}
}
@PostMapping
(
"/reports"
)
@ApiOperation
(
value
=
"生成决算报告"
)
public
ResponseEntity
<
ResultObj
<
FinalReportVo
>>
generateReport
(
@RequestBody
TimeParam
time
)
{
FinalReportVo
finalReportVo
=
fcService
.
generateReport
(
time
.
getStartTime
(),
time
.
getEndTime
());
return
ResultUtil
.
success
(
finalReportVo
);
}
@PostMapping
(
"/excel/{id}"
)
@PostMapping
(
"/excel/{id}"
)
@ApiOperation
(
value
=
"根据id导出对应的excel数据"
)
@ApiOperation
(
value
=
"根据id导出对应的excel数据"
)
public
ResponseEntity
<
ResultObj
<
FinalReportVo
>>
exportExcel
(
@PathVariable
Integer
id
)
{
public
ResponseEntity
<
ResultObj
<
FinalReportVo
>>
exportExcel
(
@PathVariable
Integer
id
,
HttpServletResponse
response
)
{
return
ResultUtil
.
success
(
new
FinalReportVo
());
return
ResultUtil
.
success
(
new
FinalReportVo
());
}
}
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/domain/
f
inalDetail.java
→
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/domain/
F
inalDetail.java
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
domain
;
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
domain
;
import
com.tykj.dev.device.finalcheck.entity.vo.FinalDetailVo
;
import
com.tykj.dev.misc.base.BaseEntity
;
import
com.tykj.dev.misc.base.BaseEntity
;
import
com.tykj.dev.misc.utils.MapperUtils
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -21,7 +23,7 @@ import javax.persistence.Id;
...
@@ -21,7 +23,7 @@ import javax.persistence.Id;
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
@Entity
@Entity
public
class
f
inalDetail
extends
BaseEntity
{
public
class
F
inalDetail
extends
BaseEntity
{
private
String
model
;
private
String
model
;
...
@@ -46,4 +48,8 @@ public class finalDetail extends BaseEntity {
...
@@ -46,4 +48,8 @@ public class finalDetail extends BaseEntity {
private
Integer
scrapped
;
private
Integer
scrapped
;
private
Integer
reportId
;
private
Integer
reportId
;
public
FinalDetailVo
toVo
(){
return
MapperUtils
.
map
(
this
,
FinalDetailVo
.
class
);
}
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/domain/
f
inalReport.java
→
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/domain/
F
inalReport.java
浏览文件 @
ee77ffd4
...
@@ -7,12 +7,12 @@ import com.tykj.dev.misc.utils.MapperUtils;
...
@@ -7,12 +7,12 @@ import com.tykj.dev.misc.utils.MapperUtils;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.jeecgframework.poi.excel.annotation.Excel
;
import
org.jeecgframework.poi.excel.annotation.ExcelTarget
;
import
javax.persistence.Entity
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -25,7 +25,9 @@ import java.util.List;
...
@@ -25,7 +25,9 @@ import java.util.List;
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
@Entity
@Entity
public
class
finalReport
extends
BaseEntity
{
public
class
FinalReport
extends
BaseEntity
{
private
String
name
;
private
String
unitName
;
private
String
unitName
;
...
@@ -33,11 +35,11 @@ public class finalReport extends BaseEntity {
...
@@ -33,11 +35,11 @@ public class finalReport extends BaseEntity {
private
LocalDate
endTime
;
private
LocalDate
endTime
;
private
LocalDate
reportTime
;
private
LocalDate
Time
reportTime
;
private
String
operator
;
private
String
operator
;
public
FinalReportVo
toVo
(
List
<
f
inalDetail
>
details
)
{
public
FinalReportVo
toVo
(
List
<
F
inalDetail
>
details
)
{
FinalReportVo
reportVo
=
MapperUtils
.
map
(
this
,
FinalReportVo
.
class
);
FinalReportVo
reportVo
=
MapperUtils
.
map
(
this
,
FinalReportVo
.
class
);
List
<
FinalDetailVo
>
detailVos
=
MapperUtils
.
mapAll
(
details
,
FinalDetailVo
.
class
);
List
<
FinalDetailVo
>
detailVos
=
MapperUtils
.
mapAll
(
details
,
FinalDetailVo
.
class
);
reportVo
.
setDetails
(
detailVos
);
reportVo
.
setDetails
(
detailVos
);
...
...
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/other/TimeParam.java
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
other
;
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
other
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonPropertyOrder
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
/**
/**
...
@@ -16,8 +23,16 @@ import java.time.LocalDateTime;
...
@@ -16,8 +23,16 @@ import java.time.LocalDateTime;
@Data
@Data
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
@ApiModel
(
value
=
"时间参数"
)
public
class
TimeParam
{
public
class
TimeParam
{
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
LocalDateTime
startTime
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@ApiModelProperty
(
value
=
"决算开始时间"
,
example
=
"2020-01-02"
)
private
LocalDate
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@ApiModelProperty
(
value
=
"决算结束时间"
,
example
=
"2020-11-02"
)
private
LocalDate
endTime
;
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/vo/FinalDetailVo.java
浏览文件 @
ee77ffd4
...
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
...
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.jeecgframework.poi.excel.annotation.ExcelTarget
;
/**
/**
* finalDetailVo.
* finalDetailVo.
...
@@ -18,6 +19,7 @@ import lombok.NoArgsConstructor;
...
@@ -18,6 +19,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
@ApiModel
(
value
=
"决算报告细节"
)
@ApiModel
(
value
=
"决算报告细节"
)
@ExcelTarget
(
"FinalReport"
)
public
class
FinalDetailVo
{
public
class
FinalDetailVo
{
@ApiModelProperty
(
"主键"
)
@ApiModelProperty
(
"主键"
)
...
...
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/vo/FinalReportVo.java
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
vo
;
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.jeecgframework.poi.excel.annotation.Excel
;
import
org.jeecgframework.poi.excel.annotation.ExcelTarget
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -23,29 +28,39 @@ import java.util.List;
...
@@ -23,29 +28,39 @@ import java.util.List;
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
@ApiModel
(
"决算报告概览"
)
@ApiModel
(
"决算报告概览"
)
@ExcelTarget
(
"FinalReport"
)
public
class
FinalReportVo
{
public
class
FinalReportVo
{
@ApiModelProperty
(
"主键"
)
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
private
Integer
id
;
@Excel
(
name
=
"名称"
)
@ApiModelProperty
(
"决算名称"
)
private
String
name
;
@Excel
(
name
=
"决算单位"
)
@ApiModelProperty
(
"单位"
)
@ApiModelProperty
(
"单位"
)
private
String
unitName
;
private
String
unitName
;
@Excel
(
name
=
"发起时间"
)
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@Json
Serialize
(
using
=
LocalDateSerializer
.
class
)
@Json
Format
(
pattern
=
"yyyy-MM-dd"
)
@ApiModelProperty
(
"决算开始时间"
)
@ApiModelProperty
(
"决算开始时间"
)
private
LocalDate
startTime
;
private
LocalDate
startTime
;
@Excel
(
name
=
"截止时间"
)
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@Json
Serialize
(
using
=
LocalDateSerializer
.
class
)
@Json
Format
(
pattern
=
"yyyy-MM-dd"
)
@ApiModelProperty
(
"决算结束时间"
)
@ApiModelProperty
(
"决算结束时间"
)
private
LocalDate
endTime
;
private
LocalDate
endTime
;
@
JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@
Excel
(
name
=
"报告生成时间"
)
@Json
Serialize
(
using
=
LocalDateSerializer
.
class
)
@Json
Format
(
pattern
=
"yyyy-MM-dd"
)
@ApiModelProperty
(
"报告生成时间"
)
@ApiModelProperty
(
"报告生成时间"
)
private
LocalDate
reportTime
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
private
LocalDateTime
reportTime
;
@Excel
(
name
=
"操作人"
)
@ApiModelProperty
(
"操作人姓名"
)
@ApiModelProperty
(
"操作人姓名"
)
private
String
operator
;
private
String
operator
;
...
...
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/repisotry/FinalDetail
Rep
o.java
→
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/repisotry/FinalDetail
Da
o.java
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
repisotry
;
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
repisotry
;
import
com.github.wenhao.jpa.Specifications
;
import
com.tykj.dev.device.finalcheck.entity.domain.FinalDetail
;
import
com.tykj.dev.device.finalcheck.entity.domain.finalDetail
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
java.util.List
;
import
java.util.Optional
;
/**
/**
* finalDetailRepo.
* finalDetailRepo.
*
*
* @author Matrix <xhyrzldf@gmail.com>
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:26 下午
* @since 2020/9/24 at 6:26 下午
*/
*/
public
interface
FinalDetailRepo
extends
JpaRepository
<
finalDetail
,
Integer
>,
JpaSpecificationExecutor
<
finalDetail
>
{
public
interface
FinalDetailDao
extends
JpaRepository
<
FinalDetail
,
Integer
>,
JpaSpecificationExecutor
<
FinalDetail
>
{
Optional
<
List
<
FinalDetail
>>
findByReportId
(
Integer
reportId
);
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/repisotry/FinalReport
Rep
o.java
→
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/repisotry/FinalReport
Da
o.java
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
repisotry
;
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
repisotry
;
import
com.tykj.dev.device.finalcheck.entity.domain.
f
inalReport
;
import
com.tykj.dev.device.finalcheck.entity.domain.
F
inalReport
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
...
@@ -10,5 +10,5 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
...
@@ -10,5 +10,5 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
* @author Matrix <xhyrzldf@gmail.com>
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:27 下午
* @since 2020/9/24 at 6:27 下午
*/
*/
public
interface
FinalReport
Repo
extends
JpaRepository
<
finalReport
,
Integer
>,
JpaSpecificationExecutor
<
f
inalReport
>
{
public
interface
FinalReport
Dao
extends
JpaRepository
<
FinalReport
,
Integer
>,
JpaSpecificationExecutor
<
F
inalReport
>
{
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/service/FinalCheckService.java
0 → 100644
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
service
;
import
com.tykj.dev.device.finalcheck.entity.vo.FinalReportVo
;
import
java.time.LocalDate
;
import
java.util.List
;
/**
* FinalCheckService.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/28 at 2:14 下午
*/
public
interface
FinalCheckService
{
/**
* 发起指定时间范围的装备的决算
* @param startTime 决算开始时间
* @param endTime 决算结束时间
* @return {@link FinalReportVo}
*/
FinalReportVo
generateReport
(
LocalDate
startTime
,
LocalDate
endTime
);
/**
* 根据关键字查询报告列表(不附带detail)
* @param keyword 要查询的字
* @return {@link FinalReportVo} 's List
*/
List
<
FinalReportVo
>
findAllWithoutDetail
(
String
keyword
);
/**
* 根据主键id查询报告
* @param id 主键id
* @return {@link FinalReportVo}
*/
FinalReportVo
findReportById
(
Integer
id
);
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/service/impl/FinalCheckServiceImpl.java
0 → 100644
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
service
.
impl
;
import
com.github.wenhao.jpa.Specifications
;
import
com.tykj.dev.device.finalcheck.entity.domain.FinalDetail
;
import
com.tykj.dev.device.finalcheck.entity.domain.FinalReport
;
import
com.tykj.dev.device.finalcheck.entity.vo.FinalReportVo
;
import
com.tykj.dev.device.finalcheck.repisotry.FinalDetailDao
;
import
com.tykj.dev.device.finalcheck.repisotry.FinalReportDao
;
import
com.tykj.dev.device.finalcheck.service.FinalCheckService
;
import
com.tykj.dev.device.library.repository.DeviceLibraryDao
;
import
com.tykj.dev.device.library.subject.domin.DeviceLibrary
;
import
com.tykj.dev.device.user.util.UserUtils
;
import
com.tykj.dev.device.usereport.service.DeviceUseReportService
;
import
com.tykj.dev.device.usereport.subject.vo.DeviceStatistics
;
import
com.tykj.dev.misc.exception.ApiException
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
static
com
.
tykj
.
dev
.
misc
.
utils
.
TimestampUtil
.
localDateToDate
;
import
static
java
.
util
.
stream
.
Collectors
.
groupingBy
;
import
static
java
.
util
.
stream
.
Collectors
.
toMap
;
/**
* FinalCheckServiceImpl.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/28 at 2:26 下午
*/
@Service
public
class
FinalCheckServiceImpl
implements
FinalCheckService
{
@Autowired
private
FinalReportDao
reportDao
;
@Autowired
private
FinalDetailDao
detailDao
;
@Autowired
private
DeviceLibraryDao
deviceDao
;
@Autowired
private
DeviceUseReportService
dataService
;
@Autowired
private
UserUtils
userService
;
@Override
public
FinalReportVo
generateReport
(
LocalDate
startTime
,
LocalDate
endTime
)
{
String
name
=
LocalDate
.
now
().
getYear
()
+
"决算报告"
;
String
unitName
=
userService
.
getCurrentUserUnitName
();
String
operatorName
=
userService
.
getCurrentUserName
();
FinalReport
report
=
new
FinalReport
(
name
,
unitName
,
startTime
,
endTime
,
LocalDateTime
.
now
(),
operatorName
);
report
=
reportDao
.
save
(
report
);
// 查询这段时间内该单位下的所有装备 并且计数
List
<
DeviceLibrary
>
devices
=
deviceDao
.
findAllByUnitBetweenTime
(
unitName
,
localDateToDate
(
startTime
),
localDateToDate
(
endTime
));
// 纵向-查 横向-0 委托-0 合计-合计 代管0 收到 发出 报废0
Map
<
String
,
List
<
DeviceLibrary
>>
map
=
devices
.
stream
()
.
collect
(
groupingBy
(
DeviceLibrary:
:
getModel
));
List
<
FinalDetail
>
detailList
=
new
ArrayList
<>();
Map
<
String
,
DeviceStatistics
>
storageMap
=
dataService
.
getStorageStatistics
(
localDateToDate
(
startTime
),
localDateToDate
(
endTime
))
.
stream
()
.
collect
(
toMap
(
DeviceStatistics:
:
getModel
,
Function
.
identity
()));
Map
<
String
,
DeviceStatistics
>
repairMap
=
dataService
.
getRepairStatistics
(
localDateToDate
(
startTime
),
localDateToDate
(
endTime
))
.
stream
()
.
collect
(
toMap
(
DeviceStatistics:
:
getModel
,
Function
.
identity
()));
for
(
Map
.
Entry
<
String
,
List
<
DeviceLibrary
>>
entry
:
map
.
entrySet
())
{
String
model
=
entry
.
getKey
();
List
<
DeviceLibrary
>
v
=
entry
.
getValue
();
Integer
received
=
storageMap
.
get
(
model
)
==
null
?
0
:
storageMap
.
get
(
model
).
getNum
();
Integer
sending
=
repairMap
.
get
(
model
)
==
null
?
0
:
repairMap
.
get
(
model
).
getNum
();
detailList
.
add
(
new
FinalDetail
(
model
,
v
.
get
(
0
).
getType
(),
v
.
size
(),
0
,
0
,
0
,
v
.
size
(),
0
,
received
,
sending
,
0
,
report
.
getId
()));
}
detailList
=
detailDao
.
saveAll
(
detailList
);
return
report
.
toVo
(
detailList
);
}
@Override
public
List
<
FinalReportVo
>
findAllWithoutDetail
(
String
keyword
)
{
if
(
StringUtils
.
isEmpty
(
keyword
))
{
return
reportDao
.
findAll
().
stream
()
.
map
(
report
->
report
.
toVo
(
Collections
.
emptyList
()))
.
collect
(
Collectors
.
toList
());
}
//构造查询器
Specification
<
FinalReport
>
pred
=
Specifications
.<
FinalReport
>
or
()
.
like
(
"name"
,
"%"
+
keyword
+
"%"
)
.
like
(
"operator"
,
"%"
+
keyword
+
"%"
)
.
build
();
return
reportDao
.
findAll
(
pred
).
stream
()
.
map
(
report
->
report
.
toVo
(
Collections
.
emptyList
()))
.
collect
(
Collectors
.
toList
());
}
@Override
public
FinalReportVo
findReportById
(
Integer
id
)
{
FinalReport
report
=
reportDao
.
findById
(
id
)
.
orElseThrow
(()
->
new
ApiException
(
"查询的id不存在!"
));
List
<
FinalDetail
>
detailList
=
detailDao
.
findByReportId
(
report
.
getId
())
.
orElse
(
Collections
.
emptyList
());
return
report
.
toVo
(
detailList
);
}
}
dev-library/src/main/java/com/tykj/dev/device/library/repository/DeviceLibraryDao.java
浏览文件 @
ee77ffd4
...
@@ -6,13 +6,14 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
...
@@ -6,13 +6,14 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.data.repository.query.Param
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* @author dengdiyi
* @author dengdiyi
*/
*/
@SuppressWarnings
(
"SqlResolve"
)
@SuppressWarnings
(
"SqlResolve"
)
public
interface
DeviceLibraryDao
extends
JpaRepository
<
DeviceLibrary
,
Integer
>,
JpaSpecificationExecutor
<
DeviceLibrary
>
{
public
interface
DeviceLibraryDao
extends
JpaRepository
<
DeviceLibrary
,
Integer
>,
JpaSpecificationExecutor
<
DeviceLibrary
>
{
List
<
DeviceLibrary
>
getAllByModel
(
String
model
);
List
<
DeviceLibrary
>
getAllByModel
(
String
model
);
...
@@ -23,7 +24,8 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary,Integer>,
...
@@ -23,7 +24,8 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary,Integer>,
/**
/**
* 根据装备型号与装备所在地(多个地区)查询装备数量
* 根据装备型号与装备所在地(多个地区)查询装备数量
* @param model 装备型号
*
* @param model 装备型号
* @param locations 装备所在地列表
* @param locations 装备所在地列表
* @return 装备数量
* @return 装备数量
*/
*/
...
@@ -31,7 +33,8 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary,Integer>,
...
@@ -31,7 +33,8 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary,Integer>,
/**
/**
* 根据装备型号与装备所在地(一个地区)查询装备数量
* 根据装备型号与装备所在地(一个地区)查询装备数量
* @param model 装备型号
*
* @param model 装备型号
* @param location 装备所在地
* @param location 装备所在地
* @return 装备数量
* @return 装备数量
*/
*/
...
@@ -42,8 +45,12 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary,Integer>,
...
@@ -42,8 +45,12 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary,Integer>,
List
<
DeviceLibrary
>
getAllByRfidCardId
(
String
rfidCardId
);
List
<
DeviceLibrary
>
getAllByRfidCardId
(
String
rfidCardId
);
@Query
(
nativeQuery
=
true
,
value
=
"select * from device_library where id in :idList"
)
@Query
(
nativeQuery
=
true
,
value
=
"select * from device_library where id in :idList"
)
List
<
DeviceLibrary
>
getDeviceLibraryEntitiesByIdIn
(
@Param
(
"idList"
)
List
<
Integer
>
idList
);
List
<
DeviceLibrary
>
getDeviceLibraryEntitiesByIdIn
(
@Param
(
"idList"
)
List
<
Integer
>
idList
);
List
<
DeviceLibrary
>
getAllByRfidSurfaceId
(
String
rfid
);
List
<
DeviceLibrary
>
getAllByRfidSurfaceId
(
String
rfid
);
@Query
(
"select o from DeviceLibrary o where o.ownUnit= :unitName and o.createTime >= :startTime and o.createTime <= :endTime"
)
List
<
DeviceLibrary
>
findAllByUnitBetweenTime
(
String
unitName
,
Date
startTime
,
Date
endTime
);
}
}
dev-union/src/test/java/com/tykj/dev/finalcheck/FinalCheckControllerTest.java
0 → 100644
浏览文件 @
ee77ffd4
package
com
.
tykj
.
dev
.
finalcheck
;
import
com.tykj.dev.device.finalcheck.controller.FinalCheckController
;
import
com.tykj.dev.device.finalcheck.entity.other.TimeParam
;
import
com.tykj.dev.union.BaseTest
;
import
org.junit.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.test.context.support.WithMockUser
;
import
org.springframework.test.context.ActiveProfiles
;
import
java.time.LocalDate
;
/**
* FinalCheckControllerTest.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/28 at 5:02 下午
*/
@WithMockUser
(
username
=
"shena"
,
password
=
"qwer1234"
,
authorities
=
"省A专管员"
)
@ActiveProfiles
(
"test"
)
public
class
FinalCheckControllerTest
extends
BaseTest
{
@Autowired
private
FinalCheckController
fcController
;
@Test
public
void
generateReport
()
{
TimeParam
timeParam
=
new
TimeParam
(
LocalDate
.
of
(
2020
,
1
,
1
),
LocalDate
.
of
(
2020
,
11
,
1
));
System
.
out
.
println
(
fcController
.
generateReport
(
timeParam
));
}
}
dev-usereport/src/main/java/com/tykj/dev/device/usereport/service/impl/DeviceUseReportServiceImpl.java
浏览文件 @
ee77ffd4
...
@@ -44,6 +44,8 @@ import java.lang.reflect.Field;
...
@@ -44,6 +44,8 @@ import java.lang.reflect.Field;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
java
.
util
.
stream
.
Collectors
.*;
/**
/**
* @author dengdiyi
* @author dengdiyi
*/
*/
...
@@ -143,7 +145,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -143,7 +145,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出日期范围内所有入库账单
//筛选出日期范围内所有入库账单
List
<
StorageBill
>
storageBillEntities
=
storageBillDao
.
findAll
().
stream
()
List
<
StorageBill
>
storageBillEntities
=
storageBillDao
.
findAll
().
stream
()
.
filter
(
storageBillEntity
->
storageBillEntity
.
getStorageStatus
()==
2
&&
userUtils
.
getCurrentUserUnitName
().
equals
(
userPublicService
.
findUnitsNameByUserId
(
storageBillEntity
.
getReceiveUseraId
()))&&
storageBillEntity
.
getUpdateTime
().
after
(
date
)&&
storageBillEntity
.
getUpdateTime
().
before
(
date2
))
.
filter
(
storageBillEntity
->
storageBillEntity
.
getStorageStatus
()==
2
&&
userUtils
.
getCurrentUserUnitName
().
equals
(
userPublicService
.
findUnitsNameByUserId
(
storageBillEntity
.
getReceiveUseraId
()))&&
storageBillEntity
.
getUpdateTime
().
after
(
date
)&&
storageBillEntity
.
getUpdateTime
().
before
(
date2
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//累加入库数量
//累加入库数量
if
(
storageBillEntities
.
size
()>
0
){
if
(
storageBillEntities
.
size
()>
0
){
for
(
StorageBill
s:
storageBillEntities
)
{
for
(
StorageBill
s:
storageBillEntities
)
{
...
@@ -158,11 +160,11 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -158,11 +160,11 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出接收配发装备的账单
//筛选出接收配发装备的账单
List
<
AllotBill
>
allotBillEntities
=
allotBillDao
.
findAll
().
stream
()
List
<
AllotBill
>
allotBillEntities
=
allotBillDao
.
findAll
().
stream
()
.
filter
(
allotBillEntity
->
allotBillEntity
.
getAllotStatus
()==
5
&&
userUtils
.
getCurrentUserUnitName
().
equals
(
userPublicService
.
findUnitsNameByUserId
(
allotBillEntity
.
getReceiveUseraId
()))&&
allotBillEntity
.
getReceiveTime
().
after
(
date
)&&
allotBillEntity
.
getReceiveTime
().
before
(
date2
))
.
filter
(
allotBillEntity
->
allotBillEntity
.
getAllotStatus
()==
5
&&
userUtils
.
getCurrentUserUnitName
().
equals
(
userPublicService
.
findUnitsNameByUserId
(
allotBillEntity
.
getReceiveUseraId
()))&&
allotBillEntity
.
getReceiveTime
().
after
(
date
)&&
allotBillEntity
.
getReceiveTime
().
before
(
date2
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//筛选出配发给其它单位的账单
//筛选出配发给其它单位的账单
List
<
AllotBill
>
allotBillEntities2
=
allotBillDao
.
findAll
().
stream
()
List
<
AllotBill
>
allotBillEntities2
=
allotBillDao
.
findAll
().
stream
()
.
filter
(
allotBillEntity
->
allotStatusList
.
contains
(
allotBillEntity
.
getAllotStatus
())&&
userUtils
.
getCurrentUserUnitName
().
equals
(
userPublicService
.
findUnitsNameByUserId
(
allotBillEntity
.
getSendUseraId
()))&&
allotBillEntity
.
getSendTime
().
after
(
date
)&&
allotBillEntity
.
getSendTime
().
before
(
date2
))
.
filter
(
allotBillEntity
->
allotStatusList
.
contains
(
allotBillEntity
.
getAllotStatus
())&&
userUtils
.
getCurrentUserUnitName
().
equals
(
userPublicService
.
findUnitsNameByUserId
(
allotBillEntity
.
getSendUseraId
()))&&
allotBillEntity
.
getSendTime
().
after
(
date
)&&
allotBillEntity
.
getSendTime
().
before
(
date2
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//累加入库数量
//累加入库数量
if
(
allotBillEntities
.
size
()>
0
){
if
(
allotBillEntities
.
size
()>
0
){
for
(
AllotBill
s:
allotBillEntities
)
{
for
(
AllotBill
s:
allotBillEntities
)
{
...
@@ -180,7 +182,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -180,7 +182,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出在日期范围内的销毁单
//筛选出在日期范围内的销毁单
List
<
DeviceDestroyBill
>
deviceDestoryBillEntities
=
deviceDestroyBillDao
.
findAll
().
stream
()
List
<
DeviceDestroyBill
>
deviceDestoryBillEntities
=
deviceDestroyBillDao
.
findAll
().
stream
()
.
filter
(
deviceDestoryBillEntity
->
deviceDestoryBillEntity
.
getDestroyStatus
()==
2
&&
deviceDestoryBillEntity
.
getDestroyTime
().
after
(
date
)&&
deviceDestoryBillEntity
.
getDestroyTime
().
before
(
date2
))
.
filter
(
deviceDestoryBillEntity
->
deviceDestoryBillEntity
.
getDestroyStatus
()==
2
&&
deviceDestoryBillEntity
.
getDestroyTime
().
after
(
date
)&&
deviceDestoryBillEntity
.
getDestroyTime
().
before
(
date2
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//累加销毁数量
//累加销毁数量
if
(
deviceDestoryBillEntities
.
size
()>
0
){
if
(
deviceDestoryBillEntities
.
size
()>
0
){
for
(
DeviceDestroyBill
s:
deviceDestoryBillEntities
)
{
for
(
DeviceDestroyBill
s:
deviceDestoryBillEntities
)
{
...
@@ -191,11 +193,11 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -191,11 +193,11 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选列装
//筛选列装
List
<
PackingLibrary
>
packingLibraryEntities
=
packingLibraryDao
.
findAll
().
stream
()
List
<
PackingLibrary
>
packingLibraryEntities
=
packingLibraryDao
.
findAll
().
stream
()
.
filter
(
packingLibraryEntity
->
packingLibraryEntity
.
getPackingStatus
()==
2
&&
packingLibraryEntity
.
getCreateTime
().
after
(
date
)&&
packingLibraryEntity
.
getCreateTime
().
before
(
date2
)&&
packingLibraryEntity
.
getIsPart
()==
0
)
.
filter
(
packingLibraryEntity
->
packingLibraryEntity
.
getPackingStatus
()==
2
&&
packingLibraryEntity
.
getCreateTime
().
after
(
date
)&&
packingLibraryEntity
.
getCreateTime
().
before
(
date2
)&&
packingLibraryEntity
.
getIsPart
()==
0
)
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//筛选退装
//筛选退装
List
<
PackingLibrary
>
packingLibraryEntities2
=
packingLibraryDao
.
findAll
().
stream
()
List
<
PackingLibrary
>
packingLibraryEntities2
=
packingLibraryDao
.
findAll
().
stream
()
.
filter
(
packingLibraryEntity
->
packingLibraryEntity
.
getPackingStatus
()==
3
&&
packingLibraryEntity
.
getExitTime
().
after
(
date
)&&
packingLibraryEntity
.
getExitTime
().
before
(
date2
)&&
packingLibraryEntity
.
getIsPart
()==
0
)
.
filter
(
packingLibraryEntity
->
packingLibraryEntity
.
getPackingStatus
()==
3
&&
packingLibraryEntity
.
getExitTime
().
after
(
date
)&&
packingLibraryEntity
.
getExitTime
().
before
(
date2
)&&
packingLibraryEntity
.
getIsPart
()==
0
)
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//添加列装数量
//添加列装数量
if
(
packingLibraryEntities
.
size
()>
0
){
if
(
packingLibraryEntities
.
size
()>
0
){
packingNum
=
packingNum
+
packingLibraryEntities
.
size
();
packingNum
=
packingNum
+
packingLibraryEntities
.
size
();
...
@@ -213,7 +215,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -213,7 +215,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出清退账单
//筛选出清退账单
List
<
SendBackBillDetail
>
sendBackBillDetailEntities
=
sendBackBillDetailDao
.
findAll
().
stream
()
List
<
SendBackBillDetail
>
sendBackBillDetailEntities
=
sendBackBillDetailDao
.
findAll
().
stream
()
.
filter
(
sendBackBillDetailEntity
->
sendBackStatusList
.
contains
(
sendBackBillDetailEntity
.
getSendBackStatus
())&&
sendBackBillDetailEntity
.
getSendUnit
().
equals
(
userUtils
.
getCurrentUserUnitName
())&&
sendBackBillDetailEntity
.
getSendTime
().
after
(
date
)&&
sendBackBillDetailEntity
.
getSendTime
().
before
(
date2
))
.
filter
(
sendBackBillDetailEntity
->
sendBackStatusList
.
contains
(
sendBackBillDetailEntity
.
getSendBackStatus
())&&
sendBackBillDetailEntity
.
getSendUnit
().
equals
(
userUtils
.
getCurrentUserUnitName
())&&
sendBackBillDetailEntity
.
getSendTime
().
after
(
date
)&&
sendBackBillDetailEntity
.
getSendTime
().
before
(
date2
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//累加清退数量
//累加清退数量
if
(
sendBackBillDetailEntities
.
size
()>
0
){
if
(
sendBackBillDetailEntities
.
size
()>
0
){
for
(
SendBackBillDetail
s:
sendBackBillDetailEntities
)
{
for
(
SendBackBillDetail
s:
sendBackBillDetailEntities
)
{
...
@@ -223,7 +225,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -223,7 +225,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//维修数量
//维修数量
List
<
RepairDetail
>
repairDetails
=
repairDetailDao
.
findAll
().
stream
()
List
<
RepairDetail
>
repairDetails
=
repairDetailDao
.
findAll
().
stream
()
.
filter
(
repairDetail
->
repairDetail
.
getOwnUnit
().
equals
(
userUtils
.
getCurrentUserUnitName
())&&
repairDetail
.
getRepairStatus
()!=
3
&&
repairDetail
.
getCreateTime
().
after
(
date
)&&
repairDetail
.
getCreateTime
().
before
(
date2
))
.
filter
(
repairDetail
->
repairDetail
.
getOwnUnit
().
equals
(
userUtils
.
getCurrentUserUnitName
())&&
repairDetail
.
getRepairStatus
()!=
3
&&
repairDetail
.
getCreateTime
().
after
(
date
)&&
repairDetail
.
getCreateTime
().
before
(
date2
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
repairNum
=
repairDetails
.
size
();
repairNum
=
repairDetails
.
size
();
//拼接组合字段
//拼接组合字段
deviceUseReportEntity
.
setReportDetail
(
num
+
"x"
+
inLibraryNum
+
"x"
+
repairNum
+
"x"
+
allotNum
+
"x"
+
sendBackNum
+
"x"
+
destoryNum
+
"x"
+
packingNum
+
"x"
+
retiredNum
+
"x"
);
deviceUseReportEntity
.
setReportDetail
(
num
+
"x"
+
inLibraryNum
+
"x"
+
repairNum
+
"x"
+
allotNum
+
"x"
+
sendBackNum
+
"x"
+
destoryNum
+
"x"
+
packingNum
+
"x"
+
retiredNum
+
"x"
);
...
@@ -242,12 +244,15 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -242,12 +244,15 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出日期范围内所有入库账单
//筛选出日期范围内所有入库账单
List
<
StorageBill
>
storageBillEntities
=
storageBillDao
.
findAll
().
stream
()
List
<
StorageBill
>
storageBillEntities
=
storageBillDao
.
findAll
().
stream
()
.
filter
(
storageBillEntity
->
storageBillEntity
.
getStorageStatus
()==
2
&&
userPublicService
.
findByUnitsToname
(
1
).
equals
(
userPublicService
.
findUnitsNameByUserId
(
storageBillEntity
.
getReceiveUseraId
()))&&
storageBillEntity
.
getUpdateTime
().
after
(
startDate
)&&
storageBillEntity
.
getUpdateTime
().
before
(
endDate
))
.
filter
(
storageBillEntity
->
storageBillEntity
.
getStorageStatus
()==
2
&&
userPublicService
.
findByUnitsToname
(
1
).
equals
(
userPublicService
.
findUnitsNameByUserId
(
storageBillEntity
.
getReceiveUseraId
()))&&
storageBillEntity
.
getUpdateTime
().
after
(
startDate
)&&
storageBillEntity
.
getUpdateTime
().
before
(
endDate
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//获取所有入库的装备
//获取所有入库的装备
if
(
storageBillEntities
.
size
()>
0
){
if
(
storageBillEntities
.
size
()>
0
){
for
(
StorageBill
s:
storageBillEntities
)
{
for
(
StorageBill
s:
storageBillEntities
)
{
List
<
Integer
>
integerList
=
StringSplitUtil
.
userIdSplit
(
s
.
getStorageDetail
());
List
<
Integer
>
integerList
=
StringSplitUtil
.
userIdSplit
(
s
.
getStorageDetail
());
integerList
.
forEach
(
integer
->
deviceLibraries
.
add
(
deviceLibraryService
.
getOne
(
integer
)));
deviceLibraries
=
integerList
.
stream
()
.
map
(
deviceLibraryService:
:
getOne
)
.
filter
(
Objects:
:
nonNull
)
.
collect
(
toList
());
}
}
}
}
return
getDeviceStatistics
(
deviceLibraries
);
return
getDeviceStatistics
(
deviceLibraries
);
...
@@ -264,7 +269,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -264,7 +269,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出日期范围内所有送修账单
//筛选出日期范围内所有送修账单
List
<
RepairSendBill
>
repairSendBills
=
repairSendBillDao
.
findAll
().
stream
()
List
<
RepairSendBill
>
repairSendBills
=
repairSendBillDao
.
findAll
().
stream
()
.
filter
(
repairSendBill
->
repairSendBill
.
getRepairStatus
()==
5
&&
userPublicService
.
findByUnitsToname
(
1
).
equals
(
repairSendBill
.
getSendUnit
())&&
repairSendBill
.
getSendTime
().
after
(
startDate
)&&
repairSendBill
.
getSendTime
().
before
(
endDate
))
.
filter
(
repairSendBill
->
repairSendBill
.
getRepairStatus
()==
5
&&
userPublicService
.
findByUnitsToname
(
1
).
equals
(
repairSendBill
.
getSendUnit
())&&
repairSendBill
.
getSendTime
().
after
(
startDate
)&&
repairSendBill
.
getSendTime
().
before
(
endDate
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//获取所有维修的装备
//获取所有维修的装备
if
(
repairSendBills
.
size
()>
0
){
if
(
repairSendBills
.
size
()>
0
){
for
(
RepairSendBill
s:
repairSendBills
)
{
for
(
RepairSendBill
s:
repairSendBills
)
{
...
@@ -295,7 +300,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -295,7 +300,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出日期范围内所有销毁账单
//筛选出日期范围内所有销毁账单
List
<
DeviceDestroyBill
>
deviceDestroyBills
=
deviceDestroyBillDao
.
findAll
().
stream
()
List
<
DeviceDestroyBill
>
deviceDestroyBills
=
deviceDestroyBillDao
.
findAll
().
stream
()
.
filter
(
deviceDestroyBill
->
deviceDestroyBill
.
getDestroyStatus
()==
2
&&
deviceDestroyBill
.
getDestroyTime
().
after
(
startDate
)&&
deviceDestroyBill
.
getDestroyTime
().
before
(
endDate
))
.
filter
(
deviceDestroyBill
->
deviceDestroyBill
.
getDestroyStatus
()==
2
&&
deviceDestroyBill
.
getDestroyTime
().
after
(
startDate
)&&
deviceDestroyBill
.
getDestroyTime
().
before
(
endDate
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//获取所有销毁的装备
//获取所有销毁的装备
if
(
deviceDestroyBills
.
size
()>
0
){
if
(
deviceDestroyBills
.
size
()>
0
){
for
(
DeviceDestroyBill
s:
deviceDestroyBills
)
{
for
(
DeviceDestroyBill
s:
deviceDestroyBills
)
{
...
@@ -326,7 +331,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -326,7 +331,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
//筛选出日期范围内所有报废账单
//筛选出日期范围内所有报废账单
List
<
ScrapBill
>
scrapBills
=
scrapBillDao
.
findAll
().
stream
()
List
<
ScrapBill
>
scrapBills
=
scrapBillDao
.
findAll
().
stream
()
.
filter
(
scrapBill
->
scrapBill
.
getScrapUnit
().
equals
(
userPublicService
.
findByUnitsToname
(
1
))&&
scrapBill
.
getScrapTime
().
after
(
startDate
)&&
scrapBill
.
getScrapTime
().
before
(
endDate
))
.
filter
(
scrapBill
->
scrapBill
.
getScrapUnit
().
equals
(
userPublicService
.
findByUnitsToname
(
1
))&&
scrapBill
.
getScrapTime
().
after
(
startDate
)&&
scrapBill
.
getScrapTime
().
before
(
endDate
))
.
collect
(
Collectors
.
toList
());
.
collect
(
toList
());
//获取所有报废的装备
//获取所有报废的装备
if
(
scrapBills
.
size
()>
0
){
if
(
scrapBills
.
size
()>
0
){
for
(
ScrapBill
s:
scrapBills
)
{
for
(
ScrapBill
s:
scrapBills
)
{
...
@@ -371,7 +376,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
...
@@ -371,7 +376,7 @@ public class DeviceUseReportServiceImpl implements DeviceUseReportService {
*/
*/
private
List
<
DeviceStatistics
>
getDeviceStatistics
(
List
<
DeviceLibrary
>
deviceLibraries
){
private
List
<
DeviceStatistics
>
getDeviceStatistics
(
List
<
DeviceLibrary
>
deviceLibraries
){
List
<
DeviceStatistics
>
deviceStatisticsList
=
new
ArrayList
<>();
List
<
DeviceStatistics
>
deviceStatisticsList
=
new
ArrayList
<>();
Map
<
String
,
List
<
DeviceLibrary
>>
map
=
deviceLibraries
.
stream
().
collect
(
Collectors
.
groupingBy
(
deviceLibrary
->
deviceLibrary
.
getModel
()+
"Ǵ"
+
deviceLibrary
.
getName
()+
"Ǵ"
+
deviceLibrary
.
getType
()));
Map
<
String
,
List
<
DeviceLibrary
>>
map
=
deviceLibraries
.
stream
().
collect
(
groupingBy
(
deviceLibrary
->
deviceLibrary
.
getModel
()+
"Ǵ"
+
deviceLibrary
.
getName
()+
"Ǵ"
+
deviceLibrary
.
getType
()));
map
.
forEach
((
s
,
deviceLibraries1
)
->
{
map
.
forEach
((
s
,
deviceLibraries1
)
->
{
String
[]
strings
=
s
.
split
(
"Ǵ"
);
String
[]
strings
=
s
.
split
(
"Ǵ"
);
if
(
strings
.
length
==
3
){
if
(
strings
.
length
==
3
){
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论