diff --git a/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/ChartDataVo.java b/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/ChartDataVo.java new file mode 100644 index 000000000..4e13f670f --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/ChartDataVo.java @@ -0,0 +1,17 @@ +package com.zhgd.xmgl.base.entity.vo.echarts; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 柱状图、曲线图实体类 + */ +@Data +public class ChartDataVo { + @ApiModelProperty("x轴数据") + private List x; + @ApiModelProperty("y轴数据") + private List series; +} diff --git a/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/ChartItemBo.java b/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/ChartItemBo.java new file mode 100644 index 000000000..f18fb0f44 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/ChartItemBo.java @@ -0,0 +1,12 @@ +package com.zhgd.xmgl.base.entity.vo.echarts; + +import lombok.Data; + +@Data +public class ChartItemBo { + private String xType; + private String xName; + private String yType; + private String yName; + private Number yVal; +} diff --git a/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/SeriesItem.java b/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/SeriesItem.java new file mode 100644 index 000000000..ad20b563b --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/base/entity/vo/echarts/SeriesItem.java @@ -0,0 +1,14 @@ +package com.zhgd.xmgl.base.entity.vo.echarts; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class SeriesItem { + @ApiModelProperty("图例名称") + private String name; + @ApiModelProperty("图例数据") + private List data; +} diff --git a/src/main/java/com/zhgd/xmgl/call/IccWorkerCall.java b/src/main/java/com/zhgd/xmgl/call/IccWorkerCall.java index 73afa3e9f..ed6fc7b35 100644 --- a/src/main/java/com/zhgd/xmgl/call/IccWorkerCall.java +++ b/src/main/java/com/zhgd/xmgl/call/IccWorkerCall.java @@ -808,6 +808,7 @@ public class IccWorkerCall implements WorkerManufacturer { .put(Cts.PROJECT_SN, project.getProjectSn()) .put(type == 1, Cts.TEAM_ID, orgIndex) .put(type == 2, Cts.DEPARTMENT_ID, orgIndex) + .put(Cts.PAGE_SIZE, -1) .build()); List workerInfoList = workerPage.getRecords(); log.info("数据校验我们平台的人员列表:{}", JSON.toJSONString(workerInfoList)); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java index 0c6984e55..715f5cb7c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java @@ -40,7 +40,6 @@ import com.zhgd.xmgl.modules.risk.entity.RiskListRule; import com.zhgd.xmgl.modules.risk.entity.RiskListRuleItem; import com.zhgd.xmgl.modules.risk.service.IRiskListRuleItemService; import com.zhgd.xmgl.modules.risk.service.IRiskListRuleService; -import com.zhgd.xmgl.modules.project.service.IProjectService; import com.zhgd.xmgl.modules.standard.mapper.StandardDevMapper; import com.zhgd.xmgl.util.ListUtils; import com.zhgd.xmgl.util.MapBuilder; @@ -936,6 +935,9 @@ public class CompanyServiceImpl extends ServiceImpl impl public String getHeadquartersSnByProjectSn(String projectSn) { Project project = projectService.getOne(new LambdaQueryWrapper() .eq(Project::getProjectSn, projectSn)); + if (project == null) { + throw new OpenAlertException("查询企业失败"); + } return this.getOne(new LambdaQueryWrapper() .eq(Company::getCompanySn, project.getCompanySn())).getHeadquartersSn(); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java index 9ed4eae78..0e5588383 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java @@ -10,6 +10,7 @@ import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.entity.vo.AttendanceOfEachCompanyVo; import com.zhgd.xmgl.entity.vo.NumberTimeTableVo; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; @@ -429,6 +430,7 @@ public class WorkerAttendanceController { .put("enterpriseIds", StrUtil.isNotBlank(config.getEnterpriseIds()) ? StrUtil.split(config.getEnterpriseIds(), ",") : null) .put("personSns", StrUtil.isNotBlank(config.getPersonSns()) ? StrUtil.split(config.getPersonSns(), ",") : null) .put("departmentTeamIds", StrUtil.isNotBlank(config.getDepartmentTeamIds()) ? StrUtil.split(config.getDepartmentTeamIds(), ",") : null) + .put(Cts.PAGE_SIZE, -1) .build()).getRecords(); if (CollUtil.isEmpty(workerInfos)) { throw new OpenAlertException("查不到人员数据"); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index b646455ca..e90f6abc7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -2603,7 +2603,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl param) { String projectSn = MapUtils.getString(param, "projectSn"); - IPage page = selectWorkerInfoList(new MapBuilder().put("projectSn", projectSn).put("pageNo", 1).put("pageSize", 99999).build()); + IPage page = selectWorkerInfoList(new MapBuilder().put("projectSn", projectSn).put("pageNo", 1).put("pageSize", -1).build()); List records = page.getRecords(); Map> enterpriseMap = records.stream().collect(Collectors.groupingBy(WorkerInfo::getEnterpriseId)); for (Map.Entry> entry : enterpriseMap.entrySet()) { diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/HiddenDangerStatisticsAndAnalysisController.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/HiddenDangerStatisticsAndAnalysisController.java index 8469427d4..355040208 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/HiddenDangerStatisticsAndAnalysisController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/HiddenDangerStatisticsAndAnalysisController.java @@ -3,7 +3,7 @@ package com.zhgd.xmgl.modules.xz.security.controller; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; -import com.zhgd.xmgl.base.entity.vo.TrendVo; +import com.zhgd.xmgl.base.entity.vo.echarts.ChartDataVo; import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant; import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService; import com.zhgd.xmgl.modules.xz.security.entity.vo.CountNumByDutyMajorVo; @@ -56,7 +56,7 @@ public class HiddenDangerStatisticsAndAnalysisController { @ApiImplicitParam(name = "dutyMajor", value = "责任专业(字典值)", dataType = "String", paramType = "body", required = false), }) @PostMapping(value = "/countPriorityNameDicByMonth") - public Result> countPriorityNameDicByMonth(@RequestBody Map map) { + public Result countPriorityNameDicByMonth(@RequestBody Map map) { return Result.success(xzSecurityQualityInspectionRecordService.countPriorityNameDicByMonth(map)); } @@ -71,5 +71,39 @@ public class HiddenDangerStatisticsAndAnalysisController { return Result.success(xzSecurityQualityInspectionRecordService.countNumByDutyMajor(map)); } + @ApiOperation(value = "各专业隐患小类占比统计", notes = "各专业隐患小类占比统计", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "startDate", value = "开始时间,yyyy-MM-dd", paramType = "body", dataType = "String", required = true), + @ApiImplicitParam(name = "endDate", value = "结束时间,yyyy-MM-dd", paramType = "body", dataType = "String", required = true), + }) + @PostMapping(value = "/countSmallByDutyMajor") + public Result countSmallByDutyMajor(@RequestBody Map map) { + return Result.success(xzSecurityQualityInspectionRecordService.countSmallByDutyMajor(map)); + } + + @ApiOperation(value = "各专业隐患大类占比统计", notes = "各专业隐患大类占比统计", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "startDate", value = "开始时间,yyyy-MM-dd", paramType = "body", dataType = "String", required = true), + @ApiImplicitParam(name = "endDate", value = "结束时间,yyyy-MM-dd", paramType = "body", dataType = "String", required = true), + }) + @PostMapping(value = "/countBigByDutyMajor") + public Result countBigByDutyMajor(@RequestBody Map map) { + return Result.success(xzSecurityQualityInspectionRecordService.countBigByDutyMajor(map)); + } + + @ApiOperation(value = "各专业隐患小类风险走势图", notes = "各专业隐患小类风险走势图", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "startDate", value = "开始时间,yyyy-MM-dd", paramType = "body", dataType = "String", required = true), + @ApiImplicitParam(name = "endDate", value = "结束时间,yyyy-MM-dd", paramType = "body", dataType = "String", required = true), + @ApiImplicitParam(name = "dutyMajor", value = "责任专业(字典值)", dataType = "String", paramType = "body", required = false), + @ApiImplicitParam(name = "smallId", value = "小类的id", dataType = "String", paramType = "body", required = false), + }) + @PostMapping(value = "/countSmallByMonth") + public Result countSmallByMonth(@RequestBody Map map) { + return Result.success(xzSecurityQualityInspectionRecordService.countSmallByMonth(map)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerFieldConfigController.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerFieldConfigController.java new file mode 100644 index 000000000..cfdaa8ea5 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerFieldConfigController.java @@ -0,0 +1,126 @@ +package com.zhgd.xmgl.modules.xz.security.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zhgd.annotation.OperLog; +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerFieldConfig; +import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerFieldConfigDto; +import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldConfigVo; +import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldConfigService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.MapUtils; +import org.simpleframework.xml.core.Validate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.HashMap; +import java.util.List; + + +/** + * @Title: Controller + * @Description: 安全隐患检查字段设置配置 + * @author: pds + * @date: 2025-08-06 + * @version: V1.0 + */ +@RestController +@RequestMapping("/xmgl/xzSecurityDangerFieldConfig") +@Slf4j +@Api(tags = "安全隐患检查字段设置配置相关Api") +public class XzSecurityDangerFieldConfigController { + @Lazy + @Autowired + private IXzSecurityDangerFieldConfigService xzSecurityDangerFieldConfigService; + + /** + * 列表查询 + * + * @return + */ + @OperLog(operModul = "安全隐患检查字段设置配置管理", operType = "列表查询", operDesc = "列表查询安全隐患检查字段设置配置信息") + @ApiOperation(value = "列表查询安全隐患检查字段设置配置信息", notes = "列表查询安全隐患检查字段设置配置信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(xzSecurityDangerFieldConfigService.queryList(param)); + } + + /** + * 添加 + * + * @param xzSecurityDangerFieldConfigDto + * @return + */ + @OperLog(operModul = "安全隐患检查字段设置配置管理", operType = "添加", operDesc = "添加安全隐患检查字段设置配置信息") + @ApiOperation(value = "添加安全隐患检查字段设置配置信息", notes = "添加安全隐患检查字段设置配置信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto) { + xzSecurityDangerFieldConfigService.add(xzSecurityDangerFieldConfigDto); + return Result.ok(); + } + + /** + * 编辑 + * + * @param xzSecurityDangerFieldConfigDto + * @return + */ + @OperLog(operModul = "安全隐患检查字段设置配置管理", operType = "编辑", operDesc = "编辑安全隐患检查字段设置配置信息") + @ApiOperation(value = "编辑安全隐患检查字段设置配置信息", notes = "编辑安全隐患检查字段设置配置信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto) { + xzSecurityDangerFieldConfigService.edit(xzSecurityDangerFieldConfigDto); + return Result.ok(); + } + + /** + * 通过id删除 + * + * @return + */ + @OperLog(operModul = "安全隐患检查字段设置配置管理", operType = "删除", operDesc = "删除安全隐患检查字段设置配置信息") + @ApiOperation(value = "删除安全隐患检查字段设置配置信息", notes = "删除安全隐患检查字段设置配置信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "安全隐患检查字段设置配置ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + xzSecurityDangerFieldConfigService.delete(MapUtils.getString(map, "id")); + return Result.ok(); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @OperLog(operModul = "安全隐患检查字段设置配置管理", operType = "通过id查询", operDesc = "通过id查询安全隐患检查字段设置配置信息") + @ApiOperation(value = "通过id查询安全隐患检查字段设置配置信息", notes = "通过id查询安全隐患检查字段设置配置信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "安全隐患检查字段设置配置ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + return Result.success(xzSecurityDangerFieldConfigService.queryById(id)); + } + + @OperLog(operModul = "安全隐患检查字段设置配置管理", operType = "", operDesc = "保存安全隐患检查字段设置配置信息") + @ApiOperation(value = "保存安全隐患检查字段设置配置信息", notes = "保存安全隐患检查字段设置配置信息", httpMethod = "POST") + @PostMapping(value = "/saveConfig") + public Result saveConfig(@RequestBody XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto) { + XzSecurityDangerFieldConfig config = xzSecurityDangerFieldConfigService.getOne(new LambdaQueryWrapper() + .eq(XzSecurityDangerFieldConfig::getProjectSn, xzSecurityDangerFieldConfigDto.getProjectSn()) + .eq(XzSecurityDangerFieldConfig::getRecordType, xzSecurityDangerFieldConfigDto.getRecordType()) + ); + if (config == null) { + xzSecurityDangerFieldConfigService.save(xzSecurityDangerFieldConfigDto); + } else { + xzSecurityDangerFieldConfigDto.setId(config.getId()); + xzSecurityDangerFieldConfigService.edit(xzSecurityDangerFieldConfigDto); + } + return Result.ok(); + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerFieldController.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerFieldController.java index 9be438e9c..d78466703 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerFieldController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerFieldController.java @@ -1,13 +1,17 @@ package com.zhgd.xmgl.modules.xz.security.controller; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerField; import com.zhgd.xmgl.modules.xz.security.entity.dto.SaveAllXzSecurityDangerFieldDto; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerFieldDto; +import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldConfigVo; import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldVo; +import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldConfigService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -24,6 +28,7 @@ import springfox.documentation.annotations.ApiIgnore; import java.util.HashMap; import java.util.List; +import java.util.Objects; /** @@ -38,9 +43,15 @@ import java.util.List; @Slf4j @Api(tags = "安全隐患检查字段设置相关Api") public class XzSecurityDangerFieldController { + @Lazy + @Autowired + ICompanyService companyService; @Lazy @Autowired private IXzSecurityDangerFieldService xzSecurityDangerFieldService; + @Lazy + @Autowired + private IXzSecurityDangerFieldConfigService xzSecurityDangerFieldConfigService; /** * 分页列表查询 @@ -145,4 +156,41 @@ public class XzSecurityDangerFieldController { } return Result.ok(); } + + @OperLog(operModul = "安全隐患检查字段设置管理", operType = "", operDesc = "查询生效的配置") + @ApiOperation(value = "查询生效的配置", notes = "查询生效的配置", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "sn", value = "项目SN或总公司sn", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "companyProjectType", value = "类型,1企业,2项目", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "recordType", value = "类型,1质量问题,2排查记录", paramType = "query", required = true, dataType = "Integer"), + }) + @PostMapping(value = "/getEffectiveConfig") + public Result> getEffectiveConfig(@RequestBody HashMap param) { + Integer companyProjectType = MapUtils.getInteger(param, "companyProjectType"); + Integer recordType = MapUtils.getInteger(param, "recordType"); + String sn = MapUtils.getString(param, "sn"); + List configVos = xzSecurityDangerFieldConfigService.queryList(param); + List list = xzSecurityDangerFieldService.queryList(param); + if (Objects.equals(companyProjectType, 2) && (CollUtil.isEmpty(list) || Objects.equals(CollUtil.getFirst(configVos).getEnableProject(), 0))) { + list = getCompanyConfig(param, sn); + } + return Result.success(list); + } + + /** + * 查询企业配置 + * + * @param param + * @param projectSn + * @return + */ + private List getCompanyConfig(HashMap param, String projectSn) { + List list; + String headquartersSn = companyService.getHeadquartersSnByProjectSn(projectSn); + param.put("sn", headquartersSn); + param.put("companyProjectType", 1); + list = xzSecurityDangerFieldService.queryList(param); + return list; + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerReviewVerifyController.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerReviewVerifyController.java index 7e5dcf2f1..b139dab9b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerReviewVerifyController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityDangerReviewVerifyController.java @@ -1,12 +1,12 @@ package com.zhgd.xmgl.modules.xz.security.controller; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ReflectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; -import com.zhgd.xmgl.modules.xz.security.constants.XzSecurityDangerFieldConstant; -import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerField; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerReviewVerify; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerReviewVerifyDto; import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerReviewVerifyVo; @@ -27,6 +27,7 @@ import springfox.documentation.annotations.ApiIgnore; import java.util.HashMap; import java.util.List; +import java.util.Objects; /** @@ -140,6 +141,13 @@ public class XzSecurityDangerReviewVerifyController { @PostMapping(value = "/save") @Transactional(rollbackFor = Exception.class) public Result save(@RequestBody XzSecurityDangerReviewVerifyDto dto) { + if (dto.getModType() == 1) { + dto.setEnableVerify(null); + dto.setVerifyRoleName(null); + } else { + dto.setEnableReview(null); + dto.setReviewRoleName(null); + } XzSecurityDangerReviewVerify reviewVerifyDb = xzSecurityDangerReviewVerifyService.getOne(new LambdaQueryWrapper() .eq(XzSecurityDangerReviewVerify::getSn, dto.getSn()) .eq(XzSecurityDangerReviewVerify::getCompanyProjectType, dto.getCompanyProjectType()) @@ -150,42 +158,18 @@ public class XzSecurityDangerReviewVerifyController { dto.setId(reviewVerifyDb.getId()); xzSecurityDangerReviewVerifyService.updateById(dto); } - setReviewOrVerify(dto, XzSecurityDangerFieldConstant.FU_CHA_REN, dto.getEnableReview()); - setReviewOrVerify(dto, XzSecurityDangerFieldConstant.HE_YAN_REN, dto.getEnableVerify()); return Result.ok(); } - /** - * 设置复查人或核验人 - * - * @param dto - * @param fieldName - * @param enabled - */ - private void setReviewOrVerify(XzSecurityDangerReviewVerifyDto dto, String fieldName, Integer enabled) { - XzSecurityDangerField reviewField = xzSecurityDangerFieldService.getOne(new LambdaQueryWrapper() - .eq(XzSecurityDangerField::getSn, dto.getSn()) - .eq(XzSecurityDangerField::getCompanyProjectType, dto.getCompanyProjectType()) - .eq(XzSecurityDangerField::getRecordType, 1) - .eq(XzSecurityDangerField::getOriginalFieldName, fieldName) - ); - if (reviewField == null) { - reviewField = new XzSecurityDangerField(); - reviewField.setRecordType(1); - reviewField.setSn(dto.getSn()); - reviewField.setCompanyProjectType(dto.getCompanyProjectType()); - reviewField.setOriginalFieldName(fieldName); - reviewField.setDisplayFieldName(""); - reviewField.setDefaultDataType(null); - reviewField.setIsRequired(1); - reviewField.setIsEnabled(enabled); - reviewField.setIsPinned(1); - reviewField.setSort(0); - xzSecurityDangerFieldService.save(reviewField); - } else { - reviewField.setIsEnabled(enabled); - xzSecurityDangerFieldService.updateById(reviewField); - } + @OperLog(operModul = "安全隐患复查核验人设置管理", operType = "", operDesc = "查询生效的配置") + @ApiOperation(value = "查询生效的配置", notes = "查询生效的配置", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "sn", value = "项目SN或总公司sn", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "companyProjectType", value = "类型,1企业,2项目", paramType = "query", required = true, dataType = "Integer"), + }) + @PostMapping(value = "/getEffectiveConfig") + public Result getEffectiveConfig(@RequestBody HashMap param) { + return Result.success(xzSecurityDangerReviewVerifyService.getEffectiveConfig(param)); } } 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 516718339..98ab4007c 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 @@ -246,6 +246,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"), }) @GetMapping(value = "/getTopProjectClassifyTypeRecordTree") public Result> getTopProjectClassifyTypeRecordTree(@ApiIgnore @RequestParam HashMap param) { diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityQualityInspectionRecordController.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityQualityInspectionRecordController.java index 57bd7147c..7be9b7b52 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityQualityInspectionRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/controller/XzSecurityQualityInspectionRecordController.java @@ -16,6 +16,7 @@ import com.zhgd.xmgl.modules.risk.entity.vo.RiskListSourceVo; import com.zhgd.xmgl.modules.risk.service.IRiskListSourceService; import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareAlarmRecordService; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; +import com.zhgd.xmgl.modules.xz.security.entity.dto.UpdateChangeIdDto; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDepartmentRectifiedRankDto; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityQualityInspectionRecordSourceAddDto; import com.zhgd.xmgl.modules.xz.security.entity.vo.*; @@ -536,11 +537,11 @@ public class XzSecurityQualityInspectionRecordController { return Result.ok(); } - @OperLog(operModul = "管控清单危险源管理", operType = "", operDesc = "危险源添加多个安全记录") + @OperLog(operModul = "安全管理", operType = "", operDesc = "危险源添加多个安全记录") @ApiOperation(value = "危险源添加多个安全记录", notes = "危险源添加多个安全记录", httpMethod = "POST") @PostMapping(value = "/addSecurityRecords") @Transactional(rollbackFor = Exception.class) - public Result add_security_records(@RequestBody XzSecurityQualityInspectionRecordSourceAddDto addDto) { + public Result addSecurityRecords(@RequestBody XzSecurityQualityInspectionRecordSourceAddDto addDto) { if (CollUtil.isNotEmpty(addDto.getSourceIdList())) { for (String sourceId : addDto.getSourceIdList()) { XzSecurityQualityInspectionRecord add = new XzSecurityQualityInspectionRecord(); @@ -568,4 +569,14 @@ public class XzSecurityQualityInspectionRecordController { } return Result.ok(); } + + @OperLog(operModul = "安全管理", operType = "", operDesc = "移交整改人") + @ApiOperation(value = "移交整改人", notes = "移交整改人", httpMethod = "POST") + @PostMapping(value = "/updateChangeId") + public Result updateChangeId(@RequestBody UpdateChangeIdDto dto) { + XzSecurityQualityInspectionRecord record = BeanUtil.toBean(dto, XzSecurityQualityInspectionRecord.class); + qualityInspectionRecordService.updateById(record); + return Result.ok(); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/XzSecurityDangerFieldConfig.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/XzSecurityDangerFieldConfig.java new file mode 100644 index 000000000..3c8f0f890 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/XzSecurityDangerFieldConfig.java @@ -0,0 +1,61 @@ +package com.zhgd.xmgl.modules.xz.security.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * @Description: 安全隐患检查字段设置配置 + * @author: pds + * @date: 2025-08-06 + * @version: V1.0 + */ +@Data +@TableName("xz_security_danger_field_config") +@ApiModel(value = "XzSecurityDangerFieldConfig实体类", description = "XzSecurityDangerFieldConfig") +public class XzSecurityDangerFieldConfig implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键id") + private java.lang.Long id; + /** + * 类型,1质量问题,2排查记录 + */ + @ApiModelProperty(value = "类型,1质量问题,2排查记录") + private java.lang.Integer recordType; + /** + * 项目SN + */ + @ApiModelProperty(value = "项目SN") + private java.lang.String projectSn; + /** + * 项目端是否开启,1开启,0不开启 + */ + @ApiModelProperty(value = "项目端是否开启,1开启,0不开启") + private java.lang.Integer enableProject; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateTime; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/XzSecurityDangerReviewVerify.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/XzSecurityDangerReviewVerify.java index 28317c87a..4bcc5cad3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/XzSecurityDangerReviewVerify.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/XzSecurityDangerReviewVerify.java @@ -1,17 +1,15 @@ package com.zhgd.xmgl.modules.xz.security.entity; -import java.io.Serializable; -import java.util.Date; - import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; /** * @Description: 安全隐患复查核验人设置 @@ -65,4 +63,19 @@ public class XzSecurityDangerReviewVerify implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private java.util.Date updateTime; + /** + * 复查配置项目端是否开启,1开启,0不开启 + */ + @ApiModelProperty(value = "复查配置项目端是否开启,1开启,0不开启") + private java.lang.Integer enableProjectForReview; + /** + * 核验配置项目端是否开启,1开启,0不开启 + */ + @ApiModelProperty(value = "核验配置项目端是否开启,1开启,0不开启") + private java.lang.Integer enableProjectForVerify; + @ApiModelProperty("1开启复查0不开启复查") + private Integer enableReview; + @ApiModelProperty("1开启核验0不开启核验") + private Integer enableVerify; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/UpdateChangeIdDto.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/UpdateChangeIdDto.java new file mode 100644 index 000000000..9d1df4e8e --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/UpdateChangeIdDto.java @@ -0,0 +1,20 @@ +package com.zhgd.xmgl.modules.xz.security.entity.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UpdateChangeIdDto { + /** + * id + */ + @ApiModelProperty(value = "安全检查记录id") + private Long id; + /** + * 整改人 + */ + @ApiModelProperty(value = "整改人") + private Long changeId; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/XzSecurityDangerFieldConfigDto.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/XzSecurityDangerFieldConfigDto.java new file mode 100644 index 000000000..fcd3b8883 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/XzSecurityDangerFieldConfigDto.java @@ -0,0 +1,11 @@ +package com.zhgd.xmgl.modules.xz.security.entity.dto; + +import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerFieldConfig; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "XzSecurityDangerFieldConfigDto实体类", description = "XzSecurityDangerFieldConfigDto实体类") +public class XzSecurityDangerFieldConfigDto extends XzSecurityDangerFieldConfig { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/XzSecurityDangerReviewVerifyDto.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/XzSecurityDangerReviewVerifyDto.java index b15e6040d..5b13bd512 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/XzSecurityDangerReviewVerifyDto.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/dto/XzSecurityDangerReviewVerifyDto.java @@ -8,8 +8,20 @@ import lombok.Data; @Data @ApiModel(value = "XzSecurityDangerReviewVerifyDto实体类", description = "XzSecurityDangerReviewVerifyDto实体类") public class XzSecurityDangerReviewVerifyDto extends XzSecurityDangerReviewVerify { + /** + * 1开启复查0不开启复查 + */ @ApiModelProperty("1开启复查0不开启复查") private Integer enableReview; + /** + * 1开启核验0不开启核验 + */ @ApiModelProperty("1开启核验0不开启核验") private Integer enableVerify; + /** + * 1修改复查2修改核验 + */ + @ApiModelProperty("1修改复查2修改核验") + private Integer modType; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/XzSecurityDangerFieldConfigVo.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/XzSecurityDangerFieldConfigVo.java new file mode 100644 index 000000000..3d58cdd54 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/XzSecurityDangerFieldConfigVo.java @@ -0,0 +1,11 @@ +package com.zhgd.xmgl.modules.xz.security.entity.vo; + +import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerFieldConfig; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "XzSecurityDangerFieldConfigVo实体类", description = "XzSecurityDangerFieldConfigVo实体类") +public class XzSecurityDangerFieldConfigVo extends XzSecurityDangerFieldConfig { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/XzSecurityDangerReviewVerifyVo.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/XzSecurityDangerReviewVerifyVo.java index 9fbaddb12..2122a5192 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/XzSecurityDangerReviewVerifyVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/entity/vo/XzSecurityDangerReviewVerifyVo.java @@ -2,14 +2,10 @@ package com.zhgd.xmgl.modules.xz.security.entity.vo; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerReviewVerify; import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "XzSecurityDangerReviewVerifyVo实体类", description = "XzSecurityDangerReviewVerifyVo实体类") public class XzSecurityDangerReviewVerifyVo extends XzSecurityDangerReviewVerify { - @ApiModelProperty("1开启复查0不开启复查") - private Integer enableReview; - @ApiModelProperty("1开启核验0不开启核验") - private Integer enableVerify; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/XzSecurityDangerFieldConfigMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/XzSecurityDangerFieldConfigMapper.java new file mode 100644 index 000000000..55fb57a6c --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/XzSecurityDangerFieldConfigMapper.java @@ -0,0 +1,53 @@ +package com.zhgd.xmgl.modules.xz.security.mapper; + +import java.util.List; +import java.util.HashMap; + +import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerFieldConfig; +import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldConfigVo; +import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerFieldConfigDto; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 安全隐患检查字段设置配置 + * @author: pds + * @date: 2025-08-06 + * @version: V1.0 + */ +@Mapper +public interface XzSecurityDangerFieldConfigMapper extends BaseMapper { + + /** + * 分页列表查询安全隐患检查字段设置配置信息 + * + * @param page + * @param queryWrapper + * @param param + * @return + */ + IPage queryList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + /** + * 列表查询安全隐患检查字段设置配置信息 + * + * @param queryWrapper + * @param param + * @return + */ + List queryList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + + /** + * 通过id查询安全隐患检查字段设置配置信息 + * + * @param id + * @return + */ + XzSecurityDangerFieldConfigVo queryById(String id); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/XzSecurityQualityInspectionRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/XzSecurityQualityInspectionRecordMapper.java index a80473905..b16c1355a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/XzSecurityQualityInspectionRecordMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/XzSecurityQualityInspectionRecordMapper.java @@ -6,6 +6,7 @@ import com.zhgd.annotation.DataScope; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.TrendOneVo; +import com.zhgd.xmgl.base.entity.vo.echarts.ChartItemBo; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDepartmentRectifiedRankDto; import com.zhgd.xmgl.modules.xz.security.entity.vo.*; @@ -256,7 +257,13 @@ public interface XzSecurityQualityInspectionRecordMapper extends BaseMapper countPriorityNameDic(Map map); - List countPriorityNameDicByMonth(Map map); + List countPriorityNameDicByMonth(Map map); List countNumByDutyMajor(Map map); + + List countSmallByDutyMajor(Map map); + + List countBigByDutyMajor(Map map); + + List countSmallByMonth(Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityDangerFieldConfigMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityDangerFieldConfigMapper.xml new file mode 100644 index 000000000..01ede45c6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityDangerFieldConfigMapper.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityQualityInspectionRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityQualityInspectionRecordMapper.xml index 03e7ec1b3..ea376b215 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityQualityInspectionRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/mapper/xml/XzSecurityQualityInspectionRecordMapper.xml @@ -1066,10 +1066,10 @@ group by priority_name_dic - + select date_format(create_time, '%Y-%m') as x_name + ,count(*) as y_val + ,priority_name_dic as y_type from xz_security_quality_inspection_record where project_sn = #{projectSn} and priority_name_dic is not null @@ -1102,4 +1102,64 @@ group by duty_major + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerFieldConfigService.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerFieldConfigService.java new file mode 100644 index 000000000..635645a8c --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerFieldConfigService.java @@ -0,0 +1,67 @@ +package com.zhgd.xmgl.modules.xz.security.service; + +import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerFieldConfig; +import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldConfigVo; +import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerFieldConfigDto; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 安全隐患检查字段设置配置 + * @author: pds + * @date: 2025-08-06 + * @version: V1.0 + */ +public interface IXzSecurityDangerFieldConfigService extends IService { + /** + * 分页列表查询安全隐患检查字段设置配置信息 + * + * @param param 参数map + * @return + */ + IPage queryPageList(HashMap param); + + /** + * 列表查询安全隐患检查字段设置配置信息 + * + * @param param 参数map + * @return + */ + List queryList(HashMap param); + + /** + * 添加安全隐患检查字段设置配置信息 + * + * @param xzSecurityDangerFieldConfigDto 安全隐患检查字段设置配置 + * @return + */ + void add(XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto); + + /** + * 编辑安全隐患检查字段设置配置信息 + * + * @param xzSecurityDangerFieldConfigDto 安全隐患检查字段设置配置 + * @return + */ + void edit(XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto); + + /** + * 根据id删除安全隐患检查字段设置配置信息 + * + * @param id 安全隐患检查字段设置配置的id + * @return + */ + void delete(String id); + + /** + * 根据id查询安全隐患检查字段设置配置信息 + * + * @param id 安全隐患检查字段设置配置的id + * @return + */ + XzSecurityDangerFieldConfigVo queryById(String id); + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerFieldService.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerFieldService.java index 9224919cc..ac9a134b9 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerFieldService.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerFieldService.java @@ -1,10 +1,10 @@ package com.zhgd.xmgl.modules.xz.security.service; -import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerField; -import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldVo; -import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerFieldDto; -import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerField; +import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerFieldDto; +import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldVo; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerReviewVerifyService.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerReviewVerifyService.java index 6dd1c0a30..de25ad935 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerReviewVerifyService.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityDangerReviewVerifyService.java @@ -73,4 +73,6 @@ public interface IXzSecurityDangerReviewVerifyService extends IService param); } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityQualityInspectionRecordService.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityQualityInspectionRecordService.java index 30ae260c4..5ffbe3581 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityQualityInspectionRecordService.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/IXzSecurityQualityInspectionRecordService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; -import com.zhgd.xmgl.base.entity.vo.SectorOneVo; -import com.zhgd.xmgl.base.entity.vo.SectorVo; -import com.zhgd.xmgl.base.entity.vo.TrendOneVo; -import com.zhgd.xmgl.base.entity.vo.TrendVo; +import com.zhgd.xmgl.base.entity.vo.*; +import com.zhgd.xmgl.base.entity.vo.echarts.ChartDataVo; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDepartmentRectifiedRankDto; import com.zhgd.xmgl.modules.xz.security.entity.vo.*; @@ -333,7 +331,13 @@ public interface IXzSecurityQualityInspectionRecordService extends IService countPriorityNameDic(Map map); - List countPriorityNameDicByMonth(Map map); + ChartDataVo countPriorityNameDicByMonth(Map map); List countNumByDutyMajor(Map map); + + ChartDataVo countSmallByDutyMajor(Map map); + + ChartDataVo countBigByDutyMajor(Map map); + + ChartDataVo countSmallByMonth(Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerFieldConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerFieldConfigServiceImpl.java new file mode 100644 index 000000000..a8f793f19 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerFieldConfigServiceImpl.java @@ -0,0 +1,93 @@ +package com.zhgd.xmgl.modules.xz.security.service.impl; + +import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerFieldConfig; +import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldConfigVo; +import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerFieldConfigDto; +import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityDangerFieldConfigMapper; +import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldConfigService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.util.PageUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.HashMap; +import java.util.List; + +import com.zhgd.xmgl.util.RefUtil; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description: 安全隐患检查字段设置配置 + * @author: pds + * @date: 2025-08-06 + * @version: V1.0 + */ +@Service +public class XzSecurityDangerFieldConfigServiceImpl extends ServiceImpl implements IXzSecurityDangerFieldConfigService { + @Autowired + private XzSecurityDangerFieldConfigMapper xzSecurityDangerFieldConfigMapper; + + @Override + public IPage queryPageList(HashMap param) { + QueryWrapper queryWrapper = this.getQueryWrapper(param); + Page page = PageUtil.getPage(param); + IPage pageList = baseMapper.queryList(page, queryWrapper, param); + pageList.setRecords(this.dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap param) { + QueryWrapper queryWrapper = getQueryWrapper(param); + return dealList(baseMapper.queryList(queryWrapper, param)); + } + + private QueryWrapper getQueryWrapper(HashMap param) { + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(XzSecurityDangerFieldConfigVo.class, param, true); + queryWrapper.orderByDesc(RefUtil.fieldNameUlc(XzSecurityDangerFieldConfigVo::getId)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } + + @Override + public void add(XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto) { + xzSecurityDangerFieldConfigDto.setId(null); + baseMapper.insert(xzSecurityDangerFieldConfigDto); + } + + @Override + public void edit(XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto) { + XzSecurityDangerFieldConfig oldXzSecurityDangerFieldConfig = baseMapper.selectById(xzSecurityDangerFieldConfigDto.getId()); + if (oldXzSecurityDangerFieldConfig == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.updateById(xzSecurityDangerFieldConfigDto); + } + + @Override + public void delete(String id) { + XzSecurityDangerFieldConfig xzSecurityDangerFieldConfig = baseMapper.selectById(id); + if (xzSecurityDangerFieldConfig == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.deleteById(id); + } + + @Override + public XzSecurityDangerFieldConfigVo queryById(String id) { + XzSecurityDangerFieldConfigVo entity = baseMapper.queryById(id); + if (entity == null) { + throw new OpenAlertException("未找到对应实体"); + } + return entity; + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerReviewVerifyServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerReviewVerifyServiceImpl.java index cf806e7aa..62c6d9267 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerReviewVerifyServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerReviewVerifyServiceImpl.java @@ -1,7 +1,6 @@ package com.zhgd.xmgl.modules.xz.security.service.impl; import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,8 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; -import com.zhgd.xmgl.modules.xz.security.constants.XzSecurityDangerFieldConstant; -import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerField; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerReviewVerify; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerReviewVerifyDto; import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerReviewVerifyVo; @@ -18,8 +15,10 @@ import com.zhgd.xmgl.modules.xz.security.enums.XzSecurityQualityRectifyRecordTyp import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityDangerReviewVerifyMapper; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerReviewVerifyService; +import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -27,7 +26,6 @@ import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Objects; -import java.util.Optional; /** * @Description: 安全隐患复查核验人设置 @@ -69,13 +67,6 @@ public class XzSecurityDangerReviewVerifyServiceImpl extends ServiceImpl dealList(List list) { if (CollUtil.isNotEmpty(list)) { - XzSecurityDangerReviewVerifyVo vo1 = list.get(0); - XzSecurityDangerField reviewField = xzSecurityDangerFieldService.getByCondition(vo1.getSn(), vo1.getCompanyProjectType(), 1, XzSecurityDangerFieldConstant.FU_CHA_REN); - XzSecurityDangerField verifyField = xzSecurityDangerFieldService.getByCondition(vo1.getSn(), vo1.getCompanyProjectType(), 1, XzSecurityDangerFieldConstant.HE_YAN_REN); - for (XzSecurityDangerReviewVerifyVo vo : list) { - vo.setEnableReview(Optional.ofNullable(reviewField).map(m -> m.getIsEnabled()).orElse(1)); - vo.setEnableVerify(Optional.ofNullable(verifyField).map(m -> m.getIsEnabled()).orElse(1)); - } } return list; } @@ -115,39 +106,68 @@ public class XzSecurityDangerReviewVerifyServiceImpl extends ServiceImpl() + .put("companyProjectType", 2) + .put("sn", projectSn) + .build()); if (Objects.equals(type, XzSecurityQualityRectifyRecordTypeEnum.RECTIFIED.getValue())) { - reviewVerify = this.getReviewVerify(projectSn, XzSecurityDangerFieldConstant.FU_CHA_REN); - if (Objects.nonNull(reviewVerify) && Objects.equals(reviewVerify.getIsEnabled(), 1)) { + if (Objects.isNull(reviewVerify) || Objects.equals(reviewVerify.getEnableReview(), 1)) { return XzSecurityQualityRectifyRecordTypeEnum.REVIEW; } - reviewVerify = this.getReviewVerify(projectSn, XzSecurityDangerFieldConstant.HE_YAN_REN); + if (Objects.equals(reviewVerify.getEnableVerify(), 1)) { + return XzSecurityQualityRectifyRecordTypeEnum.VERIFY; + } } else if (Objects.equals(type, XzSecurityQualityRectifyRecordTypeEnum.REVIEW.getValue())) { - reviewVerify = this.getReviewVerify(projectSn, XzSecurityDangerFieldConstant.HE_YAN_REN); - } - if (Objects.nonNull(reviewVerify) && Objects.equals(reviewVerify.getIsEnabled(), 1)) { - return XzSecurityQualityRectifyRecordTypeEnum.VERIFY; + if (Objects.equals(reviewVerify.getEnableVerify(), 1)) { + return XzSecurityQualityRectifyRecordTypeEnum.VERIFY; + } } return null; } - public XzSecurityDangerField getReviewVerify(String projectSn, String fieldName) { - XzSecurityDangerField reviewField = xzSecurityDangerFieldService.getOne(new LambdaQueryWrapper() - .eq(XzSecurityDangerField::getSn, projectSn) - .eq(XzSecurityDangerField::getCompanyProjectType, 2) - .eq(XzSecurityDangerField::getRecordType, 1) - .eq(XzSecurityDangerField::getOriginalFieldName, fieldName) - ); - String sn = companyService.getHeadquartersSnByProjectSn(projectSn); - if (reviewField == null) { - xzSecurityDangerFieldService.getOne(new LambdaQueryWrapper() - .eq(XzSecurityDangerField::getSn, sn) - .eq(XzSecurityDangerField::getCompanyProjectType, 2) - .eq(XzSecurityDangerField::getRecordType, 1) - .eq(XzSecurityDangerField::getOriginalFieldName, fieldName) - ); + @Override + public XzSecurityDangerReviewVerifyVo getEffectiveConfig(HashMap param) { + Integer companyProjectType = MapUtils.getInteger(param, "companyProjectType"); + String sn = MapUtils.getString(param, "sn"); + List list = this.queryList(param); + if (Objects.equals(companyProjectType, 2)) { + if (CollUtil.isEmpty(list)) { + //项目没数据 + list = getCompanyConfig(param, sn); + } else { + XzSecurityDangerReviewVerifyVo vo = CollUtil.getFirst(list); + if (Objects.equals(vo.getEnableProjectForReview(), 0) || Objects.equals(vo.getEnableProjectForVerify(), 0)) { + List companyConfigs = getCompanyConfig(param, sn); + if (CollUtil.isNotEmpty(companyConfigs)) { + XzSecurityDangerReviewVerifyVo verifyVo = companyConfigs.get(0); + if (Objects.equals(vo.getEnableProjectForReview(), 0)) { + vo.setReviewRoleName(verifyVo.getReviewRoleName()); + vo.setEnableReview(verifyVo.getEnableReview()); + } + if (Objects.equals(vo.getEnableProjectForReview(), 0)) { + vo.setVerifyRoleName(verifyVo.getVerifyRoleName()); + vo.setEnableVerify(verifyVo.getEnableVerify()); + } + } + } + } } - return reviewField; + return CollUtil.getFirst(list); } + /** + * 查询企业配置 + * + * @param param + * @param projectSn + * @return + */ + private List getCompanyConfig(HashMap param, String projectSn) { + List list; + String headquartersSn = companyService.getHeadquartersSnByProjectSn(projectSn); + param.put("sn", headquartersSn); + param.put("companyProjectType", 1); + list = this.queryList(param); + return list; + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerTypeRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerTypeRecordServiceImpl.java index 38785c8c5..760436ce6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerTypeRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityDangerTypeRecordServiceImpl.java @@ -214,7 +214,7 @@ public class XzSecurityDangerTypeRecordServiceImpl extends ServiceImpl implements IXzSecurityQualityInspectionRecordDraftService { + @Lazy + @Autowired + WorkerInfoServiceImpl workerInfoService; + @Lazy @Autowired private EnterpriseInfoMapper enterpriseInfoMapper; + @Lazy + @Autowired + private ISystemUserService systemUserService; @Override - public void saveInfo(XzSecurityQualityInspectionRecordDraft xzSecurityQualityInspectionRecordDraft) { + public void saveInfo(XzSecurityQualityInspectionRecordDraft draft) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - xzSecurityQualityInspectionRecordDraft.setCreateTime(df.format(new Date())); - xzSecurityQualityInspectionRecordDraft.setChangeLimitTime(DateUtil.formatDateTime(DateUtil.parse(xzSecurityQualityInspectionRecordDraft.getChangeLimitTime()))); - String enterpriseSn = xzSecurityQualityInspectionRecordDraft.getEnterpriseSn(); + draft.setCreateTime(df.format(new Date())); + draft.setChangeLimitTime(DateUtil.formatDateTime(DateUtil.parse(draft.getChangeLimitTime()))); + String enterpriseSn = draft.getEnterpriseSn(); if (StrUtil.isNotBlank(enterpriseSn)) { EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper() .eq(EnterpriseInfo::getEnterpriseSn, enterpriseSn)); - xzSecurityQualityInspectionRecordDraft.setEnterpriseId(enterpriseInfo.getId()); + draft.setEnterpriseId(enterpriseInfo.getId()); } - this.save(xzSecurityQualityInspectionRecordDraft); + SystemUser user = systemUserService.getById(draft.getInspectManId()); + WorkerInfo worker = workerInfoService.queryById(user.getWorkerId() + ""); + draft.setReportEnterprise(worker.getEnterpriseId()); + draft.setReportDepartmentTeamId(Objects.equals(worker.getPersonType(), WorkerInfoPersonTypeEnum.LW.getValue()) ? worker.getTeamId() : worker.getDepartmentId()); + draft.setReportPersonType(worker.getPersonType()); + draft.setReportEnterpriseName(worker.getEnterpriseName()); + draft.setReportDepartmentTeamName(Objects.equals(worker.getPersonType(), WorkerInfoPersonTypeEnum.LW.getValue()) ? worker.getTeamName() : worker.getDepartmentName()); + this.save(draft); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java index 5dde9aa25..0bbff2028 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityInspectionRecordServiceImpl.java @@ -19,7 +19,9 @@ import com.zhgd.redis.lock.redisson.DistributedLock; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.base.entity.vo.TrendOneVo; -import com.zhgd.xmgl.base.entity.vo.TrendVo; +import com.zhgd.xmgl.base.entity.vo.echarts.ChartDataVo; +import com.zhgd.xmgl.base.entity.vo.echarts.ChartItemBo; +import com.zhgd.xmgl.base.entity.vo.echarts.SeriesItem; import com.zhgd.xmgl.call.SanjiangDataCall; import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.enums.ParamEnum; @@ -28,6 +30,7 @@ import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem; import com.zhgd.xmgl.modules.basicdata.entity.Notice; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; +import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl; @@ -133,6 +136,12 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl list = new ArrayList<>(); + list.add(vo); + setDetail(vo.getProjectSn(), list); return vo; } @@ -245,6 +257,21 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl page = new Page<>(pageNo, pageSize); List list = xzSecurityQualityInspectionRecordMapper.selectQualityInspectionRecordPage(page, map); + setDetail(projectSn, list); + page.setRecords(list); + XzSecurityQualityInspectionRecordTotalVo total = getXzSecurityQualityInspectionRecordTotalVo(map); + data.setPage(page); + data.setTotal(total); + return data; + } + + /** + * 查询实体类设置详情 + * + * @param projectSn + * @param list + */ + private void setDetail(String projectSn, List list) { List enterpriseInfoList = enterpriseInfoService.getEnterpriseInfoList(new MapBuilder().put("projectSn", projectSn).build()); if (CollUtil.isNotEmpty(list)) { List rids = list.stream().map(XzSecurityQualityInspectionRecord::getId).collect(Collectors.toList()); @@ -313,11 +340,6 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl map) { @@ -511,35 +533,43 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl() .eq(XzSecurityQualityInspectionEnterprise::getInspectionId, record.getId())); - for (String eid : StrUtil.split(record.getEnterpriseIds(), ",")) { - XzSecurityQualityInspectionEnterprise obj = new XzSecurityQualityInspectionEnterprise(); - obj.setInspectionId(record.getId()); - obj.setEnterpriseId(Long.valueOf(eid)); - xzSecurityQualityInspectionEnterpriseService.save(obj); + if (StrUtil.isNotBlank(record.getEnterpriseIds())) { + for (String eid : StrUtil.split(record.getEnterpriseIds(), ",")) { + XzSecurityQualityInspectionEnterprise obj = new XzSecurityQualityInspectionEnterprise(); + obj.setInspectionId(record.getId()); + obj.setEnterpriseId(Long.valueOf(eid)); + xzSecurityQualityInspectionEnterpriseService.save(obj); + } } xzSecurityQualityInspectionRegionService.remove(new LambdaQueryWrapper() .eq(XzSecurityQualityInspectionRegion::getInspectionId, record.getId())); - for (String rid : StrUtil.split(record.getRegionIds(), ",")) { - XzSecurityQualityInspectionRegion obj = new XzSecurityQualityInspectionRegion(); - obj.setInspectionId(record.getId()); - obj.setRegionId(Long.valueOf(rid)); - xzSecurityQualityInspectionRegionService.save(obj); + if (StrUtil.isNotBlank(record.getRegionIds())) { + for (String rid : StrUtil.split(record.getRegionIds(), ",")) { + XzSecurityQualityInspectionRegion obj = new XzSecurityQualityInspectionRegion(); + obj.setInspectionId(record.getId()); + obj.setRegionId(Long.valueOf(rid)); + xzSecurityQualityInspectionRegionService.save(obj); + } } xzSecurityQualityInspectionReviewService.remove(new LambdaQueryWrapper() .eq(XzSecurityQualityInspectionReview::getInspectionId, record.getId())); - for (String rid : StrUtil.split(record.getReviewIds(), ",")) { - XzSecurityQualityInspectionReview obj = new XzSecurityQualityInspectionReview(); - obj.setInspectionId(record.getId()); - obj.setReviewId(Long.valueOf(rid)); - xzSecurityQualityInspectionReviewService.save(obj); + if (StrUtil.isNotBlank(record.getReviewIds())) { + for (String rid : StrUtil.split(record.getReviewIds(), ",")) { + XzSecurityQualityInspectionReview obj = new XzSecurityQualityInspectionReview(); + obj.setInspectionId(record.getId()); + obj.setReviewId(Long.valueOf(rid)); + xzSecurityQualityInspectionReviewService.save(obj); + } } xzSecurityQualityInspectionVerifyService.remove(new LambdaQueryWrapper() .eq(XzSecurityQualityInspectionVerify::getInspectionId, record.getId())); - for (String vid : StrUtil.split(record.getVerifyManIds(), ",")) { - XzSecurityQualityInspectionVerify obj = new XzSecurityQualityInspectionVerify(); - obj.setInspectionId(record.getId()); - obj.setVerifyId(Long.valueOf(vid)); - xzSecurityQualityInspectionVerifyService.save(obj); + if (StrUtil.isNotBlank(record.getVerifyManIds())) { + for (String vid : StrUtil.split(record.getVerifyManIds(), ",")) { + XzSecurityQualityInspectionVerify obj = new XzSecurityQualityInspectionVerify(); + obj.setInspectionId(record.getId()); + obj.setVerifyId(Long.valueOf(vid)); + xzSecurityQualityInspectionVerifyService.save(obj); + } } } @@ -1091,9 +1121,10 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl enterpriseInfos = enterpriseInfoMapper.selectList(new LambdaQueryWrapper() - .in(EnterpriseInfo::getEnterpriseSn, enterpriseSns)); + .in(EnterpriseInfo::getEnterpriseSn, StrUtil.split(enterpriseSns, ","))); record.setEnterpriseIds(enterpriseInfos.stream().map(enterpriseInfo -> enterpriseInfo.getId() + "").collect(Collectors.joining(","))); } + saveBindData(record); xzSecurityQualityInspectionRecordMapper.insert(record); Long userId = SecurityUtils.getUser().getUserId(); XzSecurityQualityRectifyRecord zg = new XzSecurityQualityRectifyRecord(); @@ -1152,17 +1183,37 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl countPriorityNameDicByMonth(Map map) { + public ChartDataVo countPriorityNameDicByMonth(Map map) { String projectSn = MapUtils.getString(map, "projectSn"); - String format = "yyyy-MM"; List dateTimeStrList = DateUtil.rangeToList(DateUtil.parseDate(MapUtils.getString(map, "startMonth") + "-01"), DateUtil.parseDate(MapUtils.getString(map, "endMonth") + "-01"), DateField.MONTH) .stream().map(dateTime -> DateUtil.format(dateTime, "yyyy-MM")).collect(Collectors.toList()); - List list = baseMapper.countPriorityNameDicByMonth(map); - List l = dictionaryItemService.getDictList(DictionaryConstant.XZ_SECURITY_DANGER_ITEM_RECORD_PRIORITY_NAME_DIC, projectSn).stream() - .map(item -> { - return new TrendVo(item.getName(), item.getData()); + ChartDataVo chartDataVo = new ChartDataVo(); + chartDataVo.setX(dateTimeStrList); + List all = baseMapper.countPriorityNameDicByMonth(map); + Map> allMap = all.stream() + .collect(Collectors.toMap( + ChartItemBo::getXName, + item -> { + Map innerMap = new HashMap<>(); + innerMap.put(item.getYType(), item.getYVal()); + return innerMap; + }, + (existingMap, newMap) -> { + // 合并相同xType的Map + existingMap.putAll(newMap); + return existingMap; + } + )); + List seriesItems = dictionaryItemService.getDictList(DictionaryConstant.XZ_SECURITY_DANGER_ITEM_RECORD_PRIORITY_NAME_DIC, projectSn).stream() + .map(o -> { + SeriesItem item = new SeriesItem(); + item.setName(o.getName()); + List data = dateTimeStrList.stream().map(d -> Optional.ofNullable(allMap.get(d)).map(m -> m.get(o.getData())).orElse(null)).collect(Collectors.toList()); + item.setData(data); + return item; }).collect(Collectors.toList()); - return TrendVo.getTrendVos(l, list, dateTimeStrList, format); + chartDataVo.setSeries(seriesItems); + return chartDataVo; } @Override @@ -1176,6 +1227,108 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl map) { + ChartDataVo chartDataVo = new ChartDataVo(); + String projectSn = MapUtils.getString(map, "projectSn"); + List dictList = dictionaryItemService.getDictList(DictionaryConstant.XZ_SECURITY_QUALITY_INSPECTION_RECORD_DUTY_MAJOR, projectSn); + List x = dictList.stream() + .map(DictionaryItem::getName).collect(Collectors.toList()); + chartDataVo.setX(x); + List all = baseMapper.countSmallByDutyMajor(map); + Map> allMap = all.stream() + .collect(Collectors.toMap( + ChartItemBo::getXType, + item -> { + Map innerMap = new HashMap<>(); + innerMap.put(item.getYType(), item.getYVal()); + return innerMap; + }, + (existingMap, newMap) -> { + // 合并相同xType的Map + existingMap.putAll(newMap); + return existingMap; + } + )); + String headquartersSn = companyService.getHeadquartersSnByProjectSn(projectSn); + List seriesItems = xzSecurityDangerTypeRecordService.list(new LambdaQueryWrapper() + .eq(XzSecurityDangerTypeRecord::getLevel, 2) + .eq(XzSecurityDangerTypeRecord::getSn, headquartersSn) + ).stream().map(o -> { + SeriesItem item = new SeriesItem(); + item.setName(o.getDangerName()); + List data = dictList.stream().map(d -> Optional.ofNullable(allMap.get(d.getData())).map(m -> m.get(o.getId() + "")).orElse(null)).collect(Collectors.toList()); + item.setData(data); + return item; + }).collect(Collectors.toList()); + chartDataVo.setSeries(seriesItems); + return chartDataVo; + } + + @Override + public ChartDataVo countBigByDutyMajor(Map map) { + ChartDataVo chartDataVo = new ChartDataVo(); + String projectSn = MapUtils.getString(map, "projectSn"); + List dictList = dictionaryItemService.getDictList(DictionaryConstant.XZ_SECURITY_QUALITY_INSPECTION_RECORD_DUTY_MAJOR, projectSn); + List x = dictList.stream() + .map(DictionaryItem::getName).collect(Collectors.toList()); + chartDataVo.setX(x); + List all = baseMapper.countBigByDutyMajor(map); + Map> allMap = all.stream() + .collect(Collectors.toMap( + ChartItemBo::getXType, + item -> { + Map innerMap = new HashMap<>(); + innerMap.put(item.getYType(), item.getYVal()); + return innerMap; + }, + (existingMap, newMap) -> { + // 合并相同xType的Map + existingMap.putAll(newMap); + return existingMap; + } + )); + String headquartersSn = companyService.getHeadquartersSnByProjectSn(projectSn); + List seriesItems = xzSecurityDangerTypeRecordService.list(new LambdaQueryWrapper() + .eq(XzSecurityDangerTypeRecord::getLevel, 2) + .eq(XzSecurityDangerTypeRecord::getSn, headquartersSn) + ).stream().map(o -> { + SeriesItem item = new SeriesItem(); + item.setName(o.getDangerName()); + List data = dictList.stream().map(d -> Optional.ofNullable(allMap.get(d.getData())).map(m -> m.get(o.getId() + "")).orElse(null)).collect(Collectors.toList()); + item.setData(data); + return item; + }).collect(Collectors.toList()); + chartDataVo.setSeries(seriesItems); + return chartDataVo; + } + + @Override + public ChartDataVo countSmallByMonth(Map map) { + String projectSn = MapUtils.getString(map, "projectSn"); + List dateTimeStrList = DateUtil.rangeToList(DateUtil.parseDate(MapUtils.getString(map, "startMonth") + "-01"), DateUtil.parseDate(MapUtils.getString(map, "endMonth") + "-01"), DateField.MONTH) + .stream().map(dateTime -> DateUtil.format(dateTime, "yyyy-MM")).collect(Collectors.toList()); + ChartDataVo chartDataVo = new ChartDataVo(); + chartDataVo.setX(dateTimeStrList); + List all = baseMapper.countSmallByMonth(map); + Map allMap = all.stream() + .collect(Collectors.toMap( + ChartItemBo::getXName, + item -> { + return item.getYVal(); + } + )); + List seriesItems = new ArrayList<>(); + SeriesItem item = new SeriesItem(); + item.setName("安全隐患数量"); + List data = dateTimeStrList.stream().map(d -> Optional.ofNullable(allMap.get(d)).orElse(null)).collect(Collectors.toList()); + item.setData(data); + seriesItems.add(item); + chartDataVo.setSeries(seriesItems); + return chartDataVo; + + } + private void recoverScore(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) { if (hiddenDangerInspectRecord.getRecordType() == null || Objects.equals(hiddenDangerInspectRecord.getRecordType(), XzSecurityQualityInspectionRecordRecordTypeEnum.RECORD.getValue())) { return; diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityRectifyRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityRectifyRecordServiceImpl.java index 90d969ada..f15f3b8f0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityRectifyRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/security/service/impl/XzSecurityQualityRectifyRecordServiceImpl.java @@ -122,14 +122,21 @@ public class XzSecurityQualityRectifyRecordServiceImpl extends ServiceImpl records = xzSecurityQualityRectifyRecordMapper.selectRectifyRecordList(map); if (CollUtil.isNotEmpty(records)) { XzSecurityQualityRectifyRecord begin = records.get(0); - begin.setTakeTime(TimeUtil.toDayHourMinSecond(DateUtil.between(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getInspectTime()), DateUnit.SECOND))); - boolean isOverTime = DateUtil.compare(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0; - begin.setOverTime(isOverTime); + if (StrUtil.isNotBlank(begin.getRectifyTime()) && StrUtil.isNotBlank(inspectionRecord.getInspectTime())) { + begin.setTakeTime(TimeUtil.toDayHourMinSecond(DateUtil.between(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getInspectTime()), DateUnit.SECOND))); + } + boolean isOverTime = false; + if (StrUtil.isNotBlank(begin.getRectifyTime()) && StrUtil.isNotBlank(inspectionRecord.getChangeLimitTime())) { + isOverTime = DateUtil.compare(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0; + begin.setOverTime(isOverTime); + } if (records.size() > 1) { for (int i = 1; i < records.size(); i++) { XzSecurityQualityRectifyRecord record = records.get(i); - long betweenSecond = DateUtil.between(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(records.get(i - 1).getRectifyTime()), DateUnit.SECOND); - record.setTakeTime(TimeUtil.toDayHourMinSecond(betweenSecond)); + if (StrUtil.isNotBlank(record.getRectifyTime()) && StrUtil.isNotBlank(records.get(i - 1).getRectifyTime())) { + long betweenSecond = DateUtil.between(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(records.get(i - 1).getRectifyTime()), DateUnit.SECOND); + record.setTakeTime(TimeUtil.toDayHourMinSecond(betweenSecond)); + } if (!isOverTime) { isOverTime = DateUtil.compare(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0; record.setOverTime(isOverTime); diff --git a/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java b/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java index 7f5331f0b..3b81f3c1c 100644 --- a/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java +++ b/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java @@ -423,6 +423,7 @@ public class HikvisionTask { .put(Cts.PROJECT_SN, project.getProjectSn()) .put(type == 1, Cts.TEAM_ID, orgIndex) .put(type == 2, Cts.DEPARTMENT_ID, orgIndex) + .put(Cts.PAGE_SIZE, -1) .build()); List workerInfoList = workerPage.getRecords(); log.info("数据校验我们平台的人员列表:{}", JSON.toJSONString(workerInfoList));