|  |  | 
 |  |  | 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.voMd.VoCropsSimple; | 
 |  |  | import com.dy.pipIrrGlobal.voMd.VoEt0Simple; | 
 |  |  | 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 | 
 |  |  | 
 |  |  |         Integer[] result = this.queryMwOnAndOffLine() ; | 
 |  |  |         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 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) ; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 所有作物 | 
 |  |  |      * @return 实体集合 | 
 |  |  |      */ | 
 |  |  |     public List<VoCropsSimple> allCropts(){ | 
 |  |  |         return this.dao.allCropts() ; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 所有作物 | 
 |  |  |      * @return 实体集合 | 
 |  |  |      */ | 
 |  |  |     public List<VoEt0Simple> et0InWeek(Long cropId){ | 
 |  |  |         String startDate = DateTime.lastXDay_yyyy_MM_dd(8) ;//8天前 | 
 |  |  |         String endDate = DateTime.lastXDay_yyyy_MM_dd(1) ;//昨天 | 
 |  |  |         return this.dao.et0InWeek(cropId, startDate, endDate) ; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |