package cn.flightfeather.supervision.business.report.cols
|
|
import cn.flightfeather.supervision.business.report.BaseCols
|
import cn.flightfeather.supervision.business.report.DataSource
|
import cn.flightfeather.supervision.common.utils.Constant
|
import cn.flightfeather.supervision.common.utils.DateUtil
|
import cn.flightfeather.supervision.common.utils.ExcelUtil
|
|
//监管详情
|
class ColInspectionInfo() : BaseCols() {
|
override fun onHeads(dataSource: DataSource): MutableList<MutableList<ExcelUtil.MyCell>> {
|
return mutableListOf(mutableListOf(
|
ExcelUtil.MyCell("监管时间"),
|
ExcelUtil.MyCell("巡查人员"),
|
ExcelUtil.MyCell("问题类型"),
|
ExcelUtil.MyCell("问题描述"),
|
ExcelUtil.MyCell("问题位置"),
|
ExcelUtil.MyCell("问题数"),
|
ExcelUtil.MyCell("整改时间"),
|
ExcelUtil.MyCell("整改情况"),
|
ExcelUtil.MyCell("整改问题"),
|
ExcelUtil.MyCell("整改数"),
|
ExcelUtil.MyCell("未整改问题"),
|
ExcelUtil.MyCell("未整改数"),
|
ExcelUtil.MyCell("审核情况"),
|
ExcelUtil.MyCell("问题审核时间"),
|
ExcelUtil.MyCell("整改审核时间"),
|
ExcelUtil.MyCell("问题整改率"),
|
))
|
}
|
|
override fun onOneRow(rowData: DataSource.RowData): List<Any> {
|
val dateUtil = DateUtil()
|
val row = mutableListOf<Any>()
|
if (rowData.noRecord()) {
|
repeat(heads.last().size) { row.add(("")) }
|
} else {
|
row.apply {
|
// 表头:巡查情况及问题、整改统计
|
//监管时间
|
add(dateUtil.DateToString(rowData.subTask?.planstarttime, DateUtil.DateStyle.MM_DD) ?: "")
|
//巡查人员
|
add(rowData.subTask?.executorrealtimes?.replace("#", "、") ?: "")
|
//查询子任务对应的问题,并且根据条件进行筛选
|
var y = 1
|
var pType = ""//问题类型
|
var pDes = ""//问题描述
|
var pLoc = ""//问题位置
|
var pNum = 0//问题数
|
var changeTime = ""//整改时间
|
var pChanged = ""//整改情况
|
var changedProblem = ""//整改问题
|
var cNum = 0//整改数
|
var unChangedProblem = ""//未整改问题
|
var unChangeNum = 0//未整改数
|
var checkStatus = ""//审核情况
|
var pCheckTime = ""//问题审核时间
|
var cCheckTime = ""//整改审核时间
|
var changePercent = ""//问题整改率
|
rowData.problems.forEach { p ->
|
var typeName = ""
|
for (t in rowData.problemTypes) {
|
if (t.guid == p.ptguid) {
|
typeName = t.typename ?: ""
|
break
|
}
|
}
|
val lr = if (y > 1) "\n" else ""
|
//巡查情况及问题、整改统计
|
pType += "${lr}$y、${typeName}"
|
pDes += "${lr}$y、${p.problemname}"
|
pLoc += "${lr}$y、${p.location}"
|
pNum++
|
changeTime = "${lr}$y、${dateUtil.DateToString(p.changedtime, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_CN)}"
|
pChanged += "${lr}$y、${if (p.ischanged == true) "✓" else "×"}"
|
if (p.ischanged == true) {
|
if (changedProblem.isNotBlank()) {
|
changedProblem += "\n"
|
}
|
changedProblem += "$y、${p.problemname}"
|
cNum++
|
} else {
|
if (unChangedProblem.isNotBlank()) {
|
unChangedProblem += "\n"
|
}
|
unChangedProblem += "$y、${p.problemname}"
|
unChangeNum++
|
}
|
val status = when (p.extension3) {
|
Constant.PROBLEM_CHECK_PASS -> "问题审核通过"//
|
Constant.PROBLEM_CHECK_FAIL -> "问题审核未通过"//
|
Constant.PROBLEM_UNCHECKED -> "问题未审核"//
|
Constant.CHANGE_UNCHECKED -> "整改未审核"//
|
Constant.CHANGE_CHECK_PASS -> "整改审核通过"//
|
Constant.CHANGE_CHECK_FAIL -> "整改审核未通过"//
|
else -> "问题未审核"
|
}
|
checkStatus += "${lr}$y、${status}"
|
changePercent = if (pNum == 0) "" else "${(cNum * 100 / pNum)}%"
|
y++
|
}
|
addAll(
|
listOf(
|
pType, pDes, pLoc, pNum, changeTime, pChanged, changedProblem, cNum,
|
unChangedProblem, unChangeNum, checkStatus, pCheckTime, cCheckTime, changePercent
|
)
|
)
|
}
|
}
|
return row
|
}
|
}
|