From 29d76f8a034cb2bbeccee258e97f66f2e2d87451 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 10 十月 2024 14:57:39 +0800 Subject: [PATCH] 最新版本 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 98 insertions(+), 1 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java index 202d2b0..a3e2a31 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java @@ -12,6 +12,10 @@ import com.doumee.dao.business.PlatformWaterGasMapper; import com.doumee.dao.business.model.PlatformReason; import com.doumee.dao.business.model.PlatformWaterGas; +import com.doumee.dao.openapi.request.GasByMonthRequest; +import com.doumee.dao.openapi.request.WaterByMonthRequest; +import com.doumee.dao.openapi.response.GasByMonthResponse; +import com.doumee.dao.openapi.response.WaterByMonthResponse; import com.doumee.service.business.PlatformWaterGasService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,9 +26,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestBody; +import java.math.BigDecimal; +import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 鏈堝彴_鐢ㄦ按鐢ㄦ皵淇℃伅璁板綍琛⊿ervice瀹炵幇 @@ -41,11 +49,12 @@ public Integer create(PlatformWaterGas platformWaterGas) { if(platformWaterGas.getTimeInfo() ==null || platformWaterGas.getNum()==null ||(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO) && StringUtils.isBlank(platformWaterGas.getCarCode()))){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒"); + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鍙傛暟閿欒锛�"); } if( platformWaterGasMapper.selectCount(new QueryWrapper<PlatformWaterGas>().lambda() .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO) .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(platformWaterGas.getTimeInfo()) +"')") + .eq(PlatformWaterGas::getType,platformWaterGas.getType()) .eq(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO),PlatformWaterGas::getCarCode,platformWaterGas.getCarCode()))>0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒"); } @@ -150,6 +159,7 @@ IPage<PlatformWaterGas> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<PlatformWaterGas> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); + queryWrapper.lambda().eq(PlatformWaterGas::getIsdeleted, Constants.ZERO); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(PlatformWaterGas::getId, pageWrap.getModel().getId()); } @@ -207,4 +217,91 @@ QueryWrapper<PlatformWaterGas> wrapper = new QueryWrapper<>(platformWaterGas); return platformWaterGasMapper.selectCount(wrapper); } + + + @Override + public WaterByMonthResponse waterDataByMonth(WaterByMonthRequest param){ + Date queryDate = (Objects.nonNull(param)&&Objects.nonNull(param.getTimeInfo()))?param.getTimeInfo():new Date(); + //鑾峰彇涓婁釜鏈堟棩鏈� + Calendar calendar = Calendar.getInstance(); + calendar.setTime(queryDate); + calendar.add(Calendar.MONTH, -1); + Date beforMonth = calendar.getTime(); + calendar.add(Calendar.MONTH, -11); + Date beforYearMonth = calendar.getTime(); + + WaterByMonthResponse waterByMonthResponse = new WaterByMonthResponse(); + + List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) + .eq(PlatformWaterGas::getType,Constants.ZERO) + .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(queryDate,"yyyy-MM")) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + waterByMonthResponse.setCurrentMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); + } + + list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) + .eq(PlatformWaterGas::getType,Constants.ZERO) + .like(PlatformWaterGas::getTimeInfo,beforMonth) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + waterByMonthResponse.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); + } + + list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) + .eq(PlatformWaterGas::getType,Constants.ZERO) + .like(PlatformWaterGas::getTimeInfo,beforYearMonth) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + waterByMonthResponse.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); + } + return waterByMonthResponse; + } + + + @Override + public GasByMonthResponse gasDataByMonth(GasByMonthRequest param){ + Date queryDate = (Objects.nonNull(param)&&Objects.nonNull(param.getTimeInfo()))?param.getTimeInfo():new Date(); + //鑾峰彇涓婁釜鏈堟棩鏈� + Calendar calendar = Calendar.getInstance(); + calendar.setTime(queryDate); + calendar.add(Calendar.MONTH, -1); + Date beforMonth = calendar.getTime(); + calendar.add(Calendar.MONTH, -11); + Date beforYearMonth = calendar.getTime(); + + GasByMonthResponse response = new GasByMonthResponse(); + + List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) + .eq(PlatformWaterGas::getType,Constants.ONE) + .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(queryDate,"yyyy-MM")) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + response.setCurrentMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); + } + + list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) + .eq(PlatformWaterGas::getType,Constants.ONE) + .like(PlatformWaterGas::getTimeInfo,beforMonth) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + response.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); + } + + list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) + .eq(PlatformWaterGas::getType,Constants.ONE) + .like(PlatformWaterGas::getTimeInfo,beforYearMonth) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + response.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); + } + return response; + } + } -- Gitblit v1.9.3