1. 巡查汇总报告功能添加整改跟踪提醒统计列;
2. 新增获取巡查任务统计信息接口;
| | |
| | | } |
| | | }) |
| | | } else { |
| | | taskSceneIdList = dbMapper.monitorobjectversionMapper.getSceneByType(config.topTaskGuid, config.sceneType) |
| | | taskSceneIdList = dbMapper.monitorobjectversionMapper.getSceneByType(config.topTaskGuid, config.sceneType, config.townCode) |
| | | dbMapper.subtaskMapper.selectByExample(Example(Subtask::class.java).apply { |
| | | createCriteria().andIn("scenseid", taskSceneIdList) |
| | | .andEqualTo("tguid", config.topTaskGuid) |
| | |
| | | } |
| | | |
| | | override fun onOneRow(rowData: DataSource.RowData): List<Any> { |
| | | val status = when (rowData.scene?.typeid.toString()) { |
| | | var status: String? = "" |
| | | var stage: String? = "" |
| | | when (rowData.scene?.typeid.toString()) { |
| | | Constant.ScenseType.TYPE1.value -> { |
| | | (rowData.baseScene as SceneConstructionSite?)?.csStatus |
| | | (rowData.baseScene as SceneConstructionSite?)?.apply { |
| | | status = csStatus |
| | | stage = siExtension1 |
| | | } |
| | | } |
| | | Constant.ScenseType.TYPE2.value -> { |
| | | (rowData.baseScene as SceneWharf?)?.getwStatus() |
| | | status = (rowData.baseScene as SceneWharf?)?.getwStatus() |
| | | } |
| | | Constant.ScenseType.TYPE3.value -> { |
| | | (rowData.baseScene as SceneMixingPlant?)?.mpStatus |
| | | status = (rowData.baseScene as SceneMixingPlant?)?.mpStatus |
| | | } |
| | | Constant.ScenseType.TYPE14.value -> { |
| | | (rowData.baseScene as SceneStorageYard?)?.syStatus |
| | | status = (rowData.baseScene as SceneStorageYard?)?.syStatus |
| | | } |
| | | else -> "" |
| | | } |
| | | val s = status ?: "" |
| | | return listOf(s, s) |
| | | return listOf(s, stage ?: "") |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.ExcelUtil |
| | | import java.time.Duration |
| | | import java.time.LocalDateTime |
| | | import java.time.ZoneId |
| | | |
| | | class ColStrategy : BaseCols() { |
| | | override fun onHeads(dataSource: DataSource): MutableList<MutableList<ExcelUtil.MyCell>> { |
| | | return mutableListOf(mutableListOf( |
| | | ExcelUtil.MyCell("æ´æ¹è·è¸ªæé") |
| | | )) |
| | | } |
| | | |
| | | override fun onOneRow(rowData: DataSource.RowData): List<Any> { |
| | | if (rowData.problems.isEmpty()) return listOf("") |
| | | |
| | | val strategyList = listOf( |
| | | "1ãåå¨é®é¢è¶
æ3天䏿»¡7å¤©æªæ´æ¹ï¼ç±ç³»ç»æ¨éæ´æ¹æéï¼", |
| | | "2ãåå¨é®é¢è¶
æ7å¤©æªæ´æ¹ï¼ç±ææ¯æå¡é¨çº¿ä¸ç£ä¿ï¼", |
| | | "3ãå·¡æ¥å10å¤©æææ«å3天ï¼é®é¢æ´æ¹çä½äº50%ï¼ç±æ°æ®åºç¨é¨ä¸å¯¹ä¸ç£ä¿ï¼å¹¶äºä¸»ç®¡é¨é¨èå¨ï¼", |
| | | "4ãé®é¢å®¡æ ¸ææ´æ¹å®¡æ ¸æªå¼å±æé®é¢å®¡æ ¸è¾å·¡æ¥æ¶é´å»¶å24å°æ¶ä»¥ä¸æé®é¢ä¸æ´æ¹æ¶é´é´éè¶
è¿ä¸å¨ï¼é¡¹ç®ç®¡ç人ååºåæ¶å¼å±å®¡æ ¸æåç»åºæåå®¡æ ¸æ¶ææ§ï¼", |
| | | "5ãå°è´¦æªææ¶æäº¤ï¼ç±ææ¯æå¡é¨ä¸å¯¹ä¸ç£ä¿ï¼", |
| | | "6ãå°è´¦å·²é¨åæäº¤ï¼æäº¤æ¯ä¾ä¸è¶³100%çï¼ç±æ°æ®åºç¨é¨ä¸å¯¹ä¸ç£ä¿ï¼", |
| | | "7ã彿é®é¢æ°è¶
3个ä¸å
¨é¨æªæ´æ¹æè¿ç»ä¸¤æé®é¢æ´æ¹çä½äº50%çåºæ¯ï¼å为éç¹ç管ï¼ç±ææ¯æå¡é¨å½æå¢å ä¸å°äºä¸æ¬¡ç°åºå¤æ ¸ï¼", |
| | | "8ãè¿ç»ä¸¤æå°è´¦æäº¤æ¯ä¾ä½äº50%çï¼ç±ææ¯æå¡é¨å½æå¢å 䏿¬¡ç°åºæçº¿ä¸æä½æå¯¼ï¼", |
| | | "9ãå°è´¦å®¡æ ¸è¾æäº¤æ¶é´å»¶å5æ¥ä»¥ä¸æææ«å3æ¥ä»æªå®¡æ ¸çï¼ç±æ°æ®åºç¨é¨åæ¶å¼å±ï¼" |
| | | ) |
| | | |
| | | var result = "" |
| | | val now = LocalDateTime.now() |
| | | |
| | | var cPros = 0//æ´æ¹æ»æ° |
| | | for (p in rowData.problems) { |
| | | if (p.ischanged == true) { |
| | | cPros++ |
| | | continue |
| | | } |
| | | val pTime = LocalDateTime.ofInstant(p.time?.toInstant(), ZoneId.systemDefault()) |
| | | val duration = Duration.between(pTime.toLocalDate(), now) |
| | | val day = duration.toDays() |
| | | |
| | | when { |
| | | day in 3..6 -> { |
| | | result += strategyList[0] + "\n" |
| | | break |
| | | } |
| | | day > 6 -> { |
| | | result += strategyList[1] + "\n" |
| | | break |
| | | } |
| | | } |
| | | } |
| | | //æ´æ¹ç |
| | | val cPer = cPros.toDouble() / rowData.problems.size |
| | | //å·¡æ¥æ¶é´ |
| | | val sTime = LocalDateTime.ofInstant(rowData.subTask?.planstarttime?.toInstant(), ZoneId.systemDefault()) |
| | | val day1 = Duration.between(sTime.toLocalDate(), now).toDays() |
| | | val lastDayOfMon = now.plusMonths(1).withDayOfMonth(1).minusDays(1) |
| | | val day2 = Duration.between(lastDayOfMon.toLocalDate(), now.toLocalDate()).toDays() |
| | | if (cPer < .5 && (day1 >= 10 || day2 <= 3)) result += strategyList[2] + "\n" |
| | | |
| | | //å®¡æ ¸ |
| | | for (p in rowData.problems) { |
| | | //é®é¢å®¡æ ¸ææ´æ¹å®¡æ ¸æªå¼å± |
| | | when (p.extension3) { |
| | | Constant.PROBLEM_UNCHECKED, |
| | | Constant.CHANGE_UNCHECKED -> { |
| | | result += strategyList[3] + "\n" |
| | | break |
| | | } |
| | | } |
| | | //é®é¢å®¡æ ¸è¾å·¡æ¥æ¶é´å»¶å24å°æ¶ä»¥ä¸ |
| | | // TODO: 2022/7/20 |
| | | |
| | | //é®é¢ä¸æ´æ¹æ¶é´é´éè¶
è¿ä¸å¨ |
| | | if (p.changedtime != null) { |
| | | val ct = LocalDateTime.ofInstant(p.changedtime?.toInstant(), ZoneId.systemDefault()) |
| | | val pt = LocalDateTime.ofInstant(p.time?.toInstant(), ZoneId.systemDefault()) |
| | | if (Duration.between(pt.toLocalDate(), ct.toLocalDate()).toDays() > 7) { |
| | | result += strategyList[3] + "\n" |
| | | break |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | //å°è´¦ |
| | | val rNum = rowData.ledgerRecords.size |
| | | if (rNum == 0) result += strategyList[4] + "\n" |
| | | if (rNum != 0 && rNum < rowData.ledgerCount) result += strategyList[5] + "\n" |
| | | |
| | | //7ã彿é®é¢æ°è¶
3个ä¸å
¨é¨æªæ´æ¹æè¿ç»ä¸¤æé®é¢æ´æ¹çä½äº50%çåºæ¯ï¼å为éç¹ç管ï¼ç±ææ¯æå¡é¨å½æå¢å ä¸å°äºä¸æ¬¡ç°åºå¤æ ¸ï¼ |
| | | if (rowData.problems.size > 3 && cPros == 0) { |
| | | } |
| | | |
| | | //8ãè¿ç»ä¸¤æå°è´¦æäº¤æ¯ä¾ä½äº50%çï¼ç±ææ¯æå¡é¨å½æå¢å 䏿¬¡ç°åºæçº¿ä¸æä½æå¯¼ï¼ |
| | | //9ãå°è´¦å®¡æ ¸è¾æäº¤æ¶é´å»¶å5æ¥ä»¥ä¸æææ«å3æ¥ä»æªå®¡æ ¸çï¼ç±æ°æ®åºç¨é¨åæ¶å¼å±ï¼ |
| | | |
| | | return strategyList |
| | | } |
| | | } |
| | |
| | | else -> ExcelUtil.MyCell("è¶
åºèå´ï¼${s}", fontColor = HSSFColor.HSSFColorPredefined.BLACK.index) |
| | | } |
| | | val normalization = when (s) { |
| | | in 0..59 -> ExcelUtil.MyCell("严éä¸è§è", fontColor = HSSFColor.HSSFColorPredefined.RED.index) |
| | | in 60..89 -> ExcelUtil.MyCell("ä¸è§è", fontColor = HSSFColor.HSSFColorPredefined.ROSE.index) |
| | | in 0..39 -> ExcelUtil.MyCell("严éä¸è§è", fontColor = HSSFColor.HSSFColorPredefined.RED.index) |
| | | in 40..89 -> ExcelUtil.MyCell("ä¸è§è", fontColor = HSSFColor.HSSFColorPredefined.ROSE.index) |
| | | in 90..99 -> ExcelUtil.MyCell("åºæ¬è§è", fontColor = HSSFColor.HSSFColorPredefined.GOLD.index) |
| | | 100 -> ExcelUtil.MyCell("è§è", fontColor = HSSFColor.HSSFColorPredefined.BRIGHT_GREEN.index) |
| | | -1 -> ExcelUtil.MyCell("", fontColor = HSSFColor.HSSFColorPredefined.BLACK.index) |
| | |
| | | else -> "" |
| | | } |
| | | // FIXME: 2022/7/18 åç»åºæ¯çæ½å·¥ç¶ææ¹ä¸ºå¸å°å¼åå¨ |
| | | if ((status?.contains("å®å·¥") == true) || (status?.contains("æªæ½å·¥") == true) || (status?.contains("å") == true) |
| | | if ((status?.contains("å®å·¥") == true) || (status?.contains("æªæ½å·¥") == true) || (status?.contains("åå·¥") == true) |
| | | || (status?.contains("å
³") == true) |
| | | ) { |
| | | inactiveScenes++ |
| | |
| | | |
| | | summarys.sortByDescending { it.count } |
| | | |
| | | var tPros = 0 |
| | | var mainTPros = 0 |
| | | var pDes = "" |
| | | for (i in summarys.indices) { |
| | | val it = summarys[i] |
| | | tPros += it.count |
| | | if (i < max) { |
| | | val lr = if (i > 0) "\n" else "" |
| | | mainTPros += it.count |
| | | pDes += "${lr}${i+1}ã${it.proDes}" |
| | | } |
| | | } |
| | | var per = if (tPros == 0) .0 else mainTPros.toDouble() / tPros |
| | | |
| | | head.clear() |
| | | head.add( |
| | | mutableListOf( |
| | |
| | | ExcelUtil.MyCell("主è¦é®é¢å æ¯"), |
| | | ) |
| | | ) |
| | | for (i in summarys.indices) { |
| | | if (i >= max) break |
| | | // for (i in summarys.indices) { |
| | | // if (i >= max) break |
| | | // |
| | | // val s = summarys[i] |
| | | // contents.add( |
| | | // mutableListOf( |
| | | // i + 1, dataSource.year, dataSource.month, dataSource.rowData.scene?.type ?: "", dataSource.area, s.count, |
| | | // s.proDes, s.count, ExcelUtil.MyCell(s.countPer.toString(), isPercent = true) |
| | | // ) |
| | | // ) |
| | | // } |
| | | |
| | | val s = summarys[i] |
| | | contents.add( |
| | | mutableListOf( |
| | | i + 1, dataSource.year, dataSource.month, dataSource.rowData.scene?.type ?: "", dataSource.area, s.count, |
| | | s.proDes, s.count, ExcelUtil.MyCell(s.countPer.toString(), isPercent = true) |
| | | 1, dataSource.year, dataSource.month, dataSource.rowData.scene?.type ?: "", dataSource.area, tPros, |
| | | pDes, mainTPros, ExcelUtil.MyCell(per.toString(), isPercent = true) |
| | | ) |
| | | ) |
| | | } |
| | | } |
| | | } |
| | |
| | | val proMap = mutableMapOf<String?, MutableMap<String?, Summary>>() |
| | | dataSource.loop { _, rowData -> |
| | | rowData.problems.forEach { |
| | | val s = (rowData.baseScene as SceneConstructionSite?)?.csStatus |
| | | val baseScene = rowData.baseScene as SceneConstructionSite? |
| | | val s = baseScene?.siExtension1 |
| | | if (!proMap.containsKey(s)) { |
| | | proMap[s] = mutableMapOf() |
| | | } |
| | |
| | | proMap[s]?.put(pt, Summary().apply { |
| | | for (p in rowData.problemTypes) { |
| | | if (p.guid == pt) { |
| | | status = s ?: "" |
| | | stage = s ?: "" |
| | | status = baseScene?.csStatus ?: "" |
| | | proType = p.typename ?: "" |
| | | proDes = p.description ?: "" |
| | | break |
| | |
| | | val s = summarys[i] |
| | | contents.add( |
| | | mutableListOf( |
| | | i + 1, dataSource.year, dataSource.month, dataSource.rowData.scene?.type ?: "", dataSource.area, s.status, s.status, |
| | | i + 1, dataSource.year, dataSource.month, dataSource.rowData.scene?.type ?: "", dataSource.area, s.status, s.stage, |
| | | s.proType, s.proDes, |
| | | s.count, ExcelUtil.MyCell(s.countPer.toString(), isPercent = true), |
| | | s.changeNum, ExcelUtil.MyCell(s.changePer.toString(), isPercent = true), |
| | |
| | | |
| | | inner class Summary() { |
| | | var status = "" |
| | | var stage = "" |
| | | var proType = "" |
| | | var proDes = "" |
| | | var count = 0 |
| | |
| | | */ |
| | | override fun otherProblem(size: Int): Int? { |
| | | val p = problemlistMapper.selectByExample(Example(Problemlist::class.java).apply { |
| | | createCriteria().andEqualTo("sguid", info.sceneId) |
| | | .andGreaterThanOrEqualTo("time", info.sTime) |
| | | .andLessThan("time", info.eTime) |
| | | createCriteria().andEqualTo("stguid", info.subTask?.stguid) |
| | | // .andGreaterThanOrEqualTo("time", info.sTime) |
| | | // .andLessThan("time", info.eTime) |
| | | }) |
| | | var i = 0 |
| | | |
| | |
| | | @Mapper |
| | | interface MonitorobjectversionMapper:MyMapper<Monitorobjectversion> { |
| | | |
| | | @Select("select b.S_GUID from sm_t_monitorobjectversion as a left join sm_t_scense as b on a.S_GUID = b.S_GUID" + |
| | | " where a.T_ID = #{param1} and b.S_TypeID = #{param2}") |
| | | fun getSceneByType(topTaskId: String, sceneTypeId: Int): List<String> |
| | | // @Select("select b.S_GUID from sm_t_monitorobjectversion as a left join sm_t_scense as b on a.S_GUID = b.S_GUID" + |
| | | // " where a.T_ID = #{param1} and b.S_TypeID = #{param2}") |
| | | fun getSceneByType(topTaskId: String, sceneTypeId: Int, townCode: String? = null): List<String> |
| | | } |
| | |
| | | fun selectByTopTask(topTaskId: String, startTime: String, endTime: String, sceneTypeId: Int? = null): List<SubtaskVo> |
| | | |
| | | fun selectByTopTask2(topTaskId: String, sceneTypeId: Int? = null): List<Subtask> |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | fun findByDate(date: String, userId: String): List<SubtaskVo> |
| | | |
| | | fun getByTopTaskAndDate(topTaskId: String, startTime: String, endTime: String, sceneTypeId: Int? = null): List<SubtaskVo> |
| | | fun getByTopTaskAndDate(topTaskId: String, startTime: String?, endTime: String?, sceneTypeId: Int? = null): List<Subtask> |
| | | |
| | | fun getSummary(topTaskId: String, sceneTypeId: Int? = null): List<SubTaskSummary> |
| | | } |
| | |
| | | mediafileMapper.deleteByExample(Example(Mediafile::class.java).apply { |
| | | createCriteria().andEqualTo("businessguid", id) |
| | | }) |
| | | //æ´æ°å·¡æ¥ä¿¡æ¯ä¸çé®é¢æ°é |
| | | val inspection = inspectionMapper.selectByPrimaryKey(p.iguid) |
| | | if (inspection.problemcount != null && inspection.problemcount!! > 0) { |
| | | inspection.problemcount = inspection.problemcount!! - 1 |
| | | inspectionMapper.updateByPrimaryKey(inspection) |
| | | } |
| | | BaseResponse(true, "é®é¢å 餿å", data = i) |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | //æ´æ°å·¡æ¥ä¿¡æ¯çé®é¢æ° |
| | | if (inspection.problemcount != null) { |
| | | inspection.problemcount = inspection.problemcount!! + 1 |
| | | inspectionMapper.updateByPrimaryKey(inspection) |
| | | } |
| | | |
| | | return BaseResponse(true) |
| | | } |
| | | |
| | |
| | | return resultList |
| | | } |
| | | |
| | | override fun getByTopTaskAndDate(topTaskId: String, startTime: String, endTime: String, sceneTypeId: Int?): List<SubtaskVo> { |
| | | 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 |
| | | |
| | | // val resultList = mutableListOf<SubtaskVo>() |
| | | val resultList = subtaskMapper.selectByTopTask(topTaskId, _startTime, _endTime, sceneTypeId) |
| | | // subtaskMapper.selectByExample(Example(Subtask::class.java).apply { |
| | | // createCriteria() |
| | | // .andGreaterThanOrEqualTo("planstarttime", startDate) |
| | | // .andLessThanOrEqualTo("planstarttime", endDate) |
| | | // .andEqualTo("tguid", topTaskId) |
| | | // }).forEach { |
| | | // val vo = SubtaskVo() |
| | | // BeanUtils.copyProperties(it, vo) |
| | | // resultList.add(vo) |
| | | 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 |
| | | |
| | | val resultList = subtaskMapper.selectByTopTask2(topTaskId, sceneTypeId) |
| | | |
| | | return resultList |
| | | } |
| | | |
| | | 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++ |
| | | } |
| | | result.add(SubTaskSummary().apply { |
| | | stGuid = it.stguid |
| | | stName = it.name |
| | | sceneId = it.scenseid |
| | | sceneName = scene.name |
| | | sceneType = scene.type |
| | | stPlanTime = it.planstarttime |
| | | proNum = p |
| | | changeNum = c |
| | | proCheckedNum = pc |
| | | changeCheckedNum = cc |
| | | }) |
| | | } |
| | | |
| | | return result |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package cn.flightfeather.supervision.lightshare.vo |
| | | |
| | | import java.util.* |
| | | |
| | | class SubTaskSummary { |
| | | var stGuid: String? = null |
| | | var stName: String? = null |
| | | var sceneId: String? = null |
| | | var sceneName: String? = null |
| | | var sceneType: String? = null |
| | | var stPlanTime: Date? = null |
| | | |
| | | var proNum = 0 |
| | | var changeNum = 0 |
| | | |
| | | var proCheckedNum: Int = 0 |
| | | var changeCheckedNum: Int = 0 |
| | | } |
| | |
| | | import cn.flightfeather.supervision.lightshare.vo.AreaVo |
| | | import cn.flightfeather.supervision.lightshare.vo.TaskVo |
| | | import io.swagger.annotations.Api |
| | | import io.swagger.annotations.ApiOperation |
| | | import org.springframework.web.bind.annotation.* |
| | | |
| | | @Api(tags = ["SubtaskController"], description = "å·¡æ¥åä»»å¡APIæ¥å£") |
| | |
| | | @GetMapping("/getSubTask") |
| | | fun getByTopTaskAndDate( |
| | | @RequestParam("topTaskId") topTaskId: String, |
| | | @RequestParam("startTime") startTime: String, |
| | | @RequestParam("endTime") endTime: String, |
| | | @RequestParam(value = "startTime", required = false) startTime: String?, |
| | | @RequestParam(value = "endTime", required = false) endTime: String?, |
| | | @RequestParam(value = "sceneTypeId", required = false) sceneTypeId: Int? |
| | | ) = subtaskService.getByTopTaskAndDate(topTaskId, startTime, endTime, sceneTypeId) |
| | | |
| | | @ApiOperation("è·åæç±»åºæ¯çå·¡æ¥ä»»å¡ç»è®¡ä¿¡æ¯") |
| | | @GetMapping("/summary") |
| | | fun getByTopTaskAndDate( |
| | | @RequestParam("topTaskId") topTaskId: String, |
| | | @RequestParam(value = "sceneTypeId", required = false) sceneTypeId: Int? |
| | | ) = subtaskService.getSummary(topTaskId, sceneTypeId) |
| | | } |
| | |
| | | MOV_Suitable, MOV_DisplayID, MOV_Year, MOV_Month, MOV_Day, MOV_ISCP, MOV_CustomPeriod, |
| | | MOV_Extension1, MOV_Extension2, MOV_Extension3, MOV_Remark |
| | | </sql> |
| | | |
| | | <select id="getSceneByType" resultType="String"> |
| | | select |
| | | b.S_GUID |
| | | from sm_t_monitorobjectversion as a |
| | | left join sm_t_scense as b |
| | | on a.S_GUID = b.S_GUID |
| | | where a.T_ID = #{param1} and b.S_TypeID = #{param2} |
| | | <if test="param3 != null"> |
| | | and b.S_TownCode = #{param3} |
| | | </if> |
| | | </select> |
| | | </mapper> |
| | |
| | | @Test |
| | | fun go() { |
| | | autoScore.sceneType = Constant.ScenseType.TYPE1 |
| | | autoScore.topTaskGrade("tgfMJWdUJqWE6bWo") |
| | | // val subtask = subtaskMapper.selectByPrimaryKey("1DxdkFdVAdQD5Mce") |
| | | autoScore.topTaskGrade("8QN1VzftuhBJmrF8") |
| | | // val subtask = subtaskMapper.selectByPrimaryKey("OPmza2ddEAKiQHqz") |
| | | // autoScore.sceneGrade(subtask) |
| | | // autoScore.sceneGradeToFile(subtask) |
| | | // autoScore3.go(2022, 1, 2) |
| | | // val t = problemlistMapper.getStatisticalResult("310116", "2021-09-01 00:00:00", "2021-09-30 00:00:00", "1") |
| | | // println() |
| | |
| | | |
| | | val mode = 10 |
| | | //éå±±2022å¹´6æ |
| | | searchService.writeToFile(ExcelConfigVo("tgfMJWdUJqWE6bWo", districtCode = "310116", sceneType = 1), mode) |
| | | searchService.writeToFile(ExcelConfigVo( |
| | | "8QN1VzftuhBJmrF8", |
| | | districtCode = "310106", |
| | | // townCode = "310116113", |
| | | sceneType = 1), mode) |
| | | //éå±±2021å¹´3æ |
| | | // searchService.writeToFile(ExcelConfigVo("o7jdSzr79fe0NH3I", districtCode = "310116", sceneType = 1)) |
| | | } |