Merge remote-tracking branch 'origin/master'

This commit is contained in:
2025-04-15 15:33:28 +08:00
8 changed files with 59 additions and 79 deletions

View File

@@ -776,12 +776,9 @@ public class SocketDevResponseService {
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) { if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
successComm.clear(); successComm.clear();
failComm.clear(); failComm.clear();
if (CollUtil.isEmpty(dataTypeList)) {
dataTypeList = pqScriptDtlsService.getScriptToIcdCheckInfo(param); dataTypeList = pqScriptDtlsService.getScriptToIcdCheckInfo(param);
}
if (CollUtil.isEmpty(icdTypeList)) {
icdTypeList = FormalTestManager.devList.stream().map(PreDetection::getIcdType).distinct().collect(Collectors.toList()); icdTypeList = FormalTestManager.devList.stream().map(PreDetection::getIcdType).distinct().collect(Collectors.toList());
}
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue()); socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
socketMsg.setOperateCode(SourceOperateCodeEnum.VERIFY_MAPPING$01.getValue()); socketMsg.setOperateCode(SourceOperateCodeEnum.VERIFY_MAPPING$01.getValue());

View File

@@ -149,6 +149,7 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
wrapper.like(StrUtil.isNotBlank(queryParam.getName()), "name", queryParam.getName()) wrapper.like(StrUtil.isNotBlank(queryParam.getName()), "name", queryParam.getName())
.eq(StrUtil.isNotBlank(queryParam.getVersion()), "version", queryParam.getVersion()) .eq(StrUtil.isNotBlank(queryParam.getVersion()), "version", queryParam.getVersion())
.eq("state", DataStateEnum.ENABLE.getCode()); .eq("state", DataStateEnum.ENABLE.getCode());
wrapper.orderByDesc("Update_Time");
Page<PqReport> page1 = this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), wrapper); Page<PqReport> page1 = this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), wrapper);
List<PqReportVO> pqReportVOList = page1.getRecords().stream().map(pqReport -> { List<PqReportVO> pqReportVOList = page1.getRecords().stream().map(pqReport -> {

View File

@@ -4,12 +4,9 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.LogUtil; import com.njcn.common.utils.LogUtil;
import com.njcn.gather.detection.pojo.param.DevPhaseSequenceParam;
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
import com.njcn.gather.script.pojo.param.PqScriptDtlsParam; import com.njcn.gather.script.pojo.param.PqScriptDtlsParam;
import com.njcn.gather.script.pojo.param.PqScriptIssueParam; import com.njcn.gather.script.pojo.param.PqScriptIssueParam;
import com.njcn.gather.script.pojo.param.PqScriptParam; import com.njcn.gather.script.pojo.param.PqScriptParam;
@@ -62,15 +59,11 @@ public class PqScriptController extends BaseController {
@PostMapping("/add") @PostMapping("/add")
@ApiOperation("新增检测脚本") @ApiOperation("新增检测脚本")
@ApiImplicitParam(name = "pqDevParam", value = "检测脚本", required = true) @ApiImplicitParam(name = "pqDevParam", value = "检测脚本", required = true)
public HttpResult<Boolean> add(@RequestBody @Validated PqScriptParam param) { public HttpResult<String> add(@RequestBody @Validated PqScriptParam param) {
String methodDescribe = getMethodDescribe("add"); String methodDescribe = getMethodDescribe("add");
LogUtil.njcnDebug(log, "{},新增数据为:{}", methodDescribe, param); LogUtil.njcnDebug(log, "{},新增数据为:{}", methodDescribe, param);
Boolean result = pqScriptService.addPqScript(param); String id = pqScriptService.addPqScript(param);
if (result) { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
} else {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
}
} }
@OperateInfo(operateType = OperateType.UPDATE) @OperateInfo(operateType = OperateType.UPDATE)

View File

@@ -34,9 +34,9 @@ public interface IPqScriptService extends IService<PqScript> {
* 新增检测脚本 * 新增检测脚本
* *
* @param param 检测脚本 * @param param 检测脚本
* @return 成功返回true, 失败返回false * @return 成功返回ScriptId, 失败返回null
*/ */
Boolean addPqScript(PqScriptParam param); String addPqScript(PqScriptParam param);
/** /**
* 删除检测脚本 * 删除检测脚本

View File

@@ -61,13 +61,14 @@ public class PqScriptServiceImpl extends ServiceImpl<PqScriptMapper, PqScript> i
@Override @Override
@Transactional @Transactional
public Boolean addPqScript(PqScriptParam param) { public String addPqScript(PqScriptParam param) {
this.checkRepeat(param, false); this.checkRepeat(param, false);
PqScript pqScript = new PqScript(); PqScript pqScript = new PqScript();
BeanUtils.copyProperties(param, pqScript); BeanUtils.copyProperties(param, pqScript);
pqScript.setStandardTime(LocalDate.of(Integer.parseInt(param.getStandardTime()), 1, 1)); pqScript.setStandardTime(LocalDate.of(Integer.parseInt(param.getStandardTime()), 1, 1));
pqScript.setState(DataStateEnum.ENABLE.getCode()); pqScript.setState(DataStateEnum.ENABLE.getCode());
return this.save(pqScript); this.save(pqScript);
return pqScript.getId();
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package com.njcn.gather.system.log.pojo.po; package com.njcn.gather.system.log.pojo.po;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@@ -11,7 +12,6 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigInteger;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@@ -30,61 +30,72 @@ public class SysLogAudit implements Serializable {
/** /**
* 登录名 * 登录名
*/ */
@Excel(name = "登录名")
private String loginName; private String loginName;
/** /**
* 用户名 * 用户名
*/ */
@Excel(name = "用户名")
private String userName; private String userName;
/** /**
* IP * IP
*/ */
@Excel(name = "IP", width = 20)
private String ip; private String ip;
/** /**
* 操作内容 * 操作内容
*/ */
@Excel(name = "操作内容", width = 80)
private String operate; private String operate;
/** /**
* 操作类型 (比如:查询、新增、删除、下载等等) * 操作类型 (比如:查询、新增、删除、下载等等)
*/ */
@Excel(name = "操作类型")
private String operateType; private String operateType;
/** /**
* 事件结果 0失败 1成功 * 事件结果 0失败 1成功
*/ */
@Excel(name = "事件结果", replace = {"失败_0", "成功_1"})
private String result; private String result;
/** /**
* 失败原因 * 失败原因
*/ */
@Excel(name = "失败原因")
private String reason; private String reason;
/** /**
* 事件类型 * 事件类型
*/ */
@Excel(name = "事件类型", replace = {"业务事件_0", "系统事件_1"})
private Integer type; private Integer type;
/** /**
* 事件严重度(0.普通 1.中等 2.严重) * 事件严重度(0.普通 1.中等 2.严重)
*/ */
@Excel(name = "事件严重度", replace = {"普通_0", "中等_1", "严重_2"})
private Integer level; private Integer level;
/** /**
* 告警标志0未告警;1已告警默认未告警 * 告警标志0未告警;1已告警默认未告警
*/ */
@Excel(name = "告警标志", replace = {"未告警_0", "已告警_1"})
private Integer warn; private Integer warn;
/** /**
* 日志发生事件 * 日志发生事件
*/ */
@Excel(name = "日志发生事件", width = 30, exportFormat = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class)

View File

@@ -1,5 +1,6 @@
package com.njcn.gather.system.log.service.impl; package com.njcn.gather.system.log.service.impl;
import cn.afterturn.easypoi.csv.entity.CsvExportParams;
import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@@ -9,10 +10,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.constant.LogInfo; import com.njcn.common.pojo.constant.LogInfo;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.PubUtils;
import com.njcn.db.mybatisplus.constant.UserConstant; import com.njcn.db.mybatisplus.constant.UserConstant;
import com.njcn.gather.system.log.mapper.SysLogAuditMapper; import com.njcn.gather.system.log.mapper.SysLogAuditMapper;
import com.njcn.gather.system.log.pojo.enums.LogLevelEnum;
import com.njcn.gather.system.log.pojo.param.SysLogParam; import com.njcn.gather.system.log.pojo.param.SysLogParam;
import com.njcn.gather.system.log.pojo.po.SysLogAudit; import com.njcn.gather.system.log.pojo.po.SysLogAudit;
import com.njcn.gather.system.log.service.ISysLogAuditService; import com.njcn.gather.system.log.service.ISysLogAuditService;
@@ -27,9 +26,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openxmlformats.schemas.drawingml.x2006.chart.CTPieSer;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MethodArgumentNotValidException;
@@ -38,9 +35,9 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -67,32 +64,15 @@ public class SysLogAuditServiceImpl extends ServiceImpl<SysLogAuditMapper, SysLo
@Override @Override
public void exportCSV(SysLogParam.QueryParam param) { public void exportCSV(SysLogParam.QueryParam param) {
// String[] titles = {"日志类型", "IP", "事件结果", "描述", "日志等级", "告警标准", "操作用户", "记录时间"}; QueryWrapper<SysLogAudit> queryWrapper = new QueryWrapper<>();
// String[] keys = {"operateType", "ip", "result", "remark", "level", "warn", "createBy", "createTime"}; if (ObjectUtil.isNotNull(param)) {
// QueryWrapper<SysLogAudit> queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotBlank(param.getUserName()), "sys_log_audit.User_name", param.getUserName())
// if (ObjectUtil.isNotNull(param)) { .between(StrUtil.isAllNotBlank(param.getSearchBeginTime(), param.getSearchEndTime()), "sys_log_audit.Log_time", param.getSearchBeginTime(), param.getSearchEndTime());
// queryWrapper }
// .eq(StrUtil.isNotBlank(param.getOperateType()), "sys_log_audit.Operate_Type", param.getOperateType()) queryWrapper.orderByDesc("sys_log_audit.Log_time");
// .eq(StrUtil.isNotBlank(param.getCreateBy()), "sys_log_audit.Create_By", param.getCreateBy()) List<SysLogAudit> list = this.list(queryWrapper);
// .between(StrUtil.isAllNotBlank(param.getSearchBeginTime(), param.getSearchEndTime()), "sys_log_audit.Create_Time", param.getSearchBeginTime(), param.getSearchEndTime()); CsvExportParams params = new CsvExportParams();
// } CSVUtil.exportCsv("日志数据.csv", params, SysLogAudit.class, list);
// queryWrapper.orderByDesc("sys_log_audit.Create_Time");
// List<SysLogAudit> list = this.list(queryWrapper);
// List<Map<String, Object>> data = list.stream().map(item -> {
// Map<String, Object> map = new HashMap<>();
// map.put("operateType", item.getOperateType());
// map.put("ip", item.getIp());
// map.put("result", item.getResult());
// map.put("remark", item.getRemark());
// map.put("level", LogLevelEnum.getEnum(item.getLevel()).getMsg());
// map.put("warn", item.getWarn() == 0 ? "未告警" : "告警");
// map.put("createBy", item.getCreateBy());
// //将 createTime 转换为 yyyy-MM-dd HH:mm:ss 格式
// map.put("createTime", item.getCreateTime() == null ? "" : item.getCreateTime().toString().replace("T", " "));
// return map;
// }).collect(Collectors.toList());
// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
// CSVUtil.export("日志数据" + sdf.format(new Date()) + ".csv", titles, keys, data);
} }
/** /**
@@ -238,7 +218,6 @@ public class SysLogAuditServiceImpl extends ServiceImpl<SysLogAuditMapper, SysLo
} }
/** /**
* 严重度 文字 转 数字 * 严重度 文字 转 数字
*/ */

View File

@@ -1,6 +1,8 @@
package com.njcn.gather.system.log.util; package com.njcn.gather.system.log.util;
import cn.afterturn.easypoi.csv.CsvExportUtil;
import cn.afterturn.easypoi.csv.entity.CsvExportParams;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.njcn.web.utils.HttpServletUtil; import com.njcn.web.utils.HttpServletUtil;
@@ -9,7 +11,9 @@ import lombok.extern.slf4j.Slf4j;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -98,28 +102,22 @@ public class CSVUtil {
} }
} }
/**
* 设置Header
*
* @param fileName 文件名
* @throws
*/
// public static void responseSetProperties(String fileName) {
// HttpServletResponse response = HttpServletUtil.getResponse();
// // 设置文件后缀
// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
// String fn = fileName + sdf.format(new Date()) + ".csv";
//
// fileName = URLEncoder.encode(fileName, "UTF-8");
//
// // 设置响应
//// response.setContentType("application/ms-txt.numberformat:@");
// response.setContentType("application/octet-stream;charset=UTF-8");
// response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
//// response.setCharacterEncoding("UTF-8");
//// response.setHeader("Pragma", "public");
//// response.setHeader("Cache-Control", "max-age=30");
// response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fn, "UTF-8"));
// }
public static void exportCsv(String fileName, CsvExportParams params, Class<?> pojoClass, Collection<?> dataSet) {
HttpServletResponse response = HttpServletUtil.getResponse();
ServletOutputStream os = null;
try {
os = response.getOutputStream();
fileName = URLEncoder.encode(fileName, "UTF-8");
response.reset();
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
response.setContentType("application/octet-stream;charset=UTF-8");
CsvExportUtil.exportCsv(params, pojoClass, dataSet, os);
os.flush();
os.close();
} catch (Exception e) {
log.error(">>> 导出数据异常:{}", e.getMessage());
}
}
} }