From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 十月 2024 15:59:38 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java | 129 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 126 insertions(+), 3 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..c75617b 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,11 @@ 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.PlatformLastMonthListResponse; +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 +27,10 @@ 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.util.Date; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; /** * 鏈堝彴_鐢ㄦ按鐢ㄦ皵淇℃伅璁板綍琛⊿ervice瀹炵幇 @@ -41,11 +47,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(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒"); } @@ -109,6 +116,7 @@ .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO) .ne(PlatformWaterGas::getId,platformWaterGas.getId()) .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 +158,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 +216,118 @@ 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,DateUtil.getDate(beforMonth,"yyyy-MM")) + ); + 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,DateUtil.getDate(beforYearMonth,"yyyy-MM")) + ); + 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,DateUtil.getDate(beforMonth,"yyyy-MM")) + ); + 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,DateUtil.getDate(beforYearMonth,"yyyy-MM")) + ); + 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; + } + + + /** + * + * @param type 0鐢ㄦ按 1鐢ㄦ皵 + * @return + */ + @Override + public List<PlatformLastMonthListResponse> getPlatformLastMonthListResponse(Integer type){ + List<PlatformLastMonthListResponse> lastMonthListResponses = new ArrayList<>(); + + List<PlatformWaterGas> platformWaterGasList = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) + .eq(PlatformWaterGas::getType,type) + ); + List<String> monthList = DateUtil.getBeforMonth(new Date(),12); + for (String str:monthList) { + PlatformLastMonthListResponse platformLastMonthListResponse = new PlatformLastMonthListResponse(); + platformLastMonthListResponse.setNum(platformWaterGasList.stream().filter(i->DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM").equals(str)).map(i->i.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); + platformLastMonthListResponse.setTimeInfo(str); + lastMonthListResponses.add(platformLastMonthListResponse); + } + return lastMonthListResponses; + } + + + + } -- Gitblit v1.9.3