From 0793879ecae81b75633a495be9923d5307ac9b32 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期六, 12 十月 2024 17:58:49 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java | 128 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 125 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..55c4e3a 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(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒");
}
@@ -150,6 +157,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 +215,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