renkang
2 天以前 4a99240038013c7d962040e6f8eabd2d72095fd7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalDataServiceImpl.java
@@ -15,12 +15,14 @@
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 java.text.SimpleDateFormat;
import java.util.List;
/**
@@ -33,6 +35,8 @@
    private YwElectricalDataMapper ywElectricalDataMapper;
    @Autowired
    private YwElectricalBizService ywElectricalBizService;
    @Autowired
    private YwWorkDeskEnergyService ywWorkDeskEnergyService;
    @Override
    public Integer create(YwElectricalData ywElectricalData) {
@@ -137,13 +141,28 @@
                    .eq(YwElectricalRoom::getRoomId, model.getRoomId());
        }
        if (model.getReadTimeBegin() != null) {
            queryWrapper.ge(YwElectricalData::getCreateDate, Utils.Date.getStart(model.getReadTimeBegin()));
            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) {
            queryWrapper.le(YwElectricalData::getCreateDate, Utils.Date.getEnd(model.getReadTimeEnd()));
            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::getCreateDate)
        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);
@@ -161,4 +180,11 @@
    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;
    }
}