Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
f12f5dfb
提交
f12f5dfb
authored
9月 25, 2020
作者:
Matrix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[核查模块] 修复了统计的任务进度显示不正确的问题
上级
95515017
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
433 行增加
和
86 行删除
+433
-86
LogType.java
dev-config/src/main/java/com/tykj/dev/config/LogType.java
+21
-17
DeviceCheckController.java
...device/confirmcheck/controller/DeviceCheckController.java
+46
-17
CheckAreaStatVo.java
...kj/dev/device/confirmcheck/entity/vo/CheckAreaStatVo.java
+4
-0
pom.xml
dev-finalcheck/pom.xml
+7
-0
finalCheckController.java
...ev/device/finalcheck/controller/finalCheckController.java
+53
-0
finalDetail.java
...tykj/dev/device/finalcheck/entity/domain/finalDetail.java
+52
-0
finalReport.java
...tykj/dev/device/finalcheck/entity/domain/finalReport.java
+49
-0
finalDetailVo.java
...m/tykj/dev/device/finalcheck/entity/vo/finalDetailVo.java
+60
-0
finalReportVo.java
...m/tykj/dev/device/finalcheck/entity/vo/finalReportVo.java
+55
-0
finalDetailRepo.java
...tykj/dev/device/finalcheck/repisotry/finalDetailRepo.java
+15
-0
finalReportRepo.java
...tykj/dev/device/finalcheck/repisotry/finalReportRepo.java
+14
-0
ResultUtil.java
...isc/src/main/java/com/tykj/dev/misc/utils/ResultUtil.java
+1
-1
pom.xml
dev-union/pom.xml
+5
-0
DeviceCheckControllerTest.java
.../com/tykj/dev/confirmcheck/DeviceCheckControllerTest.java
+50
-50
BaseTest.java
dev-union/src/test/java/com/tykj/dev/union/BaseTest.java
+1
-1
没有找到文件。
dev-config/src/main/java/com/tykj/dev/config/LogType.java
浏览文件 @
f12f5dfb
...
...
@@ -77,13 +77,13 @@ public enum LogType {
REPAIR_SEND_2
(
31
,
REPAIR_SEND_CONFIRM
.
id
,
WAIT_RECEIVE
.
id
,
"审核成功并出库"
),
DESTROY_2
(
25
,
DESTROY_BUSINESS_NEED_CONFIRM
.
id
,
WAIT_UPLOAD_BILL_FILE
.
id
,
"销毁出库审核成功"
),
DESTROY_2
(
25
,
DESTROY_BUSINESS_NEED_CONFIRM
.
id
,
WAIT_UPLOAD_BILL_FILE
.
id
,
"销毁出库审核成功"
),
REPAIR_SEND_3
(
32
,
REPAIR_SEND_CONFIRM
.
id
,
ARCHIVE
.
id
,
"维修出库审核失败"
),
REPAIR_SEND_4
(
33
,
WAIT_RECEIVE
.
id
,
REPAIR_RECEIVE_CONFIRM
.
id
,
"接收维修装备并发起入库"
),
DESTROY_4
(
100
,
WAIT_UPLOAD_BILL_FILE
.
id
,
END
.
id
,
"上传销毁单"
),
DESTROY_4
(
100
,
WAIT_UPLOAD_BILL_FILE
.
id
,
END
.
id
,
"上传销毁单"
),
REPAIR_SEND_5
(
34
,
REPAIR_RECEIVE_CONFIRM
.
id
,
REPAIRING
.
id
,
"审核成功并入库维修"
),
...
...
@@ -111,35 +111,37 @@ public enum LogType {
TRAIN_1
(
46
,
ORIGIN_STATUS
.
id
,
TRAIN1000
.
id
,
"发起培训"
),
CONFIRM_CHECK_DETAIL_NORMAL_
1
(
47
,
CHECK_DETAIL_0
.
id
,
CHECK_DETAIL_1
.
id
,
"A岗核查成功,等待专管员B操作
"
),
CONFIRM_CHECK_DETAIL_NORMAL_
0
(
401
,
ORIGIN_STATUS
.
id
,
CHECK_DETAIL_0
.
id
,
"核查详情任务开始
"
),
CONFIRM_CHECK_DETAIL_NORMAL_
2
(
48
,
CHECK_DETAIL_1
.
id
,
CHECK_DETAIL_2
.
id
,
"B岗核查成功,等待核查组成员A审核
"
),
CONFIRM_CHECK_DETAIL_NORMAL_
1
(
402
,
CHECK_DETAIL_0
.
id
,
CHECK_DETAIL_1
.
id
,
"A岗核查成功,等待专管员B操作
"
),
CONFIRM_CHECK_DETAIL_NORMAL_
3
(
49
,
CHECK_DETAIL_2
.
id
,
CHECK_DETAIL_3
.
id
,
"核查组成员A核查成功,等待核查组成员B
审核"
),
CONFIRM_CHECK_DETAIL_NORMAL_
2
(
403
,
CHECK_DETAIL_1
.
id
,
CHECK_DETAIL_2
.
id
,
"B岗核查成功,等待核查组成员A
审核"
),
CONFIRM_CHECK_DETAIL_NORMAL_
4
(
50
,
CHECK_DETAIL_3
.
id
,
END
.
id
,
"核查组成员B核查成功,任务结束,上传数据到统计信息
"
),
CONFIRM_CHECK_DETAIL_NORMAL_
3
(
404
,
CHECK_DETAIL_2
.
id
,
CHECK_DETAIL_3
.
id
,
"核查组成员A核查成功,等待核查组成员B审核
"
),
CONFIRM_CHECK_DETAIL_
OTHER_1
(
51
,
CHECK_DETAIL_1
.
id
,
END
.
id
,
"B岗核查成功,该任务没有核查组成员
,任务结束,上传数据到统计信息"
),
CONFIRM_CHECK_DETAIL_
NORMAL_4
(
405
,
CHECK_DETAIL_3
.
id
,
END
.
id
,
"核查组成员B核查成功
,任务结束,上传数据到统计信息"
),
CONFIRM_CHECK_DETAIL_OTHER_
2
(
52
,
CHECK_DETAIL_1
.
id
,
CHECK_DETAIL_0
.
id
,
"B岗审核失败,跳回A岗人员操作
"
),
CONFIRM_CHECK_DETAIL_OTHER_
1
(
406
,
CHECK_DETAIL_1
.
id
,
END
.
id
,
"B岗核查成功,该任务没有核查组成员,任务结束,上传数据到统计信息
"
),
CONFIRM_CHECK_DETAIL_OTHER_
3
(
53
,
CHECK_DETAIL_2
.
id
,
CHECK_DETAIL_0
.
id
,
"核查组成员A
审核失败,跳回A岗人员操作"
),
CONFIRM_CHECK_DETAIL_OTHER_
2
(
407
,
CHECK_DETAIL_1
.
id
,
CHECK_DETAIL_0
.
id
,
"B岗
审核失败,跳回A岗人员操作"
),
CONFIRM_CHECK_DETAIL_OTHER_
4
(
54
,
CHECK_DETAIL_3
.
id
,
CHECK_DETAIL_0
.
id
,
"核查组成员B
审核失败,跳回A岗人员操作"
),
CONFIRM_CHECK_DETAIL_OTHER_
3
(
408
,
CHECK_DETAIL_2
.
id
,
CHECK_DETAIL_0
.
id
,
"核查组成员A
审核失败,跳回A岗人员操作"
),
CONFIRM_CHECK_DETAIL_
STAT_1
(
55
,
CHECK_STAT_0
.
id
,
CHECK_STAT_1
.
id
,
"地区数据已统计完毕,等待确认
"
),
CONFIRM_CHECK_DETAIL_
OTHER_4
(
409
,
CHECK_DETAIL_3
.
id
,
CHECK_DETAIL_0
.
id
,
"核查组成员B审核失败,跳回A岗人员操作
"
),
CONFIRM_CHECK_DETAIL_STAT_
2
(
56
,
CHECK_STAT_1
.
id
,
END
.
id
,
"地区数据已确认完毕,将统计上传,任务完结
"
),
CONFIRM_CHECK_DETAIL_STAT_
0
(
410
,
ORIGIN_STATUS
.
id
,
CHECK_STAT_0
.
id
,
"核查统计任务开始
"
),
ALLOT_BACK_1
(
57
,
ORIGIN_STATUS
.
id
,
ALLOT_BACKING
.
id
,
"配发退回装备出库成功
"
),
CONFIRM_CHECK_DETAIL_STAT_1
(
411
,
CHECK_STAT_0
.
id
,
CHECK_STAT_1
.
id
,
"地区数据已统计完毕,等待确认
"
),
ALLOT_BACK_2
(
58
,
ALLOT_BACKING
.
id
,
ALLOT_BACK_CONFIRM
.
id
,
"配发退回装备接收成功
"
),
CONFIRM_CHECK_DETAIL_STAT_2
(
412
,
CHECK_STAT_1
.
id
,
END
.
id
,
"地区数据已确认完毕,将统计上传,任务完结
"
),
ALLOT_BACK_
3
(
59
,
ALLOT_BACK_CONFIRM
.
id
,
END
.
id
,
"配发退回装备接收审核
成功"
),
ALLOT_BACK_
1
(
57
,
ORIGIN_STATUS
.
id
,
ALLOT_BACKING
.
id
,
"配发退回装备出库
成功"
),
ALLOT_BACK_
4
(
60
,
ALLOT_BACK_CONFIRM
.
id
,
ARCHIVE
.
id
,
"配发退回装备接收审核失败"
);
ALLOT_BACK_
2
(
58
,
ALLOT_BACKING
.
id
,
ALLOT_BACK_CONFIRM
.
id
,
"配发退回装备接收成功"
),
ALLOT_BACK_3
(
59
,
ALLOT_BACK_CONFIRM
.
id
,
END
.
id
,
"配发退回装备接收审核成功"
),
ALLOT_BACK_4
(
60
,
ALLOT_BACK_CONFIRM
.
id
,
ARCHIVE
.
id
,
"配发退回装备接收审核失败"
);
public
Integer
id
;
...
...
@@ -158,5 +160,7 @@ public enum LogType {
*/
public
String
operation
;
public
String
getOperation
()
{
return
this
.
operation
;
}
public
String
getOperation
()
{
return
this
.
operation
;
}
}
dev-confirmcheck/src/main/java/com/tykj/dev/device/confirmcheck/controller/DeviceCheckController.java
浏览文件 @
f12f5dfb
...
...
@@ -15,10 +15,8 @@ import com.tykj.dev.device.confirmcheck.utils.ObjTransUtil;
import
com.tykj.dev.device.library.repository.DeviceLibraryDao
;
import
com.tykj.dev.device.library.subject.domin.DeviceLibrary
;
import
com.tykj.dev.device.task.repository.TaskDao
;
import
com.tykj.dev.device.task.service.TaskLogService
;
import
com.tykj.dev.device.task.service.TaskService
;
import
com.tykj.dev.device.task.subject.bto.TaskBto
;
import
com.tykj.dev.device.task.subject.bto.TaskLogBto
;
import
com.tykj.dev.device.task.subject.domin.Task
;
import
com.tykj.dev.device.user.subject.dao.AreaDao
;
import
com.tykj.dev.device.user.subject.dao.UnitsDao
;
...
...
@@ -205,8 +203,8 @@ public class DeviceCheckController {
"自动"
+
baseTitle
,
0
,
0
,
0
,
0
,
countyUnit
.
getName
(),
devInLib
.
getOrDefault
(
c
i
tyUnit
.
getName
(),
new
ArrayList
<>()),
devNotInLib
.
getOrDefault
(
c
i
tyUnit
.
getName
(),
new
ArrayList
<>()));
devInLib
.
getOrDefault
(
c
oun
tyUnit
.
getName
(),
new
ArrayList
<>()),
devNotInLib
.
getOrDefault
(
c
oun
tyUnit
.
getName
(),
new
ArrayList
<>()));
DeviceCheckDetailEntity
countyDetail
=
detailRepo
.
save
(
countyDetailDo
);
resultIds
.
get
(
"detailId"
).
add
(
countyDetail
.
getId
());
List
<
CheckDeviceStatVo
>
countyStatVoList
=
deviceList
.
stream
()
...
...
@@ -221,7 +219,6 @@ public class DeviceCheckController {
resultIds
.
get
(
"taskId"
).
add
(
countyDetailTask
.
getId
());
}
}
// 处理JSON INFO 数据
...
...
@@ -229,11 +226,12 @@ public class DeviceCheckController {
List
<
CheckDeviceStatVo
>
statVoListCopy1
=
MapperUtils
.
mapAll
(
statVoList
,
CheckDeviceStatVo
.
class
);
List
<
CheckDeviceStatVo
>
statVoListCopy2
=
MapperUtils
.
mapAll
(
statVoList
,
CheckDeviceStatVo
.
class
);
//按照区数据与市数据进行分组 -
按照model名分组 model - areaName - Object
//按照区数据与市数据进行分组 -
true->区级装备统计信息 false->市级装备统计是信息
Map
<
Boolean
,
List
<
CheckDeviceStatVo
>>
regionMap
=
statVoListCopy1
.
stream
()
.
collect
(
partitioningBy
(
stat
->
countyAreaNames
.
contains
(
stat
.
getAreaStatList
().
get
(
0
).
getAreaName
())));
// 区数据
List
<
CheckDeviceStatVo
>
countyVo
=
regionMap
.
get
(
true
);
// 市级 key model -> areaName -> Vo
Map
<
String
,
Map
<
String
,
List
<
CheckDeviceStatVo
>>>
modAreaMap
=
regionMap
.
get
(
false
).
stream
()
.
collect
(
groupingBy
(
CheckDeviceStatVo:
:
getDeviceModel
,
groupingBy
(
c
->
c
.
getAreaStatList
().
get
(
0
).
getAreaName
())));
...
...
@@ -241,16 +239,23 @@ public class DeviceCheckController {
for
(
CheckDeviceStatVo
v
:
countyVo
)
{
String
couName
=
v
.
getAreaStatList
().
get
(
0
).
getAreaName
();
String
fatherAreaName
=
areaCache
.
findFatherByName
(
couName
).
getName
();
modAreaMap
.
computeIfPresent
(
v
.
getDeviceModel
(),
(
k1
,
v1
)
->
{
v1
.
computeIfPresent
(
fatherAreaName
,
(
k2
,
v2
)
->
{
log
.
warn
(
"发现需要堆叠计算的装备,装备信息为: {}"
,
v2
);
v2
.
get
(
0
).
addDeviceCount
(
1
);
v2
.
get
(
0
).
getAreaStatList
().
get
(
0
).
addSuppose
(
1
);
v2
.
get
(
0
).
getAreaStatList
().
addAll
(
v
.
getAreaStatList
());
return
v2
;
});
return
v1
;
});
// 父级地区有的装备数据累加上去
boolean
modelExists
=
modAreaMap
.
get
(
v
.
getDeviceModel
())
!=
null
;
if
(
modelExists
)
{
modAreaMap
.
get
(
v
.
getDeviceModel
())
.
computeIfPresent
(
fatherAreaName
,
(
k2
,
v2
)
->
{
log
.
warn
(
"发现需要堆叠计算的装备,装备信息为: {}"
,
v2
);
v2
.
get
(
0
).
addDeviceCount
(
1
);
v2
.
get
(
0
).
getAreaStatList
().
get
(
0
).
addSuppose
(
1
);
v2
.
get
(
0
).
getAreaStatList
().
addAll
(
v
.
getAreaStatList
());
return
v2
;
});
}
else
{
// 父级地区没有则直接添加区数据进去
Map
<
String
,
List
<
CheckDeviceStatVo
>>
map
=
new
HashMap
<>();
map
.
put
(
couName
,
Lists
.
newArrayList
(
v
));
modAreaMap
.
put
(
v
.
getDeviceModel
(),
map
);
}
}
//将市级Map里的数据全部取出来展平一层并累加
List
<
CheckDeviceStatVo
>
filterVoList
=
new
ArrayList
<>();
...
...
@@ -377,6 +382,30 @@ public class DeviceCheckController {
currentTask
.
getInvolveUserIdList
().
set
(
0
,
AuthenticationUtils
.
getAuthentication
().
getCurrentUserInfo
().
getUserId
());
taskService
.
moveToNext
(
currentTask
,
assignUserId
);
log
.
info
(
"[核查模块] A岗核查操作成功"
);
//3.将父级以及父级的父级的状态更改为正在进行 找到父级的stat对象
Integer
fatherId
=
currentTask
.
getParentTaskId
();
Task
cityTask
=
taskRepo
.
findById
(
fatherId
).
get
();
Integer
cityStatId
=
cityTask
.
getBillId
();
DeviceCheckStat
cityStat
=
statRepo
.
findById
(
cityStatId
).
get
();
CheckStatVo
cityVo
=
transUtil
.
checkStatDo2Vo
(
cityStat
);
cityVo
.
getDeviceStatVoList
()
.
forEach
(
c
->
c
.
getAreaStatList
().
forEach
(
CheckAreaStatVo:
:
start
));
statRepo
.
save
(
cityVo
.
toDo
());
//尝试寻找父级的父级
Integer
provId
=
cityTask
.
getParentTaskId
();
if
(
provId
!=
0
)
{
DeviceCheckStat
provStat
=
statRepo
.
findById
(
provId
).
get
();
CheckStatVo
provVO
=
transUtil
.
checkStatDo2Vo
(
provStat
);
provVO
.
getDeviceStatVoList
()
.
forEach
(
c
->
c
.
getAreaStatList
().
forEach
(
CheckAreaStatVo:
:
start
));
statRepo
.
save
(
cityVo
.
toDo
());
log
.
info
(
"[核查模块 检测到是自动核查任务,将省级统计 id = {} 认为开启]"
,
provStat
.
getId
());
}
TaskBto
fatherStatTask
=
taskService
.
get
(
fatherId
);
return
ResponseEntity
.
ok
(
new
ResultObj
(
"专管员A操作成功"
));
}
...
...
@@ -469,7 +498,7 @@ public class DeviceCheckController {
// 判断地区数据是否均汇总完毕
boolean
over
=
taskService
.
TaskTreeIsOver
(
fatherTaskId
);
log
.
info
(
"[核查模块] D 汇总完毕,汇总的账单id为 {}, Task id为 {}"
,
statId
,
fatherTaskId
);
log
.
info
(
"[核查模块] D 汇总完毕,汇总的账单id为 {}, Task id为 {}"
,
statId
,
fatherTaskId
);
// 如果汇总完毕则将父级的统计任务推进
if
(
over
)
{
...
...
dev-confirmcheck/src/main/java/com/tykj/dev/device/confirmcheck/entity/vo/CheckAreaStatVo.java
浏览文件 @
f12f5dfb
...
...
@@ -65,4 +65,8 @@ public class CheckAreaStatVo {
return
this
;
}
public
void
start
()
{
comProgress
=
1
;
}
}
dev-finalcheck/pom.xml
浏览文件 @
f12f5dfb
...
...
@@ -19,6 +19,12 @@
<groupId>
com.tykj.dev
</groupId>
<artifactId>
config
</artifactId>
</dependency>
<dependency>
<groupId>
org.hibernate
</groupId>
<artifactId>
hibernate-java8
</artifactId>
<version>
5.1.0.Final
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/controller/finalCheckController.java
0 → 100644
浏览文件 @
f12f5dfb
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
controller
;
import
com.tykj.dev.device.finalcheck.entity.vo.finalReportVo
;
import
com.tykj.dev.device.finalcheck.repisotry.finalDetailRepo
;
import
com.tykj.dev.device.finalcheck.repisotry.finalReportRepo
;
import
com.tykj.dev.misc.base.ResultObj
;
import
com.tykj.dev.misc.utils.ResultUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* finalCheckController.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:24 下午
*/
@RestController
@RequestMapping
(
"/check/final"
)
@Api
(
value
=
"决算模块"
,
description
=
"决算模块"
)
public
class
finalCheckController
{
@Autowired
private
finalDetailRepo
detailRepo
;
@Autowired
private
finalReportRepo
reportRepo
;
@RequestMapping
(
"/reports"
)
@ApiOperation
(
value
=
"查询所有决算报告(不附带详情数据)"
)
public
ResponseEntity
<
ResultObj
>
findAllReports
()
{
return
ResultUtil
.
success
(
new
finalReportVo
());
}
@RequestMapping
(
"/{id}"
)
@ApiOperation
(
value
=
"根据id查询决算报告(附带详情数据)"
)
public
ResponseEntity
<
ResultObj
>
findReportById
(
@PathVariable
Integer
id
)
{
return
ResultUtil
.
success
(
new
finalReportVo
());
}
@RequestMapping
(
"/excel/{id}"
)
@ApiOperation
(
value
=
"根据id导出对应的excel数据"
)
public
ResponseEntity
<
ResultObj
>
exportExcel
(
@PathVariable
Integer
id
)
{
return
ResultUtil
.
success
(
new
finalReportVo
());
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/domain/finalDetail.java
0 → 100644
浏览文件 @
f12f5dfb
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
domain
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
/**
* finalDetail.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:07 下午
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public
class
finalDetail
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Integer
id
;
private
String
model
;
private
Integer
type
;
private
Integer
vertical
;
private
Integer
horizontal
;
private
Integer
commission
;
private
Integer
other
;
private
Integer
total
;
private
Integer
hosting
;
private
Integer
received
;
private
Integer
sending
;
private
Integer
scrapped
;
private
Integer
reportId
;
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/domain/finalReport.java
0 → 100644
浏览文件 @
f12f5dfb
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
domain
;
import
com.tykj.dev.device.finalcheck.entity.vo.finalDetailVo
;
import
com.tykj.dev.device.finalcheck.entity.vo.finalReportVo
;
import
com.tykj.dev.misc.utils.MapperUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
java.time.LocalDate
;
import
java.util.List
;
/**
* finalReport.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:14 下午
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public
class
finalReport
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Integer
id
;
private
String
unitName
;
private
LocalDate
startTime
;
private
LocalDate
endTime
;
private
LocalDate
reportTime
;
private
String
operator
;
public
finalReportVo
toVo
(
List
<
finalDetail
>
details
)
{
finalReportVo
reportVo
=
MapperUtils
.
map
(
this
,
finalReportVo
.
class
);
List
<
finalDetailVo
>
detailVos
=
MapperUtils
.
mapAll
(
details
,
finalDetailVo
.
class
);
reportVo
.
setDetails
(
detailVos
);
return
reportVo
;
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/vo/finalDetailVo.java
0 → 100644
浏览文件 @
f12f5dfb
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
vo
;
import
com.fasterxml.jackson.annotation.JsonPropertyOrder
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* finalDetailVo.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 5:41 下午
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
value
=
"决算报告细节"
)
public
class
finalDetailVo
{
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
@ApiModelProperty
(
"型号"
)
private
String
model
;
@ApiModelProperty
(
"部件"
)
private
Integer
type
;
@ApiModelProperty
(
"纵向"
)
private
Integer
vertical
;
@ApiModelProperty
(
"横向"
)
private
Integer
horizontal
;
@ApiModelProperty
(
"委托"
)
private
Integer
commission
;
@ApiModelProperty
(
"其他"
)
private
Integer
other
;
@ApiModelProperty
(
"合计"
)
private
Integer
total
;
@ApiModelProperty
(
"代管"
)
private
Integer
hosting
;
@ApiModelProperty
(
"收到"
)
private
Integer
received
;
@ApiModelProperty
(
"发出"
)
private
Integer
sending
;
@ApiModelProperty
(
"报废"
)
private
Integer
scrapped
;
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/entity/vo/finalReportVo.java
0 → 100644
浏览文件 @
f12f5dfb
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
entity
.
vo
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.time.LocalDate
;
import
java.util.List
;
/**
* finalReportVo.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 5:28 下午
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
"决算报告概览"
)
public
class
finalReportVo
{
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
@ApiModelProperty
(
"单位"
)
private
String
unitName
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateSerializer
.
class
)
@ApiModelProperty
(
"决算开始时间"
)
private
LocalDate
startTime
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateSerializer
.
class
)
@ApiModelProperty
(
"决算结束时间"
)
private
LocalDate
endTime
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateSerializer
.
class
)
@ApiModelProperty
(
"报告生成时间"
)
private
LocalDate
reportTime
;
@ApiModelProperty
(
"操作人姓名"
)
private
String
operator
;
@ApiModelProperty
(
"报告细节列表"
)
private
List
<
finalDetailVo
>
details
;
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/repisotry/finalDetailRepo.java
0 → 100644
浏览文件 @
f12f5dfb
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
repisotry
;
import
com.github.wenhao.jpa.Specifications
;
import
com.tykj.dev.device.finalcheck.entity.domain.finalDetail
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
/**
* finalDetailRepo.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:26 下午
*/
public
interface
finalDetailRepo
extends
JpaRepository
<
finalDetail
,
Integer
>,
JpaSpecificationExecutor
<
finalDetail
>
{
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/repisotry/finalReportRepo.java
0 → 100644
浏览文件 @
f12f5dfb
package
com
.
tykj
.
dev
.
device
.
finalcheck
.
repisotry
;
import
com.tykj.dev.device.finalcheck.entity.domain.finalReport
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
/**
* finalReportRepo.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:27 下午
*/
public
interface
finalReportRepo
extends
JpaRepository
<
finalReport
,
Integer
>,
JpaSpecificationExecutor
<
finalReport
>
{
}
dev-misc/src/main/java/com/tykj/dev/misc/utils/ResultUtil.java
浏览文件 @
f12f5dfb
...
...
@@ -22,7 +22,7 @@ public class ResultUtil<T> {
public
static
<
T
>
ResponseEntity
success
(
T
data
)
{
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
httpHeaders
.
add
(
HttpHeaders
.
CONTENT_TYPE
,
"application/json;charset=UTF-8"
);
return
new
ResponseEntity
(
new
ResultObj
(
data
),
httpHeaders
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>
(
new
ResultObj
(
data
),
httpHeaders
,
HttpStatus
.
OK
);
}
/**
...
...
dev-union/pom.xml
浏览文件 @
f12f5dfb
...
...
@@ -115,6 +115,11 @@
</exclusions>
</dependency>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-finalcheck
</artifactId>
</dependency>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-taskselect
</artifactId>
...
...
dev-union/src/test/java/com/tykj/dev/confirmcheck/DeviceCheckControllerTest.java
浏览文件 @
f12f5dfb
...
...
@@ -202,56 +202,56 @@ class DeviceCheckControllerTest extends BaseTest {
initTask
.
getId
(),
initTask
.
getBillId
())));
// checkUserB 接口 测试审核通过
String
url_b
=
baseUrl
+
"B/"
+
detailBillId
+
"?"
+
"checkStatus=1"
;
request
=
put
(
url_b
)
.
header
(
"Origin"
,
"*"
);
mockMvc
.
perform
(
request
)
.
andExpect
(
status
().
isOk
())
.
andDo
(
s
->
System
.
out
.
println
(
String
.
format
(
"[测试结果] 对任务id=%d的任务执行岗位B详情审核操作成功,审核的详情表id为%d"
,
initTask
.
getId
(),
initTask
.
getBillId
())));
// checkUserC - C 接口 测试审核通过
String
url_c
=
baseUrl
+
"C/"
+
detailBillId
+
"?"
+
"pass=1"
;
request
=
put
(
url_c
)
.
header
(
"Origin"
,
"*"
);
mockMvc
.
perform
(
request
)
.
andExpect
(
status
().
isOk
())
.
andDo
(
s
->
System
.
out
.
println
(
String
.
format
(
"[测试结果] 对任务id=%d的任务执行岗位C详情审核操作成功,审核的详情表id为%d"
,
initTask
.
getId
(),
initTask
.
getBillId
())));
// checkUserC - D 接口 测试审核通过
String
url_d
=
baseUrl
+
"C/"
+
detailBillId
+
"?"
+
"pass=1"
;
request
=
put
(
url_c
)
.
header
(
"Origin"
,
"*"
);
mockMvc
.
perform
(
request
)
.
andExpect
(
status
().
isOk
())
.
andDo
(
s
->
System
.
out
.
println
(
String
.
format
(
"[测试结果] 对任务id=%d的任务执行岗位D详情审核操作成功,审核的详情表id为%d"
,
initTask
.
getId
(),
initTask
.
getBillId
())));
// 统计数据确认接口
// 获取父级的billId
Integer
statTaskId
=
initTask
.
getParentTaskId
();
Integer
statId
=
taskRepo
.
findById
(
statTaskId
).
get
().
getBillId
();
String
url_verify
=
"/check/confirm/stat/verify?statId="
+
statId
;
request
=
post
(
url_verify
)
.
header
(
"Origin"
,
"*"
);
mockMvc
.
perform
(
request
)
.
andExpect
(
status
().
isOk
())
.
andDo
(
s
->
System
.
out
.
println
(
String
.
format
(
"[测试结果] 对任务id=%d的任务执行统计数据确认操作成功,审核的数据表id为%d"
,
statTaskId
,
statId
)));
//
// checkUserB 接口 测试审核通过
//
String url_b = baseUrl + "B/" + detailBillId + "?" + "checkStatus=1";
//
request = put(url_b)
//
.header("Origin", "*");
//
//
mockMvc.perform(request)
//
.andExpect(status().isOk())
//
.andDo(s -> System.out.println(
//
String.format("[测试结果] 对任务id=%d的任务执行岗位B详情审核操作成功,审核的详情表id为%d",
//
initTask.getId(),
//
initTask.getBillId())));
//
//
// checkUserC - C 接口 测试审核通过
//
String url_c = baseUrl + "C/" + detailBillId + "?" + "pass=1";
//
request = put(url_c)
//
.header("Origin", "*");
//
//
mockMvc.perform(request)
//
.andExpect(status().isOk())
//
.andDo(s -> System.out.println(
//
String.format("[测试结果] 对任务id=%d的任务执行岗位C详情审核操作成功,审核的详情表id为%d",
//
initTask.getId(),
//
initTask.getBillId())));
//
//
// checkUserC - D 接口 测试审核通过
//
String url_d = baseUrl + "C/" + detailBillId + "?" + "pass=1";
//
request = put(url_c)
//
.header("Origin", "*");
//
//
mockMvc.perform(request)
//
.andExpect(status().isOk())
//
.andDo(s -> System.out.println(
//
String.format("[测试结果] 对任务id=%d的任务执行岗位D详情审核操作成功,审核的详情表id为%d",
//
initTask.getId(),
//
initTask.getBillId())));
//
//
// 统计数据确认接口
//
// 获取父级的billId
//
Integer statTaskId = initTask.getParentTaskId();
//
Integer statId = taskRepo.findById(statTaskId).get().getBillId();
//
String url_verify = "/check/confirm/stat/verify?statId=" + statId;
//
request = post(url_verify)
//
.header("Origin", "*");
//
//
mockMvc.perform(request)
//
.andExpect(status().isOk())
//
.andDo(s -> System.out.println(
//
String.format("[测试结果] 对任务id=%d的任务执行统计数据确认操作成功,审核的数据表id为%d",
//
statTaskId,
//
statId)));
// 结束之后删除本次建立的数据 包括 task 以及相应的业务表数据
// 删除父级任务
...
...
dev-union/src/test/java/com/tykj/dev/union/BaseTest.java
浏览文件 @
f12f5dfb
...
...
@@ -15,6 +15,6 @@ import org.springframework.transaction.annotation.Transactional;
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
(
classes
=
UnionApplication
.
class
,
webEnvironment
=
SpringBootTest
.
WebEnvironment
.
RANDOM_PORT
)
@AutoConfigureMockMvc
@Transactional
//
@Transactional
public
class
BaseTest
{
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论