| | |
| | | package com.dy.pipIrrApp.issue; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONArray; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.dy.common.util.NumUtil; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.common.webUtil.ResultCodeMsg; |
| | | import com.dy.pipIrrApp.issue.dto.DtoDeleteParam; |
| | | import com.dy.pipIrrApp.issue.qo.QoIssueReport; |
| | | import com.dy.pipIrrGlobal.daoOp.OpeIssueReportMapper; |
| | | import com.dy.pipIrrGlobal.daoOp.OpeReportReplyMapper; |
| | | import com.dy.pipIrrGlobal.dyFile.FileOperate; |
| | | import com.dy.pipIrrGlobal.dyFile.FileRestVo; |
| | | import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport; |
| | | 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.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | |
| | | @Autowired |
| | | private OpeIssueReportMapper opeIssueReportMapper; |
| | | |
| | | @Autowired |
| | | private OpeReportReplyMapper opeReportReplyMapper; |
| | | |
| | | @Value("${dy.webFile.fmUrl}") |
| | | private String fmUrl ; |
| | | |
| | | @Autowired |
| | | private FileOperate fileOp ; |
| | | |
| | | private void dealWebFilePath(JSONArray jsonArray, boolean hasZipFile){ |
| | | for (Object obj : jsonArray){ |
| | | if(obj instanceof JSONObject){ |
| | | JSONObject jsonObject = (JSONObject) obj; |
| | | Object hashObj = jsonObject.get("hash") ; |
| | | if(hashObj != null && NumUtil.isIntNumber(hashObj.toString())){ |
| | | FileRestVo fvo = fileOp.parseHashcode(fmUrl, Integer.valueOf(hashObj.toString())); |
| | | if(fvo != null && fvo.fileWebUrl != null){ |
| | | jsonObject.put("webPath", fvo.fileWebUrl + jsonObject.get("filePath")); |
| | | if(hasZipFile){ |
| | | jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath"))); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | /** |
| | | * 添加巡检员问题上报 |
| | | * @param po |
| | |
| | | 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()); |
| | | this.dealWebFilePath(images_array, true) ; |
| | | this.dealWebFilePath(audios_array, false) ; |
| | | this.dealWebFilePath(videos_array, true) ; |
| | | 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()); |
| | | this.dealWebFilePath(images_array, true) ; |
| | | this.dealWebFilePath(audios_array, false) ; |
| | | this.dealWebFilePath(videos_array, true) ; |
| | | |
| | | report.setImages(images_array); |
| | | report.setAudios(audios_array); |
| | | report.setVideos(videos_array); |
| | | return report; |
| | | } |
| | | |
| | | /** |
| | |
| | | return "success"; |
| | | } |
| | | |
| | | /** |
| | | * 添加巡检员问题上报回复 |
| | | * 添加问题上报回复记录 |
| | | * 问题上报状态改为已回复 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public String replyReport(OpeReportReply po) { |
| | | po.setReplyTime(new Date()); |
| | | opeReportReplyMapper.insert(po); |
| | | if(po.getId() == 0) { |
| | | return "回复记录添加失败"; |
| | | } |
| | | |
| | | OpeIssueReport issueReport = new OpeIssueReport(); |
| | | issueReport.setId(po.getReportId()); |
| | | issueReport.setState((byte)2); |
| | | Integer rec = opeIssueReportMapper.updateByPrimaryKeySelective(issueReport); |
| | | if(rec == 0) { |
| | | return "巡检员问题上报状态修改失败"; |
| | | } |
| | | return "sucess"; |
| | | } |
| | | |
| | | /** |
| | | * 获取上报回复信息 |
| | | * @param reportId |
| | | * @return |
| | | */ |
| | | public JSONObject getReportReply(Long reportId) { |
| | | JSONObject result = new JSONObject(); |
| | | if(reportId == null) { |
| | | result.put("code", ResultCodeMsg.RsCode.ERROR_CODE); |
| | | result.put("msg","请选择一个问题上报"); |
| | | return result; |
| | | } |
| | | |
| | | VoIssueReportReply issueReportReply = opeReportReplyMapper.getReportReplyByReportId(reportId); |
| | | if(issueReportReply != null) { |
| | | result.put("code", ResultCodeMsg.RsCode.SUCCESS_CODE); |
| | | result.put("msg","success"); |
| | | result.put("data", issueReportReply); |
| | | return result; |
| | | } |
| | | result.put("code", ResultCodeMsg.RsCode.ERROR_CODE); |
| | | result.put("msg","未获取到上报回复信息"); |
| | | return result; |
| | | |
| | | } |
| | | |
| | | } |