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