From 4b3f119b61143fed474b9dfcafd2369fc558a3b9 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 07 五月 2025 15:06:52 +0800
Subject: [PATCH] 添加分页获取未删除阀控器列表接口
---
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java | 196 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 190 insertions(+), 6 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
index 36f7867..edd4f55 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
@@ -1,12 +1,30 @@
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.*;
/**
* @author ZhuBaoMin
@@ -21,6 +39,36 @@
@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, boolean isVideo){
+ 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){
+ if(!isVideo){
+ jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath")));
+ }else{
+ jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath"), "jpg"));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
/**
* 娣诲姞宸℃鍛橀棶棰樹笂鎶�
* @param po
@@ -39,13 +87,149 @@
}
/**
- * 娣诲姞宸℃鍛橀棶棰樹笂鎶ヤ俊鎭�
+ * 鏍规嵁鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰�
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoIssueReport>> getIssueReports(QoIssueReport queryVo) {
+ //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
+ String timeStart = queryVo.getTimeStart();
+ String timeStop = queryVo.getTimeStop();
+ if (timeStart != null) {
+ timeStart = timeStart + " 00:00:00";
+ queryVo.setTimeStart(timeStart);
+ }
+ if (timeStop != null) {
+ timeStop = timeStop + " 23:59:59";
+ queryVo.setTimeStop(timeStop);
+ }
+
+ 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);
+
+ 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, false) ;
+ this.dealWebFilePath(audios_array, false, false) ;
+ this.dealWebFilePath(videos_array, true, 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, false) ;
+ this.dealWebFilePath(audios_array, false, false) ;
+ this.dealWebFilePath(videos_array, true, true) ;
+
+ report.setImages(images_array);
+ report.setAudios(audios_array);
+ report.setVideos(videos_array);
+ return report;
+ }
+
+ /**
+ * 閫昏緫鍒犻櫎宸℃鍛橀棶棰樹笂鎶ワ紝鍒犻櫎鍓嶅厛鍒ゆ柇瑕佸垹闄ょ殑涓婃姤鏄惁瀛樺湪
* @param po
* @return
*/
- //public Long insertIssueReport(OpeIssueReport po) {
- // opeIssueReportMapper.insert(po);
- // return po.getId();
- //}
+ public String deleteIssueReport(DtoDeleteParam po) {
+ // 鏍规嵁涓婃姤ID鍙婂贰妫�鍛業D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢�
+ OpeIssueReport opeIssueReport = opeIssueReportMapper.getReport(po.getIssueReportId(), po.getInspectorId());
+ if(opeIssueReport == null) {
+ return "鎮ㄨ鍒犻櫎鐨勯棶棰樹笂鎶ヤ笉瀛樺湪";
+ }
+
+ if(opeIssueReportMapper.deleteIssueReport(po.getIssueReportId()) == 0) {
+ return "宸℃鍛橀棶棰樹笂鎶ュ垹闄ゅけ璐�";
+ }
+
+ 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;
+
+ }
}
--
Gitblit v1.8.0