2021与蓝度共同重构项目,服务端
liuhaonan
2022-10-28 d938c951a1669b4df877ffc6521aef17f0fac809
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingProcessingServices.java
@@ -1,12 +1,22 @@
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
@@ -16,16 +26,89 @@
@Service
@AllArgsConstructor
public class LightPoleHeelingProcessingServices extends BaseServiceImpl<LightPoleHeelingProcessingMapper, LightPoleHeelingProcessing> {
    private final LightPoleHeelingProcessingMapper lightPoleHeelingProcessingMapper;
    /**
     * 灯杆倾斜警告处理
     */
    public boolean ProcessingLightPoleHeeling(LightPoleHeelingProcessingParam param) {
    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.setProcessingState(param.getProcessingState());
        lightPoleHeelingProcessing.setTheXAxis(param.getTheXAxis());
        lightPoleHeelingProcessing.setTheYAxis(param.getTheYAxis());
        lightPoleHeelingProcessing.setTheZAxis(param.getTheZAxis());
        return save(lightPoleHeelingProcessing);
        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;
    }
}