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 { 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 processingDetailList(BaseConditionVO baseConditionVO, String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); List list = lightPoleHeelingProcessingMapper.processingDetailList(SecurityUtils.getClientId(), keyword); return list; } }