| | |
| | | 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) { |
| | |
| | | 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) { |
| | |
| | | if (CollectionUtils.isEmpty(ywElectricalDatas)) { |
| | | return; |
| | | } |
| | | for (YwElectricalData ywElectricalData: ywElectricalDatas) { |
| | | for (YwElectricalData ywElectricalData : ywElectricalDatas) { |
| | | this.updateById(ywElectricalData); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |