| | |
| | | import com.nanjing.water.repository.impl.WaterMonitoryPointMapperImpl; |
| | | import com.nanjing.water.repository.po.WaterFacilityPO; |
| | | import com.nanjing.water.repository.po.WaterFacilityParameterPO; |
| | | import com.nanjing.water.repository.vo.FacilityParameterDataVO; |
| | | import com.nanjing.water.repository.vo.WaterFacilityParameterVO; |
| | | import com.nanjing.water.repository.vo.WaterFacilityVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | private WaterFacilityMapperImpl waterFacilityMapper; |
| | | @Autowired |
| | | private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; |
| | | @Autowired |
| | | private StringRedisTemplate redisTemplate; |
| | | |
| | | public ExecutedResult<String> create(ReqAddParameter request) { |
| | | WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId()); |
| | |
| | | return ExecutedResult.success(result); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @return |
| | | */ |
| | | public ExecutedResult<String> getNewDataPump(){ |
| | | //获取所有泵房启泵次数 |
| | | List<FacilityParameterDataVO> listNewPump = mapper.getListNewPump(); |
| | | redisTemplate.opsForValue().set("pump_start_number",SerializeUtil.toJson(listNewPump)); |
| | | redisTemplate.expire("pump_start_number",24,TimeUnit.HOURS); |
| | | return ExecutedResult.success(); |
| | | } |
| | | public ExecutedResult<List<WaterFacilityParameterPO>> getListByFacilityId(Long facilityId) { |
| | | List<WaterFacilityParameterPO> list = new ArrayList<>(); |
| | | LambdaQueryWrapper<WaterFacilityParameterPO> wrapper = new LambdaQueryWrapper<>(); |
| | |
| | | List<WaterFacilityParameterPO> parameterPOList = mapper.getList(); |
| | | if(ListUtil.isNotNullOrEmpty(facilityPOList)){ |
| | | result = CopierUtil.mapTo(facilityPOList, WaterFacilityVO.class); |
| | | int sumTime=0; |
| | | for(WaterFacilityVO facilityVO:result){ |
| | | List<WaterFacilityParameterPO> collect = parameterPOList.stream().filter(x -> x.getFacilityId().equals(facilityVO.getId())).collect(Collectors.toList()); |
| | | if(ListUtil.isNotNullOrEmpty(collect)){ |
| | |
| | | if("true".equals(parameterVO.getColumnValue())){ |
| | | parameterVO.setColumnValue("开"); |
| | | } |
| | | // if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")){ |
| | | // BigDecimal bigDecimal=new BigDecimal(parameterVO.getColumnValue()).setScale(2,RoundingMode.DOWN); |
| | | // if(bigDecimal.compareTo(new BigDecimal(60).setScale(2,RoundingMode.DOWN))>0){ |
| | | // BigDecimal data = bigDecimal.divide(new BigDecimal(60),2,BigDecimal.ROUND_HALF_UP); |
| | | // parameterVO.setColumnValue(data+"分"); |
| | | // } |
| | | // if(bigDecimal.compareTo(new BigDecimal(3600))>0){ |
| | | // BigDecimal data = bigDecimal.divide(new BigDecimal(3600),2,BigDecimal.ROUND_HALF_UP); |
| | | // parameterVO.setColumnValue(data+"时"); |
| | | // } |
| | | // } |
| | | if(parameterVO.getColumnsCode().equals("B001TimeSum")||parameterVO.getColumnsCode().equals("B002TimeSum")){ |
| | | int time = new BigDecimal(parameterVO.getColumnValue()).intValue(); |
| | | sumTime=sumTime+time; |
| | | if(sumTime>0){ |
| | | String timeString = timeString(sumTime); |
| | | facilityVO.setTotalTime(timeString); |
| | | } |
| | | } |
| | | if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")||parameterVO.getColumnsCode().equals("B001TimeSum")||parameterVO.getColumnsCode().equals("B002TimeSum")){ |
| | | //计算时分秒 |
| | | Integer time= new BigDecimal(parameterVO.getColumnValue()).intValue(); |
| | | if(time>0){ |
| | | String timeString = timeString(time); |
| | | parameterVO.setColumnValue(timeString); |
| | | } |
| | | } |
| | | } |
| | | facilityVO.setParameterVOList(parameterVOList); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | return ExecutedResult.success(result); |
| | | } |
| | | public String timeString(Integer time){ |
| | | int hours=time/3600; |
| | | int minutes=(time%3600)/60; |
| | | int seconds=time%60; |
| | | return hours+"时"+minutes+"分"+seconds+"秒"; |
| | | } |
| | | protected ExecutedResult<WaterFacilityParameterPO> check4Id(Long id) { |
| | | WaterFacilityParameterPO exists = mapper.get(id); |
| | | if (Objects.isNull(exists)) { |