|
@@ -0,0 +1,340 @@
|
|
|
+package com.welampiot.service.impl;
|
|
|
+
|
|
|
+import com.welampiot.dao.LightStripDevDao;
|
|
|
+import com.welampiot.dto.LightStripDevDTO;
|
|
|
+import com.welampiot.service.LightStripDevService;
|
|
|
+import com.welampiot.vo.LightStripDevVO;
|
|
|
+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.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * ClassName: LightStripDevServiceImpl
|
|
|
+ * Package: com.welampiot.service.impl
|
|
|
+ * Description:
|
|
|
+ *
|
|
|
+ * @Author: zhj_Start
|
|
|
+ * @Create: 2023/5/4 - 15:56
|
|
|
+ * @Version: v1.0
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class LightStripDevServiceImpl implements LightStripDevService {
|
|
|
+ @Autowired
|
|
|
+ private LightStripDevDao lightStripDevDao;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public LightStripDevVO getLightStripData(LightStripDevDTO dto) {
|
|
|
+ LightStripDevVO vo = new LightStripDevVO();
|
|
|
+ vo.setTotal(lightStripDevDao.getLightStripTotalByDTO(dto));
|
|
|
+ vo.setOnlineCount(lightStripDevDao.getLightStripOnlineTotalByDTO(dto));
|
|
|
+ vo.setStatusCount(lightStripDevDao.getLightStripOpenTotalByDTO(dto));
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public LightStripDevVO getLightStripListByDTO(LightStripDevDTO dto) {
|
|
|
+ LightStripDevVO vo = new LightStripDevVO();
|
|
|
+ vo.setTotal(lightStripDevDao.getLightStripTotalByDTO(dto));
|
|
|
+ List<LightStripDevDTO> lightStripList = lightStripDevDao.getLightStripListByDTO(dto);
|
|
|
+ List<LightStripDevDTO> list = new ArrayList<>();
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ lightStripList.forEach(devDTO ->{
|
|
|
+ //灯杆名
|
|
|
+ if (devDTO.getLampPoleName() == null){
|
|
|
+ devDTO.setLampPoleName("");
|
|
|
+ }
|
|
|
+ //区域名
|
|
|
+ if (devDTO.getArea() == null){
|
|
|
+ devDTO.setArea("");
|
|
|
+ }
|
|
|
+ //路段名
|
|
|
+ if (devDTO.getSection() == null){
|
|
|
+ devDTO.setSection("");
|
|
|
+ }
|
|
|
+ //灯带在线状态
|
|
|
+ if (devDTO.getOnline() != null && devDTO.getOnline() == 1){
|
|
|
+ devDTO.setOnline(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setOnline(0);
|
|
|
+ }
|
|
|
+ //市电网络状态(0:离线,1:在线)
|
|
|
+ if (devDTO.getOnline2() != null && devDTO.getOnline2() == 1){
|
|
|
+ devDTO.setOnline2(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setOnline2(0);
|
|
|
+ }
|
|
|
+ //MPPT网络状态(0:离线,1:在线)
|
|
|
+ if (devDTO.getOnline3() != null && devDTO.getOnline3() == 1){
|
|
|
+ devDTO.setOnline3(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setOnline3(0);
|
|
|
+ }
|
|
|
+ //灯状态(0:关,1: 开)
|
|
|
+ if (devDTO.getStatus() != null && devDTO.getStatus() == 1){
|
|
|
+ devDTO.setStatus(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setStatus(0);
|
|
|
+ }
|
|
|
+ //串口(0 3号串口,1 2号串口,2 1号串口)
|
|
|
+ if (devDTO.getSerialPort() != null && devDTO.getSerialPort() == 2){
|
|
|
+ devDTO.setSerialPort(2);
|
|
|
+ }else if (devDTO.getSerialPort() != null && devDTO.getSerialPort() == 1) {
|
|
|
+ devDTO.setSerialPort(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setSerialPort(0);
|
|
|
+ }
|
|
|
+ //云盒类型(G100,1 G200,2 G40,3 G300)
|
|
|
+ if (devDTO.getCloudBoxModel() != null && devDTO.getCloudBoxModel() == 3){
|
|
|
+ devDTO.setCloudBoxModel(3);
|
|
|
+ }else if (devDTO.getCloudBoxModel() != null && devDTO.getCloudBoxModel() == 2) {
|
|
|
+ devDTO.setCloudBoxModel(2);
|
|
|
+ }else {
|
|
|
+ devDTO.setCloudBoxModel(1);
|
|
|
+ }
|
|
|
+ //模式类型(0:常亮,1.呼吸,2.爆闪,4:闪烁)
|
|
|
+ if (devDTO.getType() != null && devDTO.getType() == 4){
|
|
|
+ devDTO.setType(4);
|
|
|
+ }else if (devDTO.getType() != null && devDTO.getType() == 2) {
|
|
|
+ devDTO.setType(2);
|
|
|
+ }else if (devDTO.getType() != null && devDTO.getType() == 1) {
|
|
|
+ devDTO.setType(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setType(0);
|
|
|
+ }
|
|
|
+ if (devDTO.getType() == 0){
|
|
|
+ devDTO.setModeStr("常亮");
|
|
|
+ }else if (devDTO.getType() == 1){
|
|
|
+ if (devDTO.getMode() != null){
|
|
|
+ switch (devDTO.getMode()){
|
|
|
+ case 1 :
|
|
|
+ devDTO.setModeStr("红灯呼吸");
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ devDTO.setModeStr("绿灯呼吸");
|
|
|
+ break;
|
|
|
+ case 3 :
|
|
|
+ devDTO.setModeStr("蓝灯呼吸");
|
|
|
+ break;
|
|
|
+ case 4 :
|
|
|
+ devDTO.setModeStr("RGB呼吸");
|
|
|
+ break;
|
|
|
+ case 5 :
|
|
|
+ devDTO.setModeStr("黄灯呼吸");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ devDTO.setModeStr("紫灯呼吸");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if (devDTO.getType() == 2){
|
|
|
+ if (devDTO.getMode() != null){
|
|
|
+ switch (devDTO.getMode()){
|
|
|
+ case 1 :
|
|
|
+ devDTO.setModeStr("红灯爆闪");
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ devDTO.setModeStr("绿灯爆闪");
|
|
|
+ break;
|
|
|
+ case 3 :
|
|
|
+ devDTO.setModeStr("蓝灯爆闪");
|
|
|
+ break;
|
|
|
+ case 4 :
|
|
|
+ devDTO.setModeStr("白色爆闪");
|
|
|
+ break;
|
|
|
+ case 5 :
|
|
|
+ devDTO.setModeStr("7色爆闪");
|
|
|
+ break;
|
|
|
+ case 6 :
|
|
|
+ devDTO.setModeStr("黄灯爆闪");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ devDTO.setModeStr("紫灯爆闪");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if (devDTO.getType() == 4){
|
|
|
+ if (devDTO.getMode() != null){
|
|
|
+ switch (devDTO.getMode()){
|
|
|
+ case 1 :
|
|
|
+ devDTO.setModeStr("红灯闪烁");
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ devDTO.setModeStr("绿灯闪烁");
|
|
|
+ break;
|
|
|
+ case 3 :
|
|
|
+ devDTO.setModeStr("蓝灯闪烁");
|
|
|
+ break;
|
|
|
+ case 4 :
|
|
|
+ devDTO.setModeStr("白色闪烁");
|
|
|
+ break;
|
|
|
+ case 5 :
|
|
|
+ devDTO.setModeStr("7色闪烁");
|
|
|
+ break;
|
|
|
+ case 6 :
|
|
|
+ devDTO.setModeStr("黄灯闪烁");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ devDTO.setModeStr("紫灯闪烁");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //通讯方式类型(0: RS485,1: 4G,2: GPRS)
|
|
|
+ if (devDTO.getNetType() != null && devDTO.getNetType() == 2){
|
|
|
+ devDTO.setNetType(2);
|
|
|
+ }else if (devDTO.getNetType() != null && devDTO.getNetType() == 1) {
|
|
|
+ devDTO.setNetType(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setNetType(0);
|
|
|
+ }
|
|
|
+ //创建时间
|
|
|
+ if (devDTO.getCreateTime() != null && !devDTO.getCreateTime().equals("")){
|
|
|
+ try {
|
|
|
+ devDTO.setCreateTime(simpleDateFormat.format(simpleDateFormat.parse(devDTO.getCreateTime())));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ devDTO.setCreateTime("");
|
|
|
+ }
|
|
|
+ //更新时间
|
|
|
+ if (devDTO.getUpdateTime() != null && !devDTO.getUpdateTime().equals("")){
|
|
|
+ Date cmdTime;
|
|
|
+ try {
|
|
|
+ cmdTime = simpleDateFormat.parse(devDTO.getUpdateTime());
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ //判断时区,为null默认东八区
|
|
|
+ long timezone = devDTO.getTimezone() == null ? 8 : devDTO.getTimezone();
|
|
|
+ long l = cmdTime.getTime() + timezone * 3600 * 1000;
|
|
|
+ cmdTime = new Date(l);
|
|
|
+ devDTO.setUpdateTime(simpleDateFormat.format(cmdTime));
|
|
|
+ }else {
|
|
|
+ devDTO.setUpdateTime("");
|
|
|
+ }
|
|
|
+ //安装时间
|
|
|
+ if (devDTO.getInstallDate() != null && !devDTO.getInstallDate().equals("")){
|
|
|
+ try {
|
|
|
+ devDTO.setInstallDate(simpleDateFormat.format(simpleDateFormat.parse(devDTO.getInstallDate())));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ devDTO.setInstallDate("");
|
|
|
+ }
|
|
|
+ //过期时间
|
|
|
+ if (devDTO.getExpirationDate() != null && !devDTO.getExpirationDate().equals("")){
|
|
|
+ try {
|
|
|
+ devDTO.setExpirationDate(simpleDateFormat.format(simpleDateFormat.parse(devDTO.getExpirationDate())));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ devDTO.setExpirationDate("");
|
|
|
+ }
|
|
|
+ //供电方式 (0 市电,1 电池)
|
|
|
+ if (devDTO.getPowerSwitch() != null && devDTO.getPowerSwitch() == 1){
|
|
|
+ devDTO.setPowerSwitch(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setPowerSwitch(0);
|
|
|
+ }
|
|
|
+ //策略名称
|
|
|
+ if (devDTO.getPolicyName() == null){
|
|
|
+ devDTO.setPolicyName("");
|
|
|
+ }
|
|
|
+ //电池充电状态(0 没有充电,1 启动充电模式,2 mppt充电模式,3 均衡充电模式,4 提升充电模式,5 浮充充电模式,6 限流(超功率))
|
|
|
+ if (devDTO.getChargeType() != null){
|
|
|
+ devDTO.setChargeType(devDTO.getChargeType());
|
|
|
+ }else {
|
|
|
+ devDTO.setChargeType(0);
|
|
|
+ }
|
|
|
+ if (devDTO.getBatCurr() == null || devDTO.getBatCurr().equals("0.0")){
|
|
|
+ devDTO.setBatCurr("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getBatVolt() == null || devDTO.getBatVolt().equals("0.0")){
|
|
|
+ devDTO.setBatVolt("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getBatPower() == null || devDTO.getBatPower().equals("0.0")){
|
|
|
+ devDTO.setBatPower("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getFreq() == null || devDTO.getFreq().equals("0.0")){
|
|
|
+ devDTO.setFreq("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getGridCurr() == null || devDTO.getGridCurr().equals("0.0")){
|
|
|
+ devDTO.setGridCurr("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getGridCurr2() == null || devDTO.getGridCurr2().equals("0.0")){
|
|
|
+ devDTO.setGridCurr2("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getGridVolt() == null || devDTO.getGridVolt().equals("0.0")){
|
|
|
+ devDTO.setGridVolt("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getGridVolt2() == null || devDTO.getGridVolt2().equals("0.0")){
|
|
|
+ devDTO.setGridVolt2("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getPower() == null || devDTO.getPower().equals("0.0")){
|
|
|
+ devDTO.setPower("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getPower2() == null || devDTO.getPower2().equals("0.0")){
|
|
|
+ devDTO.setPower2("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getSolarCurr() == null || devDTO.getSolarCurr().equals("0.0")){
|
|
|
+ devDTO.setSolarCurr("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getSolarPower() == null || devDTO.getSolarPower().equals("0.0")){
|
|
|
+ devDTO.setSolarPower("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getSolarVolt() == null || devDTO.getSolarVolt().equals("0.0")){
|
|
|
+ devDTO.setSolarVolt("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getFreq() == null || devDTO.getFreq().equals("0.0")){
|
|
|
+ devDTO.setFreq("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getFreq() == null || devDTO.getFreq().equals("0.0")){
|
|
|
+ devDTO.setFreq("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getFreq() == null || devDTO.getFreq().equals("0.0")){
|
|
|
+ devDTO.setFreq("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getUsedEnergyTotal() == null || devDTO.getUsedEnergyTotal().equals("0.0")){
|
|
|
+ devDTO.setUsedEnergyTotal("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getUsedEnergyTotal2() == null || devDTO.getUsedEnergyTotal2().equals("0.0")){
|
|
|
+ devDTO.setUsedEnergyTotal2("0");
|
|
|
+ }
|
|
|
+ if (devDTO.getMpptDevId() == null){
|
|
|
+ devDTO.setMpptDevId(0);
|
|
|
+ }
|
|
|
+ if (devDTO.getMpptDevAddress() == null){
|
|
|
+ devDTO.setMpptDevAddress("");
|
|
|
+ }
|
|
|
+ if (devDTO.getMpptDevType() != null && devDTO.getMpptDevType() == 1){
|
|
|
+ devDTO.setMpptDevType(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setMpptDevType(0);
|
|
|
+ }
|
|
|
+ if (devDTO.getMpptDevSerialPort() != null && devDTO.getMpptDevSerialPort() == 2){
|
|
|
+ devDTO.setMpptDevSerialPort(2);
|
|
|
+ }else if (devDTO.getMpptDevSerialPort() != null && devDTO.getMpptDevSerialPort() == 1){
|
|
|
+ devDTO.setMpptDevSerialPort(1);
|
|
|
+ }else {
|
|
|
+ devDTO.setMpptDevSerialPort(0);
|
|
|
+ }
|
|
|
+ if (devDTO.getMpptDevNumber() == null){
|
|
|
+ devDTO.setMpptDevNumber("000000");
|
|
|
+ }
|
|
|
+ if (devDTO.getMpptDevName() == null){
|
|
|
+ devDTO.setMpptDevName("");
|
|
|
+ }
|
|
|
+ list.add(devDTO);
|
|
|
+ });
|
|
|
+ vo.setList(list);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+}
|