1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package cn.flightfeather.supervision.lightshare.vo
 
import org.apache.poi.hpsf.Decimal
import java.math.BigDecimal
import java.text.DecimalFormat
import java.util.*
import kotlin.math.round
 
/**
 * @author riku
 * Date: 2019/7/30
 * 日任务进度类
 */
class DayTaskProgressVo {
    //日任务id
    var guid: String? = null
 
    //日任务时间
    var date: Date? = null
 
    //所属顶层任务id
    var tsGuid: String? = null
 
    //总子任务数
    var totalTaskNum: Int = 0
 
    //完成子任务数
    var completeTaskNum: Int = 0
 
    //已整改子任务数
    var changedTaskNum: Int = 0
 
    //当存在至少一个问题没有审核时,当日审核状态为未审核
    var check: Boolean = false
 
    // 总问题数
    var totalProblemNum: Int = 0
    // 总整改问题数
    var changedProblemNum: Int = 0
 
    // 每个用户的单日任务进度
    var progressPerUser: List<ProgressPerUserPerDay>? = null
}
 
class ProgressPerUserPerDay{
    //用户id
    var userId: String? = null
    //用户名
    var userName: String? = null
 
    //总子任务数
    var totalTaskNum: Double = .0
    //完成子任务数
    var completeTaskNum: Double = .0
 
    // 总问题数
    var totalProblemNum: Double = .0
    //已整改问题数
    var changedProblemNum: Double = .0
    //已整改问题数(在当天内整改)
    var changedProblemNumOnTime: Double = .0
    //有效整改问题数量(48小时内)
    var efficientChangedProNum: Double = .0
 
    //平均巡查时长(秒)
    var avgInspectionTime: Long = 0
 
    /**
     * 格式化Double参数,保留两位小数,四舍五入
     */
    fun formatParam() {
        totalTaskNum = numberFormat(totalTaskNum)
        completeTaskNum = numberFormat(completeTaskNum)
        totalProblemNum = numberFormat(totalProblemNum)
        changedProblemNum = numberFormat(changedProblemNum)
        changedProblemNumOnTime = numberFormat(changedProblemNumOnTime)
        efficientChangedProNum = numberFormat(efficientChangedProNum)
    }
 
    private fun numberFormat(value:Double): Double {
        return BigDecimal(value).setScale(2, BigDecimal.ROUND_HALF_UP).toDouble()
    }
}