From a0a525d59f1cb3167a54af9309c8dab162e89005 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期四, 12 六月 2025 19:23:32 +0800
Subject: [PATCH] 优化巡检和维修器件的图片路径

---
 src/main/java/com/whyc/service/AlarmInspectionService.java |  133 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/whyc/service/AlarmInspectionService.java b/src/main/java/com/whyc/service/AlarmInspectionService.java
index 8fe391e..1f90efa 100644
--- a/src/main/java/com/whyc/service/AlarmInspectionService.java
+++ b/src/main/java/com/whyc/service/AlarmInspectionService.java
@@ -1,12 +1,30 @@
 package com.whyc.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.whyc.constant.BattSingalIdEnum;
+import com.whyc.constant.DevAlarmEnum;
+import com.whyc.constant.PowerAlarmEnum;
 import com.whyc.dto.Response;
 import com.whyc.mapper.AlarmInspectionMapper;
+import com.whyc.pojo.db_user.Baojigroup;
+import com.whyc.pojo.db_user.User;
 import com.whyc.pojo.web_site.AlarmInspection;
+import com.whyc.pojo.web_site.AlarmInspectionResult;
+import com.whyc.util.CommonUtil;
+import com.whyc.util.DateUtil;
+import com.whyc.util.ThreadLocalUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class AlarmInspectionService {
@@ -14,9 +32,122 @@
     @Resource
     private AlarmInspectionMapper mapper;
 
+    @Autowired
+    private AlarmInspectionResultService resultService;
+
     public Response getList(Integer stationId, Integer inspectionType) {
         //闇�瑕侀檮鍔犲~鍏� 璐熻矗鐝粍淇℃伅 鍙� 鍛婅璇婃柇淇℃伅
-        List<AlarmInspection> list = mapper.getList(stationId);
+        List<AlarmInspection> list = mapper.getList(stationId,inspectionType);
         return new Response().set(1,list);
     }
+
+    @Transactional
+    public Response submitInspection(AlarmInspectionResult result, List<MultipartFile> file) throws IOException {
+        //瀵筬ile杩涜澶勭悊,淇濆瓨鍒版枃浠跺す涓�
+        //瀵瑰瓨鍌ㄨ矾寰勮繘琛屽畾涔�
+        String stationName = result.getStationName();
+        Date now = new Date();
+        String timeFormat = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM_DD_HH_MM_SS_UNION, now);
+        String dirMonth = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM, now);
+
+        String fileDirPath = CommonUtil.getRootFile() + "alarmInspection" + File.separator + dirMonth + File.separator + stationName + "_" + timeFormat;
+        File fileDir = new File(fileDirPath);
+        //濡傛灉鏂囦欢澶逛笉瀛樺湪鍒欏垱寤�
+        if (!fileDir.exists()) {
+            fileDir.mkdirs();
+        }
+        StringBuilder pictureUrlSb = new StringBuilder();
+        if (file != null && file.size() > 0) {
+            for (int j = 0; j < file.size(); j++) {
+                MultipartFile multipartFile = file.get(j);
+                String fileName = multipartFile.getOriginalFilename();
+                //灏唂ileName涓彲鑳藉瓨鍦ㄧ殑,鍘绘帀
+                fileName = fileName.replace(",","");
+                String filePath = fileDirPath + File.separator + fileName;
+
+                multipartFile.transferTo(new File(filePath));
+                String split = "pis_file"+File.separator+"alarmInspection";
+                String picUrl = File.separator + filePath.substring(filePath.indexOf(split));
+                //鏈�鍚庝竴涓厓绱�
+                if (j == file.size() - 1) {
+                    pictureUrlSb.append(picUrl);
+                }else {
+                    pictureUrlSb.append(picUrl).append(",");
+                }
+            }
+        }
+        result.setPictureUrl(pictureUrlSb.toString());
+
+        //鏍规嵁鎻愪氦鐨勭珯鐐筰d鍜宨nspectionType鏌ヨ鍑哄搴旂殑宸ュ崟
+        List<AlarmInspection> list = mapper.getList(result.getStationId(),result.getInspectionType());
+        //鏍¢獙鍛婅鏄惁鍏ㄩ儴娑堝け,鏄垯閫氳繃
+        for (int i = 0; i < list.size(); i++) {
+            if (list.get(i).getIsExist() == 1) {
+                return new Response().set(1,false,"褰撳墠宸℃鍗曞唴鍛婅鏈叏閮ㄦ秷澶�");
+            }
+        }
+        //妫�楠岄�氳繃,杩涜宸℃缁撴灉鎻愪氦,褰㈡垚宸℃鍘嗗彶
+        //鍒ゆ柇stationName,powerName,devName,battGroupName鏄惁瀛樺湪,閫愪釜瀛樺湪鍒欐嫾鎺ユ垚涓�涓瓧绗︿覆
+        StringBuilder alarmDescriptionSb = new StringBuilder();
+        for (int i = 0; i < list.size(); i++) {
+            AlarmInspection temp = list.get(i);
+            if (temp.getStationName() != null) {
+                alarmDescriptionSb.append(temp.getStationName()).append("-");
+            }
+            if (temp.getPowerName() != null) {
+                alarmDescriptionSb.append(temp.getPowerName()).append("-");
+            }
+            if (temp.getDevName() != null) {
+                alarmDescriptionSb.append(temp.getDevName()).append("-");
+            }
+            if (temp.getBattGroupName() != null) {
+                alarmDescriptionSb.append(temp.getBattGroupName());
+            }
+            if(temp.getMonNum() != null){
+                alarmDescriptionSb.append("鍗曚綋缂栧彿:").append(temp.getMonNum());
+            }
+            if(temp.getType() == 1) { //鐢垫簮鍛婅
+                alarmDescriptionSb.append("鍦�" + DateUtil.YYYY_MM_DD_HH_MM_SS.format(temp.getAlmStartTime()) + "鍙戠敓" + PowerAlarmEnum.getValue(temp.getAlmId()) + "鍛婅,鍛婅绾у埆涓�" + temp.getAlmLevel() + ".\n");
+            }
+            else if(temp.getType() == 2) { //璁惧鍛婅
+                alarmDescriptionSb.append("鍦�" + DateUtil.YYYY_MM_DD_HH_MM_SS.format(temp.getAlmStartTime()) + "鍙戠敓" + DevAlarmEnum.getValue(temp.getAlmId()) + "鍛婅,鍛婅绾у埆涓�" + temp.getAlmLevel() + ".\n");
+            }else{ //鐢垫睜鍛婅
+                alarmDescriptionSb.append("鍦�" + DateUtil.YYYY_MM_DD_HH_MM_SS.format(temp.getAlmStartTime()) + "鍙戠敓" + BattSingalIdEnum.getValue(temp.getAlmId()) +"鍛婅,鍛婅绾у埆涓�" + temp.getAlmLevel() + ".\n");
+            }
+        }
+        result.setAlarmDescription(alarmDescriptionSb.toString());
+        User user = CommonUtil.getUser();
+        result.setSubmitUserId(user.getId());
+        result.setSubmitUserName(user.getName());
+        result.setCreateTime(new Date());
+        //鎵�灞炵彮缁�
+        Baojigroup baoJiGroup = list.get(0).getBaoJiGroup();
+        result.setBaoJiGroupId(baoJiGroup.getBaojiGroupId());
+        result.setBaoJiGroupName(baoJiGroup.getBaojiGroupName());
+        resultService.add(result);
+
+        //鍒犻櫎褰撳墠宸℃鍗曡褰�
+        List<Long> ids = list.stream().map(AlarmInspection::getId).collect(Collectors.toList());
+        mapper.deleteBatchIds(ids);
+
+        return new Response().set(1,true,"鎻愪氦瀹屾垚");
+    }
+
+    public void addBatch(List<AlarmInspection> inspectionList) {
+        mapper.insertBatchSomeColumn(inspectionList);
+    }
+
+    public List<AlarmInspection> getAlarmExistList() {
+        QueryWrapper<AlarmInspection> query = Wrappers.query();
+        query.eq("is_exist",1);
+        return mapper.selectList(query);
+    }
+
+    public void updateIsExist(List<Long> notExistIdList) {
+        QueryWrapper<AlarmInspection> query = Wrappers.query();
+        query.in("id",notExistIdList);
+        AlarmInspection alarmInspection = new AlarmInspection();
+        alarmInspection.setIsExist(0);
+        mapper.update(alarmInspection,query);
+    }
 }

--
Gitblit v1.9.1