zhubaomin
2025-02-21 f3baf33f3dbb9b3091881185ccbe72327e7326c1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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<OpeTrack> list) {
        return opeTrackMapper.insertTracks(list);
    }
 
    /**
     * 巡检查询
     *
     * @param queryVo
     * @return
     */
    public QueryResultVo<List<VoInspect>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
 
        Long itemTotal = opeInspectMapper.getInspectsCount(params);
        QueryResultVo<List<VoInspect>> rsVo = new QueryResultVo<>();
 
        rsVo.pageSize = queryVo.pageSize;
        rsVo.pageCurr = queryVo.pageCurr;
 
        rsVo.calculateAndSet(itemTotal, params);
 
        List<VoInspect> inspects = opeInspectMapper.getInspects(params);
        for (int i = 0; i < inspects.size(); i++) {
            List<OpeTrack> tracks = opeTrackMapper.selectByInspectId(inspects.get(i).getInspectId());
            inspects.get(i).setTracks(tracks);
        }
        rsVo.obj = inspects;
        return rsVo;
    }
 
    /**
     * 获取指定巡检ID下的全部轨迹点
     * @param inspectId
     * @return
     */
    public List<VoTrackPoint> 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<List<VoInspect>> getInstectsByInspectorId(QoInspect queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
 
        Long itemTotal = opeInspectMapper.getInstectsCountByInspectorId(params);
 
        QueryResultVo<List<VoInspect>> rsVo = new QueryResultVo<>();
        rsVo.pageSize = queryVo.pageSize;
        rsVo.pageCurr = queryVo.pageCurr;
 
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = opeInspectMapper.getInstectsByInspectorId(params);
        return rsVo;
    }
}