From eb81b0a16b2d4e87eefd085231ab6b20a1ea3cde Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期四, 12 六月 2025 15:40:45 +0800 Subject: [PATCH] Merge branch 'master' of http://118.89.139.230:10101/r/powerIntelligenceSystem --- src/main/java/com/whyc/service/AlarmInspectionService.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/service/AlarmInspectionService.java b/src/main/java/com/whyc/service/AlarmInspectionService.java index ae05a78..c5a8307 100644 --- a/src/main/java/com/whyc/service/AlarmInspectionService.java +++ b/src/main/java/com/whyc/service/AlarmInspectionService.java @@ -1,12 +1,28 @@ package com.whyc.service; +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 +30,95 @@ @Resource private AlarmInspectionMapper mapper; + @Autowired + private AlarmInspectionResultService resultService; + public Response getList(Integer stationId, Integer inspectionType) { //闇�瑕侀檮鍔犲~鍏� 璐熻矗鐝粍淇℃伅 鍙� 鍛婅璇婃柇淇℃伅 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 fileDirPath = CommonUtil.getRootFile() + "alarmInspection" + 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 (MultipartFile multipartFile : file) { + 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"; + pictureUrlSb.append(File.separator + filePath.substring(filePath.indexOf(split))).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,"鎻愪氦瀹屾垚"); + } } -- Gitblit v1.9.1