| | |
| | | package cn.flightfeather.supervision.lightshare.service.impl |
| | | |
| | | import cn.flightfeather.supervision.domain.ds1.entity.Problemlist |
| | | import cn.flightfeather.supervision.domain.ds1.entity.Scense |
| | | import cn.flightfeather.supervision.common.exception.BizException |
| | | import cn.flightfeather.supervision.common.log.BizLog |
| | | import cn.flightfeather.supervision.common.log.WorkStreamLogInfo |
| | | import cn.flightfeather.supervision.common.utils.Constant |
| | | import cn.flightfeather.supervision.common.utils.FileUtil |
| | | import cn.flightfeather.supervision.common.utils.UUIDGenerator |
| | | import cn.flightfeather.supervision.domain.ds1.entity.Mediafile |
| | | import cn.flightfeather.supervision.domain.ds1.entity.* |
| | | import cn.flightfeather.supervision.domain.ds1.mapper.* |
| | | import cn.flightfeather.supervision.domain.ds1.repository.ProblemRep |
| | | import cn.flightfeather.supervision.domain.ds1.repository.SubTaskRep |
| | | import cn.flightfeather.supervision.domain.ds1.repository.TaskRep |
| | | import cn.flightfeather.supervision.lightshare.service.MediafileService |
| | | import cn.flightfeather.supervision.lightshare.service.ProblemlistService |
| | | import cn.flightfeather.supervision.lightshare.service.TaskService |
| | | import cn.flightfeather.supervision.lightshare.vo.* |
| | | import com.fasterxml.jackson.core.type.TypeReference |
| | | import com.fasterxml.jackson.databind.ObjectMapper |
| | | import com.github.pagehelper.PageHelper |
| | | import org.springframework.beans.BeanUtils |
| | | import org.springframework.beans.factory.annotation.Value |
| | | import org.springframework.stereotype.Service |
| | | import org.springframework.web.multipart.MultipartFile |
| | | import tk.mybatis.mapper.entity.Example |
| | |
| | | class ProblemlistServiceImpl( |
| | | val problemlistMapper: ProblemlistMapper, |
| | | val inspectionMapper: InspectionMapper, |
| | | val mediafileMapper: MediafileMapper |
| | | val mediafileMapper: MediafileMapper, |
| | | private val taskRep: TaskRep, |
| | | private val subTaskRep: SubTaskRep, |
| | | private val problemRep: ProblemRep, |
| | | private val bizLog: BizLog, |
| | | @Value("\${filePath}") var filePath: String, |
| | | @Value("\${imgPath}") var imgPath: String, |
| | | ) : ProblemlistService { |
| | | |
| | | @Resource |
| | | lateinit var scenseMapper: ScenseMapper |
| | | |
| | | @Resource |
| | | lateinit var problemtypeMapper: ProblemtypeMapper |
| | | |
| | | @Resource |
| | | lateinit var taskMapper: TaskMapper |
| | | |
| | | @Resource |
| | | lateinit var taskService: TaskService |
| | | |
| | | @Resource |
| | | lateinit var mediafileService: MediafileService |
| | | |
| | | override fun getByTopTask(tguid: String): List<ProblemlistVo> { |
| | | override fun getByTopTask(tguid: String): List<ProblemListVo> { |
| | | TODO("not implemented") //To change body of created functions use File | Settings | File Templates. |
| | | } |
| | | |
| | | //根据场景id和时间获取对应顶层任务下的所有问题 |
| | | override fun getProblemByScene(sceneId: String, date: String): List<ProblemlistVo> { |
| | | override fun getProblemByScene(sceneId: String, date: String): List<ProblemListVo> { |
| | | val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") |
| | | val date1 = simpleDateFormat.parse(date) |
| | | val scene = scenseMapper.selectByPrimaryKey(sceneId) |
| | | val district = scene.districtcode |
| | | val taskVolist = taskService.getByDistrictCode(district!!, date1) |
| | | val problemlistVolistTemp1 = mutableListOf<ProblemlistVo>() |
| | | val problemListVolistTemp1 = mutableListOf<ProblemListVo>() |
| | | if (!taskVolist.isEmpty()) { |
| | | val problemlists = (problemlistMapper.getProblemByScene(sceneId, taskVolist[0].tguid!!)) |
| | | problemlists.forEach { |
| | | // 限制企业查看未审核的问题 |
| | | if (it.extension3 != Constant.PROBLEM_UNCHECKED && it.extension3 != Constant.PROBLEM_CHECK_FAIL) { |
| | | val problemVo = ProblemlistVo(); |
| | | val problemVo = ProblemListVo(); |
| | | BeanUtils.copyProperties(it, problemVo) |
| | | problemlistVolistTemp1.add(problemVo) |
| | | problemListVolistTemp1.add(problemVo) |
| | | } |
| | | } |
| | | problemlistVolistTemp1.forEach { |
| | | problemListVolistTemp1.forEach { |
| | | if (it.ptguid != null) { |
| | | val tmp1 = problemtypeMapper.selectByPrimaryKey(it.ptguid) |
| | | if (tmp1 != null) { |
| | |
| | | } |
| | | } |
| | | } |
| | | return problemlistVolistTemp1 |
| | | return problemListVolistTemp1 |
| | | } |
| | | |
| | | //获取某顶层任务下,某个场景下的问题整改情况 |
| | |
| | | val sceneType = areaVo.scensetypeid |
| | | val startTime = areaVo.starttime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) |
| | | val endTime = areaVo.endtime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) |
| | | val maps = problemlistMapper.getStatisticalResult(districtcode,startTime, endTime, sceneType) |
| | | val statisticsVos = mutableListOf<StatisticsVo>() |
| | | maps.forEach { |
| | | if (!it.isEmpty() && it.get("name") != null) { |
| | | val statisticsVo = StatisticsVo() |
| | | statisticsVo.name = it.get("name").toString() |
| | | try { |
| | | statisticsVo.count = it.get("count").toString().toInt() |
| | | } catch (e: Exception) { |
| | | } |
| | | try { |
| | | statisticsVo.changeCount = it.get("changeCount").toString().toInt() |
| | | } catch (e: Exception) { |
| | | } |
| | | statisticsVos.add(statisticsVo) |
| | | } |
| | | } |
| | | return statisticsVos |
| | | return problemlistMapper.getStatisticalResult(districtcode, startTime, endTime, sceneType, areaVo.sceneId) |
| | | } |
| | | |
| | | override fun getChargeResult(areaVo: AreaVo): ChargeInfoVo { |
| | |
| | | } catch (e: Exception) { |
| | | } |
| | | try { |
| | | sceneInfo.changeCount =it.get("changeCount").toString().toInt() |
| | | sceneInfo.changeCount = it.get("changeCount").toString().toInt() |
| | | } catch (e: Exception) { |
| | | } |
| | | chargeInfoVo.sceneInfos.add(sceneInfo) |
| | |
| | | var curScore = -1 |
| | | if (it.get("scoreAft") != null) { |
| | | curScore = it.get("scoreAft").toString().toInt() |
| | | }else if (it.get("scoreBef") != null) { |
| | | } else if (it.get("scoreBef") != null) { |
| | | curScore = it.get("scoreBef").toString().toInt() |
| | | } |
| | | if (curScore >= 100) { |
| | | scoreInfo1.count++ |
| | | }else if (curScore >= 78 && curScore < 100) { |
| | | } else if (curScore >= 78 && curScore < 100) { |
| | | scoreInfo2.count++ |
| | | }else if (curScore >= 54 && curScore < 78) { |
| | | } else if (curScore >= 54 && curScore < 78) { |
| | | scoreInfo3.count++ |
| | | }else if (curScore < 54 && curScore >= 0) { |
| | | } else if (curScore < 54 && curScore >= 0) { |
| | | scoreInfo4.count++ |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | //根据地域获取问题 |
| | | override fun getByArea(areaVo: AreaVo):List<ProblemlistVo> { |
| | | val problemlist = mutableListOf<ProblemlistVo>() |
| | | override fun getByArea(areaVo: AreaVo): List<ProblemListVo> { |
| | | val problemlist = mutableListOf<ProblemListVo>() |
| | | // val tmpproblemlsit = mutableListOf<Problemlist>() |
| | | val example = Example(Scense::class.java) |
| | | val criteria = example.createCriteria() |
| | |
| | | criteria.andEqualTo("towncode", areaVo.towncode) |
| | | criteria.andEqualTo("typeid", areaVo.scensetypeid) |
| | | val result1 = scenseMapper.selectByExample(example) |
| | | if (result1.isNotEmpty()){ |
| | | result1.forEach{ |
| | | if (result1.isNotEmpty()) { |
| | | result1.forEach { |
| | | val tmpexample = Example(Problemlist::class.java) |
| | | val tmpcriteria = tmpexample.createCriteria() |
| | | //对于确定的每个场景,根据时间查询问题 |
| | |
| | | tmpcriteria.andBetween("time", areaVo.starttime, areaVo.endtime) |
| | | val tmp = problemlistMapper.selectByExample(tmpexample) |
| | | tmp.forEach { |
| | | val problem = ProblemlistVo(); |
| | | val problem = ProblemListVo(); |
| | | BeanUtils.copyProperties(it, problem) |
| | | problemlist.add(problem) |
| | | } |
| | |
| | | } |
| | | |
| | | //根据巡查ID获取问题 |
| | | override fun findByInspectionID(inspectionID: String): List<ProblemlistVo> { |
| | | val problemlistVoList = mutableListOf<ProblemlistVo>() |
| | | override fun findByInspectionID(inspectionID: String): List<ProblemListVo> { |
| | | val problemListVoList = mutableListOf<ProblemListVo>() |
| | | val problemlist = Problemlist() |
| | | problemlist.iguid = inspectionID |
| | | val problemlists = problemlistMapper.select(problemlist) |
| | | problemlists.forEach { |
| | | val problemlistVo = ProblemlistVo() |
| | | val problemlistVo = ProblemListVo() |
| | | if (it.remark != Constant.PROBLEM_DELETED) { |
| | | BeanUtils.copyProperties(it, problemlistVo) |
| | | problemlistVoList.add(problemlistVo) |
| | | problemListVoList.add(problemlistVo) |
| | | } |
| | | } |
| | | //排序 |
| | | problemlistVoList.sortBy { it.time } |
| | | return problemlistVoList |
| | | problemListVoList.sortBy { it.time } |
| | | return problemListVoList |
| | | } |
| | | |
| | | //新增一个问题 |
| | | override fun addProblem(problemlistVo: ProblemlistVo) { |
| | | override fun addProblem(problemlistVo: ProblemListVo) { |
| | | val probemlist = Problemlist() |
| | | BeanUtils.copyProperties(problemlistVo, probemlist) |
| | | problemlistMapper.insert(probemlist) |
| | | } |
| | | |
| | | //根据子任务ID查询问题 |
| | | override fun findBySubtaskId(subTaskID: String): List<ProblemlistVo> { |
| | | val problemlistVoList = mutableListOf<ProblemlistVo>() |
| | | override fun findBySubtaskId(subTaskID: String): List<ProblemListVo> { |
| | | val problemListVoList = mutableListOf<ProblemListVo>() |
| | | val problemlist = Problemlist() |
| | | problemlist.stguid = subTaskID |
| | | val problemlists = problemlistMapper.select(problemlist) |
| | | problemlists.forEach { |
| | | val problemlistVo = ProblemlistVo() |
| | | val problemlistVo = ProblemListVo() |
| | | BeanUtils.copyProperties(it, problemlistVo) |
| | | problemlistVoList.add(problemlistVo) |
| | | problemListVoList.add(problemlistVo) |
| | | } |
| | | return problemlistVoList |
| | | return problemListVoList |
| | | } |
| | | |
| | | //根据问题ID获取一个问题 |
| | | override fun findByID(id: String): ProblemlistVo { |
| | | val problemlistVo = ProblemlistVo() |
| | | override fun findByID(id: String): ProblemListVo { |
| | | val problemlistVo = ProblemListVo() |
| | | val problemlist = problemlistMapper.selectByPrimaryKey(id) |
| | | if (problemlist != null) { |
| | | BeanUtils.copyProperties(problemlist, problemlistVo) |
| | |
| | | |
| | | override fun findMonthProblemById(taskId: String, sceneId: Int?): List<MonthProblemVo> { |
| | | val monthProblemlistVoList = mutableListOf<MonthProblemVo>() |
| | | var map = problemlistMapper.findMonthProblemById(taskId,sceneId) |
| | | var map = problemlistMapper.findMonthProblemById(taskId, sceneId) |
| | | map.forEach { m -> |
| | | val monthProblemVo = MonthProblemVo() |
| | | monthProblemVo.townCode =if(m.get("towncode")!= null) BigDecimal(m.get("towncode").toString()).toString() else null |
| | | monthProblemVo.townCode = |
| | | if (m.get("towncode") != null) BigDecimal(m.get("towncode").toString()).toString() else null |
| | | monthProblemVo.townName = if (m.get("townname") != null) m.get("townname").toString() else null |
| | | monthProblemVo.scenetype =if (m.get("scenetype") != null) m.get("scenetype").toString().toInt()else null |
| | | monthProblemVo.scenetypename =if(m.get("scenetypename") != null)m.get("scenetypename").toString()else null |
| | | monthProblemVo.totalscenecount =if(m.get("totalscenecount") != null)m.get("totalscenecount").toString().toInt()else null |
| | | monthProblemVo.problemscenes =if(m.get("problemscenes") != null)m.get("problemscenes").toString().toInt()else null |
| | | monthProblemVo.totalproblems =if(m.get("totalproblems") != null)m.get("totalproblems").toString().toInt()else null |
| | | monthProblemVo.changedproblems =if(m.get("changedproblems") != null)m.get("changedproblems").toString().toInt()else null |
| | | monthProblemVo.scenetype = if (m.get("scenetype") != null) m.get("scenetype").toString().toInt() else null |
| | | monthProblemVo.scenetypename = |
| | | if (m.get("scenetypename") != null) m.get("scenetypename").toString() else null |
| | | monthProblemVo.totalscenecount = |
| | | if (m.get("totalscenecount") != null) m.get("totalscenecount").toString().toInt() else null |
| | | monthProblemVo.problemscenes = |
| | | if (m.get("problemscenes") != null) m.get("problemscenes").toString().toInt() else null |
| | | monthProblemVo.totalproblems = |
| | | if (m.get("totalproblems") != null) m.get("totalproblems").toString().toInt() else null |
| | | monthProblemVo.changedproblems = |
| | | if (m.get("changedproblems") != null) m.get("changedproblems").toString().toInt() else null |
| | | monthProblemlistVoList.add(monthProblemVo) |
| | | } |
| | | return monthProblemlistVoList; |
| | | } |
| | | |
| | | override fun check(pId: String, action: Byte, remark: String, userId: String, userName: String): BaseResponse<String> { |
| | | override fun check( |
| | | pId: String, |
| | | action: Byte, |
| | | remark: String, |
| | | userId: String, |
| | | userName: String, |
| | | ): BaseResponse<String> { |
| | | if (action !in 0..3) { |
| | | return BaseResponse(false, "非法的操作指令") |
| | | } |
| | | val p = problemlistMapper.selectByPrimaryKey(pId) ?: return BaseResponse(false, "问题不存在") |
| | | val subtask = p.stguid?.let { subTaskRep.findOne(it) } |
| | | val response = BaseResponse<String>(true) |
| | | var event = "" |
| | | |
| | | p.apply { |
| | | this.remark = userName |
| | | if (extension3 == Constant.PROBLEM_UNCHECKED) { |
| | | event = "在${subtask?.scensename}审核了一个问题" |
| | | when (action) { |
| | | 0.toByte() -> extension3 = Constant.PROBLEM_CHECK_PASS |
| | | 1.toByte() -> extension3 = Constant.PROBLEM_CHECK_FAIL |
| | | 0.toByte() -> { |
| | | extension3 = Constant.PROBLEM_CHECK_PASS |
| | | } |
| | | 1.toByte() -> { |
| | | extension3 = Constant.PROBLEM_CHECK_FAIL |
| | | } |
| | | 2.toByte(), |
| | | 3.toByte() -> { |
| | | 3.toByte(), |
| | | -> { |
| | | response.success = false |
| | | response.message = "问题提交还未审核,无法进行整改审核!" |
| | | } |
| | | } |
| | | }else if (extension3 == Constant.PROBLEM_CHECK_PASS || extension3 == Constant.PROBLEM_CHECK_FAIL) { |
| | | } else if (extension3 == Constant.PROBLEM_CHECK_PASS || extension3 == Constant.PROBLEM_CHECK_FAIL) { |
| | | when (action) { |
| | | 0.toByte() -> extension3 = Constant.PROBLEM_CHECK_PASS |
| | | 1.toByte() -> extension3 = Constant.PROBLEM_CHECK_FAIL |
| | | 2.toByte(), |
| | | 3.toByte() -> { |
| | | 3.toByte(), |
| | | -> { |
| | | if (ischanged == true && extension3 == Constant.PROBLEM_CHECK_PASS) { |
| | | response.success = true |
| | | extension3 = if (action == 2.toByte()) { |
| | | Constant.CHANGE_CHECK_PASS |
| | | }else{ |
| | | } else { |
| | | Constant.CHANGE_CHECK_FAIL |
| | | } |
| | | event = "在${subtask?.scensename}审核了一个整改" |
| | | } else { |
| | | response.success = false |
| | | response.message = "问题还未整改,无法进行整改审核!操作无效" |
| | | } |
| | | } |
| | | } |
| | | }else if (extension3 == Constant.CHANGE_UNCHECKED) { |
| | | } else if (extension3 == Constant.CHANGE_UNCHECKED) { |
| | | event = "在${subtask?.scensename}审核了一个整改" |
| | | when (action) { |
| | | 0.toByte(), |
| | | 1.toByte() -> { |
| | | 1.toByte(), |
| | | -> { |
| | | response.success = false |
| | | response.message = "问题提交已审核,并且已被整改。操作无效" |
| | | } |
| | | 2.toByte() -> extension3 = Constant.CHANGE_CHECK_PASS |
| | | 3.toByte() -> extension3 = Constant.CHANGE_CHECK_FAIL |
| | | } |
| | | }else if (extension3 == Constant.CHANGE_CHECK_PASS || extension3 == Constant.CHANGE_CHECK_FAIL) { |
| | | } else if (extension3 == Constant.CHANGE_CHECK_PASS || extension3 == Constant.CHANGE_CHECK_FAIL) { |
| | | when (action) { |
| | | 0.toByte(), |
| | | 1.toByte() -> { |
| | | 1.toByte(), |
| | | -> { |
| | | response.success = false |
| | | response.message = "问题提交已审核,并且已被整改。操作无效" |
| | | } |
| | |
| | | if (r != 1) { |
| | | response.success = false |
| | | response.message = "问题更新失败!" |
| | | } else { |
| | | bizLog.info(WorkStreamLogInfo(userId, userName, event)) |
| | | } |
| | | } |
| | | return response |
| | | } |
| | | |
| | | override fun newProblem(problem: String, files: Array<MultipartFile>): BaseResponse<String> { |
| | | val mapper = ObjectMapper() |
| | | |
| | | //json转object |
| | | val problemVo = mapper.readValue(problem, object : TypeReference<ProblemVo>() {}) |
| | | val problemVo = ObjectMapper().readValue(problem, object : TypeReference<ProblemVo>() {}) |
| | | |
| | | // 保存问题 |
| | | val inspection = inspectionMapper.selectByPrimaryKey(problemVo.insGuid) ?: return BaseResponse(false, "巡查记录不存在") |
| | | val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: return BaseResponse(false, "巡查记录对应场景不存在") |
| | | |
| | | val problemlist = Problemlist().apply { |
| | | guid = UUIDGenerator.generate16ShortUUID() |
| | | iguid = inspection.guid |
| | | stguid = inspection.stguid |
| | | sguid = inspection.sguid |
| | | sensename = inspection.scensename |
| | | senseaddress = inspection.scenseaddress |
| | | ptguid = problemVo.ptGuid |
| | | problemname = problemVo.proName |
| | | longitude = problemVo.longitude ?: scene.longitude |
| | | latitude = problemVo.latitude ?: scene.latitude |
| | | locationid = problemVo.locationId |
| | | location = problemVo.location |
| | | time = Date() |
| | | isrechecked = false |
| | | ischanged = false |
| | | advise = problemVo.advice |
| | | extension3 = Constant.PROBLEM_UNCHECKED |
| | | } |
| | | // 保存问题 |
| | | val problemlist = ProblemListVo.newPro(inspection, problemVo, scene) |
| | | problemlistMapper.insert(problemlist) |
| | | |
| | | // 保存图片 |
| | | val now = LocalDateTime.now() |
| | | for (image in files) { |
| | | val mediaFile = Mediafile().apply { |
| | | guid = UUIDGenerator.generate16ShortUUID() |
| | | iguid = inspection.guid |
| | | businessguid = problemlist.guid |
| | | longitude = problemlist.longitude |
| | | latitude = problemlist.latitude |
| | | address = problemlist.senseaddress |
| | | filetype = 1 |
| | | businesstype = "问题" |
| | | businesstypeid = 1 |
| | | path = "FlightFeather/Photo/" + scene.districtname + "/" + now.year + "年" + now.monthValue + "月/" + now.monthValue + "月" + now.dayOfMonth + "日/" + scene.name + "/" |
| | | description = problemlist.problemname + " " + problemlist.location + " " + UUIDGenerator.generateUUID(4) + ".jpg" |
| | | savetime = Date() |
| | | ischanged = false |
| | | extension1 = scene.citycode + "/" + scene.districtcode + "/" + now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "/" + scene.guid + "/" |
| | | remark = "已上传" |
| | | } |
| | | mediafileMapper.insert(mediaFile) |
| | | |
| | | val path = mediaFile.extension1 |
| | | val fileName = mediaFile.guid + ".jpg" |
| | | // val filePath = "E:\\work\\第三方监管app\\自动评分\\餐饮\\" |
| | | val filePath = "${Constant.DEFAULT_FILE_PATH}/images/$path/" |
| | | try { |
| | | //调用文件保存方法 |
| | | FileUtil.uploadFile(image.bytes, filePath, fileName) |
| | | } catch (e: Exception) { |
| | | // TODO: handle exception |
| | | } |
| | | } |
| | | mediafileService.saveMediaFile(files) { MediaFileVo.newProFile(inspection, problemlist, scene) } |
| | | |
| | | //更新巡查信息的问题数 |
| | | if (inspection.problemcount != null) { |
| | |
| | | inspectionMapper.updateByPrimaryKey(inspection) |
| | | } |
| | | |
| | | problemlist.stguid?.let { |
| | | val subtask = subTaskRep.findOne(it) |
| | | val event = "在${subtask?.scensename}新增一个问题" |
| | | bizLog.info(WorkStreamLogInfo(subtask?.executorguids, subtask?.executorrealtimes, event)) |
| | | } |
| | | |
| | | return BaseResponse(true) |
| | | } |
| | | |
| | | override fun updateProblem(problem: ProblemListVo, deleteImg: List<String>, files: Array<MultipartFile>): String { |
| | | problemRep.findOne(problem.guid) ?: throw BizException("该问题不存在") |
| | | problemRep.update(problem) |
| | | val inspection = inspectionMapper.selectByPrimaryKey(problem.iguid) ?: throw BizException("巡查记录不存在") |
| | | val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: throw BizException("巡查记录对应场景不存在") |
| | | mediafileService.saveMediaFile(files) { MediaFileVo.newProFile(inspection, problem, scene) } |
| | | mediafileService.deleteList(deleteImg) |
| | | return "success" |
| | | } |
| | | |
| | | override fun changeProblem(problemId: String, files: Array<MultipartFile>): BaseResponse<String> { |
| | | // 更新问题 |
| | | // 问题和问题图片合法性检查 |
| | | val p = problemlistMapper.selectByPrimaryKey(problemId) ?: return BaseResponse(false, "问题不存在") |
| | | val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply { |
| | | createCriteria().andEqualTo("businessguid", p.guid) |
| | | .andEqualTo("businesstypeid", 1) |
| | | .andEqualTo("ischanged", false) |
| | | }) |
| | | if (mediaFiles.isEmpty()) return BaseResponse(false, "问题不存在或已整改,无法重复整改") |
| | | |
| | | // 更新问题 |
| | | p.apply { |
| | | ischanged = true |
| | | changedtime = Date() |
| | |
| | | } |
| | | problemlistMapper.updateByPrimaryKey(p) |
| | | |
| | | // 保存图片 |
| | | val now = LocalDateTime.now() |
| | | val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply { |
| | | createCriteria().andEqualTo("businessguid", p.guid) |
| | | .andEqualTo("businesstypeid", 1) |
| | | .andEqualTo("ischanged", false) |
| | | }) |
| | | if (mediaFiles.isEmpty()) return BaseResponse(false, "场景问题数量为0,无法整改") |
| | | // 保存整改图片 |
| | | val m = mediaFiles[0] |
| | | m.path = m.path + "整改/" |
| | | m.savetime = Date() |
| | | m.ischanged = true |
| | | |
| | | for (image in files) { |
| | | mediafileService.saveMediaFile(files) { |
| | | m.apply { |
| | | guid = UUIDGenerator.generate16ShortUUID() |
| | | description = p.problemname + " " + p.location + " 整改 " + UUIDGenerator.generateUUID(4) + ".jpg" |
| | | } |
| | | mediafileMapper.insert(m) |
| | | |
| | | val path = m.extension1 |
| | | val fileName = m.guid + ".jpg" |
| | | // val filePath = "E:\\work\\第三方监管app\\自动评分\\餐饮\\" |
| | | val filePath = "${Constant.DEFAULT_FILE_PATH}/images/$path" |
| | | try { |
| | | //调用文件保存方法 |
| | | FileUtil.uploadFile(image.bytes, filePath, fileName) |
| | | } catch (e: Exception) { |
| | | println(e) |
| | | } |
| | | } |
| | | |
| | | return BaseResponse(true) |
| | | } |
| | | |
| | | override fun getBySubTask(stGuid: String): List<ProblemlistVo> { |
| | | override fun updateChange(problemId: String, deleteImg: List<String>, files: Array<MultipartFile>): String { |
| | | val p = problemRep.findOne(problemId) ?: throw BizException("该问题不存在") |
| | | val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply { |
| | | createCriteria().andEqualTo("businessguid", problemId) |
| | | .andEqualTo("businesstypeid", 1) |
| | | .andEqualTo("ischanged", true) |
| | | }) |
| | | if (mediaFiles.isEmpty()) throw BizException("问题还未整改,无法修改整改") |
| | | |
| | | // 保存新的整改图片 |
| | | val m = mediaFiles[0] |
| | | m.savetime = Date() |
| | | mediafileService.saveMediaFile(files) { |
| | | m.apply { |
| | | guid = UUIDGenerator.generate16ShortUUID() |
| | | description = p.problemname + " " + p.location + " 整改 " + UUIDGenerator.generateUUID(4) + ".jpg" |
| | | } |
| | | } |
| | | mediafileService.deleteList(deleteImg) |
| | | return "success" |
| | | } |
| | | |
| | | override fun getBySubTask(stGuid: String, all: Boolean?): List<ProblemListVo> { |
| | | //根据子任务ID获取问题列表 |
| | | val problemListVo = findBySubtaskId(stGuid) |
| | | //判断是否有问题列表 |
| | | if (!problemListVo.isEmpty()) { |
| | | //根据每个问题,获取媒体文件 |
| | | problemListVo.forEach { |
| | | val mediafileVo = mediafileService.findByBusinessGUID(it.guid!!) |
| | | //判断是否有媒体资料 |
| | | if (!mediafileVo.isEmpty()) { |
| | | //赋值 |
| | | it.mediafileList = mediafileVo |
| | | val problemListVo = mutableListOf<ProblemListVo>() |
| | | if (all == false) { |
| | | //去除未审核以及审核不通过的问题 |
| | | findBySubtaskId(stGuid).forEach { |
| | | if (it.extension3 != Constant.PROBLEM_UNCHECKED && it.extension3 != Constant.PROBLEM_CHECK_FAIL) { |
| | | problemListVo.add(it) |
| | | } |
| | | } |
| | | } else { |
| | | problemListVo.addAll(findBySubtaskId(stGuid)) |
| | | } |
| | | //根据每个问题,获取媒体文件 |
| | | problemListVo.forEach { |
| | | val mediafileVo = mediafileService.findByBusinessGUID(it.guid!!) |
| | | //判断是否有媒体资料 |
| | | if (mediafileVo.isNotEmpty()) { |
| | | //赋值 |
| | | it.mediafileList = mediafileVo |
| | | } |
| | | } |
| | | return problemListVo |
| | | } |
| | | |
| | | override fun getSceneByProType(areaVo: AreaVo, pType: String): List<Subtask?> { |
| | | areaVo.scensetypeid ?: throw BizException("缺少场景类型参数") |
| | | val task = taskRep.findOneTask(areaVo) ?: throw BizException("未找到对应的巡查总任务") |
| | | return subTaskRep.findSubtasks(task.tguid!!, areaVo.scensetypeid!!, pType) |
| | | } |
| | | |
| | | override fun getSceneProSummary( |
| | | areaVo: AreaVo, |
| | | sortBy: String, |
| | | page: Int, |
| | | per_page: Int, |
| | | ): Pair<DataHead?, List<SceneProblemSummary>?> { |
| | | areaVo.scensetypeid ?: throw BizException("缺少场景类型参数") |
| | | val task = taskRep.findOneTask(areaVo) ?: throw BizException("未找到对应的巡查总任务") |
| | | val p = PageHelper.startPage<SceneProblemSummary>(page, per_page) |
| | | val res = problemRep.selectSceneProSummary(task.tguid!!, areaVo.scensetypeid!!, areaVo.sort, sortBy) |
| | | return DataHead(p.pageNum, p.pages, p.total) to res |
| | | } |
| | | } |