123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- package com.welampiot.service.impl;
- import com.welampiot.dao.WaterImmersionDevInfoDao;
- import com.welampiot.dto.WaterImmersionDevInfoDTO;
- import com.welampiot.dto.WaterImmersionDevInfoLogDTO;
- import com.welampiot.service.WaterImmersionDevInfoService;
- import com.welampiot.vo.WaterImmersionDevInfoLogVO;
- import com.welampiot.vo.WaterImmersionDevInfoVO;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- /**
- * ClassName: WaterImmersionDevInfoServiceImpl
- * Package: com.welampiot.service.impl
- * Description:
- *
- * @Author: zhj_Start
- * @Create: 2023/4/19 - 12:45
- * @Version: v1.0
- */
- @Service
- public class WaterImmersionDevInfoServiceImpl implements WaterImmersionDevInfoService {
- @Autowired
- private WaterImmersionDevInfoDao waterImmersionDevInfoDao;
- @Override
- public WaterImmersionDevInfoVO getWaterImmersionList(WaterImmersionDevInfoDTO dto, Integer version) {
- WaterImmersionDevInfoVO vo = new WaterImmersionDevInfoVO();
- vo.setTotal(waterImmersionDevInfoDao.getDeviceTotalByDTO(dto));
- List<WaterImmersionDevInfoDTO> waterImmersionList = waterImmersionDevInfoDao.getWaterImmersionListByDTO(dto);
- List<WaterImmersionDevInfoDTO> list = new ArrayList<>();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- waterImmersionList.forEach(waterImmersionDTO ->{
- //灯杆名
- if (waterImmersionDTO.getLampPoleName() == null){
- waterImmersionDTO.setLampPoleName("");
- }
- //区域名
- if (version == 0){
- if (waterImmersionDTO.getChArea() != null){
- waterImmersionDTO.setArea(waterImmersionDTO.getChArea());
- }else {
- waterImmersionDTO.setArea("");
- }
- }else if (version == 1){
- if (waterImmersionDTO.getEnArea() != null){
- waterImmersionDTO.setArea(waterImmersionDTO.getEnArea());
- }else {
- waterImmersionDTO.setArea("");
- }
- }else {
- if (waterImmersionDTO.getRuArea() != null){
- waterImmersionDTO.setArea(waterImmersionDTO.getRuArea());
- }else {
- waterImmersionDTO.setArea("");
- }
- }
- //路段名
- if (waterImmersionDTO.getSection() == null){
- waterImmersionDTO.setSection("");
- }
- //设备型号(0 RS-SJ-R01-4,1 RS485-WT10)
- if (waterImmersionDTO.getModel() != null && waterImmersionDTO.getModel() == 1){
- waterImmersionDTO.setModel(1);
- }else {
- waterImmersionDTO.setModel(0);
- }
- //网络状态(0:离线,1:在线)
- if (waterImmersionDTO.getStatus() != null && waterImmersionDTO.getStatus() == 1){
- waterImmersionDTO.setStatus(1);
- }else {
- waterImmersionDTO.setStatus(0);
- }
- //水浸探针1(0 正常,1 浸水)
- if (waterImmersionDTO.getProbe1() != null && waterImmersionDTO.getProbe1() == 1){
- waterImmersionDTO.setProbe1(1);
- }else {
- waterImmersionDTO.setProbe1(0);
- }
- //水浸探针2(0 正常,1 浸水)
- if (waterImmersionDTO.getProbe2() != null && waterImmersionDTO.getProbe2() == 1){
- waterImmersionDTO.setProbe2(1);
- }else {
- waterImmersionDTO.setProbe2(0);
- }
- //报警等级(0: 一级,1: 二级,2: 三级)
- if (waterImmersionDTO.getLevel() != null && waterImmersionDTO.getLevel() == 2){
- waterImmersionDTO.setLevel(2);
- }else if (waterImmersionDTO.getLevel() != null && waterImmersionDTO.getLevel() == 1){
- waterImmersionDTO.setLevel(1);
- }else {
- waterImmersionDTO.setLevel(0);
- }
- //关联设备是否要断电(0: 否,1:是)
- if (waterImmersionDTO.getPowerStatus() != null && waterImmersionDTO.getPowerStatus() == 1){
- waterImmersionDTO.setPowerStatus(1);
- }else {
- waterImmersionDTO.setPowerStatus(0);
- }
- //厂家(0:建大仁科,1:红斯迈科技,2:云之声)
- if (waterImmersionDTO.getFactory() != null && waterImmersionDTO.getFactory() == 2){
- waterImmersionDTO.setFactory(2);
- }else if (waterImmersionDTO.getFactory() != null && waterImmersionDTO.getFactory() == 1){
- waterImmersionDTO.setFactory(1);
- }else {
- waterImmersionDTO.setFactory(0);
- }
- //云盒的型号(0 G100,1 G200,2 G300)
- if (waterImmersionDTO.getCloudBoxModel() != null && waterImmersionDTO.getCloudBoxModel() == 2){
- waterImmersionDTO.setCloudBoxModel(2);
- }else if (waterImmersionDTO.getCloudBoxModel() != null && waterImmersionDTO.getCloudBoxModel() == 1){
- waterImmersionDTO.setCloudBoxModel(1);
- }else {
- waterImmersionDTO.setCloudBoxModel(0);
- }
- //创建时间
- if (waterImmersionDTO.getCreateTime() != null && !waterImmersionDTO.getCreateTime().equals("")){
- try {
- waterImmersionDTO.setCreateTime(simpleDateFormat.format(simpleDateFormat.parse(waterImmersionDTO.getCreateTime())));
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }else {
- waterImmersionDTO.setCreateTime("");
- }
- //安装时间
- if (waterImmersionDTO.getInstallDate() != null && !waterImmersionDTO.getInstallDate().equals("")){
- try {
- waterImmersionDTO.setInstallDate(simpleDateFormat.format(simpleDateFormat.parse(waterImmersionDTO.getInstallDate())));
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }else {
- waterImmersionDTO.setInstallDate("");
- }
- //过期时间
- if (waterImmersionDTO.getExpirationDate() != null && !waterImmersionDTO.getExpirationDate().equals("")){
- try {
- waterImmersionDTO.setExpirationDate(simpleDateFormat.format(simpleDateFormat.parse(waterImmersionDTO.getExpirationDate())));
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }else {
- waterImmersionDTO.setExpirationDate("");
- }
- //更新时间
- if (waterImmersionDTO.getUpdateTime() != null && !waterImmersionDTO.getUpdateTime().equals("")){
- Date cmdTime;
- try {
- cmdTime = simpleDateFormat.parse(waterImmersionDTO.getUpdateTime());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- //判断时区,为null默认东八区
- long timezone = waterImmersionDTO.getTimezone() == null ? 8 : waterImmersionDTO.getTimezone();
- long l = cmdTime.getTime() + timezone * 3600 * 1000;
- cmdTime = new Date(l);
- waterImmersionDTO.setUpdateTime(simpleDateFormat.format(cmdTime));
- }else {
- waterImmersionDTO.setUpdateTime("");
- }
- list.add(waterImmersionDTO);
- });
- vo.setList(list);
- return vo;
- }
- @Override
- public WaterImmersionDevInfoLogVO getLogList(WaterImmersionDevInfoLogDTO dto) {
- WaterImmersionDevInfoLogVO vo = new WaterImmersionDevInfoLogVO();
- vo.setTotal(waterImmersionDevInfoDao.getDeviceTotalByDTO(dto));
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- //开始时间
- if (dto.getBeginTime() != null && !dto.getBeginTime().equals("")){
- Date cmdTime;
- try {
- cmdTime = simpleDateFormat.parse(dto.getBeginTime());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- //判断时区,为null默认东八区
- long timezone = waterImmersionDevInfoDao.getTimezoneById(dto) == null ? 8 : waterImmersionDevInfoDao.getTimezoneById(dto);
- long l = cmdTime.getTime() - timezone * 3600 * 1000;
- cmdTime = new Date(l);
- dto.setBeginTime(simpleDateFormat.format(cmdTime));
- }else {
- dto.setBeginTime("");
- }
- //结束时间
- if (dto.getEndTime() != null && !dto.getEndTime().equals("")){
- Date cmdTime;
- try {
- cmdTime = simpleDateFormat.parse(dto.getEndTime());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- //判断时区,为null默认东八区
- long timezone = waterImmersionDevInfoDao.getTimezoneById(dto) == null ? 8 : waterImmersionDevInfoDao.getTimezoneById(dto);
- long l = cmdTime.getTime() - timezone * 3600 * 1000;
- cmdTime = new Date(l);
- dto.setEndTime(simpleDateFormat.format(cmdTime));
- }else {
- dto.setEndTime("");
- }
- List<WaterImmersionDevInfoLogDTO> logList = waterImmersionDevInfoDao.getLogListByDTO(dto);
- List<WaterImmersionDevInfoLogDTO> list = new ArrayList<>();
- logList.forEach(logDTO ->{
- if (logDTO.getProbe1() != null && logDTO.getProbe1() == 1){
- logDTO.setProbe1(1);
- }else {
- logDTO.setProbe1(0);
- }
- if (logDTO.getProbe2() != null && logDTO.getProbe2() == 2){
- logDTO.setProbe2(1);
- }else {
- logDTO.setProbe2(0);
- }
- if (logDTO.getLevel() != null && logDTO.getLevel() == 2){
- logDTO.setLevel(2);
- }else if (logDTO.getLevel() != null && logDTO.getLevel() == 1){
- logDTO.setLevel(1);
- }else {
- logDTO.setLevel(0);
- }
- if (logDTO.getPowerStatus() != null && logDTO.getPowerStatus() == 1){
- logDTO.setPowerStatus(1);
- }else {
- logDTO.setPowerStatus(0);
- }
- //更新时间
- if (logDTO.getUpdateTime() != null && !logDTO.getUpdateTime().equals("")){
- Date cmdTime;
- try {
- cmdTime = simpleDateFormat.parse(logDTO.getUpdateTime());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- //判断时区,为null默认东八区
- long timezone = logDTO.getTimezone() == null ? 8 : logDTO.getTimezone();
- long l = cmdTime.getTime() + timezone * 3600 * 1000;
- cmdTime = new Date(l);
- logDTO.setUpdateTime(simpleDateFormat.format(cmdTime));
- }else {
- logDTO.setUpdateTime("");
- }
- list.add(logDTO);
- });
- vo.setList(list);
- return vo;
- }
- @Override
- public void updateWaterImmersionDataByDTO(WaterImmersionDevInfoDTO dto) {
- waterImmersionDevInfoDao.updateWaterImmersionDataByDTO(dto);
- }
- @Override
- public Integer findByWaterImmersionDTO(WaterImmersionDevInfoDTO dto) {
- return waterImmersionDevInfoDao.findByWaterImmersionDTO(dto);
- }
- @Override
- public Integer findSectionIdById(Integer id) {
- return waterImmersionDevInfoDao.findSectionIdById(id);
- }
- @Override
- public void deleteWaterImmersionDataByDTO(Integer id) {
- waterImmersionDevInfoDao.deleteWaterImmersionDataByDTO(id);
- this.deleteWaterImmersionLogDataByDTO(id);
- }
- @Override
- public void deleteWaterImmersionLogDataByDTO(Integer id) {
- waterImmersionDevInfoDao.deleteWaterImmersionLogDataByDTO(id);
- }
- @Override
- public WaterImmersionDevInfoDTO getWaterDTOById(Integer id) {
- return waterImmersionDevInfoDao.getWaterDTOById(id);
- }
- @Override
- public Integer getWaterImmersionTotal(WaterImmersionDevInfoDTO dto) {
- return waterImmersionDevInfoDao.getWaterImmersionTotal(dto);
- }
- @Override
- public Integer getWaterImmersionOnlineCount(WaterImmersionDevInfoDTO dto) {
- return waterImmersionDevInfoDao.getWaterImmersionOnlineCount(dto);
- }
- @Override
- public Integer getWaterImmersionAlarmCount(WaterImmersionDevInfoDTO dto) {
- return waterImmersionDevInfoDao.getWaterImmersionAlarmCount(dto);
- }
- @Override
- public Integer getWaterImmersionNewCount(WaterImmersionDevInfoDTO dto) {
- return waterImmersionDevInfoDao.getWaterImmersionNewCount(dto);
- }
- @Override
- public void updateDelayTimeByDto(WaterImmersionDevInfoDTO dto) {
- waterImmersionDevInfoDao.updateDelayTimeByDto(dto);
- }
- @Override
- public int getTotalBySectionList(WaterImmersionDevInfoDTO dto) {
- return waterImmersionDevInfoDao.getTotalBySectionList(dto);
- }
- @Override
- public WaterImmersionDevInfoDTO getOneWaterImmersion(HashMap<String,Object> map){
- return waterImmersionDevInfoDao.getOneWaterImmersion(map);
- }
- }
|