|  |  | 
 |  |  | package com.dy.pipIrrApp.issue; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson2.JSON; | 
 |  |  | import com.alibaba.fastjson2.JSONArray; | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.dy.common.webUtil.QueryResultVo; | 
 |  |  | import com.dy.common.webUtil.ResultCodeMsg; | 
 |  |  | 
 |  |  | import com.dy.pipIrrGlobal.pojoOp.OpeReportReply; | 
 |  |  | import com.dy.pipIrrGlobal.voOp.VoIssueReport; | 
 |  |  | import com.dy.pipIrrGlobal.voOp.VoIssueReportReply; | 
 |  |  | import com.dy.pipIrrGlobal.voOp.VoIssueReport_temp; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.dubbo.common.utils.PojoUtils; | 
 |  |  | import org.springframework.beans.BeanUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  | import java.util.*; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * @author ZhuBaoMin | 
 |  |  | 
 |  |  |         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); | 
 |  |  |  | 
 |  |  |         Long itemTotal = opeIssueReportMapper.getIssueReportsCount(params); | 
 |  |  |         //QueryResultVo<List<VoIssueReport_temp>> rsVo = new QueryResultVo<>(); | 
 |  |  |         QueryResultVo<List<VoIssueReport>> rsVo = new QueryResultVo<>(); | 
 |  |  |  | 
 |  |  |         rsVo.pageSize = queryVo.pageSize; | 
 |  |  |         rsVo.pageCurr = queryVo.pageCurr; | 
 |  |  |  | 
 |  |  |         rsVo.calculateAndSet(itemTotal, params); | 
 |  |  |         rsVo.obj = opeIssueReportMapper.getIssueReports(params); | 
 |  |  |  | 
 |  |  |         List<VoIssueReport_temp> list_temp = opeIssueReportMapper.getIssueReports(params); | 
 |  |  |         List<VoIssueReport> list = new ArrayList<>(); | 
 |  |  |         for (int i = 0; i < list_temp.size(); i++) { | 
 |  |  |             VoIssueReport_temp report_temp = list_temp.get(i); | 
 |  |  |             VoIssueReport report = new VoIssueReport(); | 
 |  |  |             BeanUtils.copyProperties(report_temp, report); | 
 |  |  |  | 
 |  |  |             JSONArray images_array = Optional.ofNullable(JSON.parseArray(report_temp.getImages())).orElse(new JSONArray()); | 
 |  |  |             JSONArray audios_array = Optional.ofNullable(JSON.parseArray(report_temp.getAudios())).orElse(new JSONArray()); | 
 |  |  |             JSONArray videos_array = Optional.ofNullable(JSON.parseArray(report_temp.getVideos())).orElse(new JSONArray()); | 
 |  |  |             report.setImages(images_array); | 
 |  |  |             report.setAudios(audios_array); | 
 |  |  |             report.setVideos(videos_array); | 
 |  |  |             list.add(report); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         rsVo.obj = list; | 
 |  |  |         //rsVo.obj = opeIssueReportMapper.getIssueReports(params); | 
 |  |  |         return rsVo; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 根据问题上报记录主键获取获取巡检员问题上报记录视图对象 | 
 |  |  |      * @param issueReportId | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public VoIssueReport getIssueReportById(Long issueReportId) { | 
 |  |  |         VoIssueReport_temp issueReport = opeIssueReportMapper.getIssueReportById(issueReportId); | 
 |  |  |  | 
 |  |  |         VoIssueReport report = new VoIssueReport(); | 
 |  |  |         BeanUtils.copyProperties(issueReport, report); | 
 |  |  |  | 
 |  |  |         JSONArray images_array = Optional.ofNullable(JSON.parseArray(issueReport.getImages())).orElse(new JSONArray()); | 
 |  |  |         JSONArray audios_array = Optional.ofNullable(JSON.parseArray(issueReport.getAudios())).orElse(new JSONArray()); | 
 |  |  |         JSONArray videos_array = Optional.ofNullable(JSON.parseArray(issueReport.getVideos())).orElse(new JSONArray()); | 
 |  |  |  | 
 |  |  |         report.setImages(images_array); | 
 |  |  |         report.setAudios(audios_array); | 
 |  |  |         report.setVideos(videos_array); | 
 |  |  |         return report; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 逻辑删除巡检员问题上报,删除前先判断要删除的上报是否存在 | 
 |  |  |      * @param po | 
 |  |  |      * @return |