whycxzp
2023-08-18 7563aba9cebb22433a6cd2ee6429432ac2176a86
更新告警手动消除
4个文件已修改
75 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/AlarmManualClearController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/AlarmManualClear.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/AlarmManualClearService.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/DateUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/AlarmManualClearController.java
@@ -4,10 +4,15 @@
import com.whyc.dto.Response;
import com.whyc.pojo.AlarmManualClear;
import com.whyc.service.AlarmManualClearService;
import com.whyc.util.ActionUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.swing.*;
import java.util.List;
@RestController
@Api(tags = "告警手动消除")
@@ -19,8 +24,9 @@
    @PostMapping("submit")
    @ApiOperation("提交告警消除")
    public Response addClearSubmission(@RequestBody AlarmManualClear clear){
        return service.submit(clear);
    public Response addClearSubmission(@RequestPart("file") List<MultipartFile> file, @RequestParam String clearJson){
        AlarmManualClear clear = ActionUtil.getGson().fromJson(clearJson, AlarmManualClear.class);
        return service.submit(file,clear);
    }
    @ApiOperation(value = "查询具体告警消除记录",notes = "必传 alarmType,[battGroupId,mon_num,alm_signal_id]/[deviceId]/[powerDeviceId],alm_start_time,alm_id")
src/main/java/com/whyc/pojo/AlarmManualClear.java
@@ -33,6 +33,7 @@
    private Integer almId;
    private Integer almSignalId;
    private String reason;
    private String fileUrl;
    private Date createTime;
    private Integer dealUserId;
@@ -214,4 +215,12 @@
    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }
    public String getFileUrl() {
        return fileUrl;
    }
    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }
}
src/main/java/com/whyc/service/AlarmManualClearService.java
@@ -4,19 +4,27 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.YamlProperties;
import com.whyc.dto.AlarmDaoFactory;
import com.whyc.dto.Response;
import com.whyc.mapper.AlarmManualClearMapper;
import com.whyc.pojo.*;
import com.whyc.util.ActionUtil;
import com.whyc.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.system.ApplicationHome;
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.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import static com.whyc.util.ActionUtil.createFilefolderIFNotExist;
@Service
public class AlarmManualClearService {
@@ -49,10 +57,11 @@
    private PwrdevAlarmHistoryService powerAlarmHistoryService;
    @Transactional
    public Response submit(AlarmManualClear clear) {
    public Response submit(List<MultipartFile> file, AlarmManualClear clear) {
        int userId = ActionUtil.getUser().getUId().intValue();
        clear.setDealUserId(userId);
        clear.setCreateTime(new Date());
        Date date = new Date();
        clear.setCreateTime(date);
        //插入对应的站点id,用于后期用户相关
        Integer alarmType = clear.getAlarmType();
        String stationId;
@@ -76,8 +85,44 @@
            powerAlarmService.delete(num);
        }
        clear.setStationId(stationId);
        mapper.insert(clear);
        return new Response().set(1,"提交完成");
        //处理文件
        String fileDirName = "";
        ApplicationHome applicationHome = new ApplicationHome(getClass());
        File jarFile = applicationHome.getDir();
        //测试版
        if (YamlProperties.runModel == 1) {
            fileDirName = jarFile.getParentFile().toString();
        } else {
            //打包版
            fileDirName = jarFile.toString();
        }
        //文件夹按月度存储
        String root=fileDirName+"/fg_file/alarm_manual_clear/"+ DateUtil.YYYY_MM.format(date) + "/";
        List<String> filePathList = new ArrayList<>();
        try {
            for (int i = 0; i < file.size(); i++) {
                String fileFileName = file.get(i).getOriginalFilename();
                String filePath = root + DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(date)+"_"+fileFileName;
                createFilefolderIFNotExist(filePath);
                file.get(i).transferTo(new File(filePath));
                String httpFilePath = filePath.replace(fileDirName, "");
                filePathList.add(httpFilePath);
            }
            StringBuilder filePathUnion = new StringBuilder();
            int size = filePathList.size();
            for (int i = 0; i < size; i++) {
                String filePath = filePathList.get(i);
                filePathUnion.append(filePath);
                if(i!= size -1) {
                    filePathUnion.append(";");
                }
            }
            clear.setFileUrl(filePathUnion.toString());
            mapper.insert(clear);
            return new Response().set(1,"提交完成");
        } catch (IOException e) {
            return new Response().set(0,"接口发生异常:"+e.toString());
        }
    }
    public Response getRecordByAlarmInfo(AlarmManualClear clear) {
src/main/java/com/whyc/util/DateUtil.java
@@ -13,6 +13,7 @@
    public static SimpleDateFormat YYYY_MM_DD_HH_MM_SS=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    public static SimpleDateFormat YYYY_MM_DD_HH_MM_SS_UNION=new SimpleDateFormat("yyyyMMddHHmmss");
    public static SimpleDateFormat YYYY_MM_DD=new SimpleDateFormat("yyyy-MM-dd");
    public static SimpleDateFormat YYYY_MM=new SimpleDateFormat("yyyy-MM");
    public static List<List<Date>> getMonthTime(Date startTimeDate,Date endTimeDate) throws ParseException {
        List<List<Date>> timeList = new LinkedList<>();