瀏覽代碼

添加编辑灯带分组、删除灯带分组,切换电压,新建分组选择灯带

zhj 2 年之前
父節點
當前提交
d1ed3c3a35

+ 2 - 0
src/main/java/com/welampiot/common/InterfaceResultEnum.java

@@ -146,6 +146,8 @@ public enum InterfaceResultEnum {
     CABLE_NAME_UNIQUE_ERROR("0339","电缆名称已存在","The cable name already exists","Имя кабеля уже существует"),
     AC_ADDRESS_UNIQUE_ERROR("0340","AC设备地址已存在","The AC device address already exists","Адрес оборудования AC уже существует"),
     AC_NAME_UNIQUE_ERROR("0341","AC设备名称已存在","The AC device name already exists","Название оборудования AC уже существует"),
+    STRIP_GROUP_NAME_UNIQUE_ERROR("0342","灯带分组名称已存在","The lamp band group name already exists","Названия групп ламп уже существуют"),
+    STRIP_GROUP_NUMBER_UNIQUE_ERROR("0343","灯带分组编号已存在","The strip group number already exists","Номера ламп уже существуют"),
     ;
     private String code;
     private String msgCn;

+ 52 - 0
src/main/java/com/welampiot/controller/LightStripController.java

@@ -244,4 +244,56 @@ public class LightStripController {
         lightStripDevLogVO.setList(logList);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lightStripDevLogVO);
     }
+
+    /**
+     * 新建分组选择策略
+     * @param request 灯带分组id,路段id
+     * @return 新建分组选择策略
+     */
+    @RequestMapping(value = "/selectLamp", method = RequestMethod.POST)
+    public BaseResult<?> selectLamp(HttpServletRequest request){
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
+        Integer groupId = (Integer) toolUtils.getRequestContent(request,"groupId",1);
+        LightStripDevDTO lightStripDevDTO = new LightStripDevDTO();
+        lightStripDevDTO.setVersion(version);
+        lightStripDevDTO.setSectionId(sectionId);
+        lightStripDevDTO.setSectionList(toolUtils.getSectionList(request));
+        LightStripDevVO lightStripDevVO = lightStripDevService.getLightStripListByDTO(lightStripDevDTO);
+        List<LightStripDevDTO> list = lightStripDevVO.getList();
+        list.forEach(dto -> {
+            if (groupId == 0) {
+                dto.setSelect(0);
+            } else {
+                if (dto.getGroupId().equals(groupId)) {
+                    dto.setSelect(1);
+                } else {
+                    dto.setSelect(0);
+                }
+            }
+        });
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lightStripDevVO);
+    }
+
+    /**
+     * 切换电压
+     * @param request 灯带id,市电电压,太阳能电压
+     * @return 写入市电以及太阳能切换电压
+     */
+    @RequestMapping(value = "/setVoltage", method = RequestMethod.POST)
+    public BaseResult<?> setVoltage(HttpServletRequest request){
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        String solarVoltage = (String) toolUtils.getRequestContent(request,"solarVoltage",2);
+        String voltage = (String) toolUtils.getRequestContent(request,"voltage",2);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        if (solarVoltage.length() == 0 || voltage.length() == 0)
+            return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        LightStripDevDTO lightStripDevDTO = new LightStripDevDTO();
+        lightStripDevDTO.setId(id);
+        lightStripDevDTO.setVoltage(voltage);
+        lightStripDevDTO.setSolarVoltage(solarVoltage);
+        lightStripDevService.updateLightStripVoltage(lightStripDevDTO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
 }

+ 80 - 0
src/main/java/com/welampiot/controller/LightStripGroupController.java

@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -105,4 +106,83 @@ public class LightStripGroupController {
         if (lightStripGroupDetailsVO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lightStripGroupDetailsVO);
     }
+
+    /**
+     * 添加编辑分组
+     * @param request 分组属性
+     * @return 添加编辑分组
+     */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public BaseResult<?> save(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
+        Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
+        String name = (String) toolUtils.getRequestContent(request,"name",2);
+        String number = (String) toolUtils.getRequestContent(request,"number",2);
+        String lightStripIds = (String) toolUtils.getRequestContent(request,"lightStripIds",2);
+        if (areaId == 0) return toolUtils.response(InterfaceResultEnum.LACK_AREA_ERROR,version);
+        if (sectionId == 0) return toolUtils.response(InterfaceResultEnum.LACK_SECTION_ERROR,version);
+        if (name.length() == 0 || number.length() == 0)
+            return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        LightStripGroupDTO lightStripGroupDTO = new LightStripGroupDTO();
+        lightStripGroupDTO.setAreaId(areaId);
+        lightStripGroupDTO.setSectionId(sectionId);
+        lightStripGroupDTO.setName(name);
+        lightStripGroupDTO.setNumber(number);
+        lightStripGroupDTO.setLightStripIds(lightStripIds);
+        if (id == 0) { // 添加
+            LightStripGroupDTO dto = new LightStripGroupDTO();
+            dto.setName(name);
+            dto.setSectionId(sectionId);
+            if (lightStripGroupService.checkLightStripGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.STRIP_GROUP_NAME_UNIQUE_ERROR,version);
+            dto = new LightStripGroupDTO();
+            dto.setNumber(number);
+            dto.setSectionId(sectionId);
+            if (lightStripGroupService.checkLightStripGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.STRIP_GROUP_NUMBER_UNIQUE_ERROR,version);
+            long l = System.currentTimeMillis();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String format = simpleDateFormat.format(l);
+            lightStripGroupDTO.setCreateTime(format);
+            lightStripGroupDTO.setUpdateTime(format);
+            lightStripGroupService.addLightStripGroupData(lightStripGroupDTO);
+        } else { // 编辑
+            lightStripGroupDTO.setId(id);
+            LightStripGroupDTO dto = new LightStripGroupDTO();
+            dto.setId(id);
+            dto.setName(name);
+            dto.setSectionId(sectionId);
+            if (lightStripGroupService.checkLightStripGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.STRIP_GROUP_NAME_UNIQUE_ERROR,version);
+            dto = new LightStripGroupDTO();
+            dto.setId(id);
+            dto.setNumber(number);
+            dto.setSectionId(sectionId);
+            if (lightStripGroupService.checkLightStripGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.STRIP_GROUP_NUMBER_UNIQUE_ERROR,version);
+            long l = System.currentTimeMillis();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String format = simpleDateFormat.format(l);
+            lightStripGroupDTO.setUpdateTime(format);
+            lightStripGroupService.updateLightStripGroupData(lightStripGroupDTO);
+        }
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 删除灯带分组
+     * @param request 灯带分组id
+     * @return 删除灯带分组
+     */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    public BaseResult<?> del(HttpServletRequest request){
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        String id = (String) toolUtils.getRequestContent(request,"id",2);
+        if (id.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        List<String> ids = Arrays.asList(id.split(","));
+        lightStripGroupService.deleteLightStripGroupDataByIds(ids);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
 }

+ 1 - 3
src/main/java/com/welampiot/controller/LightStripPolicyController.java

@@ -375,10 +375,8 @@ public class LightStripPolicyController {
                                 String content = ToolUtils.getLightStripContent(type, cmd);
                                 String newString = time + " -  " + content;
                                 value.add(newString);
-                                break;
-                            } else {
-                                break;
                             }
+                            break;
                         }
                     }
                     contentDTO.setPolicy(value);

+ 2 - 0
src/main/java/com/welampiot/dao/LightStripDevDao.java

@@ -21,4 +21,6 @@ public interface LightStripDevDao {
     Integer getLightStripOpenTotalByDTO(LightStripDevDTO dto);
 
     List<LightStripDevDTO> getLightStripListByDTO(LightStripDevDTO dto);
+
+    void updateLightStripVoltage(LightStripDevDTO dto);
 }

+ 8 - 0
src/main/java/com/welampiot/dao/LightStripGroupDao.java

@@ -25,4 +25,12 @@ public interface LightStripGroupDao {
     String getLightStripPolicyName(@Param("policyId") Integer policyId);
 
     LightStripGroupDTO getLightStripGroupById(@Param("id") Integer id);
+
+    void addLightStripGroupData(LightStripGroupDTO dto);
+
+    void updateLightStripGroupData(LightStripGroupDTO dto);
+
+    Integer  checkLightStripGroupData(LightStripGroupDTO dto);
+
+    void deleteLightStripGroupDataByIds(@Param("ids") List<String> ids);
 }

+ 2 - 0
src/main/java/com/welampiot/dto/LightStripDevDTO.java

@@ -208,5 +208,7 @@ public class LightStripDevDTO implements Serializable {
 
     private List<Integer> sectionList;
 
+    private Integer select;
+
     private static final long serialVersionUID = 1L;
 }

+ 1 - 1
src/main/java/com/welampiot/dto/LightStripGroupDTO.java

@@ -20,7 +20,7 @@ public class LightStripGroupDTO implements Serializable {
     private Integer id;
 
     /** 分组编号 **/
-    private Integer number;
+    private String number;
 
     /** 分组号 **/
     private String name;

+ 2 - 0
src/main/java/com/welampiot/service/LightStripDevService.java

@@ -16,4 +16,6 @@ public interface LightStripDevService {
     LightStripDevVO getLightStripData(LightStripDevDTO dto);
 
     LightStripDevVO getLightStripListByDTO(LightStripDevDTO dto);
+
+    void updateLightStripVoltage(LightStripDevDTO dto);
 }

+ 10 - 0
src/main/java/com/welampiot/service/LightStripGroupService.java

@@ -4,6 +4,8 @@ import com.welampiot.dto.LightStripGroupDTO;
 import com.welampiot.vo.LightStripGroupDetailVO;
 import com.welampiot.vo.LightStripGroupVO;
 
+import java.util.List;
+
 /**
  * ClassName: LightStripGroupService
  * Package: com.welampiot.service
@@ -19,4 +21,12 @@ public interface LightStripGroupService {
     LightStripGroupDetailVO getLightStripGroupDetailsById(Integer id, Integer version);
 
     LightStripGroupDTO getLightStripGroupById(Integer id);
+
+    void addLightStripGroupData(LightStripGroupDTO dto);
+
+    void updateLightStripGroupData(LightStripGroupDTO dto);
+
+    Integer  checkLightStripGroupData(LightStripGroupDTO dto);
+
+    void deleteLightStripGroupDataByIds(List<String> ids);
 }

+ 10 - 78
src/main/java/com/welampiot/service/impl/LightStripDevServiceImpl.java

@@ -3,6 +3,7 @@ package com.welampiot.service.impl;
 import com.welampiot.dao.LightStripDevDao;
 import com.welampiot.dto.LightStripDevDTO;
 import com.welampiot.service.LightStripDevService;
+import com.welampiot.utils.ToolUtils;
 import com.welampiot.vo.LightStripDevVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -99,6 +100,8 @@ public class LightStripDevServiceImpl implements LightStripDevService {
             //模式类型(0:常亮,1.呼吸,2.爆闪,4:闪烁)
             if (devDTO.getType() != null && devDTO.getType() == 4){
                 devDTO.setType(4);
+            }else if (devDTO.getType() != null && devDTO.getType() == 3) {
+                devDTO.setType(3);
             }else if (devDTO.getType() != null && devDTO.getType() == 2) {
                 devDTO.setType(2);
             }else if (devDTO.getType() != null && devDTO.getType() == 1) {
@@ -106,84 +109,8 @@ public class LightStripDevServiceImpl implements LightStripDevService {
             }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;
-                    }
-                }
-            }
+            String content = ToolUtils.getLightStripContent(String.valueOf(devDTO.getType()), String.valueOf(devDTO.getMode()));
+            devDTO.setModeStr(content);
             //通讯方式类型(0: RS485,1: 4G,2: GPRS)
             if (devDTO.getNetType() != null && devDTO.getNetType() == 2){
                 devDTO.setNetType(2);
@@ -337,4 +264,9 @@ public class LightStripDevServiceImpl implements LightStripDevService {
         vo.setList(list);
         return vo;
     }
+
+    @Override
+    public void updateLightStripVoltage(LightStripDevDTO dto) {
+        lightStripDevDao.updateLightStripVoltage(dto);
+    }
 }

+ 20 - 0
src/main/java/com/welampiot/service/impl/LightStripGroupServiceImpl.java

@@ -95,4 +95,24 @@ public class LightStripGroupServiceImpl implements LightStripGroupService {
     public LightStripGroupDTO getLightStripGroupById(Integer id) {
         return lightStripGroupDao.getLightStripGroupById(id);
     }
+
+    @Override
+    public void addLightStripGroupData(LightStripGroupDTO dto) {
+        lightStripGroupDao.addLightStripGroupData(dto);
+    }
+
+    @Override
+    public void updateLightStripGroupData(LightStripGroupDTO dto) {
+        lightStripGroupDao.updateLightStripGroupData(dto);
+    }
+
+    @Override
+    public Integer checkLightStripGroupData(LightStripGroupDTO dto) {
+        return lightStripGroupDao.checkLightStripGroupData(dto);
+    }
+
+    @Override
+    public void deleteLightStripGroupDataByIds(List<String> ids) {
+        lightStripGroupDao.deleteLightStripGroupDataByIds(ids);
+    }
 }

+ 13 - 3
src/main/resources/mapper/LightStripDevMapper.xml

@@ -53,10 +53,10 @@
             l.id,l.lamp_pole_id lampPoleId,lp.name as lampPoleName,s.name as section,l.name,l.number,l.model,l.online,l.online2,
             l.online3,l.address,l.status,l.color,l.factory,w.model as cloudBoxModel,l.serial_port serialPort,l.type,l.mode,l.netType,
             l.imei,l.patrol,l.createtime as createTime,l.updatetime as updateTime,l.powerSwitch,l.gridVolt,l.gridCurr,l.power,l.freq,
-            l.soft_verson softVersion,l.hard_version hardVersion,l.usedEnergyTotal,l.gridVolt2,l.gridCurr2,l.power2,l.usedEnergyTotal2,
-            l.batVolt,l.batCurr,l.batPower,l.solarCurr,l.solarPower,l.charge_type chargeType,l.solarVolt,l.policyid as policyId,l.switchVol as voltage,
+            l.soft_verson softVersion,l.hard_version hardVersion,l.usedEnergyTotal,l.gridVolt2,l.gridCurr2,l.power2,l.usedEnergyTotal2,l.groupid as groupId,
+            l.batVolt,l.batCurr,l.batPower,l.solarCurr,l.solarPower,l.charge_type chargeType,l.solarVolt,l.policyid as policyId,lsp.name as policyName,
             l.install_date installDate,l.expiration_date expirationDate,s.timezone,sd.id as mpptDevId,sd.address as mpptDevAddress,sd.type as mpptDevType,
-            sd.serial_port as mpptDevSerialPort,sd.number as mpptDevNumber,sd.name as mpptDevName,l.solarSwitchVol as solarVoltage
+            sd.serial_port as mpptDevSerialPort,sd.number as mpptDevNumber,sd.name as mpptDevName,l.solarSwitchVol as solarVoltage,l.switchVol as voltage
         from light_strip_dev l left join lamp_pole lp on lp.id = l.lamp_pole_id
                                left join light_strip_policy lsp on l.policyid = lsp.id
                                left join solar_dev sd on lp.id = sd.lamp_pole_id
@@ -92,5 +92,15 @@
                 limit #{page},#{count}
             </if>
     </select>
+    
+    <update id="updateLightStripVoltage" parameterType="LightStripDevDTO">
+        update
+            light_strip_dev l
+        set
+            l.solarSwitchVol = #{solarVoltage},
+            l.switchVol = #{voltage}
+        where
+            l.id = #{id}
+    </update>
 
 </mapper>

+ 57 - 0
src/main/resources/mapper/LightStripGroupMapper.xml

@@ -74,10 +74,67 @@
         where l.id = #{policyId}
     </select>
 
+    <insert id="addLightStripGroupData" parameterType="LightStripGroupDTO" keyProperty="id" useGeneratedKeys="true">
+        insert into light_strip_group(areaid,sectionid,name,number,
+        <if test="lightStripIds != null and lightStripIds != ''">
+            light_strip_ids,
+        </if>
+        createtime,updatetime)
+        values (#{areaId},#{sectionId},#{name},#{number},
+                <if test="lightStripIds != null and lightStripIds != ''">
+                    #{lightStripIds},
+                </if>
+                #{createTime},#{updateTime})
+    </insert>
+
     <select id="getLightStripGroupById" resultType="LightStripGroupDTO">
         select l.id,l.type,l.value
         from light_strip_group l
         where l.id = #{id}
     </select>
 
+    <update id="updateLightStripGroupData" parameterType="LightStripGroupDTO">
+        update
+            light_strip_group l
+        set
+            l.areaid = #{areaId},
+            l.sectionid = #{sectionId},
+            l.name = #{name},
+            <if test="lightStripIds != null and lightStripIds != ''">
+                l.light_strip_ids = #{lightStripIds},
+            </if>
+            l.number = #{number},
+            l.updatetime = #{updateTime}
+        where
+            l.id = #{id}
+    </update>
+
+    <select id="checkLightStripGroupData" resultType="Integer">
+        select
+            count(*)
+        from light_strip_group l
+        where 1=1
+        <if test="sectionId != null and sectionId != 0">
+            and l.sectionid= #{sectionId}
+        </if>
+        <if test="name != null and name != ''">
+            and l.name = #{name}
+        </if>
+        <if test="number != null and number != ''">
+            and l.number = #{number}
+        </if>
+        <if test="id != null and id != 0">
+            and l.id != #{id}
+        </if>
+    </select>
+
+    <delete id="deleteLightStripGroupDataByIds">
+        delete
+        from light_strip_group
+        where id in
+        <foreach collection="ids" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </delete>
+
 </mapper>