123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- package com.welampiot.service.impl;
- import com.welampiot.dao.ChargeDao;
- import com.welampiot.dto.ChargeDTO;
- import com.welampiot.service.ChargeService;
- import com.welampiot.vo.ChargeVO;
- 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: ChargeServiceImpl
- * Package: com.welampiot.service.impl
- * Description:
- *
- * @Author: zhj_Start
- * @Create: 2023/4/18 - 11:16
- * @Version: v1.0
- */
- @Service
- public class ChargeServiceImpl implements ChargeService {
- @Autowired
- private ChargeDao chargeDao;
- @Override
- public ChargeVO getDevListByChargeDTO(ChargeDTO dto) {
- ChargeVO vo = new ChargeVO();
- List<ChargeDTO> devList = chargeDao.getDevListByChargeDTO(dto);
- List<ChargeDTO> list = new ArrayList<>();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- devList.forEach(chargeDTO ->{
- if (chargeDTO.getOnline() != null && chargeDTO.getOnline() == 1){
- chargeDTO.setOnline(1);
- }else {
- chargeDTO.setOnline(0);
- }
- if (chargeDTO.getStatus() != null && chargeDTO.getStatus() == 1){
- chargeDTO.setStatus(1);
- }else {
- chargeDTO.setAlarmStatus(0);
- }
- if (chargeDTO.getUpdateTime() != null && !chargeDTO.getUpdateTime().equals("")){
- Date cmdTime;
- try {
- cmdTime = simpleDateFormat.parse(chargeDTO.getUpdateTime());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- //判断时区,为null默认东八区
- long timezone = chargeDTO.getTimezone() == null ? 8 : chargeDTO.getTimezone();
- long l = cmdTime.getTime() + timezone * 3600 * 1000;
- cmdTime = new Date(l);
- chargeDTO.setUpdateTime(simpleDateFormat.format(cmdTime));
- }else {
- chargeDTO.setUpdateTime("");
- }
- if (chargeDTO.getStartTime() != null && !chargeDTO.getStartTime().equals("")){
- try {
- chargeDTO.setStartTime(simpleDateFormat.format(simpleDateFormat.parse(chargeDTO.getStartTime())));
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }else {
- chargeDTO.setStartTime("");
- }
- if (chargeDTO.getEndTime() != null && !chargeDTO.getEndTime().equals("")){
- try {
- chargeDTO.setEndTime(simpleDateFormat.format(simpleDateFormat.parse(chargeDTO.getEndTime())));
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }else {
- chargeDTO.setEndTime("");
- }
- if (chargeDTO.getAlarmStatus() != null && chargeDTO.getAlarmStatus() == 1){
- chargeDTO.setAlarmStatus(1);
- }else {
- chargeDTO.setAlarmStatus(0);
- }
- if (chargeDTO.getAlarmInfo() == null){
- chargeDTO.setAlarmInfo("");
- }
- if (chargeDTO.getInstallDate() != null && !chargeDTO.getInstallDate().equals("")){
- try {
- chargeDTO.setInstallDate(simpleDateFormat.format(simpleDateFormat.parse(chargeDTO.getInstallDate())));
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }else {
- chargeDTO.setInstallDate("");
- }
- if (chargeDTO.getExpirationDate() != null && !chargeDTO.getExpirationDate().equals("")){
- try {
- chargeDTO.setExpirationDate(simpleDateFormat.format(simpleDateFormat.parse(chargeDTO.getExpirationDate())));
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }else {
- chargeDTO.setExpirationDate("");
- }
- if (chargeDTO.getLampPoleName() == null) {
- chargeDTO.setLampPoleName("");
- }
- chargeDTO.setTotal(chargeDao.getTotalBySectionList(dto));
- list.add(chargeDTO);
- });
- vo.setList(list);
- return vo;
- }
- @Override
- public ChargeVO getDataByChargeDTO(ChargeDTO dto) {
- ChargeVO vo = new ChargeVO();
- vo.setTotal(chargeDao.getTotalBySectionList(dto));
- vo.setOnlineCount(chargeDao.getOnlineTotalBySectionList(dto));
- vo.setAlarmCount(chargeDao.getAlarmTotalBySectionList(dto));
- vo.setChargeCount(chargeDao.getChargeTotalBySectionList(dto));
- //充电总时长
- List<ChargeDTO> chargeTime = chargeDao.getChargeTimeBySectionList(dto);
- Integer sumTime = chargeTime.stream().mapToInt(chargeDTO -> Integer.parseInt(chargeDTO.getDuration().toString())).sum();
- vo.setTotalTime(sumTime);
- //充电总金额
- List<ChargeDTO> chargeMoney = chargeDao.getChargeMoneyBySectionList(dto);
- Double sumMoney = chargeMoney.stream().mapToDouble(chargeDTO -> Float.parseFloat(chargeDTO.getFree().toString())).sum();
- vo.setTotalMoney(Float.parseFloat(String.format("%.2f", sumMoney)));
- //充电总能耗
- List<ChargeDTO> chargeEnergy = chargeDao.getChargeEnergyBySectionList(dto);
- Double sumEnergy = chargeEnergy.stream().mapToDouble(chargeDTO -> Float.parseFloat(chargeDTO.getEquipmentElectricity().toString())).sum();
- vo.setTotalEng(Float.parseFloat(String.format("%.2f", sumEnergy)));
- return vo;
- }
- @Override
- public ChargeDTO getChargeInfoByLampPoleId(Integer lampPoleId) {
- ChargeDTO chargeDTO = chargeDao.getChargeInfoByLampPoleId(lampPoleId);
- if (chargeDTO != null && chargeDTO.getDuration() != null) {
- String duration = chargeDTO.getDuration();
- int workTime = Integer.parseInt(duration);
- int hour = workTime / 60;
- int min = workTime % 60;
- String hourStr,minStr;
- if (hour < 10) {
- hourStr = "0" + hour;
- } else {
- hourStr = hour + "";
- }
- if (min < 10) {
- minStr = "0" + min;
- } else {
- minStr = min + "";
- }
- duration = hourStr + ":" + minStr;
- chargeDTO.setDuration(duration);
- }
- return chargeDTO;
- }
- @Override
- public void deleteChargeById(Integer id) {
- chargeDao.deleteChargeById(id);
- }
- @Override
- public Integer getLampPoleIdByChargeId(Integer id) {
- return chargeDao.getLampPoleIdByChargeId(id);
- }
- @Override
- public Integer getChargeCountByLampPoleId(Integer lampPoleId) {
- return chargeDao.getChargeCountByLampPoleId(lampPoleId);
- }
- @Override
- public void updateLampPoleChargeData(ChargeDTO chargeDTO) {
- chargeDao.updateLampPoleChargeData(chargeDTO);
- }
- @Override
- public Integer checkChargeData(ChargeDTO chargeDTO) {
- return chargeDao.checkChargeData(chargeDTO);
- }
- @Override
- public ChargeDTO getTotalChargeEleAndFree(ChargeDTO dto) {
- return chargeDao.getTotalChargeEleAndFree(dto);
- }
- @Override
- public List<ChargeDTO> getChargeListByDTO(ChargeDTO dto) {
- List<ChargeDTO> list = chargeDao.getChargeListByDTO(dto);
- for (ChargeDTO chargeDTO : list) {
- if (chargeDTO.getProvince() == null) chargeDTO.setProvince("");
- if (chargeDTO.getCity() == null) chargeDTO.setCity("");
- if (chargeDTO.getArea() == null) chargeDTO.setArea("");
- if (chargeDTO.getSection() == null) chargeDTO.setSection("");
- chargeDTO.setLocation(chargeDTO.getProvince() + chargeDTO.getCity() + chargeDTO.getArea() + chargeDTO.getSection());
- chargeDTO.setStartChargeSeq("");
- chargeDTO.setChargeCode("");
- chargeDTO.setTradeInfo("");
- chargeDTO.setUserNumber("");
- chargeDTO.setSurplusMoney("");
- }
- return list;
- }
- @Override
- public Integer getChargeTotalByDTO(ChargeDTO dto) {
- return chargeDao.getChargeTotalByDTO(dto);
- }
- @Override
- public ChargeDTO getOneCharge(HashMap<String,Object> map){
- return chargeDao.getOneCharge(map);
- }
- @Override
- public ChargeDTO getOneChargeByLampPoleId(Integer lampPoleId){
- return chargeDao.getOneChargeByLampPoleId(lampPoleId);
- }
- }
|