From e46bfa3ff94a8a1b4daf37c7fcb79c2fab22a72c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 29 五月 2026 17:10:00 +0800
Subject: [PATCH] 新增智能电表、空调管理
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalDataServiceImpl.java | 176 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 95 insertions(+), 81 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalDataServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalDataServiceImpl.java
index 69d376e..0f265b1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalDataServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalDataServiceImpl.java
@@ -1,32 +1,42 @@
package com.doumee.service.business.impl;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
-import com.doumee.dao.business.model.YwElectricalData;
-import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.YwElectricalDataMapper;
-import com.doumee.service.business.YwElectricalDataService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwElectricalDataMapper;
+import com.doumee.dao.business.model.YwElectrical;
+import com.doumee.dao.business.model.YwElectricalData;
+import com.doumee.dao.business.model.YwElectricalRoom;
+import com.doumee.service.business.YwElectricalBizService;
+import com.doumee.service.business.YwElectricalDataService;
+import com.doumee.service.business.YwWorkDeskEnergyService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.doumee.core.model.LoginUserInfo;
+
+import java.text.SimpleDateFormat;
import java.util.List;
/**
* 鐢佃〃鎶勮〃鏁版嵁Service瀹炵幇
- * @author doumee
- * @date 2026-05-20 14:59:07
*/
@Service
public class YwElectricalDataServiceImpl implements YwElectricalDataService {
@Autowired
private YwElectricalDataMapper ywElectricalDataMapper;
+ @Autowired
+ private YwElectricalBizService ywElectricalBizService;
+ @Autowired
+ private YwWorkDeskEnergyService ywWorkDeskEnergyService;
@Override
public Integer create(YwElectricalData ywElectricalData) {
@@ -38,34 +48,37 @@
public void deleteById(Integer id) {
ywElectricalDataMapper.deleteById(id);
}
- @Override
- public void deleteByIdInBatch(List<Integer> ids ) {
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
if (CollectionUtils.isEmpty(ids)) {
return;
}
- for(Integer id :ids){
+ for (Integer id : ids) {
deleteById(id);
}
}
+
@Override
public void deleteById(Integer id, LoginUserInfo user) {
ywElectricalDataMapper.deleteById(id);
}
- @Override
+
+ @Override
public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
if (CollectionUtils.isEmpty(ids)) {
return;
}
- for(Integer id :ids){
- deleteById(id,user);
+ for (Integer id : ids) {
+ deleteById(id, user);
}
}
+
@Override
public void delete(YwElectricalData ywElectricalData) {
UpdateWrapper<YwElectricalData> deleteWrapper = new UpdateWrapper<>(ywElectricalData);
ywElectricalDataMapper.delete(deleteWrapper);
}
-
@Override
public void updateById(YwElectricalData ywElectricalData) {
@@ -77,7 +90,7 @@
if (CollectionUtils.isEmpty(ywElectricalDatas)) {
return;
}
- for (YwElectricalData ywElectricalData: ywElectricalDatas) {
+ for (YwElectricalData ywElectricalData : ywElectricalDatas) {
this.updateById(ywElectricalData);
}
}
@@ -98,79 +111,80 @@
QueryWrapper<YwElectricalData> wrapper = new QueryWrapper<>(ywElectricalData);
return ywElectricalDataMapper.selectList(wrapper);
}
-
+
@Override
public PageData<YwElectricalData> findPage(PageWrap<YwElectricalData> pageWrap) {
IPage<YwElectricalData> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ YwElectricalData model = pageWrap.getModel() == null ? new YwElectricalData() : pageWrap.getModel();
+ Utils.MP.blankToNull(model);
+
MPJLambdaWrapper<YwElectricalData> queryWrapper = new MPJLambdaWrapper<>();
- Utils.MP.blankToNull(pageWrap.getModel());
- queryWrapper.eq(pageWrap.getModel().getId() != null,YwElectricalData::getId, pageWrap.getModel().getId());
- queryWrapper.eq(pageWrap.getModel().getCreator() != null,YwElectricalData::getCreator, pageWrap.getModel().getCreator());
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.ge(YwElectricalData::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.le(YwElectricalData::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ queryWrapper.selectAll(YwElectricalData.class)
+ .selectAs(YwElectrical::getName, YwElectricalData::getElectricalName)
+ .selectAs(YwElectrical::getId, YwElectricalData::getElectricalId)
+ .leftJoin(YwElectrical.class, on -> on
+ .eq(YwElectrical::getAddress, YwElectricalData::getAddress)
+ .eq(YwElectrical::getIsdeleted, Constants.ZERO))
+ .eq(YwElectricalData::getIsdeleted, Constants.ZERO);
+
+ if (StringUtils.isNotBlank(model.getMeterKeyword())) {
+ String kw = model.getMeterKeyword().trim();
+ queryWrapper.and(w -> w.like(YwElectricalData::getAddress, kw)
+ .or().like(YwElectricalData::getName, kw)
+ .or().like(YwElectrical::getName, kw));
}
- queryWrapper.eq(pageWrap.getModel().getEditor() != null,YwElectricalData::getEditor, pageWrap.getModel().getEditor());
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.ge(YwElectricalData::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.le(YwElectricalData::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ if (model.getRoomId() != null) {
+ queryWrapper.innerJoin(YwElectricalRoom.class, on -> on
+ .eq(YwElectricalRoom::getObjId, YwElectrical::getId)
+ .eq(YwElectricalRoom::getType, Constants.ZERO)
+ .eq(YwElectricalRoom::getIsdeleted, Constants.ZERO))
+ .eq(YwElectricalRoom::getRoomId, model.getRoomId());
}
- queryWrapper.eq(pageWrap.getModel().getIsdeleted() != null,YwElectricalData::getIsdeleted, pageWrap.getModel().getIsdeleted());
- queryWrapper.eq(pageWrap.getModel().getRemark() != null,YwElectricalData::getRemark, pageWrap.getModel().getRemark());
- queryWrapper.eq(pageWrap.getModel().getDeviceId() != null,YwElectricalData::getDeviceId, pageWrap.getModel().getDeviceId());
- queryWrapper.eq(pageWrap.getModel().getAddTime() != null,YwElectricalData::getAddTime, pageWrap.getModel().getAddTime());
- queryWrapper.eq(pageWrap.getModel().getJsfs() != null,YwElectricalData::getJsfs, pageWrap.getModel().getJsfs());
- queryWrapper.eq(pageWrap.getModel().getFls() != null,YwElectricalData::getFls, pageWrap.getModel().getFls());
- queryWrapper.eq(pageWrap.getModel().getXs() != null,YwElectricalData::getXs, pageWrap.getModel().getXs());
- queryWrapper.eq(pageWrap.getModel().getZyje() != null,YwElectricalData::getZyje, pageWrap.getModel().getZyje());
- queryWrapper.eq(pageWrap.getModel().getYe() != null,YwElectricalData::getYe, pageWrap.getModel().getYe());
- queryWrapper.eq(pageWrap.getModel().getCountnum() != null,YwElectricalData::getCountnum, pageWrap.getModel().getCountnum());
- queryWrapper.eq(pageWrap.getModel().getDqdj() != null,YwElectricalData::getDqdj, pageWrap.getModel().getDqdj());
- queryWrapper.eq(pageWrap.getModel().getZhygzdl() != null,YwElectricalData::getZhygzdl, pageWrap.getModel().getZhygzdl());
- queryWrapper.eq(pageWrap.getModel().getZqyl() != null,YwElectricalData::getZqyl, pageWrap.getModel().getZqyl());
- queryWrapper.eq(pageWrap.getModel().getAxdl() != null,YwElectricalData::getAxdl, pageWrap.getModel().getAxdl());
- queryWrapper.eq(pageWrap.getModel().getBxdl() != null,YwElectricalData::getBxdl, pageWrap.getModel().getBxdl());
- queryWrapper.eq(pageWrap.getModel().getCxdl() != null,YwElectricalData::getCxdl, pageWrap.getModel().getCxdl());
- queryWrapper.eq(pageWrap.getModel().getAxdy() != null,YwElectricalData::getAxdy, pageWrap.getModel().getAxdy());
- queryWrapper.eq(pageWrap.getModel().getBxdy() != null,YwElectricalData::getBxdy, pageWrap.getModel().getBxdy());
- queryWrapper.eq(pageWrap.getModel().getCxdy() != null,YwElectricalData::getCxdy, pageWrap.getModel().getCxdy());
- queryWrapper.eq(pageWrap.getModel().getZyggl() != null,YwElectricalData::getZyggl, pageWrap.getModel().getZyggl());
- queryWrapper.eq(pageWrap.getModel().getAxyggl() != null,YwElectricalData::getAxyggl, pageWrap.getModel().getAxyggl());
- queryWrapper.eq(pageWrap.getModel().getBxyggl() != null,YwElectricalData::getBxyggl, pageWrap.getModel().getBxyggl());
- queryWrapper.eq(pageWrap.getModel().getCxyggl() != null,YwElectricalData::getCxyggl, pageWrap.getModel().getCxyggl());
- queryWrapper.eq(pageWrap.getModel().getZwggl() != null,YwElectricalData::getZwggl, pageWrap.getModel().getZwggl());
- queryWrapper.eq(pageWrap.getModel().getAxwggl() != null,YwElectricalData::getAxwggl, pageWrap.getModel().getAxwggl());
- queryWrapper.eq(pageWrap.getModel().getBxwggl() != null,YwElectricalData::getBxwggl, pageWrap.getModel().getBxwggl());
- queryWrapper.eq(pageWrap.getModel().getCxwggl() != null,YwElectricalData::getCxwggl, pageWrap.getModel().getCxwggl());
- queryWrapper.eq(pageWrap.getModel().getZszgl() != null,YwElectricalData::getZszgl, pageWrap.getModel().getZszgl());
- queryWrapper.eq(pageWrap.getModel().getAxszgl() != null,YwElectricalData::getAxszgl, pageWrap.getModel().getAxszgl());
- queryWrapper.eq(pageWrap.getModel().getBxszgl() != null,YwElectricalData::getBxszgl, pageWrap.getModel().getBxszgl());
- queryWrapper.eq(pageWrap.getModel().getCxszgl() != null,YwElectricalData::getCxszgl, pageWrap.getModel().getCxszgl());
- queryWrapper.eq(pageWrap.getModel().getZglys() != null,YwElectricalData::getZglys, pageWrap.getModel().getZglys());
- queryWrapper.eq(pageWrap.getModel().getAxglys() != null,YwElectricalData::getAxglys, pageWrap.getModel().getAxglys());
- queryWrapper.eq(pageWrap.getModel().getBxglys() != null,YwElectricalData::getBxglys, pageWrap.getModel().getBxglys());
- queryWrapper.eq(pageWrap.getModel().getPl() != null,YwElectricalData::getPl, pageWrap.getModel().getPl());
- queryWrapper.eq(pageWrap.getModel().getWd() != null,YwElectricalData::getWd, pageWrap.getModel().getWd());
- queryWrapper.eq(pageWrap.getModel().getDdyy() != null,YwElectricalData::getDdyy, pageWrap.getModel().getDdyy());
- queryWrapper.eq(pageWrap.getModel().getDbzt() != null,YwElectricalData::getDbzt, pageWrap.getModel().getDbzt());
- queryWrapper.eq(pageWrap.getModel().getDataId() != null,YwElectricalData::getDataId, pageWrap.getModel().getDataId());
- queryWrapper.eq(pageWrap.getModel().getConsume() != null,YwElectricalData::getConsume, pageWrap.getModel().getConsume());
- queryWrapper.eq(pageWrap.getModel().getCid() != null,YwElectricalData::getCid, pageWrap.getModel().getCid());
- queryWrapper.eq(pageWrap.getModel().getMid() != null,YwElectricalData::getMid, pageWrap.getModel().getMid());
- queryWrapper.eq(pageWrap.getModel().getAddress() != null,YwElectricalData::getAddress, pageWrap.getModel().getAddress());
- queryWrapper.eq(pageWrap.getModel().getUid() != null,YwElectricalData::getUid, pageWrap.getModel().getUid());
- queryWrapper.eq(pageWrap.getModel().getName() != null,YwElectricalData::getName, pageWrap.getModel().getName());
- queryWrapper.eq(pageWrap.getModel().getFid() != null,YwElectricalData::getFid, pageWrap.getModel().getFid());
- queryWrapper.eq(pageWrap.getModel().getData() != null,YwElectricalData::getData, pageWrap.getModel().getData());
- queryWrapper.eq(pageWrap.getModel().getDsp() != null,YwElectricalData::getDsp, pageWrap.getModel().getDsp());
- queryWrapper.eq(pageWrap.getModel().getRadio() != null,YwElectricalData::getRadio, pageWrap.getModel().getRadio());
- queryWrapper.orderByDesc(YwElectricalData::getId);
- IPage<YwElectricalData> result = ywElectricalDataMapper.selectJoinPage(page, YwElectricalData.class,queryWrapper);
- return PageData.from(result);
+ if (model.getReadTimeBegin() != null) {
+ String begin = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+ .format(Utils.Date.getStart(model.getReadTimeBegin()));
+ queryWrapper.and(w -> w.and(w1 -> w1.isNotNull(YwElectricalData::getAddTime)
+ .ne(YwElectricalData::getAddTime, "")
+ .ge(YwElectricalData::getAddTime, begin))
+ .or(w2 -> w2.and(w3 -> w3.isNull(YwElectricalData::getAddTime)
+ .or().eq(YwElectricalData::getAddTime, ""))
+ .ge(YwElectricalData::getCreateDate, Utils.Date.getStart(model.getReadTimeBegin()))));
+ }
+ if (model.getReadTimeEnd() != null) {
+ String end = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+ .format(Utils.Date.getEnd(model.getReadTimeEnd()));
+ queryWrapper.and(w -> w.and(w1 -> w1.isNotNull(YwElectricalData::getAddTime)
+ .ne(YwElectricalData::getAddTime, "")
+ .le(YwElectricalData::getAddTime, end))
+ .or(w2 -> w2.and(w3 -> w3.isNull(YwElectricalData::getAddTime)
+ .or().eq(YwElectricalData::getAddTime, ""))
+ .le(YwElectricalData::getCreateDate, Utils.Date.getEnd(model.getReadTimeEnd()))));
+ }
+
+ queryWrapper.orderByDesc(YwElectricalData::getAddTime)
+ .orderByDesc(YwElectricalData::getCreateDate)
+ .orderByDesc(YwElectricalData::getId);
+ IPage<YwElectricalData> result = ywElectricalDataMapper.selectJoinPage(page, YwElectricalData.class, queryWrapper);
+ PageData<YwElectricalData> pageData = PageData.from(result);
+ ywElectricalBizService.enrichDataList(pageData.getRecords());
+ return pageData;
}
+
@Override
public long count(YwElectricalData ywElectricalData) {
QueryWrapper<YwElectricalData> wrapper = new QueryWrapper<>(ywElectricalData);
return ywElectricalDataMapper.selectCount(wrapper);
}
+
+ @Override
+ public String syncFromPlatform() {
+ return ywElectricalBizService.syncMeterDataFromPlatform();
+ }
+
+ @Override
+ public String syncFromPlatform(String readTimeBegin, String readTimeEnd) {
+ String syncMsg = ywElectricalBizService.syncMeterDataFromPlatform(readTimeBegin, readTimeEnd);
+ String statsMsg = ywWorkDeskEnergyService.refreshElectricalDailyStatsForRange(readTimeBegin, readTimeEnd);
+ return syncMsg + "锛�" + statsMsg;
+ }
}
--
Gitblit v1.9.3