2021与蓝度共同重构项目,服务端
liuhaonan
2022-08-15 5c3a5b7bf75718a003de4b167cf9fc81a27f06ee
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
package com.sandu.ximon.admin.service;
 
 
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.param.LightPoleHeelingProcessingParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.dao.domain.LightPoleHeeling;
import com.sandu.ximon.dao.domain.LightPoleHeelingProcessing;
import com.sandu.ximon.dao.mapper.LightPoleHeelingMapper;
import com.sandu.ximon.dao.mapper.LightPoleHeelingProcessingMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * @author ZZQ
 * @date 2022/3/25 11:41
 */
 
@Service
@AllArgsConstructor
public class LightPoleHeelingProcessingServices extends BaseServiceImpl<LightPoleHeelingProcessingMapper, LightPoleHeelingProcessing> {
    private final LightPoleHeelingProcessingMapper lightPoleHeelingProcessingMapper;
 
    /**
     * 灯杆倾斜警告处理
     */
    public String ProcessingLightPoleHeeling(LightPoleHeelingProcessingParam param) {
        LightPoleHeelingService lightPoleHeelingService = SpringContextHolder.getBean(LightPoleHeelingService.class);
 
        LightPoleHeeling one = SpringContextHolder.getBean(LightPoleHeelingMapper.class).
                lightPoleHeelingDetail(SecurityUtils.getClientId(), param.getWarningNumber());
 
        if (one == null) {
            throw new BusinessException("处理的灯杆倾斜数据不存在!");
        }
 
        LightPoleHeelingProcessing lightPoleHeelingProcessing = new LightPoleHeelingProcessing();
        lightPoleHeelingProcessing.setWarningNumber(param.getWarningNumber());
        lightPoleHeelingProcessing.setProcessingOpinion(param.getProcessingOpinion());
        lightPoleHeelingProcessing.setProcessingPerson(param.getProcessingPerson());
        lightPoleHeelingProcessing.setTheXAxis(param.getTheXAxis());
        lightPoleHeelingProcessing.setTheYAxis(param.getTheYAxis());
        lightPoleHeelingProcessing.setTheZAxis(param.getTheZAxis());
        lightPoleHeelingProcessing.setTheXAxisOld(one.getTheXAxis());
        lightPoleHeelingProcessing.setTheYAxisOld(one.getTheYAxis());
        lightPoleHeelingProcessing.setTheZAxisOld(one.getTheZAxis());
        lightPoleHeelingProcessing.setMac(one.getMac());
        lightPoleHeelingProcessing.setWarningLevelOld(one.getWarningLevel());
 
        //警告等级
        if (Math.abs(param.getTheXAxis()) >= 10 || Math.abs(param.getTheYAxis()) >= 10) {
            //一级警告
            lightPoleHeelingProcessing.setWarningLevel(1);
        } else if ((Math.abs(param.getTheXAxis()) >= 5 && Math.abs(param.getTheXAxis()) < 10)
                || (Math.abs(param.getTheYAxis()) >= 5 && Math.abs(param.getTheYAxis()) < 10)) {
            //二级警告
            lightPoleHeelingProcessing.setWarningLevel(2);
        } else {
            //正常
            lightPoleHeelingProcessing.setWarningLevel(0);
        }
        boolean save = false;
 
        try {
            save = save(lightPoleHeelingProcessing);
            if (save) {
                //设置为已处理
                one.setProcessingState(1);
                lightPoleHeelingService.updateById(one);
                return "灯杆倾斜处理成功!";
            }
        } catch (Exception e) {
            System.out.println("异常");
        }
        throw new BusinessException("灯杆倾斜处理失败!");
    }
 
    /**
     * 灯杆倾斜处理警告详情
     *
     * @param processingNumber
     * @return
     */
    public LightPoleHeelingProcessing processingDetail(Long processingNumber) {
        if (processingNumber == null) {
            throw new BusinessException("灯杆倾斜警告处理ID不能为空!");
        }
        LightPoleHeelingProcessing bean = lightPoleHeelingProcessingMapper.processingDetail(SecurityUtils.getClientId(), processingNumber);
        if (bean == null) {
            throw new BusinessException("处理后的灯杆倾斜数据不存在!");
        }
        return bean;
    }
 
    /**
     * 灯杆倾斜处理警告详情
     *
     * @param keyword keyword
     * @return
     */
    public List<LightPoleHeelingProcessing> processingDetailList(BaseConditionVO baseConditionVO, String keyword) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<LightPoleHeelingProcessing> list = lightPoleHeelingProcessingMapper.processingDetailList(SecurityUtils.getClientId(), keyword);
 
        return list;
    }
}