package com.huimv.admin.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.huimv.admin.common.utils.Result; import com.huimv.admin.common.utils.ResultCode; import com.huimv.admin.entity.EnvDayagePeizhi; import com.huimv.admin.entity.EnvDevice; import com.huimv.admin.entity.EnvDeviceFan; import com.huimv.admin.entity.EnvFengPeizhi; import com.huimv.admin.entity.vo.PublicDeployVo; import com.huimv.admin.mapper.EnvDayagePeizhiMapper; import com.huimv.admin.mapper.EnvDeviceFanMapper; import com.huimv.admin.mapper.EnvDeviceMapper; import com.huimv.admin.mapper.EnvFengPeizhiMapper; import com.huimv.admin.service.IEnvDayagePeizhiService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author author * @since 2023-04-10 */ @Service public class EnvDayagePeizhiServiceImpl extends ServiceImpl implements IEnvDayagePeizhiService { @Resource private EnvDayagePeizhiMapper envDayagePeizhiMapper; @Resource private EnvFengPeizhiMapper envFengPeizhiMapper; @Resource private EnvDeviceMapper envDeviceMapper; @Resource private EnvDeviceFanMapper envDeviceFanMapper; @Override public Result listDeploy(Map paramsMap) { List publicDeployVos = envDayagePeizhiMapper.listPublicDeploy(); return new Result(ResultCode.SUCCESS,publicDeployVos); } @Override public Result listDeployByDevice(Map paramsMap) { String deviceCode = paramsMap.get("deviceCode"); List envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper() .eq("device_code", deviceCode) .groupBy("time_dayage")); return new Result(ResultCode.SUCCESS,envDayagePeizhis); } @Override @Transactional public Result rename(Map paramsMap) { String deployName = paramsMap.get("newDeployName"); String timeDayAge = paramsMap.get("timeDayAge"); List time_dayage = envDayagePeizhiMapper.selectList(new QueryWrapper().eq("time_dayage", timeDayAge)); for (EnvDayagePeizhi envDayagePeizhi : time_dayage) { envDayagePeizhi.setDeployName(deployName); envDayagePeizhiMapper.updateById(envDayagePeizhi); } List windDeploy = envFengPeizhiMapper.selectList(new QueryWrapper().eq("time_feng", timeDayAge)); for (EnvFengPeizhi envWindPeizhi : windDeploy) { envWindPeizhi.setDeployName(deployName); envFengPeizhiMapper.updateById(envWindPeizhi); } return Result.SUCCESS(); } @Override @Transactional public Result apply(Map paramsMap) { String deviceCode = paramsMap.get("deviceCode"); String timeDayAge = paramsMap.get("timeDayAge"); String farmId = paramsMap.get("farmId"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime time = LocalDateTime.parse(timeDayAge, formatter); System.out.println(time); EnvDevice envDevice = envDeviceMapper.selectOne(new QueryWrapper().eq("device_sort_code", deviceCode).eq("farm_id", farmId)); envDevice.setDisposeTime(time); envDeviceMapper.updateById(envDevice); List timeDayAge1 = envFengPeizhiMapper.selectList(new QueryWrapper().eq("time_feng",timeDayAge)); for (EnvFengPeizhi envFengPeizhi : timeDayAge1) { String fansCtrl = envFengPeizhi.getFansCtrl(); Integer fanNum = envDeviceFanMapper.selectCount(new QueryWrapper().eq("device_code", deviceCode).eq("farm_id", farmId)); if (fanNum != fansCtrl.length()+1){ return new Result(ResultCode.FAIL,"设备风机数量不等于配置所需!"); } } //应用的变1 List envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper().eq("device_code", deviceCode).eq("time_dayage", time)); for (EnvDayagePeizhi envDayagePeizhi : envDayagePeizhis) { envDayagePeizhi.setUsingStart(1); envDayagePeizhiMapper.updateById(envDayagePeizhi); } List envFengPeizhis = envFengPeizhiMapper.selectList(new QueryWrapper().eq("device_code", deviceCode).eq("time_feng", time)); for (EnvFengPeizhi envFengPeizhi : envFengPeizhis) { envFengPeizhi.setUsingStart(1); envFengPeizhiMapper.updateById(envFengPeizhi); } //其他0 List envDayage = envDayagePeizhiMapper.selectList(new QueryWrapper().eq("device_code", deviceCode).ne("time_dayage", time)); for (EnvDayagePeizhi envDayagePeizhi : envDayage) { envDayagePeizhi.setUsingStart(0); envDayagePeizhiMapper.updateById(envDayagePeizhi); } List envFeng = envFengPeizhiMapper.selectList(new QueryWrapper().eq("device_code", deviceCode).ne("time_feng", time)); for (EnvFengPeizhi envFengPeizhi : envFeng) { envFengPeizhi.setUsingStart(0); envFengPeizhiMapper.updateById(envFengPeizhi); } return Result.SUCCESS(); } @Override @Transactional public Result uplode(Map paramsMap) { String timeDayAge = paramsMap.get("timeDayAge"); String deviceCode = paramsMap.get("deviceCode"); List envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper().eq("device_code", deviceCode).eq("time_dayage", timeDayAge)); for (EnvDayagePeizhi envDayagePeizhi : envDayagePeizhis) { envDayagePeizhi.setOpenStatus(1); envDayagePeizhiMapper.updateById(envDayagePeizhi); } List envFengPeizhis = envFengPeizhiMapper.selectList(new QueryWrapper().eq("device_code", deviceCode).eq("time_feng", timeDayAge)); for (EnvFengPeizhi envFengPeizhi : envFengPeizhis) { envFengPeizhi.setOpenStatus(1); envFengPeizhiMapper.updateById(envFengPeizhi); } return Result.SUCCESS(); } @Override public Result listDayAge(Map paramsMap) { String deviceCode = paramsMap.get("deviceCode"); String timeDayAge = paramsMap.get("timeDayAge"); List envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper() .eq("device_code", deviceCode) .eq("time_dayage", timeDayAge) .orderByAsc("level_dayage")); return new Result(ResultCode.SUCCESS,envDayagePeizhis); } }