From 86bba1b6323d5ae0340371ebfb0bc91271068c7e Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期二, 12 十一月 2024 15:37:07 +0800 Subject: [PATCH] 获取巡检员问题上报记录接口 --- pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java | 39 +++++++++++-- pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java | 25 +++++++- pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 4 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java | 18 ++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml | 82 +++++++++++++++++++++++++++ 5 files changed, 156 insertions(+), 12 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java index dde252e..fe94e31 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java @@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport; +import com.dy.pipIrrGlobal.voOp.VoIssueReport; import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -24,4 +28,18 @@ int updateByPrimaryKeySelective(OpeIssueReport record); int updateByPrimaryKey(OpeIssueReport record); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ユ暟閲� + * @param params + * @return + */ + Long getIssueReportsCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶� + * @param params + * @return + */ + List<VoIssueReport> getIssueReports(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml index c3e6b55..5e8b483 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml @@ -77,7 +77,7 @@ pipIrr: global: - dev: true #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse + dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О nginx: webPort: 54321 @@ -329,7 +329,7 @@ #鐩戞祴鎺у埗妯″潡鍥炶皟鍦板潃 rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive" #rtu杩滅▼鍗囩骇妯″潡鍥炶皟鍦板潃 - ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive + ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive" #寰俊灏忕▼搴忓洖璋冨湴鍧� rtuCallbackUrl_wx: "http://127.0.0.1:8087/wx/comRes/receive" diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml index 8dedb69..e3609d8 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml @@ -170,4 +170,86 @@ `state` = #{state,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} </update> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ユ暟閲�--> + <select id="getIssueReportsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM ope_issue_report rpt + LEFT JOIN ba_user us ON us.id = rpt.inspector_id + LEFT JOIN ope_report_reply rpy ON rpy.report_id = rpt.id + <where> + AND rpt.state != 3 + + <if test="inspectorId != null"> + AND rpt.inspector_id = #{inspectorId} + </if> + + <if test="inspectorName != null and inspectorName != ''"> + AND us.name like CONCAT('%', #{inspectorName}, '%') + </if> + + <if test="content != null and content != ''"> + AND rpt.content like CONCAT('%', #{content}, '%') + </if> + + <if test="timeStart != null and timeStop != null "> + AND rpt.report_time BETWEEN #{timeStart} AND #{timeStop} + </if> + + <if test="state != null"> + AND rpt.state = #{state} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶�--> + <select id="getIssueReports" resultType="com.dy.pipIrrGlobal.voOp.VoIssueReport"> + SELECT + rpt.id AS issueReportId, + us.name AS inspectorName, + rpt.phone, + rpt.report_time AS reportTime, + rpt.content, + rpt.images, + rpt.audios, + rpt.videos, + rpy.reply_time AS replyTime, + rpt.state AS stateId, + CASE + WHEN rpt.state = 1 THEN '鏈彈鐞�' + WHEN rpt.state = 2 THEN '宸插彈鐞�' + END AS state + FROM ope_issue_report rpt + LEFT JOIN ba_user us ON us.id = rpt.inspector_id + LEFT JOIN ope_report_reply rpy ON rpy.report_id = rpt.id + <where> + AND rpt.state != 3 + + <if test="inspectorId != null"> + AND rpt.inspector_id = #{inspectorId} + </if> + + <if test="inspectorName != null and inspectorName != ''"> + AND us.name like CONCAT('%', #{inspectorName}, '%') + </if> + + <if test="content != null and content != ''"> + AND rpt.content like CONCAT('%', #{content}, '%') + </if> + + <if test="timeStart != null and timeStop != null "> + AND rpt.report_time BETWEEN #{timeStart} AND #{timeStop} + </if> + + <if test="state != null"> + AND rpt.state = #{state} + </if> + </where> + ORDER BY rpt.report_time DESC + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java index 9fb6484..ba118b6 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java @@ -3,17 +3,18 @@ import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrApp.issue.qo.QoIssueReport; import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport; +import com.dy.pipIrrGlobal.voOp.VoIssueReport; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; /** @@ -52,4 +53,20 @@ return BaseResponseUtils.buildSuccess(true) ; } + /** + * 鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰� + * @param vo + * @return + */ + @GetMapping(path = "/getIssueReports") + public BaseResponse<QueryResultVo<List<VoIssueReport>>> getIssueReports(QoIssueReport vo) { + try { + QueryResultVo<List<VoIssueReport>> res = issueSv.getIssueReports(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } + } 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..a9c49ba 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,18 @@ package com.dy.pipIrrApp.issue; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrApp.issue.qo.QoIssueReport; import com.dy.pipIrrGlobal.daoOp.OpeIssueReportMapper; import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport; +import com.dy.pipIrrGlobal.voOp.VoIssueReport; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -39,13 +45,34 @@ } /** - * 娣诲姞宸℃鍛橀棶棰樹笂鎶ヤ俊鎭� - * @param po + * 鏍规嵁鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰� + * @param queryVo * @return */ - //public Long insertIssueReport(OpeIssueReport po) { - // opeIssueReportMapper.insert(po); - // return po.getId(); - //} + 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>> rsVo = new QueryResultVo<>(); + + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = opeIssueReportMapper.getIssueReports(params); + return rsVo; + } } -- Gitblit v1.8.0