From 0392c333ed3d987cb2ab3dac4e1a972cff405f21 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 25 四月 2024 17:42:08 +0800 Subject: [PATCH] 1. 新增后台任务关联模块 2. 新增自动评分后台任务; 3. 修复部分bug --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt | 126 ++++++++++++++---------------------------- 1 files changed, 42 insertions(+), 84 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt index 1cebbb9..676a708 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SubtaskServiceImpl.kt @@ -1,13 +1,13 @@ package cn.flightfeather.supervision.lightshare.service.impl -import cn.flightfeather.supervision.business.storage.JinAnScore -import cn.flightfeather.supervision.business.storage.StAutoScore -import cn.flightfeather.supervision.business.storage.item.* +import cn.flightfeather.supervision.business.autooutput.score.AopEvaluation +import cn.flightfeather.supervision.common.exception.BizException import cn.flightfeather.supervision.domain.ds1.entity.* import cn.flightfeather.supervision.domain.ds1.mapper.* import cn.flightfeather.supervision.common.utils.Constant import cn.flightfeather.supervision.common.utils.DateUtil import cn.flightfeather.supervision.common.utils.UUIDGenerator +import cn.flightfeather.supervision.domain.ds1.repository.TaskRep import cn.flightfeather.supervision.lightshare.service.SubtaskService import cn.flightfeather.supervision.lightshare.service.TaskService import cn.flightfeather.supervision.lightshare.vo.* @@ -18,26 +18,19 @@ import org.springframework.transaction.annotation.Transactional import tk.mybatis.mapper.entity.Example import tk.mybatis.mapper.util.StringUtil +import java.time.LocalDateTime import java.util.* import kotlin.math.ceil @Service class SubtaskServiceImpl( private val subtaskMapper: SubtaskMapper, - private val mpScoreItem_1: MpScoreItem_1, - private val mpScoreItem_2: MpScoreItem_2, - private val stScoreItem_1: StScoreItem_1, - private val whScoreItem_1: WhScoreItem_1, - private val whScoreItem_2: WhScoreItem_2, - private val jinAnScore: JinAnScore, + private val aopEvaluation: AopEvaluation, + private val taskRep: TaskRep, ) : SubtaskService { val dateUtil = DateUtil() - @Autowired - lateinit var scoreItem1: CsScoreItem_1 - @Autowired - lateinit var scoreItem2: CsScoreItem_2 @Autowired lateinit var taskService: TaskService @Autowired @@ -71,7 +64,7 @@ if (StringUtil.isNotEmpty(areaVo.towncode)) criteria.andEqualTo("towncode", areaVo.towncode) criteria.andBetween("planstarttime", areaVo.starttime, areaVo.endtime) - if (!Objects.equals(userGuid, Constant.UserType.ALLUSER.text)) + if (!Objects.equals(userGuid, Constant.UserType.ALL_USER.des)) criteria.andLike("executorguids","%"+userGuid+"%") var completecount = 0 var subtasklist = subtaskMapper.selectByExample(example) @@ -479,20 +472,7 @@ criteria.andEqualTo("stguid", subtask.stguid) val result = evaluationMapper.selectByExample(example) if (result.isEmpty()) { -// if (subtask.districtname == "寰愭眹鍖�") { -// val autoScore = AutoScore2() -// autoScore.subtask = subtask -// autoScore.calculateScore() -// } else { -// val autoScore = AutoScore() -// autoScore.subtask = subtask -// autoScore.calculateScore() -// } - val s = scenseMapper.selectByPrimaryKey(subtask.scenseid) - val autoScore = StAutoScore(scoreItem1, scoreItem2, mpScoreItem_1, mpScoreItem_2, stScoreItem_1, - whScoreItem_1, whScoreItem_2, jinAnScore) - autoScore.sceneType = Constant.ScenseType.getByValue(s.typeid?.toString()) - autoScore.sceneGrade(subtask) + aopEvaluation.executeBySubTask(subtask) } } @@ -1022,67 +1002,45 @@ return resultList } - override fun getByTopTaskAndDate(topTaskId: String, startTime: String?, endTime: String?, sceneTypeId: Int?): List<Subtask> { -// val startDate = dateUtil.StringToDate(startTime) -// val endDate = dateUtil.StringToDate(endTime) -// -// val cal = Calendar.getInstance().apply { time = startDate } -// val _startTime = dateUtil.DateToString(cal.time, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS) ?: startTime -// -// if (endDate == null) { -// cal.add(Calendar.MONTH, 1) -// cal.add(Calendar.DAY_OF_MONTH, -1) -// } else { -// cal.time = endDate -// } -// cal.set(Calendar.HOUR_OF_DAY, 23) -// cal.set(Calendar.MINUTE, 59) -// cal.set(Calendar.SECOND, 59) -// val _endTime = dateUtil.DateToString(cal.time, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS) ?: endTime + override fun getByTopTaskAndDate( + topTaskId: String, + startTime: String?, + endTime: String?, + sceneTypeId: Int? + ): List<Subtask> { - val resultList = subtaskMapper.selectByTopTask2(topTaskId, sceneTypeId) - - return resultList + return subtaskMapper.selectByTopTask2(topTaskId, sceneTypeId) } override fun getSummary(topTaskId: String, sceneTypeId: Int?): List<SubTaskSummary> { -// val result = mutableListOf<SubTaskSummary>() - -// subtaskMapper.selectByTopTask2(topTaskId, sceneTypeId).forEach { -// val scene = scenseMapper.selectByPrimaryKey(it.scenseid) -// var p = 0 -// var c = 0 -// var pc = 0 -// var cc = 0 -// problemlistMapper.selectByExample(Example(Problemlist::class.java).apply { -// createCriteria().andEqualTo("stguid", it.stguid) -// }).forEach {pro -> -// p++ -// if (pro.ischanged == true) c++ -// if (pro.extension3 != Constant.PROBLEM_UNCHECKED) pc++ -// if (pro.extension3 == Constant.CHANGE_CHECK_PASS || pro.extension3 == Constant.CHANGE_CHECK_FAIL) cc++ -// } -// val ins = inspectionMapper.selectByExample(Example(Inspection::class.java).apply { -// createCriteria().andEqualTo("stguid", it.stguid) -// }) -// result.add(SubTaskSummary().apply { -// stGuid = it.stguid -// stName = it.name -// if (ins.isNotEmpty()) insGuid = ins[0].guid -// sceneId = it.scenseid -// sceneName = scene.name -// sceneType = scene.type -// stPlanTime = it.planstarttime -// proNum = p -// changeNum = c -// proCheckedNum = pc -// changeCheckedNum = cc -// }) -// } - -// return result - return subtaskMapper.getSummary(topTaskId, sceneTypeId) + } + override fun getSummaryByArea(areaVo: AreaVo): List<TaskProgressVo> { + areaVo.scensetypeid ?: throw BizException("缂哄皯鍦烘櫙绫诲瀷鍙傛暟") + val res = mutableListOf<TaskProgressVo>() + taskRep.findTasks(areaVo).forEach {t-> + if (t?.tguid == null) return@forEach + val pro = TaskProgressVo().apply { + tguid = t.tguid + name = t.name + levelnum = t.levelnum + provinceCode = t.provincecode + provinceName = t.provincename + cityCode = t.citycode + cityName = t.cityname + districtCode = t.districtcode + districtName = t.districtname + townCode = t.towncode + townName = t.townname + subTaskSummary = subtaskMapper.getSummary(t.tguid!!, areaVo.scensetypeid?.toIntOrNull()) + } + res.add(pro) + } + return res + } + + override fun getByScene(sceneId: String, startTime: LocalDateTime?, endTime: LocalDateTime?): List<SubTaskSummary> { + return subtaskMapper.getSummaryByScene(sceneId, startTime, endTime) } } \ No newline at end of file -- Gitblit v1.9.3