From ffe6fe38a961fb98453fa5928c82226cda646005 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Tue, 26 Aug 2025 09:14:03 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/quality/entity/QualityRegion.java | 3 - .../quality/entity/vo/QualityRegionVo.java | 21 +-- .../impl/QualityRegionServiceImpl.java | 19 --- .../controller/RiskListPointController.java | 15 +++ .../RiskListSourceDataCenterController.java | 34 +---- .../modules/risk/entity/RiskListPoint.java | 25 ++-- .../risk/entity/vo/RiskListPointVo.java | 4 +- .../risk/entity/vo/RiskListSourceVo.java | 2 +- .../risk/service/IRiskListSourceService.java | 8 ++ .../impl/RiskListSourceServiceImpl.java | 34 +++++ ...DailyAttendanceStatisticsV2Controller.java | 10 +- .../worker/mapper/xml/WorkerInfoMapper.xml | 6 +- ...ailyAttendanceStatisticsV2ServiceImpl.java | 5 +- .../XzSecurityDangerTypeRecordController.java | 120 ++++++++---------- .../TopProjectClassifyTypeRecordTreeVo.java | 11 ++ .../xml/XzSecurityDangerTypeRecordMapper.xml | 1 + .../XzSecurityDangerFieldServiceImpl.java | 2 +- 17 files changed, 168 insertions(+), 152 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java index 5aa9677cc..ec54eec5a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java @@ -118,9 +118,6 @@ public class QualityRegion implements Serializable { @ApiModelProperty(value = "安全风险排查责任人s") private java.lang.String securityRiskAssessors; - @TableField(exist = false) - private List children; - @TableField(exist = false) @ApiModelProperty(value = "最外面的设置的责任单位") private List enterpriseInfos; diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/entity/vo/QualityRegionVo.java b/src/main/java/com/zhgd/xmgl/modules/quality/entity/vo/QualityRegionVo.java index 8b5149cbb..93a3a794e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/entity/vo/QualityRegionVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/entity/vo/QualityRegionVo.java @@ -1,30 +1,33 @@ package com.zhgd.xmgl.modules.quality.entity.vo; +import com.baomidou.mybatisplus.annotation.TableField; import com.zhgd.xmgl.modules.quality.entity.QualityRegion; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data public class QualityRegionVo extends QualityRegion { /** - * 责任单位名称s + * 安全责任单位名称s */ - @ApiModelProperty(value = "责任单位名称s") + @ApiModelProperty(value = "安全责任单位名称s") private java.lang.String enterpriseNames; /** - * 整改人名称s + * 安全整改人名称s */ - @ApiModelProperty(value = "整改人名称s") + @ApiModelProperty(value = "安全整改人名称s") private java.lang.String dutyNames; /** - * 复查人名称s + * 安全复查人名称s */ - @ApiModelProperty(value = "复查人名称s") + @ApiModelProperty(value = "安全复查人名称s") private java.lang.String reviewNames; /** - * 风险排查责任人名称s + * 安全风险排查责任人名称s */ - @ApiModelProperty(value = "风险排查责任人名称s") + @ApiModelProperty(value = "安全风险排查责任人名称s") private java.lang.String riskAssessorNames; /** * 全路径名(/划分) @@ -42,4 +45,6 @@ public class QualityRegionVo extends QualityRegion { @ApiModelProperty(value = "管控清单风险点我的待办数量(落实或隐患都共用)") private java.lang.Integer riskListPointTodoNum; + @TableField(exist = false) + private List children; } diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityRegionServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityRegionServiceImpl.java index 83dbe163d..674426f8e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityRegionServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityRegionServiceImpl.java @@ -200,25 +200,6 @@ public class QualityRegionServiceImpl extends ServiceImpl groupList(List list, List childList) { - for (QualityRegion map1 : list) { - List tempList = new ArrayList<>(); - List list2 = new ArrayList<>(); - for (QualityRegion map2 : childList) { - if (map1.getId().equals(map2.getParentRegion())) { - tempList.add(map2); - } else { - list2.add(map2); - } - } - if (list2.size() > 0) { - tempList = groupList(tempList, list2); - } - map1.setChildren(tempList); - } - return list; - } - @Override public void addQualityRegion(QualityRegion qualityRegion) { if (qualityRegion.getParentRegion() == null) { diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListPointController.java b/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListPointController.java index b3efee26d..c66779b4e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListPointController.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListPointController.java @@ -43,6 +43,7 @@ import org.simpleframework.xml.core.Validate; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -335,4 +336,18 @@ public class RiskListPointController { return Result.success(vo); } + @ApiOperation(value = "批量从月度清单移除管控清单风险点", notes = "批量从月度清单移除管控清单风险点", httpMethod = "POST") + @ApiImplicitParam(name = "ids", value = "管控清单风险点ID字符串(多个以,分割)", paramType = "body", required = true, dataType = "String") + @PostMapping(value = "/delFromMonthlyBatch") + @Transactional(rollbackFor = Exception.class) + public Result delFromMonthlyBatch(@ApiIgnore @RequestBody HashMap param) { + String ids = MapUtils.getString(param, "ids"); + if (StrUtil.isNotBlank(ids)) { +// riskListSourceService.update(new LambdaUpdateWrapper() +// .set(RiskListSource::get,) +// .in(RiskListSource::getPointId, StrUtil.split(ids, ","))); + + } + return Result.ok(); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListSourceDataCenterController.java b/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListSourceDataCenterController.java index a147165b6..08fd8553a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListSourceDataCenterController.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/controller/RiskListSourceDataCenterController.java @@ -11,7 +11,6 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -505,7 +504,7 @@ public class RiskListSourceDataCenterController { return null; } Map>> collect = sourceVos.stream() - .peek(vo -> vo.setRiskVal(getRiskVal(vo))) + .peek(vo -> vo.setRiskVal(riskListSourceService.calRiskVal(vo))) .collect(Collectors.groupingBy( RiskListSourceVo::getListLibraryName, Collectors.groupingBy( @@ -561,37 +560,6 @@ public class RiskListSourceDataCenterController { return Result.success(p); } - /** - * 获取风险值 - * - * @param vo - * @return - */ - private BigDecimal getRiskVal(RiskListSourceVo vo) { - if (vo.getRiskAssessmentCalculator() == null) { - return null; - } - BigDecimal decimal = null; - JSONObject jsonObject; - switch (vo.getRiskAssessmentCalculator()) { - case 1: - jsonObject = JSON.parseObject(vo.getLecdData()); - decimal = NumberUtil.mul(jsonObject.getDouble("lNumber"), jsonObject.getDouble("eNumber"), jsonObject.getDouble("cNumber")); - break; - case 2: - decimal = Convert.toBigDecimal(vo.getDirectDeterminationMethodData()); - break; - case 3: - jsonObject = JSON.parseObject(vo.getLcdData()); - decimal = NumberUtil.mul(jsonObject.getDouble("lNumber"), jsonObject.getDouble("cNumber"), 1); - break; - case 4: - jsonObject = JSON.parseObject(vo.getLsrData()); - decimal = NumberUtil.mul(jsonObject.getDouble("lNumber"), jsonObject.getDouble("sNumber"), 1); - break; - } - return decimal; - } } diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/entity/RiskListPoint.java b/src/main/java/com/zhgd/xmgl/modules/risk/entity/RiskListPoint.java index c6f1d00e4..ab3e908cb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/entity/RiskListPoint.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/entity/RiskListPoint.java @@ -121,14 +121,19 @@ public class RiskListPoint implements Serializable { @ApiModelProperty(value = "1动态风险2静态风险") private java.lang.Integer dynamicType; @ApiModelProperty(value = "设备设施属性") - private java.lang.String equipmentFacilityAttribute; - @ApiModelProperty(value = "所在位置") - private java.lang.String location; - @ApiModelProperty(value = "型号") - private java.lang.String model; - /** - * 月度清单id - */ - @ApiModelProperty(value = "月度清单id") - private java.lang.Long monthlyId; + private java.lang.String equipmentFacilityAttribute; + @ApiModelProperty(value = "所在位置") + private java.lang.String location; + @ApiModelProperty(value = "型号") + private java.lang.String model; + /** + * 月度清单id + */ + @ApiModelProperty(value = "月度清单id") + private java.lang.Long monthlyId; + /** + * 规格型号 + */ + @ApiModelProperty(value = "规格型号") + private java.lang.String specificationsModel; } diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListPointVo.java b/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListPointVo.java index 63e5b5b78..626a4073a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListPointVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListPointVo.java @@ -12,9 +12,9 @@ public class RiskListPointVo extends RiskListPoint { @ApiModelProperty(value = "危险源数") private java.lang.Integer hazardSourceNumber; /** - * 我的待办的危险源数 + * 我的待办的危险源数(未排查) */ - @ApiModelProperty(value = "我的待办的危险源数") + @ApiModelProperty(value = "我的待办的危险源数(未排查)") private java.lang.Integer hazardSourceNumberTodo; } diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListSourceVo.java b/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListSourceVo.java index 825765c36..93cc57630 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListSourceVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/entity/vo/RiskListSourceVo.java @@ -19,7 +19,7 @@ public class RiskListSourceVo extends RiskListSource { /** * 风险值 */ - @JsonIgnore + @ApiModelProperty(value = "风险值") private BigDecimal riskVal; /** * 应排查数量 diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java b/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java index fd2138e52..7c398e863 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java @@ -9,6 +9,7 @@ import com.zhgd.xmgl.modules.risk.entity.vo.CountRisksByLevelVo; import com.zhgd.xmgl.modules.risk.entity.vo.RiskListSourceVo; import com.zhgd.xmgl.modules.risk.entity.vo.RiskUndoneVo; +import java.math.BigDecimal; import java.util.HashMap; import java.util.List; @@ -77,4 +78,11 @@ public interface IRiskListSourceService extends IService { List countRisksByLibrary(HashMap map); + /** + * 计算风险值 + * + * @param vo + * @return + */ + BigDecimal calRiskVal(RiskListSourceVo vo); } diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java index 02f6f09d2..c9d8e6ed0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java @@ -3,7 +3,10 @@ package com.zhgd.xmgl.modules.risk.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -41,6 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -130,9 +134,12 @@ public class RiskListSourceServiceImpl extends ServiceImpl> countDailyAttendanceByDateRange(@ApiIgnore @RequestParam HashMap param) { @@ -419,7 +419,7 @@ public class WorkerDailyAttendanceStatisticsV2Controller { workbook.getSheetAt(0).addMergedRegion(new CellRangeAddress(0, 0, 0, 4 + listVoList.get(0).getDailyHourMap().size())); workbook.getSheetAt(0).addMergedRegion(new CellRangeAddress(1, 1, 0, 4 + listVoList.get(0).getDailyHourMap().size())); ExcelUtils.downLoadExcel("考勤工时统计表.xlsx", response, workbook); - } catch (IOException e) { + } catch (Exception e) { log.error("", e); throw new OpenAlertException("系统错误"); } finally { @@ -479,7 +479,7 @@ public class WorkerDailyAttendanceStatisticsV2Controller { params.setColForEach(true); Workbook workbook = ExcelExportUtil.exportExcel(params, map); ExcelUtils.downLoadExcel("考勤异常工时统计表.xlsx", response, workbook); - } catch (IOException e) { + } catch (Exception e) { log.error("", e); throw new OpenAlertException("系统错误"); } finally { @@ -756,7 +756,7 @@ public class WorkerDailyAttendanceStatisticsV2Controller { Workbook workbook = ExcelExportUtil.exportExcel(root, params); //设置下拉 ExcelUtils.downLoadExcel(tempSheetName, response, workbook); - } catch (IOException e) { + } catch (Exception e) { log.error("", e); throw new OpenAlertException("系统错误"); } finally { @@ -1184,7 +1184,7 @@ public class WorkerDailyAttendanceStatisticsV2Controller { } ExcelUtils.downLoadExcel(tempSheetName, response, workbook); } - } catch (IOException e) { + } catch (Exception e) { log.error("", e); throw new OpenAlertException("系统错误"); } finally { diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml index 84f9b2ba6..f2c47e66a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml @@ -48,9 +48,9 @@ and create_time>=current_date group by person_sn ) wa on wa.person_sn = a.person_sn WHERE 1 = 1 - - and b.worker_type_id = #{param.workerTypeId} - + + and b.worker_type_id = #{param.workerTypeId} + and a.attendance_group_v2_id = #{param.attendanceGroupV2Id} diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerDailyAttendanceStatisticsV2ServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerDailyAttendanceStatisticsV2ServiceImpl.java index 3bfb36c67..c34eede10 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerDailyAttendanceStatisticsV2ServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerDailyAttendanceStatisticsV2ServiceImpl.java @@ -587,7 +587,7 @@ public class WorkerDailyAttendanceStatisticsV2ServiceImpl extends ServiceImpl eids = projectEnterpriseService.list(peWrap).stream().filter(projectEnterprise -> { if (Objects.nonNull(parentEnterpriseId)) { - return Objects.equals(parentEnterpriseId, projectEnterprise.getEnterpriseId()); + return Objects.equals(parentEnterpriseId, projectEnterprise.getParentEnterpriseId()); } if (Objects.equals(isSecondLevel, 1)) { return StrUtil.split(projectEnterprise.getAncestors(), ",").size() == 2; @@ -600,8 +600,9 @@ public class WorkerDailyAttendanceStatisticsV2ServiceImpl extends ServiceImpl enterpriseInfos = enterpriseInfoService.list(queryWrapper); List vos = baseMapper.countNumByEnterprise(param); return enterpriseInfos.stream().map(ei -> { - int workerCount = vos.stream().filter(v -> Objects.nonNull(v.getAncestors()) && v.getAncestors().contains(ei.getId() + "")).mapToInt(CountByEnterpriseVo::getWorkerCount).sum(); + int workerCount = vos.stream().filter(v -> Objects.equals(ei.getId(), v.getEnterpriseId()) || (Objects.nonNull(v.getAncestors()) && v.getAncestors().contains(ei.getId() + ""))).mapToInt(CountByEnterpriseVo::getWorkerCount).sum(); CountByEnterpriseVo vo = new CountByEnterpriseVo(); + vo.setEnterpriseId(ei.getId()); vo.setEnterpriseName(ei.getEnterpriseName()); vo.setWorkerCount(workerCount); return vo; diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerTypeRecordController.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerTypeRecordController.java index eb433ab74..71425ecc7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerTypeRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerTypeRecordController.java @@ -12,15 +12,16 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant; import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem; import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService; -import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerItemRecord; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerTypeRecord; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerTypeRecordCollect; import com.zhgd.xmgl.modules.xz.security.entity.vo.TopProjectClassifyTypeRecordTreeVo; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerItemRecordService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerTypeRecordCollectService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerTypeRecordService; +import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityProjectDangerTypeDisableService; import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.ListUtils; +import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.MapUtil; import com.zhgd.xmgl.util.MessageUtil; import io.swagger.annotations.Api; @@ -46,10 +47,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; @@ -75,6 +73,9 @@ public class XzSecurityDangerTypeRecordController { private IDictionaryItemService dictionaryItemService; @Lazy @Autowired + private IXzSecurityProjectDangerTypeDisableService xzSecurityProjectDangerTypeDisableService; + @Lazy + @Autowired private IXzSecurityDangerItemRecordService dangerItemRecordService; /** @@ -184,8 +185,25 @@ public class XzSecurityDangerTypeRecordController { @ApiImplicitParam(name = "recordStatus", value = "记录状态,0 启用,1禁用", paramType = "body", required = true, dataType = "String"), }) @PostMapping(value = "/updateDangerTypeRecordUsable") + @Transactional(rollbackFor = Exception.class) public Result updateDangerTypeRecordUsable(@RequestBody Map map) { - dangerTypeRecordService.updateDangerTypeRecordUsable(map); + List projectTypeList = dictionaryItemService.getDictList(DictionaryConstant.RISK_LIST_PROJECT_TYPE, null); + String id = MapUtils.getString(map, "id"); + String projectSn = MapUtils.getString(map, "projectSn"); + Optional first = projectTypeList.stream().filter(item -> Objects.equals(item.getData(), id)).findFirst(); + if (first.isPresent()) { + List typeRecords = dangerTypeRecordService.getEnableList(projectSn); + String projectClassify = first.get().getData(); + typeRecords.stream().filter(r -> Objects.equals(r.getParentId(), 0L) && Objects.equals(r.getProjectClassify(), projectClassify)).forEach(record -> { + dangerTypeRecordService.updateDangerTypeRecordUsable(new MapBuilder() + .put("id", record.getId()) + .put("projectSn", projectSn) + .put("recordStatus", map.get("recordStatus")) + .build()); + }); + } else { + dangerTypeRecordService.updateDangerTypeRecordUsable(map); + } return Result.ok(); } @@ -267,7 +285,7 @@ public class XzSecurityDangerTypeRecordController { @ApiImplicitParams({ @ApiImplicitParam(name = "sn", value = "总公司企业sn", paramType = "body", required = true, dataType = "String"), @ApiImplicitParam(name = "projectClassify", value = "工程类别(字典值)", paramType = "body", required = false, dataType = "String"), -// @ApiImplicitParam(name = "name", value = "名称", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "name", value = "名称", paramType = "body", required = false, dataType = "String"), }) @GetMapping(value = "/getTopProjectClassifyTypeRecordTree") public Result> getTopProjectClassifyTypeRecordTree(@ApiIgnore @RequestParam HashMap param) { @@ -304,73 +322,45 @@ public class XzSecurityDangerTypeRecordController { @ApiOperation(value = "树形列表查询项目的安全库大项子项(工程类别(字典值)顶级)", notes = "树形列表查询项目的安全库大项子项(工程类别(字典值)顶级)", httpMethod = "GET") @ApiImplicitParams({ @ApiImplicitParam(name = "projectSn", value = "项目唯一标识", paramType = "body", required = true, dataType = "String"), - @ApiImplicitParam(name = "content", value = "安全问题库子项内容", paramType = "body", required = false, dataType = "String"), }) @GetMapping(value = "/getTopProjectClassifyTypeRecordDetailTree") public Result> getTopProjectClassifyTypeRecordDetailTree(@ApiIgnore @RequestParam HashMap param) { - String itemRecordContent = MapUtils.getString(param, "itemRecordContent"); - List records; - if (StrUtil.isNotBlank(itemRecordContent)) { - records = dangerItemRecordService.selectDangerItemRecordList(param).stream().map(r -> { - TopProjectClassifyTypeRecordTreeVo vo = new TopProjectClassifyTypeRecordTreeVo(); - vo.setId(r.getId()); - vo.setParentId(r.getDangerTypeId()); - vo.setName(r.getPriorityName()); - vo.setLevel(r.getLevel()); - vo.setPriorityName(r.getPriorityName()); - vo.setChangeLimit(r.getChangeLimit()); - return vo; - }).collect(Collectors.toList()); - } else { - String projectClassify = MapUtils.getString(param, "projectClassify"); - String projectSn = MapUtils.getString(param, "projectSn"); - List projectTypeList = dictionaryItemService.getDictList(DictionaryConstant.RISK_LIST_PROJECT_TYPE, null); - if (StrUtil.isNotBlank(projectClassify)) { - projectTypeList = projectTypeList.stream().filter(dictionaryItem -> Objects.equals(dictionaryItem.getData(), projectClassify)).collect(Collectors.toList()); + String projectClassify = MapUtils.getString(param, "projectClassify"); + String projectSn = MapUtils.getString(param, "projectSn"); + List records = new ArrayList<>(); + List typeRecords = dangerTypeRecordService.getEnableList(projectSn); + Map> pcMap = typeRecords.stream().filter(r -> Objects.equals(r.getParentId(), 0L)).collect(Collectors.groupingBy(XzSecurityDangerTypeRecord::getProjectClassify)); + List projectTypeList = dictionaryItemService.getDictList(DictionaryConstant.RISK_LIST_PROJECT_TYPE, null); + List items = projectTypeList.stream().map(r -> { + TopProjectClassifyTypeRecordTreeVo vo = new TopProjectClassifyTypeRecordTreeVo(); + vo.setId(Long.valueOf(r.getData())); + vo.setParentId(0L); + vo.setName(r.getName()); + vo.setProjectClassify(r.getData()); + vo.setRecordStatus(Optional.ofNullable(pcMap.get(r.getData())).map(m -> m.stream().allMatch(r1 -> Objects.equals(r1.getRecordStatus(), 1)) ? 1 : 0).orElse(0)); + vo.setOrderSort(0); + return vo; + }).collect(Collectors.toList()); + records.addAll(items); + List recordVos = typeRecords.stream().map(r -> { + TopProjectClassifyTypeRecordTreeVo vo = BeanUtil.toBean(r, TopProjectClassifyTypeRecordTreeVo.class); + vo.setName(r.getDangerName()); + if (vo.getParentId() == 0L) { + vo.setParentId(Convert.toLong(r.getProjectClassify())); } - List items = projectTypeList.stream().map(r -> { - TopProjectClassifyTypeRecordTreeVo vo = new TopProjectClassifyTypeRecordTreeVo(); - vo.setId(Long.valueOf(r.getData())); - vo.setParentId(0L); - vo.setName(r.getName()); - vo.setProjectClassify(r.getData()); - return vo; - }).collect(Collectors.toList()); - records = dangerTypeRecordService.getEnableList(projectSn).stream().map(r -> { - TopProjectClassifyTypeRecordTreeVo vo = BeanUtil.toBean(r, TopProjectClassifyTypeRecordTreeVo.class); - vo.setName(r.getDangerName()); - if (vo.getParentId() == 0L) { - vo.setParentId(Convert.toLong(r.getProjectClassify())); - } - return vo; - }).collect(Collectors.toList()); - records.addAll(items); - List typeIds = records.stream().map(TopProjectClassifyTypeRecordTreeVo::getId).collect(Collectors.toList()); - typeIds.add(0L); - List itemRecords = dangerItemRecordService.list(new LambdaQueryWrapper() - .in(XzSecurityDangerItemRecord::getDangerTypeId, typeIds) - ).stream().map(r -> { - TopProjectClassifyTypeRecordTreeVo vo = new TopProjectClassifyTypeRecordTreeVo(); - vo.setId(r.getId()); - vo.setParentId(r.getDangerTypeId()); - vo.setName(r.getContent()); - vo.setLevel(r.getLevel()); - vo.setPriorityName(r.getPriorityName()); - vo.setChangeLimit(r.getChangeLimit()); - return vo; - }).collect(Collectors.toList()); - records.addAll(itemRecords); + vo.setRecordStatus(r.getRecordStatus()); + vo.setOrderSort(r.getOrderSort()); + return vo; + }).collect(Collectors.toList()); + records.addAll(recordVos); + if (StrUtil.isNotBlank(projectClassify)) { + records = records.stream().filter(r -> Objects.equals(r.getProjectClassify(), projectClassify)).collect(Collectors.toList()); } + records = records.stream().sorted(Comparator.comparing(TopProjectClassifyTypeRecordTreeVo::getId)).collect(Collectors.toList()); List vos = BeanUtil.copyToList(ListUtils.listToTree(JSONArray.parseArray(JSON.toJSONString(records)), "id", "parentId", "children"), TopProjectClassifyTypeRecordTreeVo.class); return Result.success(vos); } -// @ApiOperation(value = "查询我收藏的安全库(工程类别(字典值)顶级)", notes = "查询我收藏的安全库(工程类别(字典值)顶级)", httpMethod = "GET") -// @GetMapping(value = "/getMyCollectProjectClassifyTypeRecords") -// public Result> getMyCollectProjectClassifyTypeRecords(@ApiIgnore @RequestParam HashMap param) { -// return Result.success(null); -// } - @ApiOperation(value = "收藏安全库", notes = "收藏安全库") @ApiImplicitParams({ @ApiImplicitParam(name = "idList", value = "安全库(工程类别(字典值)idList", paramType = "body", required = true, dataType = "String"), diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/TopProjectClassifyTypeRecordTreeVo.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/TopProjectClassifyTypeRecordTreeVo.java index c25090ae7..677338aac 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/TopProjectClassifyTypeRecordTreeVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/TopProjectClassifyTypeRecordTreeVo.java @@ -30,4 +30,15 @@ public class TopProjectClassifyTypeRecordTreeVo { */ @ApiModelProperty(value = "整改时限(天)") private Integer changeLimit; + /** + * 项目:记录状态,0 启用,1禁用 + */ + @ApiModelProperty(value = "项目:记录状态,0 启用,1禁用") + private java.lang.Integer recordStatus; + /** + * 排序 + */ + @ApiModelProperty(value = "排序") + @Deprecated + private Integer orderSort; } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityDangerTypeRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityDangerTypeRecordMapper.xml index 477d40bd2..35d65fd1d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityDangerTypeRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityDangerTypeRecordMapper.xml @@ -79,6 +79,7 @@ a.parent_id, a.remark, IFNULL(b.record_status, 0) record_status + ,a.project_classify from xz_security_danger_type_record a INNER JOIN company p1 ON a.sn = p1.headquarters_sn INNER JOIN project p2 ON p2.company_sn = p1.company_sn diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerFieldServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerFieldServiceImpl.java index e0890bec9..789f637a0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerFieldServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerFieldServiceImpl.java @@ -66,7 +66,7 @@ public class XzSecurityDangerFieldServiceImpl extends ServiceImpl getQueryWrapper(HashMap param) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(XzSecurityDangerFieldVo.class, param, true); - queryWrapper.orderByDesc(RefUtil.fieldNameUlc(XzSecurityDangerFieldVo::getId)); + queryWrapper.orderByAsc(RefUtil.fieldNameUlc(XzSecurityDangerFieldVo::getSort)); return queryWrapper; }