package com.dy.pipIrrApp.issue; import com.dy.common.webUtil.QueryResultVo; 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.pojoOp.OpeIssueReport; import com.dy.pipIrrGlobal.pojoOp.OpeReportReply; 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 * @date 2024-11-11 16:29 * @LastEditTime 2024-11-11 16:29 * @Description */ @Slf4j @Service public class IssueSv { @Autowired private OpeIssueReportMapper opeIssueReportMapper; @Autowired private OpeReportReplyMapper opeReportReplyMapper; /** * 添加巡检员问题上报 * @param po * @return */ public String addIssueReport(OpeIssueReport po) { po.setReportTime(new Date()); po.setState((byte)1); opeIssueReportMapper.insert(po); Long issueReportId = po.getId(); if(issueReportId == null) { return "巡检员问题上报失败"; } return "success"; } /** * 根据条件获取巡检员问题上报记录 * @param queryVo * @return */ public QueryResultVo> 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 params = (Map) PojoUtils.generalize(queryVo); Long itemTotal = opeIssueReportMapper.getIssueReportsCount(params); QueryResultVo> rsVo = new QueryResultVo<>(); rsVo.pageSize = queryVo.pageSize; rsVo.pageCurr = queryVo.pageCurr; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = opeIssueReportMapper.getIssueReports(params); return rsVo; } /** * 逻辑删除巡检员问题上报,删除前先判断要删除的上报是否存在 * @param po * @return */ public String deleteIssueReport(DtoDeleteParam po) { // 根据上报ID及巡检员ID获取未删除的上报,删除上报判断使用 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"; } }