package cn.flightfeather.supervision.business.fume.item
|
|
import cn.flightfeather.supervision.business.ScoreItem
|
import cn.flightfeather.supervision.domain.ds1.entity.Evaluationsubrule
|
import cn.flightfeather.supervision.domain.ds1.entity.Evaluationsubrule2
|
import cn.flightfeather.supervision.domain.ds2.entity.LedgerRecord
|
import cn.flightfeather.supervision.domain.ds2.entity.LedgerSubType
|
import cn.flightfeather.supervision.domain.ds2.mapper.LedgerRecordMapper
|
import cn.flightfeather.supervision.domain.ds2.mapper.LedgerSubTypeMapper
|
import org.springframework.beans.factory.annotation.Autowired
|
import org.springframework.stereotype.Component
|
import tk.mybatis.mapper.entity.Example
|
import javax.annotation.PostConstruct
|
|
@Component
|
class ScoreItem_7: ScoreItem() {
|
companion object {
|
private lateinit var instance: ScoreItem_7
|
}
|
|
@PostConstruct
|
fun init() {
|
instance = this
|
}
|
|
init {
|
exemption = true
|
}
|
|
@Autowired
|
lateinit var ledgerRecordMapper: LedgerRecordMapper
|
|
@Autowired
|
lateinit var ledgerSubTypeMapper: LedgerSubTypeMapper
|
|
override var id: String = "wfzFTlcZ3xMdj5M2"
|
|
override var name: String = "台账管理"
|
|
/**
|
* 在线台账记录的提交类别完整性和及时性
|
* 选项r如下:
|
* 1.台账类别齐全、完整、及时记录更新
|
* 2.台账少量缺失或未及时记录更新
|
* 3.台账严重缺失或关键台账无效
|
*/
|
override fun otherProblem(size: Int): Int? {
|
// TODO: 2021/3/9 找出用户类型对应的必填台账
|
val ledgerTypeCount = ledgerSubTypeMapper.selectCountByExample(Example(LedgerSubType::class.java).apply {
|
createCriteria().andEqualTo("lScenetype", "1").andEqualTo("lNeedupdate", true)
|
})
|
val rCount = ledgerRecordMapper.selectCountByExample(Example(LedgerRecord::class.java).apply {
|
createCriteria().andEqualTo("lrYear", info.year)
|
.andGreaterThanOrEqualTo("lrSubmitdate", info.sTime)
|
.andLessThanOrEqualTo("lrSubmitdate", info.eTime)
|
.andEqualTo("lrSubmitid", info.tzUserId)
|
})
|
var i = 1
|
if (condition1(ledgerTypeCount, rCount)) {
|
if (i > size - 1) i = size - 1
|
return i
|
} else if (condition2(ledgerTypeCount, rCount)) {
|
i = 2
|
if (i > size - 1) i = size - 1
|
return i
|
}
|
return null
|
}
|
|
/**
|
* @param c1 必填项台账类别数
|
* @param c2 实际上传数
|
* @return true 台账少量缺失或未及时记录更新
|
*/
|
private fun condition1(c1: Int, c2: Int): Boolean {
|
return c2 > 0 && c2 < c1 * info.period
|
}
|
|
/**
|
* @param c1 必填项台账类别数
|
* @param c2 实际上传数
|
* @return true 台账严重缺失或关键台账无效
|
*/
|
private fun condition2(c1: Int, c2: Int): Boolean {
|
return c2 == 0
|
}
|
}
|