package com.dy.pipIrrApp.inspect; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrApp.inspect.qo.QoInspect; import com.dy.pipIrrGlobal.daoOp.OpeInspectMapper; import com.dy.pipIrrGlobal.daoOp.OpeTrackMapper; import com.dy.pipIrrGlobal.pojoOp.OpeInspect; import com.dy.pipIrrGlobal.pojoOp.OpeTrack; import com.dy.pipIrrGlobal.voOp.VoInspect; import com.dy.pipIrrGlobal.voOp.VoTrackPoint; 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.List; import java.util.Map; /** * @author ZhuBaoMin * @date 2024-09-24 10:21 * @LastEditTime 2024-09-24 10:21 * @Description */ @Slf4j @Service public class InspectSv { @Autowired private OpeInspectMapper opeInspectMapper; @Autowired private OpeTrackMapper opeTrackMapper; /** * 添加巡检记录 * * @param po * @return */ public Long addInspect(OpeInspect po) { opeInspectMapper.insert(po); return po.getId(); } /** * 修改巡检记录 * * @param po * @return */ public Integer updateInspect(OpeInspect po) { return opeInspectMapper.updateByPrimaryKeySelective(po); } /** * 批量添加巡检轨迹 * * @param list * @return */ public Integer insertTracks(List list) { return opeTrackMapper.insertTracks(list); } /** * 巡检查询 * * @param queryVo * @return */ public QueryResultVo> getInspects(QoInspect queryVo) { //完善查询充值记录的起止时间 String timeStart = queryVo.getTimeStart(); String timeStop = queryVo.getTimeStop(); if (timeStart == null || timeStart == "" || timeStop == null || timeStop == "") { queryVo.setTimeStart(null); queryVo.setTimeStop(null); } else { timeStart = timeStart + " 00:00:00"; queryVo.setTimeStart(timeStart); timeStop = timeStop + " 23:59:59"; queryVo.setTimeStop(timeStop); } Map params = (Map) PojoUtils.generalize(queryVo); Long itemTotal = opeInspectMapper.getInspectsCount(params); QueryResultVo> rsVo = new QueryResultVo<>(); rsVo.pageSize = queryVo.pageSize; rsVo.pageCurr = queryVo.pageCurr; rsVo.calculateAndSet(itemTotal, params); List inspects = opeInspectMapper.getInspects(params); for (int i = 0; i < inspects.size(); i++) { List tracks = opeTrackMapper.selectByInspectId(inspects.get(i).getInspectId()); inspects.get(i).setTracks(tracks); } rsVo.obj = inspects; return rsVo; } /** * 获取指定巡检ID下的全部轨迹点 * @param inspectId * @return */ public List getTrackPointsById(Long inspectId) { return opeTrackMapper.getTrackPointsById(inspectId); } /** * 更新指定巡检记录的巡检距离 * @param inspectId * @param distance * @return */ public int updateInspectDistance(Long inspectId, double distance ) { return opeInspectMapper.updateInspectDistance(inspectId, distance); } /** * 根据巡检员ID获取巡检列表 * @param queryVo * @return */ public QueryResultVo> getInstectsByInspectorId(QoInspect queryVo) { Map params = (Map) PojoUtils.generalize(queryVo); Long itemTotal = opeInspectMapper.getInstectsCountByInspectorId(params); QueryResultVo> rsVo = new QueryResultVo<>(); rsVo.pageSize = queryVo.pageSize; rsVo.pageCurr = queryVo.pageCurr; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = opeInspectMapper.getInstectsByInspectorId(params); return rsVo; } }