Sfoglia il codice sorgente

修改完成acController与部分修改alarmControler

weclouds 1 anno fa
parent
commit
104635b193
31 ha cambiato i file con 322 aggiunte e 127 eliminazioni
  1. 3 0
      src/main/java/com/welampiot/common/InterfaceResultEnum.java
  2. 0 8
      src/main/java/com/welampiot/controller/AcDeviceController.java
  3. 94 91
      src/main/java/com/welampiot/controller/AlarmController.java
  4. 1 1
      src/main/java/com/welampiot/controller/RepairController.java
  5. 1 1
      src/main/java/com/welampiot/dao/AllAlarmInfoLogDao.java
  6. 1 0
      src/main/java/com/welampiot/dao/GlobalLocationDao.java
  7. 4 0
      src/main/java/com/welampiot/dao/RepairDispatchDao.java
  8. 3 0
      src/main/java/com/welampiot/dao/RepairInfoDao.java
  9. 1 1
      src/main/java/com/welampiot/dao/SectionDao.java
  10. 2 2
      src/main/java/com/welampiot/dto/GlobalLocationDTO.java
  11. 11 1
      src/main/java/com/welampiot/dto/RepairDispatchDTO.java
  12. 9 1
      src/main/java/com/welampiot/dto/RepairInfoDTO.java
  13. 1 1
      src/main/java/com/welampiot/service/AllAlarmInfoLogService.java
  14. 1 0
      src/main/java/com/welampiot/service/GlobalLocationService.java
  15. 4 0
      src/main/java/com/welampiot/service/RepairDispatchService.java
  16. 4 0
      src/main/java/com/welampiot/service/RepairInfoService.java
  17. 1 1
      src/main/java/com/welampiot/service/SectionService.java
  18. 1 1
      src/main/java/com/welampiot/service/impl/AllAlarmInfoLogServiceImpl.java
  19. 4 0
      src/main/java/com/welampiot/service/impl/GlobalLocationServiceImpl.java
  20. 8 0
      src/main/java/com/welampiot/service/impl/RepairDispatchServiceImpl.java
  21. 9 0
      src/main/java/com/welampiot/service/impl/RepairInfoServiceImpl.java
  22. 1 1
      src/main/java/com/welampiot/service/impl/SectionServiceImpl.java
  23. 63 3
      src/main/java/com/welampiot/utils/ToolUtils.java
  24. 2 0
      src/main/java/com/welampiot/vo/AllAlarmInfoLogVO.java
  25. 14 0
      src/main/java/com/welampiot/vo/RepairDispatchVO.java
  26. 5 1
      src/main/resources/mapper/AllAlarmInfoLogMapper.xml
  27. 22 0
      src/main/resources/mapper/GlobalLocationMapper.xml
  28. 22 0
      src/main/resources/mapper/RepairDispatchMapper.xml
  29. 19 6
      src/main/resources/mapper/RepairInfoMapper.xml
  30. 8 2
      src/main/resources/mapper/SectionMapper.xml
  31. 3 5
      src/test/java/com/welampiot/service/UserServiceTest.java

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

@@ -241,6 +241,9 @@ public enum InterfaceResultEnum {
     AC_TOKEN_ERROR("0703","刷新令牌失败","Refresh token failed","Не удалось обновить токен"),
     AC_GET_TOKEN_ERROR("0704","获取令牌失败","Failed to get token","Ошибка получения маркера"),
 
+    // 告警维修 0800-0899
+    REPAIR_INFOR_ERROR("0800","暂无维修信息","No maintenance information","Пока нет информации о ремонте"),
+
     ;
     private String code;
     private String msgCn;

+ 0 - 8
src/main/java/com/welampiot/controller/AcDeviceController.java

@@ -203,16 +203,9 @@ public class AcDeviceController {
 
         Integer page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
         Integer count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
-        Integer areaId = request.getParameter("areaId") == null || request.getParameter("areaId") == "" ? null : Integer.parseInt(request.getParameter("areaId"));
-        Integer sectionId = request.getParameter("sectionId") == null || request.getParameter("sectionId") == "" ? null : Integer.parseInt(request.getParameter("sectionId"));
-        String keyword = request.getParameter("keyword") == null ? "" : request.getParameter("keyword");
-        String download = request.getParameter("download") == null ? "" : request.getParameter("keyword");
         String action = request.getParameter("action");
         String searchKey = request.getParameter("searchKey")  == null ? "" : request.getParameter("searchKey");;
 
-        Integer limit = count;
-        Integer offset = (page-1)*count;
-
         AcDevInfoDTO acDevInfoDTO = acDevInfoService.getOneById(id);
         AcDevInfoVO responeAc = new AcDevInfoVO();
         responeAc.setStaNum(0);
@@ -303,7 +296,6 @@ public class AcDeviceController {
             if (timestamp != oldTimestamp){
                 //获取token
                 String url = networkIP+"/oauth2/access_token?grant_type=client_credential&client_id="+appid+"&client_secret="+secret;
-               System.out.println("=====进来====");
                 String respone = null;
                 try {
                     respone = toolUtils.sendHttp("get",url,null,4, ToolUtils.ContentTypeEnum.CONTENT_TYPE_JSON,null);

+ 94 - 91
src/main/java/com/welampiot/controller/AlarmController.java

@@ -81,8 +81,8 @@ public class AlarmController {
         Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
         Integer status = (Integer) toolUtils.getRequestContent(request,"status",1);
         Integer devType = (Integer) toolUtils.getRequestContent(request,"devType",1);
-        Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
-        Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
+        Integer areaId =  request.getParameter("areaId") == null ? 0 : Integer.valueOf(request.getParameter("areaId"));
+        Integer sectionId =  request.getParameter("sectionId") == null ? 0 : Integer.valueOf(request.getParameter("sectionId"));
         Integer download = (Integer) toolUtils.getRequestContent(request,"download",1);
         int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
         int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
@@ -95,7 +95,11 @@ public class AlarmController {
         allAlarmInfoLogVO.setKeyword(keyword);
         allAlarmInfoLogVO.setAreaId(areaId);
         allAlarmInfoLogVO.setSectionId(sectionId);
-        allAlarmInfoLogVO.setSectionList(toolUtils.getSectionList(request));
+        if (sectionId == 0){
+            allAlarmInfoLogVO.setSectionList(toolUtils.getSectionList(request));
+        }else {
+            allAlarmInfoLogVO.setSectionId(sectionId);
+        }
         if (download == 0) {
             allAlarmInfoLogVO.setOffset(count * (page - 1));
             allAlarmInfoLogVO.setLimit(count);
@@ -240,6 +244,28 @@ public class AlarmController {
         allAlarmInfoLogDTO.setId(alarmId);
         allAlarmInfoLogDTO.setStatus(2);
         allAlarmInfoLogService.updateAlarmStatusByAlarmId(allAlarmInfoLogDTO);
+        //维修记录
+        RepairDispatchVO repairDispatchVO = new RepairDispatchVO();
+        repairDispatchVO.setAlarmId(alarmId);
+        repairDispatchVO.setVersion(version);
+        RepairDispatchDTO repairDispatchDTO = repairDispatchService.getRepairDispatchMultiJoinByVO(repairDispatchVO);
+        if (repairDispatchDTO != null && repairDispatchDTO.getRepairUserId() != null){
+            repairDispatchDTO.setAlarmId(alarmId);
+            Date date = new Date();
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String time = dateFormat.format(date);
+            repairDispatchDTO.setRepairTime(time);
+            if (version == 1){
+                //英语
+                String alarmType = toolUtils.changeAlarm(repairDispatchDTO.getAlarmType());
+                repairDispatchDTO.setAlarmType(alarmType);
+            } else if (version == 2) {
+                String alarmType = toolUtils.changeAlarmRu(repairDispatchDTO.getAlarmType());
+                repairDispatchDTO.setAlarmType(alarmType);
+            }
+            repairInfoService.addData(repairDispatchDTO);
+        }
+
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
     }
 
@@ -252,10 +278,17 @@ public class AlarmController {
     public BaseResult<?> data(HttpServletRequest request) {
         int version = (int) toolUtils.getRequestContent(request,"version",1);
         AllAlarmInfoLogVO allAlarmInfoLogVO = new AllAlarmInfoLogVO();
-        allAlarmInfoLogVO.setSectionList(toolUtils.getSectionList(request));
         AllAlarmInfoLogVO allAlarmInfoLogVO1 = new AllAlarmInfoLogVO();
-        allAlarmInfoLogVO1.setUnTreatedCount(allAlarmInfoLogService.getUnTreatedCountByStatus(allAlarmInfoLogVO));
-        allAlarmInfoLogVO1.setProcessingCount(allAlarmInfoLogService.getProcessingCountByStatus(allAlarmInfoLogVO));
+        UserDTO user = toolUtils.getUser(request);
+        Integer role = user.getRole();
+        if (role != ToolUtils.SYSTEM_ADMIN){
+            //不是超级用户
+            allAlarmInfoLogVO.setSectionList(toolUtils.getSectionList(request));
+        }
+//        allAlarmInfoLogVO1.setUnTreatedCount(allAlarmInfoLogService.getUnTreatedCountByStatus(allAlarmInfoLogVO));
+//        allAlarmInfoLogVO1.setProcessingCount(allAlarmInfoLogService.getProcessingCountByStatus(allAlarmInfoLogVO));
+        allAlarmInfoLogVO1.setHandling(allAlarmInfoLogService.getProcessingCountByStatus(allAlarmInfoLogVO));
+        allAlarmInfoLogVO1.setUnAssigned(allAlarmInfoLogService.getUnTreatedCountByStatus(allAlarmInfoLogVO));
         allAlarmInfoLogVO1.setHandleCount(allAlarmInfoLogService.getHandleCountByStatus(allAlarmInfoLogVO));
         allAlarmInfoLogVO1.setTotal(allAlarmInfoLogService.getAlarmTotalByStatus(allAlarmInfoLogVO));
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,allAlarmInfoLogVO1);
@@ -269,8 +302,8 @@ public class AlarmController {
     @RequestMapping(value = "/history", method = RequestMethod.POST)
     public BaseResult<?> history(HttpServletRequest request) {
         Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
-        Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
-        Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
+        Integer areaId =  request.getParameter("areaId") == null ? 0 : Integer.valueOf(request.getParameter("areaId"));
+        Integer sectionId =  request.getParameter("sectionId") == null ? 0 : Integer.valueOf(request.getParameter("sectionId"));
         Integer download = (Integer) toolUtils.getRequestContent(request,"download",1);
         String keyword = (String) toolUtils.getRequestContent(request,"keyword",2);
         Integer devType = (Integer) toolUtils.getRequestContent(request,"devType",1);
@@ -278,11 +311,14 @@ public class AlarmController {
         int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
 
         AllAlarmInfoLogVO vo = new AllAlarmInfoLogVO();
-        vo.setSectionId(sectionId);
         vo.setAreaId(areaId);
         vo.setKeyword(keyword);
         vo.setVersion(version);
-        vo.setSectionList(toolUtils.getSectionList(request));
+        if (sectionId == 0){
+            vo.setSectionList(toolUtils.getSectionList(request));
+        }else {
+            vo.setSectionId(sectionId);
+        }
         if (download == 0) {
             vo.setLimit(count * (page - 1));
             vo.setOffset(count);
@@ -411,44 +447,13 @@ public class AlarmController {
         Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
         Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
         if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
-        AllAlarmInfoLogDTO alarmDTO = allAlarmInfoLogService.getAlarmInfoDTOById(id,version);
-        if (alarmDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
-        AlarmRepairInfoVO alarmRepairInfoVO = new AlarmRepairInfoVO();
-        alarmRepairInfoVO.setArea(alarmDTO.getArea());
-        alarmRepairInfoVO.setSection(alarmRepairInfoVO.getSection());
-        alarmRepairInfoVO.setAlarmType(alarmRepairInfoVO.getAlarmType());
-        if (alarmDTO.getStatus() == 0) {
-            alarmRepairInfoVO.setAlarmStatus("未完成");
-        } else if (alarmDTO.getStatus() == 1) {
-            alarmRepairInfoVO.setAlarmStatus("处理中");
-        } else  {
-            alarmRepairInfoVO.setAlarmStatus("已完成");
-        }
-        RepairDispatchDTO repairDispatchDTO = repairDispatchService.getRepairDispatchByAlarmId(alarmDTO.getId());
-        RepairInfoDTO repairInfoDTO = repairInfoService.getRepairInfoDTOByAlarmId(alarmDTO.getId());
-        if (repairInfoDTO == null || repairDispatchDTO == null)
-            return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
-        alarmRepairInfoVO.setRepairUser(repairInfoDTO.getRepairTime());
-        alarmRepairInfoVO.setRepairUser(repairInfoDTO.getUsername());
-        alarmRepairInfoVO.setDispatchTime(repairDispatchDTO.getUpdateTime());
-        if (alarmDTO.getDevType() == 0) { // 路灯
-            LampInfoDTO lampInfoDTO = lampService.getLampInfoDTOById(alarmDTO.getLampId());
-            alarmRepairInfoVO.setNumber(lampInfoDTO.getNumber());
-        } else if (alarmDTO.getDevType() == 1) { // 灯杆
-            LampPoleDTO lampPoleDTO = lampPoleService.getLampPoleDTOById(alarmDTO.getLampId());
-            alarmRepairInfoVO.setNumber(lampPoleDTO.getNumber());
-        } else if (alarmDTO.getDevType() == 2) { // 井盖
-            ManholeDTO manholeDTO = manholeService.getManholeDTOById(alarmDTO.getLampId());
-            alarmRepairInfoVO.setNumber(manholeDTO.getAddress());
-        } else if (alarmDTO.getDevType() == 3) { // 水浸
-            WaterImmersionDevInfoDTO waterDTO = waterImmersionDevInfoService.getWaterDTOById(alarmDTO.getLampId());
-            alarmRepairInfoVO.setNumber(waterDTO.getNumber());
-        } else if (alarmDTO.getDevType() == 4) { // 配电箱
-            ElectricBoxDTO electricBoxDTO = electricBoxService.getDetailsById(alarmDTO.getLampId());
-            alarmRepairInfoVO.setNumber(electricBoxDTO.getAddress());
+        RepairInfoDTO repairInfo = repairInfoService.getRepairInfoById(id);
+        if (repairInfo == null){
+            return toolUtils.response(InterfaceResultEnum.REPAIR_INFOR_ERROR,version);
+        }else {
+            return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairInfo);
         }
-        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,alarmRepairInfoVO);
-    }
+     }
 
     /**
      * 维修人
@@ -458,12 +463,14 @@ public class AlarmController {
     @RequestMapping(value = "/repairUser", method = RequestMethod.POST)
     public BaseResult<?> repairUser(HttpServletRequest request) {
         Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        //维修信息的id
         Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
         if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
         RepairInfoDTO dto = repairInfoService.getRepairInfoDTOByAlarmId(id);
         if (dto == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
-        RepairPersonnelDetailsVO vo = repairPersonnelService.getDetailsByRepairPersonnelDTO(dto.getRepairUserid());
-        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,vo);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,dto);
+//        RepairPersonnelDetailsVO vo = repairPersonnelService.getDetailsByRepairPersonnelDTO(dto.getRepairUserId());
+//        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,vo);
     }
 
     /**
@@ -474,9 +481,11 @@ public class AlarmController {
     @RequestMapping(value = "/del", method = RequestMethod.POST)
     public BaseResult<?> del(HttpServletRequest request) {
         Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
-        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
-        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
-        allAlarmInfoLogService.deleteAlarmData(id);
+        //Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+       String id = request.getParameter("id");
+       if (id == null ) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        String[] ids = id.split(",");
+        allAlarmInfoLogService.deleteAlarmData(ids);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
     }
 
@@ -488,50 +497,44 @@ public class AlarmController {
     @RequestMapping(value = "/alarmNav", method = RequestMethod.POST)
     public BaseResult<?> alarmNav(HttpServletRequest request) {
         Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
-        String username = (String) toolUtils.getRequestContent(request,"username",2);
-        if (username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
-        UserDTO userDTO = userService.getPrivilegeList(username);
-        if (userDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
-        GlobalLocationVO globalLocationVO = new GlobalLocationVO();
-        globalLocationVO.setList(new ArrayList<>());
-        if (userDTO.getZoneList() == null || userDTO.getZoneList().isEmpty()) {
-            return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,globalLocationVO);
+        UserDTO user = toolUtils.getUser(request);
+        List<SectionDTO> allList = null;
+        SectionDTO sectionDTO = new SectionDTO();
+        if (user.getRole() == ToolUtils.SYSTEM_ADMIN){
+            //超级用户(id,pid)
+             allList = sectionService.getAllList(sectionDTO);
+        }else {
+            List sectionList = toolUtils.getSectionList(request);
+            sectionDTO.setSectionList(sectionList);
+            allList = sectionService.getAllList(sectionDTO);
         }
+        List<GlobalLocationDTO> globalList = new ArrayList<>();
+        if (allList == null) return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,globalList);
 
-        List<String> zones = Arrays.asList(userDTO.getZoneList().split(","));
-        List<SectionDTO> list2;
-        List<GlobalLocationDTO> areaList = globalLocationService.getGlobalList(4, version);
-        List<SectionDTO> sectionList = sectionService.getListByIdList(zones);
-        List<GlobalLocationDTO> countryOfSectionList = globalLocationService.getCountryOfSectionList(1, version);
-        List<GlobalLocationDTO> provinceOfSectionList = globalLocationService.getCountryOfSectionList(2, version);
-        List<GlobalLocationDTO> cityOfSectionList = globalLocationService.getCountryOfSectionList(3, version);
-        areaList = Stream.of(areaList, countryOfSectionList, provinceOfSectionList, cityOfSectionList)
-                .flatMap(Collection::stream)
-                .collect(Collectors.toList());
-
-        List<GlobalLocationDTO> newAreaList = new ArrayList<>();
-        for (GlobalLocationDTO g : areaList) {
-            list2 = new ArrayList<>();
-            boolean isFlag = false;
-            for (SectionDTO s : sectionList) {
-                if (Objects.equals(g.getId(),s.getPid())) {
-                    list2.add(s);
-                    isFlag = true;
+        //获取pid,并去重
+        Set<Integer> pidList = new HashSet<>();
+        for (SectionDTO item: allList) {
+            pidList.add(item.getPid());
+        }
+        //转换成list
+        ArrayList<Integer> integers = new ArrayList<>(pidList);
+        //查询区域的名称
+        GlobalLocationDTO globalLocationDTO = new GlobalLocationDTO();
+        globalLocationDTO.setVersion(version);
+        globalLocationDTO.setPidList(integers);
+        List<GlobalLocationDTO> areaList = globalLocationService.getAreaList(globalLocationDTO);
+        for (GlobalLocationDTO item : areaList) {
+            ArrayList<SectionDTO> sectionList = new ArrayList<>();
+            for (SectionDTO section: allList) {
+                if (item.getId().equals(section.getPid())){
+                    sectionList.add(section);
                 }
             }
-            if (isFlag) {
-                GlobalLocationDTO dto = new GlobalLocationDTO();
-                dto.setId(g.getId());
-                dto.setPid(g.getPid());
-                dto.setName(g.getName());
-                dto.setSectionList(list2);
-                newAreaList.add(dto);
-            }
+            item.setSectionList(sectionList);
+            globalList.add(item);
         }
-
-        globalLocationVO.setList(newAreaList);
-        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,globalLocationVO);
-    }
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,globalList);
+     }
 
     /**
      * 推送人员列表

+ 1 - 1
src/main/java/com/welampiot/controller/RepairController.java

@@ -223,7 +223,7 @@ public class RepairController {
         int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
 
         RepairInfoDTO dto = new RepairInfoDTO();
-        dto.setRepairUserid(id);
+        dto.setRepairUserId(id);
         dto.setPage(count * (page - 1));
         dto.setCount(count);
 

+ 1 - 1
src/main/java/com/welampiot/dao/AllAlarmInfoLogDao.java

@@ -43,7 +43,7 @@ public interface AllAlarmInfoLogDao {
 
     AllAlarmInfoLogDTO getAlarmInfoDTOById(@Param("id") Integer id, @Param("version") Integer version);
 
-    void deleteAlarmData(@Param("id") Integer id);
+    void deleteAlarmData(String[] id);
 
     List<AllAlarmInfoLogDTO> getAlarmOperationList(AllAlarmInfoLogVO vo);
 

+ 1 - 0
src/main/java/com/welampiot/dao/GlobalLocationDao.java

@@ -49,4 +49,5 @@ public interface GlobalLocationDao {
 
     List<GlobalLocationDTO> getCityLampPoleCountList(GlobalLocationVO vo);
     GlobalLocationDTO getDataByDto(GlobalLocationDTO dto);
+    List<GlobalLocationDTO> getAreaList(GlobalLocationDTO dto);
 }

+ 4 - 0
src/main/java/com/welampiot/dao/RepairDispatchDao.java

@@ -1,8 +1,11 @@
 package com.welampiot.dao;
 
 import com.welampiot.dto.RepairDispatchDTO;
+import com.welampiot.vo.RepairDispatchVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * ClassName: RepairDispatchDao
  * Package: com.welampiot.dao
@@ -14,4 +17,5 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface RepairDispatchDao {
     RepairDispatchDTO getRepairDispatchByAlarmId(@Param("alarmId") Integer alarmId);
+    RepairDispatchDTO getRepairDispatchMultiJoinByVO(RepairDispatchVO repairDispatchVO);
 }

+ 3 - 0
src/main/java/com/welampiot/dao/RepairInfoDao.java

@@ -1,5 +1,6 @@
 package com.welampiot.dao;
 
+import com.welampiot.dto.RepairDispatchDTO;
 import com.welampiot.dto.RepairInfoDTO;
 import org.apache.ibatis.annotations.Param;
 
@@ -20,4 +21,6 @@ public interface RepairInfoDao {
     void deleteRepairInfoDataById(@Param("id") Integer id);
 
     RepairInfoDTO getRepairInfoDTOByAlarmId(@Param("alarmId") Integer alarmId);
+    void addData(RepairDispatchDTO repairDispatchDTO);
+    RepairInfoDTO getRepairInfoById(Integer alarmId);
 }

+ 1 - 1
src/main/java/com/welampiot/dao/SectionDao.java

@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 public interface SectionDao {
-    List<SectionDTO> getAllList();
+    List<SectionDTO> getAllList(SectionDTO sectionDTO);
     List<SectionDTO> getListByPid(@Param("pid") Integer pid);
     List<SectionDTO> getListByPidList(@Param("pidList") List pidList);
     List<SectionDTO> getListByIdList(@Param("idList") List idList);

+ 2 - 2
src/main/java/com/welampiot/dto/GlobalLocationDTO.java

@@ -48,9 +48,9 @@ public class GlobalLocationDTO implements Serializable {
 
     private Integer timeType;//时区类型
 
-    private float longitude;//经度
+    private Float longitude;//经度
 
-    private float latitude;//纬度
+    private Float latitude;//纬度
 
     private String name;
     private String name1;

+ 11 - 1
src/main/java/com/welampiot/dto/RepairDispatchDTO.java

@@ -17,7 +17,7 @@ import java.io.Serializable;
 public class RepairDispatchDTO implements Serializable {
     private Integer id;
 
-    private Integer repairUserid; // 调度人员id
+    //private Integer repairUserid; // 调度人员id
 
     private String finishTime; // 实际完成时间
 
@@ -26,4 +26,14 @@ public class RepairDispatchDTO implements Serializable {
     private Integer alarmId; // 告警id
 
     private Integer lampId; // 路灯id
+
+    private Integer repairUserId;
+    private String area;
+    private String section;
+    private String userName;
+    private String alarmType;
+    private String alrmTime;
+    private String keyword;
+    private String repairTime;
+    private String alarmTime;
 }

+ 9 - 1
src/main/java/com/welampiot/dto/RepairInfoDTO.java

@@ -19,7 +19,7 @@ public class RepairInfoDTO implements Serializable {
     private Integer id;
 
     /** 维修人员id **/
-    private Integer repairUserid;
+    private Integer repairUserId;
 
     /** 行政区 **/
     private String area;
@@ -52,4 +52,12 @@ public class RepairInfoDTO implements Serializable {
     private Integer count;
 
     private static final long serialVersionUID = 1L;
+
+    private String repairUser;
+
+    private String dispatchTime;
+    private String name;
+    private String email;
+    private String phone;
+    private String company;
 }

+ 1 - 1
src/main/java/com/welampiot/service/AllAlarmInfoLogService.java

@@ -42,7 +42,7 @@ public interface AllAlarmInfoLogService {
 
     AllAlarmInfoLogDTO getAlarmInfoDTOById(Integer id, Integer version);
 
-    void deleteAlarmData(Integer id);
+    void deleteAlarmData(String[] id);
 
     List<AllAlarmInfoLogDTO> getAlarmOperationList(AllAlarmInfoLogVO vo);
 

+ 1 - 0
src/main/java/com/welampiot/service/GlobalLocationService.java

@@ -34,4 +34,5 @@ public interface GlobalLocationService {
     List<GlobalLocationDTO> getOnlyOneLevelList(Integer level, Integer version);
     List<GlobalLocationDTO> getCountryOfSectionList(Integer level, Integer version);
     GlobalLocationDTO getDataByDto(GlobalLocationDTO dto);
+    List<GlobalLocationDTO> getAreaList(GlobalLocationDTO dto);
 }

+ 4 - 0
src/main/java/com/welampiot/service/RepairDispatchService.java

@@ -1,8 +1,11 @@
 package com.welampiot.service;
 
 import com.welampiot.dto.RepairDispatchDTO;
+import com.welampiot.vo.RepairDispatchVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * ClassName: RepairDispatchService
  * Package: com.welampiot.service
@@ -14,4 +17,5 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface RepairDispatchService {
     RepairDispatchDTO getRepairDispatchByAlarmId(@Param("alarmId") Integer alarmId);
+    RepairDispatchDTO getRepairDispatchMultiJoinByVO(RepairDispatchVO repairDispatchVO);
 }

+ 4 - 0
src/main/java/com/welampiot/service/RepairInfoService.java

@@ -1,5 +1,6 @@
 package com.welampiot.service;
 
+import com.welampiot.dto.RepairDispatchDTO;
 import com.welampiot.dto.RepairInfoDTO;
 import com.welampiot.vo.RepairInfoVO;
 
@@ -18,4 +19,7 @@ public interface RepairInfoService {
     void deleteRepairInfoDataById(Integer id);
 
     RepairInfoDTO getRepairInfoDTOByAlarmId(Integer alarmId);
+    void addData(RepairDispatchDTO repairDispatchDTO);
+    RepairInfoDTO getRepairInfoById(Integer alarmId);
+
 }

+ 1 - 1
src/main/java/com/welampiot/service/SectionService.java

@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 public interface SectionService {
-    List<SectionDTO> getAllList();
+    List<SectionDTO> getAllList(SectionDTO sectionDTO);
 
     List<SectionDTO> getListByPid(Integer pid);
     List<SectionDTO> getListByPidList(List pidList);

+ 1 - 1
src/main/java/com/welampiot/service/impl/AllAlarmInfoLogServiceImpl.java

@@ -184,7 +184,7 @@ public class AllAlarmInfoLogServiceImpl implements AllAlarmInfoLogService {
     }
 
     @Override
-    public void deleteAlarmData(Integer id) {
+    public void deleteAlarmData(String[] id) {
         allAlarmInfoLogDao.deleteAlarmData(id);
     }
 

+ 4 - 0
src/main/java/com/welampiot/service/impl/GlobalLocationServiceImpl.java

@@ -243,4 +243,8 @@ public class GlobalLocationServiceImpl implements GlobalLocationService {
     public GlobalLocationDTO getDataByDto(GlobalLocationDTO dto){
         return globalLocationDao.getDataByDto(dto);
     }
+    @Override
+    public List<GlobalLocationDTO> getAreaList(GlobalLocationDTO dto){
+        return globalLocationDao.getAreaList(dto);
+    }
 }

+ 8 - 0
src/main/java/com/welampiot/service/impl/RepairDispatchServiceImpl.java

@@ -3,9 +3,12 @@ package com.welampiot.service.impl;
 import com.welampiot.dao.RepairDispatchDao;
 import com.welampiot.dto.RepairDispatchDTO;
 import com.welampiot.service.RepairDispatchService;
+import com.welampiot.vo.RepairDispatchVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * ClassName: RepairDispatchServiceImpl
  * Package: com.welampiot.service.impl
@@ -24,4 +27,9 @@ public class RepairDispatchServiceImpl implements RepairDispatchService {
     public RepairDispatchDTO getRepairDispatchByAlarmId(Integer alarmId) {
         return repairDispatchDao.getRepairDispatchByAlarmId(alarmId);
     }
+
+    @Override
+    public RepairDispatchDTO getRepairDispatchMultiJoinByVO(RepairDispatchVO repairDispatchVO) {
+        return repairDispatchDao.getRepairDispatchMultiJoinByVO(repairDispatchVO);
+    }
 }

+ 9 - 0
src/main/java/com/welampiot/service/impl/RepairInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.welampiot.service.impl;
 
 import com.welampiot.dao.RepairInfoDao;
+import com.welampiot.dto.RepairDispatchDTO;
 import com.welampiot.dto.RepairInfoDTO;
 import com.welampiot.service.RepairInfoService;
 import com.welampiot.vo.RepairInfoVO;
@@ -72,4 +73,12 @@ public class RepairInfoServiceImpl implements RepairInfoService {
     public RepairInfoDTO getRepairInfoDTOByAlarmId(Integer alarmId) {
         return repairInfoDao.getRepairInfoDTOByAlarmId(alarmId);
     }
+    @Override
+    public void addData(RepairDispatchDTO repairDispatchDTO){
+        repairInfoDao.addData(repairDispatchDTO);
+    }
+    @Override
+    public RepairInfoDTO getRepairInfoById(Integer alarmId){
+        return repairInfoDao.getRepairInfoById(alarmId);
+    }
 }

+ 1 - 1
src/main/java/com/welampiot/service/impl/SectionServiceImpl.java

@@ -14,7 +14,7 @@ public class SectionServiceImpl implements SectionService {
     @Autowired
     private SectionDao sectionDao;
     @Override
-    public List<SectionDTO> getAllList() {return sectionDao.getAllList();}
+    public List<SectionDTO> getAllList(SectionDTO sectionDTO) {return sectionDao.getAllList(sectionDTO);}
 
     @Override
     public List<SectionDTO> getListByPid(Integer pid) {return sectionDao.getListByPid(pid);}

+ 63 - 3
src/main/java/com/welampiot/utils/ToolUtils.java

@@ -56,6 +56,11 @@ public class ToolUtils {
             this.contentType = contentType;
         }
     }
+    //用户的权限
+    final static public Integer SYSTEM_ADMIN = 1;
+    final static public Integer COMPANY_ADMIN = 2;
+    final static public Integer COMPANY_CUSTOMER = 3;
+
     private UserDTO user;
     @Autowired
     private UserService userService;
@@ -173,9 +178,10 @@ public class ToolUtils {
     public UserDTO getUser(HttpServletRequest request) {
         String username = request.getParameter("username");
         ArrayList<Object> sectionList = new ArrayList<>();
-        if (user == null) {
-            user = userService.findUserByUserName(username);
-        }
+//        if (user == null) {//若换了帐号,还是上次的帐号
+//            user = userService.findUserByUserName(username);
+//        }
+        user = userService.findUserByUserName(username);
         return user;
     }
 
@@ -1346,4 +1352,58 @@ System.out.println(res);
         }
         return location;
     }
+
+    // 翻译故障信息
+    public String changeAlarm(String alarmStr){
+        if (alarmStr == null || alarmStr.length() == 0) return  "Unknown error";
+        HashMap<String, String> hashMap = new HashMap<>();
+        hashMap.put("供电异常","Power supply anomaly");
+        hashMap.put("灯闪","Light flicker");
+        hashMap.put("灯坏","Light bad");
+        hashMap.put("LED驱动故障","LED drive failure");
+        hashMap.put("灯坏或LED驱动故障","Light bad or LED drive failure");
+        hashMap.put("电压过低","Low voltage");
+        hashMap.put("电压过高","Overvoltage");
+        hashMap.put("开灯故障","Turn on the lights");
+        hashMap.put("离线故障","Offline fault");
+        String[] arr = alarmStr.split(",");//内容
+        List<String> stringList = new ArrayList<>();//存放
+
+        for (String item: arr) {
+            String value = hashMap.get(item);
+            if (value == null){
+                stringList.add("Unknown error");
+            }else {
+                stringList.add(value);
+            }
+        }
+        //字符串拼接
+        return String.join(".", stringList);
+    }
+    public String changeAlarmRu(String alarmStr){
+        if (alarmStr == null || alarmStr.length() == 0) return  "ошибка";
+        HashMap<String, String> hashMap = new HashMap<>();
+        hashMap.put("供电异常","Аномальный источник питания");
+        hashMap.put("灯闪","вспышка лампы");
+        hashMap.put("灯坏","лампочка");
+        hashMap.put("LED驱动故障","Ошибка LED-драйвера");
+        hashMap.put("灯坏或LED驱动故障","неисправность лампы или привода светодиода");
+        hashMap.put("电压过低","понижение напряжения");
+        hashMap.put("电压过高","избыточное напряжение");
+        hashMap.put("开灯故障","неисправность зажигания");
+        hashMap.put("离线故障","автономный отказ");
+        String[] arr = alarmStr.split(",");//内容
+        List<String> stringList = new ArrayList<>();//存放
+
+        for (String item: arr) {
+            String value = hashMap.get(item);
+            if (value == null){
+                stringList.add("ошибка");
+            }else {
+                stringList.add(value);
+            }
+        }
+        //字符串拼接
+        return String.join(".", stringList);
+    }
 }

+ 2 - 0
src/main/java/com/welampiot/vo/AllAlarmInfoLogVO.java

@@ -25,4 +25,6 @@ public class AllAlarmInfoLogVO {
     private String alarmType;
     private String path;
     private List<AllAlarmInfoLogDTO> list;
+    private Integer handling;
+    private Integer unAssigned;
 }

+ 14 - 0
src/main/java/com/welampiot/vo/RepairDispatchVO.java

@@ -0,0 +1,14 @@
+package com.welampiot.vo;
+
+import com.welampiot.dto.RepairDispatchDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class RepairDispatchVO implements Serializable {
+    private Integer version;
+    private String keyword;
+    private Integer alarmId;
+}

+ 5 - 1
src/main/resources/mapper/AllAlarmInfoLogMapper.xml

@@ -824,7 +824,11 @@
     <delete id="deleteAlarmData">
         delete
         from all_alarm_info_log
-        where id = #{id};
+        where id in
+        <foreach collection="id" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+
     </delete>
 
     <select id="getAlarmOperationList" resultType="AllAlarmInfoLogDTO">

+ 22 - 0
src/main/resources/mapper/GlobalLocationMapper.xml

@@ -364,4 +364,26 @@
             </if>
         </trim>
     </select>
+    
+    <select id="getAreaList" parameterType="GlobalLocationDTO" resultType="GlobalLocationDTO">
+        select id
+        <choose>
+            <when test="version == 0">
+                ,chinese_name AS `name`
+            </when>
+            <when test="version == 1">
+                ,english_name AS `name`
+            </when>
+            <otherwise>
+                ,ru_name AS `name`
+            </otherwise>
+        </choose>
+        from global_location
+        <if test="pidList != null and !pidList.isEmpty()">
+            WHERE id IN
+            <foreach collection="pidList" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+    </select>
 </mapper>

+ 22 - 0
src/main/resources/mapper/RepairDispatchMapper.xml

@@ -12,4 +12,26 @@
         limit 1
     </select>
 
+    <select id="getRepairDispatchMultiJoinByVO" resultType="RepairDispatchDTO" parameterType="RepairDispatchVO">
+        select RP.id as repairUserId,
+        <choose>
+            <when test="version == 1">
+                G.english_name as area,
+            </when>
+            <when test="version == 2">
+                G.ru_name as area,
+            </when>
+            <otherwise>
+                G.chinese_name as area,
+            </otherwise>
+        </choose>
+         S.name as section,L.id as lampId,RP.name as userName,AI.stralarmtype as alarmType,AI.updatetime as alarmTime
+        from repair_dispatch RD
+        LEFT JOIN repair_personnel as RP ON RP.id = RD.repair_userid
+        left join all_alarm_info_log as AI on AI.id = RD.alarmid
+        left join lampinfo as L on L.id = RD.lampid
+        left join section as S on S.id = L.sectionid
+        left join global_location as G on G.id = S.pid
+        where RD.alarmid = #{alarmId}
+    </select>
 </mapper>

+ 19 - 6
src/main/resources/mapper/RepairInfoMapper.xml

@@ -5,7 +5,7 @@
     <select id="getRepairInfoByDTO" resultType="RepairInfoDTO">
         select r.id,r.alarm_type alarmType,r.alarm_time alarmTime,r.area,r.section,r.repair_time repairTime,l.number
         from repair_info r left join lampinfo l on r.lampid = l.id
-        where r.repair_userid = #{repairUserid}
+        where r.repair_userid = #{repairUserId}
         <if test="page >= 0 and count > 0">
             limit #{page},#{count}
         </if>
@@ -18,11 +18,24 @@
     </delete>
 
     <select id="getRepairInfoDTOByAlarmId" resultType="RepairInfoDTO">
-        select r.id,r.repair_time as repairTime,r.user_name as username,r.repair_userid as repairUserid
-        from repair_info r
-        where r.alarmid = #{alarmId}
-        order by r.repair_time desc
-        limit 1
+        select RP.id,RP.name,RP.section,RP.email,RP.phone,RP.number,RP.company
+        from repair_info RI
+        left join repair_personnel RP
+        on RP.id = RI.repair_userid
+        where RI.id = #{alarmId}
+
     </select>
+
+    <insert id="addData" parameterType="RepairDispatchDTO" useGeneratedKeys="true" keyProperty="id">
+        insert into repair_info(repair_userid,area,section,lampid,user_name,alarm_type,alarm_time)
+        values (#{repairUserId},#{area},#{section},#{lampId},#{userName},#{alarmType},#{alarmTime})
+    </insert>
     
+    <select id="getRepairInfoById" parameterType="Integer" resultType="RepairInfoDTO">
+        select L.number,RI.area,RI.section,RI.alarm_type as alarmType,RI.user_name as repairUser,RI.repair_time as repairTime,RD.updatetime as dispatchTime
+        from repair_info RI
+        left join lampinfo L on L.id = RI.lampid
+        left join repair_dispatch RD on RD.alarmid = RI.id
+        where RI.alarmid = #{alarmid}
+    </select>
 </mapper>

+ 8 - 2
src/main/resources/mapper/SectionMapper.xml

@@ -1,8 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.welampiot.dao.SectionDao">
-    <select id="getAllList" resultType="com.welampiot.dto.SectionDTO">
-        select id,name from section
+    <select id="getAllList" resultType="com.welampiot.dto.SectionDTO" parameterType="SectionDTO">
+        select id,name,pid from section
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            WHERE id IN
+            <foreach collection="sectionList" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
     </select>
     <select id="getListByPid" parameterType="java.lang.Integer" resultType="com.welampiot.dto.SectionDTO">
         select id,name from section

+ 3 - 5
src/test/java/com/welampiot/service/UserServiceTest.java

@@ -35,11 +35,9 @@ public class UserServiceTest {
 
     @Test
     public void testConnection() throws Exception {
-//        LampInfoDTO lampInfoDTO = new LampInfoDTO();
-//        lampInfoDTO.setAddress("12000000");
-//        lampInfoDTO.setId(108);
-//        lampService.updateById(lampInfoDTO);//updateById ,addById
-//        System.out.println("====dd:"+oneById);
+        String str = "供电异常,供电异常1";
+        String s = toolUtils.changeAlarm(str);
+        System.out.println("====dd:"+s);
 
         //schemaParamsterInterceptor.intercept()
 //        long l = System.currentTimeMillis() - (24L * 3600 * 30*1000);