diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index efcb2a58f..67a1f64b2 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -44,6 +44,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -349,35 +350,36 @@ public class PollutionSubstationServiceImpl extends ServiceImpl rStatPollutionOrgYPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgYPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionOrgYPO rStatPollutionOrgYPO = rStatPollutionOrgYPOMapper.selectOne (rStatPollutionOrgYPOQueryWrapper); - Optional.ofNullable (rStatPollutionOrgYPO).ifPresent (a->pollutionVO.setData (a.getValue ())); + Optional.ofNullable (rStatPollutionOrgYPO).ifPresent (a->pollutionVO.setData (BigDecimal.valueOf(a.getValue()).setScale(2, RoundingMode.UP).doubleValue())); } else if (Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_QUARTER)) { QueryWrapper rStatPollutionOrgQPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgQPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionOrgQPO rStatPollutionOrgQPO = rStatPollutionOrgQPOMapper.selectOne (rStatPollutionOrgQPOQueryWrapper); - Optional.ofNullable (rStatPollutionOrgQPO).ifPresent (a->pollutionVO.setData (a.getValue ())); + Optional.ofNullable (rStatPollutionOrgQPO).ifPresent (a->pollutionVO.setData (BigDecimal.valueOf(a.getValue()).setScale(2, RoundingMode.UP).doubleValue())); } else if (Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_MONTH)) { QueryWrapper rStatPollutionOrgMPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgMPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionOrgMPO rStatPollutionOrgMPO = rStatPollutionOrgMPOMapper.selectOne (rStatPollutionOrgMPOQueryWrapper); - Optional.ofNullable (rStatPollutionOrgMPO).ifPresent (a->pollutionVO.setData (a.getValue ())); + Optional.ofNullable (rStatPollutionOrgMPO).ifPresent (a->pollutionVO.setData (BigDecimal.valueOf(a.getValue()).setScale(2, RoundingMode.UP).doubleValue())); } else if (Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_DAY)) { QueryWrapper rStatPollutionOrgDPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgDPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); + between("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime,searchEndTime) + .orderByDesc("value").last(" limit 1"); RStatPollutionOrgDPO rStatPollutionOrgDPO = rStatPollutionOrgDPOMapper.selectOne (rStatPollutionOrgDPOQueryWrapper); - Optional.ofNullable (rStatPollutionOrgDPO).ifPresent (a->pollutionVO.setData (a.getValue ())); + Optional.ofNullable (rStatPollutionOrgDPO).ifPresent (a->pollutionVO.setData (BigDecimal.valueOf(a.getValue()).setScale(2, RoundingMode.UP).doubleValue())); }else if(Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_WEEK)){ QueryWrapper rStatPollutionOrgDPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgDPOQueryWrapper.eq ("org_id", detpid). @@ -385,7 +387,7 @@ public class PollutionSubstationServiceImpl extends ServiceImplpollutionVO.setData (a.getValue ())); + Optional.ofNullable (rStatPollutionOrgDPO).ifPresent (a->pollutionVO.setData (BigDecimal.valueOf(a.getValue()).setScale(2, RoundingMode.UP).doubleValue())); } }