| | |
| | | import com.dy.common.mw.protocol.Command; |
| | | import com.dy.common.mw.protocol.CommandBackParam; |
| | | import com.dy.common.util.DateTime; |
| | | import com.dy.common.util.IDLongGenerator; |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.pipIrrGlobal.daoLargeScreen.Ls4StatisticsMapper; |
| | | import com.dy.pipIrrGlobal.rtuMw.CodeLocal; |
| | |
| | | import com.dy.pipIrrGlobal.voLargeScreen.VoBaseInfo; |
| | | import com.dy.pipIrrGlobal.voLargeScreen.VoCurrentInfo; |
| | | import com.dy.pipIrrGlobal.voLargeScreen.VoMonitorInfo; |
| | | import com.dy.pipIrrGlobal.voSpecial.VoTopXClient; |
| | | import com.dy.pipIrrGlobal.voSpecial.VoTopXIntake; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.core.env.Environment; |
| | |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | |
| | | Date dtAtXHourBefore = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(DateTime.lastXHour_yyyy_MM_dd_HH_mm_ss(24)) ;//X个小时前 |
| | | VoCurrentInfo vo = new VoCurrentInfo() ; |
| | | Integer[] result = this.queryMwOnAndOffLine() ; |
| | | vo.totalCountOfOnLine = result[0] ; |
| | | vo.totalCountOfOffLine = totalCountOfIntake - vo.totalCountOfOnLine; ; |
| | | vo.totalCountOfOpenValve = this.dao.totalCountOfOpenValve(dtAtXHourBefore) ; |
| | | vo.totalCountOfCloseValve = this.dao.totalCountOfCloseValve(dtAtXHourBefore) ; |
| | | vo.totalCountOfUnknownValve = totalCountOfIntake - vo.totalCountOfOpenValve - vo.totalCountOfCloseValve ; |
| | | vo.totalCountOfAlarm = this.dao.totalCountOfAlarm(dtAtXHourBefore) ; |
| | | vo.totalCountOfNoAlarm = this.dao.totalCountOfNoAlarm(dtAtXHourBefore) ; |
| | | vo.totalCountOfUnknownAlarm = totalCountOfIntake - vo.totalCountOfAlarm - vo.totalCountOfNoAlarm ; |
| | | vo.cTotalCountOfOnLine = result[0] ; |
| | | vo.cTotalCountOfOffLine = totalCountOfIntake - vo.cTotalCountOfOnLine; |
| | | vo.cTotalCountOfOffLine = vo.cTotalCountOfOffLine < 0 ? 0 : vo.cTotalCountOfOffLine ; |
| | | |
| | | vo.cTotalCountOfOpenValve = this.dao.totalCountOfOpenValve(dtAtXHourBefore) ; |
| | | vo.cTotalCountOfCloseValve = this.dao.totalCountOfCloseValve(dtAtXHourBefore) ; |
| | | vo.cTotalCountOfUnknownValve = totalCountOfIntake - vo.cTotalCountOfOpenValve - vo.cTotalCountOfCloseValve; |
| | | vo.cTotalCountOfUnknownValve = vo.cTotalCountOfUnknownValve < 0 ? 0 : vo.cTotalCountOfUnknownValve ; |
| | | |
| | | vo.cTotalCountOfAlarm = this.dao.totalCountOfAlarm(dtAtXHourBefore) ; |
| | | vo.cTotalCountOfNoAlarm = this.dao.totalCountOfNoAlarm(dtAtXHourBefore) ; |
| | | vo.cTotalCountOfUnknownAlarm = totalCountOfIntake - vo.cTotalCountOfAlarm - vo.cTotalCountOfNoAlarm; |
| | | vo.cTotalCountOfUnknownAlarm = vo.cTotalCountOfUnknownAlarm < 0 ? 0 : vo.cTotalCountOfUnknownAlarm ; |
| | | return vo ; |
| | | } |
| | | |
| | |
| | | * 监测信息统计 |
| | | * @return |
| | | */ |
| | | public VoMonitorInfo monitorInfo(Date startDt){ |
| | | public VoMonitorInfo monitorInfo(Date fromDt){ |
| | | VoMonitorInfo vo = new VoMonitorInfo() ; |
| | | vo.mTotalCountOfReport = this.dao.mTotalCountOfReport(fromDt) ; |
| | | vo.mTotalCountOfNoReport = this.dao.mTotalCountOfNoReport(fromDt) ; |
| | | vo.mTotalCountOfNeverReport = this.dao.mTotalCountOfNeverReport() ; |
| | | |
| | | vo.mTotalCountOfOpenValve = this.dao.mTotalCountOfOpenValve(fromDt) ; |
| | | vo.mTotalCountOfCloseValve = this.dao.mTotalCountOfCloseValve(fromDt) ; |
| | | vo.mTotalCountOfNeverOpenValve = this.dao.mTotalCountOfNeverOpenValve() ; |
| | | |
| | | vo.mTotalCountOfAlarm = this.dao.mTotalCountOfAlarm(fromDt) ; |
| | | vo.mTotalCountOfNoAlarm = this.dao.mTotalCountOfNoAlarm(fromDt) ; |
| | | vo.mTotalCountOfNeverAlarm = this.dao.mTotalCountOfNeverAlarm() ; |
| | | |
| | | return vo ; |
| | | } |
| | | |
| | |
| | | } |
| | | return result ; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 昨日农户用水前5名统计 |
| | | * @return 数据集合 |
| | | */ |
| | | public List<VoTopXClient> top5ClientYesterday() { |
| | | int[] yesterday = DateTime.yyyy_MM_dd_2_ymdGroup(DateTime.lastXDay_yyyy_MM_dd(1)) ; |
| | | Long idStart = IDLongGenerator.generateOneDayStartId(yesterday[0], yesterday[1], yesterday[2]) ; |
| | | Long idEnd = IDLongGenerator.generateOneDayEndId(yesterday[0], yesterday[1], yesterday[2]) ; |
| | | return this.dao.topXClientAtCertainDay(idStart, idEnd, 5) ; |
| | | } |
| | | |
| | | /** |
| | | * 昨日取水口用水前5名统计 |
| | | * @return 数据集合 |
| | | */ |
| | | public List<VoTopXIntake> top5IntakeYesterday() { |
| | | int[] yesterday = DateTime.yyyy_MM_dd_2_ymdGroup(DateTime.lastXDay_yyyy_MM_dd(1)) ; |
| | | Long idStart = IDLongGenerator.generateOneDayStartId(yesterday[0], yesterday[1], yesterday[2]) ; |
| | | Long idEnd = IDLongGenerator.generateOneDayEndId(yesterday[0], yesterday[1], yesterday[2]) ; |
| | | return this.dao.topXIntakeAtCertainDay(idStart, idEnd, 5) ; |
| | | } |
| | | |
| | | } |