diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/BpmApplication.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/BpmApplication.java index 301c54b96..e24a4b94f 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/BpmApplication.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/BpmApplication.java @@ -14,7 +14,6 @@ import org.springframework.context.annotation.DependsOn; * @date 2022/11/10 */ @Slf4j -@DependsOn("proxyMapperRegister") @MapperScan("com.njcn.**.mapper") @EnableFeignClients(basePackages = "com.njcn") @SpringBootApplication(scanBasePackages = "com.njcn") diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/user/UserReportPO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/user/UserReportPO.java index 3e2cbe6e7..7b00159e8 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/user/UserReportPO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/user/UserReportPO.java @@ -161,6 +161,9 @@ public class UserReportPO extends BaseEntity { @TableField(value = "line_id") private String lineId; + @TableField(value = "second_assessment_id") + private String secondAssessmentId; + /** * 审批状态:1:审批中;2:审批通过;3:审批不通过;4:已取消 */ @@ -176,4 +179,5 @@ public class UserReportPO extends BaseEntity { + } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java index 1e74a5ea5..9a94e5819 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java @@ -25,6 +25,7 @@ import com.njcn.common.pojo.constant.PatternRegex; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.FileUtil; import com.njcn.device.pms.utils.PubUtil; import com.njcn.device.pq.api.LineFeignClient; @@ -63,6 +64,7 @@ import com.njcn.web.factory.PageFactory; import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanWrapper; @@ -87,6 +89,7 @@ import java.util.stream.Stream; * @author clam * @version V1.0.0 */ +@Slf4j @Service @RequiredArgsConstructor public class UserReportPOServiceImpl extends ServiceImpl implements UserReportPOService { @@ -492,9 +495,9 @@ public class UserReportPOServiceImpl extends ServiceImpl data = deptFeignClient.getDepSonIdtByDeptId(userReportQueryParam.getOrgId()).getData(); //此处仅查询敏感及重要用户 userReportVOQueryWrapper.and(wrapper -> - wrapper.in("supervision_user_report.create_by", colleaguesIds) - .or() - .in("supervision_user_report.org_id", data) + wrapper.in("supervision_user_report.create_by", colleaguesIds) + .or() + .in("supervision_user_report.org_id", data) ) .eq("supervision_user_report.state", DataStateEnum.ENABLE.getCode()); if (!allDataFlag) { @@ -1013,19 +1016,35 @@ public class UserReportPOServiceImpl extends ServiceImpl sensitiveUserExcels = new ArrayList<>(); + // 限制最大读取行数,防止Excel模板带下拉列表导致读取大量空行 + // 如果实际数据超过此限制,需要分批导入或调整此参数 + params.setReadRows(100); // 最多读取100行数据 + List sensitiveUserExcels; try { + log.info("开始解析 Excel,文件名:{}", file.getOriginalFilename()); ExcelImportResult sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveReportExcel.class, params); + log.info("Excel 解析完成,原始数据行数:{}", sensitiveUserExcelExcelImportResult.getList().size()); //如果存在非法数据,将不合格的数据导出 if (sensitiveUserExcelExcelImportResult.isVerifyFail()) { + log.warn("存在校验失败的数据"); PoiUtil.exportFileByWorkbook(sensitiveUserExcelExcelImportResult.getFailWorkbook(), "非法用户数据.xlsx", response); + return; // 校验失败直接返回 } else { - sensitiveUserExcels = sensitiveUserExcelExcelImportResult.getList(); + // 过滤掉空行数据(projectName 为空的行) + sensitiveUserExcels = sensitiveUserExcelExcelImportResult.getList().stream() + .filter(x -> StringUtils.isNotBlank(x.getProjectName())) + .collect(Collectors.toList()); + log.info("过滤后有效数据:{} 条", sensitiveUserExcels.size()); + + if (CollectionUtil.isEmpty(sensitiveUserExcels)) { + throw new BusinessException(SupervisionResponseEnum.IMPORT_DEV_DATA_ERROR); + } } } catch (Exception e) { + log.error("导入失败,文件:{}", file.getOriginalFilename(), e); throw new BusinessException(SupervisionResponseEnum.IMPORT_SENSITIVE_REPORT_ERROR); } //主要非线性设备类型-冀北 @@ -1182,7 +1201,7 @@ public class UserReportPOServiceImpl extends ServiceImpl