安全隐患检查字段设置配置、隐患统计分析接口

This commit is contained in:
guoshengxiong 2025-08-07 11:34:19 +08:00
parent b9582da9d9
commit d87e8aa639
35 changed files with 1031 additions and 151 deletions

View File

@ -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<String> x;
@ApiModelProperty("y轴数据")
private List<SeriesItem> series;
}

View File

@ -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;
}

View File

@ -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<Number> data;
}

View File

@ -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<WorkerInfo> workerInfoList = workerPage.getRecords();
log.info("数据校验我们平台的人员列表:{}", JSON.toJSONString(workerInfoList));

View File

@ -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<CompanyMapper, Company> impl
public String getHeadquartersSnByProjectSn(String projectSn) {
Project project = projectService.getOne(new LambdaQueryWrapper<Project>()
.eq(Project::getProjectSn, projectSn));
if (project == null) {
throw new OpenAlertException("查询企业失败");
}
return this.getOne(new LambdaQueryWrapper<Company>()
.eq(Company::getCompanySn, project.getCompanySn())).getHeadquartersSn();
}

View File

@ -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("查不到人员数据");

View File

@ -2603,7 +2603,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
@Override
public void exportQrCode(Map<String, Object> param) {
String projectSn = MapUtils.getString(param, "projectSn");
IPage<WorkerInfo> page = selectWorkerInfoList(new MapBuilder<String, Object>().put("projectSn", projectSn).put("pageNo", 1).put("pageSize", 99999).build());
IPage<WorkerInfo> page = selectWorkerInfoList(new MapBuilder<String, Object>().put("projectSn", projectSn).put("pageNo", 1).put("pageSize", -1).build());
List<WorkerInfo> records = page.getRecords();
Map<Long, List<WorkerInfo>> enterpriseMap = records.stream().collect(Collectors.groupingBy(WorkerInfo::getEnterpriseId));
for (Map.Entry<Long, List<WorkerInfo>> entry : enterpriseMap.entrySet()) {

View File

@ -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<List<TrendVo>> countPriorityNameDicByMonth(@RequestBody Map<String, Object> map) {
public Result<ChartDataVo> countPriorityNameDicByMonth(@RequestBody Map<String, Object> 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<ChartDataVo> countSmallByDutyMajor(@RequestBody Map<String, Object> 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<ChartDataVo> countBigByDutyMajor(@RequestBody Map<String, Object> 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<ChartDataVo> countSmallByMonth(@RequestBody Map<String, Object> map) {
return Result.success(xzSecurityQualityInspectionRecordService.countSmallByMonth(map));
}
}

View File

@ -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<List<XzSecurityDangerFieldConfigVo>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
return Result.success(xzSecurityDangerFieldConfigService.queryList(param));
}
/**
* 添加
*
* @param xzSecurityDangerFieldConfigDto
* @return
*/
@OperLog(operModul = "安全隐患检查字段设置配置管理", operType = "添加", operDesc = "添加安全隐患检查字段设置配置信息")
@ApiOperation(value = "添加安全隐患检查字段设置配置信息", notes = "添加安全隐患检查字段设置配置信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<XzSecurityDangerFieldConfigVo> 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<XzSecurityDangerFieldConfig> 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<XzSecurityDangerFieldConfig> delete(@ApiIgnore @RequestBody HashMap<String, Object> 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<XzSecurityDangerFieldConfigVo> 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<XzSecurityDangerFieldConfig> saveConfig(@RequestBody XzSecurityDangerFieldConfigDto xzSecurityDangerFieldConfigDto) {
XzSecurityDangerFieldConfig config = xzSecurityDangerFieldConfigService.getOne(new LambdaQueryWrapper<XzSecurityDangerFieldConfig>()
.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();
}
}

View File

@ -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<List<XzSecurityDangerFieldVo>> getEffectiveConfig(@RequestBody HashMap<String, Object> param) {
Integer companyProjectType = MapUtils.getInteger(param, "companyProjectType");
Integer recordType = MapUtils.getInteger(param, "recordType");
String sn = MapUtils.getString(param, "sn");
List<XzSecurityDangerFieldConfigVo> configVos = xzSecurityDangerFieldConfigService.queryList(param);
List<XzSecurityDangerFieldVo> 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<XzSecurityDangerFieldVo> getCompanyConfig(HashMap<String, Object> param, String projectSn) {
List<XzSecurityDangerFieldVo> list;
String headquartersSn = companyService.getHeadquartersSnByProjectSn(projectSn);
param.put("sn", headquartersSn);
param.put("companyProjectType", 1);
list = xzSecurityDangerFieldService.queryList(param);
return list;
}
}

View File

@ -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<XzSecurityDangerReviewVerify>()
.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<XzSecurityDangerField>()
.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<XzSecurityDangerReviewVerifyVo> getEffectiveConfig(@RequestBody HashMap<String, Object> param) {
return Result.success(xzSecurityDangerReviewVerifyService.getEffectiveConfig(param));
}
}

View File

@ -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<List<TopProjectClassifyTypeRecordTreeVo>> getTopProjectClassifyTypeRecordTree(@ApiIgnore @RequestParam HashMap<String, Object> param) {

View File

@ -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<RiskListSource> add_security_records(@RequestBody XzSecurityQualityInspectionRecordSourceAddDto addDto) {
public Result<RiskListSource> 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();
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 {
}

View File

@ -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;
}

View File

@ -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 {
}

View File

@ -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;
}

View File

@ -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<XzSecurityDangerFieldConfig> {
/**
* 分页列表查询安全隐患检查字段设置配置信息
*
* @param page
* @param queryWrapper
* @param param
* @return
*/
IPage<XzSecurityDangerFieldConfigVo> queryList(Page<XzSecurityDangerFieldConfigVo> page, @Param(Constants.WRAPPER) QueryWrapper<XzSecurityDangerFieldConfigVo> queryWrapper, @Param("param") HashMap<String, Object> param);
/**
* 列表查询安全隐患检查字段设置配置信息
*
* @param queryWrapper
* @param param
* @return
*/
List<XzSecurityDangerFieldConfigVo> queryList(@Param(Constants.WRAPPER) QueryWrapper<XzSecurityDangerFieldConfigVo> queryWrapper, @Param("param") HashMap<String, Object> param);
/**
* 通过id查询安全隐患检查字段设置配置信息
*
* @param id
* @return
*/
XzSecurityDangerFieldConfigVo queryById(String id);
}

View File

@ -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<XzSe
*/
List<SectorOneVo> countPriorityNameDic(Map<String, Object> map);
List<TrendOneVo> countPriorityNameDicByMonth(Map<String, Object> map);
List<ChartItemBo> countPriorityNameDicByMonth(Map<String, Object> map);
List<CountNumByDutyMajorVo> countNumByDutyMajor(Map<String, Object> map);
List<ChartItemBo> countSmallByDutyMajor(Map<String, Object> map);
List<ChartItemBo> countBigByDutyMajor(Map<String, Object> map);
List<ChartItemBo> countSmallByMonth(Map<String, Object> map);
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityDangerFieldConfigMapper">
<select id="queryList" resultType="com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldConfigVo">
select * from (
select t.*
from xz_security_danger_field_config t
)t
${ew.customSqlSegment}
</select>
<select id="queryById" resultType="com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerFieldConfigVo">
select * from (
select t.*
from xz_security_danger_field_config t
)t
where t.id = #{id}
</select>
</mapper>

View File

@ -1066,10 +1066,10 @@
group by priority_name_dic
</select>
<select id="countPriorityNameDicByMonth" resultType="com.zhgd.xmgl.base.entity.vo.TrendOneVo">
select date_format(create_time, '%Y-%m') x,
count(*) y,
priority_name_dic sn
<select id="countPriorityNameDicByMonth" resultType="com.zhgd.xmgl.base.entity.vo.echarts.ChartItemBo">
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 @@
</if>
group by duty_major
</select>
<select id="countSmallByDutyMajor" resultType="com.zhgd.xmgl.base.entity.vo.echarts.ChartItemBo">
select r.duty_major as x_type
,t2.id as y_type
,count(*) as y_val
from xz_security_quality_inspection_record r
join xz_security_danger_type_record t on t.id=r.danger_type_id
join xz_security_danger_type_record t2 on t.id=r.danger_type_id
where r.project_sn = #{projectSn}
and r.duty_major is not null
and t2.level = 2
<if test="startDate != null and startDate != ''">
and r.create_time >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and r.create_time <![CDATA[<=]]> concat(#{endDate},' 23:59:59')
</if>
group by r.duty_major,t2.id
</select>
<select id="countBigByDutyMajor" resultType="com.zhgd.xmgl.base.entity.vo.echarts.ChartItemBo">
select r.duty_major as x_type
,t.id as y_type
,count(*) as y_val
from xz_security_quality_inspection_record r
join xz_security_danger_type_record t on t.id=r.danger_type_id
where r.project_sn = #{projectSn}
and r.duty_major is not null
and t.level = 1
<if test="startDate != null and startDate != ''">
and r.create_time >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and r.create_time <![CDATA[<=]]> concat(#{endDate},' 23:59:59')
</if>
group by r.duty_major,t.id
</select>
<select id="countSmallByMonth" resultType="com.zhgd.xmgl.base.entity.vo.echarts.ChartItemBo">
select date_format(r.create_time, '%Y-%m') as x_name
,count(*) as y_val
from xz_security_quality_inspection_record r
join xz_security_danger_type_record t on t.id=r.danger_type_id
join xz_security_danger_type_record t2 on t.id=r.danger_type_id
where r.project_sn = #{projectSn}
and t2.level = 2
<if test="startDate != null and startDate != ''">
and r.create_time >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and r.create_time <![CDATA[<=]]> concat(#{endDate},' 23:59:59')
</if>
<if test="dutyMajor != null and dutyMajor != ''">
and r.duty_major = #{dutyMajor}
</if>
<if test="smallId != null and smallId != ''">
and t2.id = #{smallId}
</if>
group by x_name
</select>
</mapper>

View File

@ -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<XzSecurityDangerFieldConfig> {
/**
* 分页列表查询安全隐患检查字段设置配置信息
*
* @param param 参数map
* @return
*/
IPage<XzSecurityDangerFieldConfigVo> queryPageList(HashMap<String, Object> param);
/**
* 列表查询安全隐患检查字段设置配置信息
*
* @param param 参数map
* @return
*/
List<XzSecurityDangerFieldConfigVo> queryList(HashMap<String, Object> 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);
}

View File

@ -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;

View File

@ -73,4 +73,6 @@ public interface IXzSecurityDangerReviewVerifyService extends IService<XzSecurit
* @return
*/
XzSecurityQualityRectifyRecordTypeEnum getNextStepOnSuccess(Integer type, String projectSn);
XzSecurityDangerReviewVerifyVo getEffectiveConfig(HashMap<String, Object> param);
}

View File

@ -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<XzSe
*/
List<SectorOneVo> countPriorityNameDic(Map<String, Object> map);
List<TrendVo> countPriorityNameDicByMonth(Map<String, Object> map);
ChartDataVo countPriorityNameDicByMonth(Map<String, Object> map);
List<CountNumByDutyMajorVo> countNumByDutyMajor(Map<String, Object> map);
ChartDataVo countSmallByDutyMajor(Map<String, Object> map);
ChartDataVo countBigByDutyMajor(Map<String, Object> map);
ChartDataVo countSmallByMonth(Map<String, Object> map);
}

View File

@ -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<XzSecurityDangerFieldConfigMapper, XzSecurityDangerFieldConfig> implements IXzSecurityDangerFieldConfigService {
@Autowired
private XzSecurityDangerFieldConfigMapper xzSecurityDangerFieldConfigMapper;
@Override
public IPage<XzSecurityDangerFieldConfigVo> queryPageList(HashMap<String, Object> param) {
QueryWrapper<XzSecurityDangerFieldConfigVo> queryWrapper = this.getQueryWrapper(param);
Page<XzSecurityDangerFieldConfigVo> page = PageUtil.getPage(param);
IPage<XzSecurityDangerFieldConfigVo> pageList = baseMapper.queryList(page, queryWrapper, param);
pageList.setRecords(this.dealList(pageList.getRecords()));
return pageList;
}
@Override
public List<XzSecurityDangerFieldConfigVo> queryList(HashMap<String, Object> param) {
QueryWrapper<XzSecurityDangerFieldConfigVo> queryWrapper = getQueryWrapper(param);
return dealList(baseMapper.queryList(queryWrapper, param));
}
private QueryWrapper<XzSecurityDangerFieldConfigVo> getQueryWrapper(HashMap<String, Object> param) {
QueryWrapper<XzSecurityDangerFieldConfigVo> queryWrapper = QueryGenerator.initPageQueryWrapper(XzSecurityDangerFieldConfigVo.class, param, true);
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(XzSecurityDangerFieldConfigVo::getId));
return queryWrapper;
}
private List<XzSecurityDangerFieldConfigVo> dealList(List<XzSecurityDangerFieldConfigVo> 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;
}
}

View File

@ -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<XzSecur
private List<XzSecurityDangerReviewVerifyVo> dealList(List<XzSecurityDangerReviewVerifyVo> 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<XzSecur
@Override
public XzSecurityQualityRectifyRecordTypeEnum getNextStepOnSuccess(Integer type, String projectSn) {
XzSecurityDangerField reviewVerify = null;
XzSecurityDangerReviewVerifyVo reviewVerify = this.getEffectiveConfig(new MapBuilder<String, Object>()
.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);
} 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)) {
if (Objects.equals(reviewVerify.getEnableVerify(), 1)) {
return XzSecurityQualityRectifyRecordTypeEnum.VERIFY;
}
} else if (Objects.equals(type, XzSecurityQualityRectifyRecordTypeEnum.REVIEW.getValue())) {
if (Objects.equals(reviewVerify.getEnableVerify(), 1)) {
return XzSecurityQualityRectifyRecordTypeEnum.VERIFY;
}
}
return null;
}
public XzSecurityDangerField getReviewVerify(String projectSn, String fieldName) {
XzSecurityDangerField reviewField = xzSecurityDangerFieldService.getOne(new LambdaQueryWrapper<XzSecurityDangerField>()
.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<XzSecurityDangerField>()
.eq(XzSecurityDangerField::getSn, sn)
.eq(XzSecurityDangerField::getCompanyProjectType, 2)
.eq(XzSecurityDangerField::getRecordType, 1)
.eq(XzSecurityDangerField::getOriginalFieldName, fieldName)
);
@Override
public XzSecurityDangerReviewVerifyVo getEffectiveConfig(HashMap<String, Object> param) {
Integer companyProjectType = MapUtils.getInteger(param, "companyProjectType");
String sn = MapUtils.getString(param, "sn");
List<XzSecurityDangerReviewVerifyVo> 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<XzSecurityDangerReviewVerifyVo> 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());
}
return reviewField;
if (Objects.equals(vo.getEnableProjectForReview(), 0)) {
vo.setVerifyRoleName(verifyVo.getVerifyRoleName());
vo.setEnableVerify(verifyVo.getEnableVerify());
}
}
}
}
}
return CollUtil.getFirst(list);
}
/**
* 查询企业配置
*
* @param param
* @param projectSn
* @return
*/
private List<XzSecurityDangerReviewVerifyVo> getCompanyConfig(HashMap<String, Object> param, String projectSn) {
List<XzSecurityDangerReviewVerifyVo> list;
String headquartersSn = companyService.getHeadquartersSnByProjectSn(projectSn);
param.put("sn", headquartersSn);
param.put("companyProjectType", 1);
list = this.queryList(param);
return list;
}
}

View File

@ -214,7 +214,7 @@ public class XzSecurityDangerTypeRecordServiceImpl extends ServiceImpl<XzSecurit
String taskName = importInfo.get("检查任务");
String projectTypeName = importInfo.get("项目类型");
String projectClassify = Optional.ofNullable(projectTypeNameMap.get(importInfo.get("工程类别"))).map(DictionaryItem::getData).orElse(null);
String priorityNameDic = Optional.ofNullable(priorityNameDicNameMap.get(importInfo.get("安全的问题等级分类二"))).map(DictionaryItem::getData).orElse(null);
String priorityNameDic = Optional.ofNullable(priorityNameDicNameMap.get(importInfo.get("问题等级分类二"))).map(DictionaryItem::getData).orElse(null);
Integer projectType = getProjectType(projectTypeName);
Double deductScore = Convert.toDouble(importInfo.get("扣分"));
String newCode = CodeUtils.subCode(code);

View File

@ -3,19 +3,24 @@ package com.zhgd.xmgl.modules.xz.security.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecordDraft;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import com.zhgd.xmgl.modules.worker.enums.WorkerInfoPersonTypeEnum;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecordDraft;
import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityQualityInspectionRecordDraftMapper;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordDraftService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Objects;
/**
* @Description: 安全管理草稿
@ -26,20 +31,34 @@ import java.util.Date;
@Service
public class XzSecurityQualityInspectionRecordDraftServiceImpl extends ServiceImpl<XzSecurityQualityInspectionRecordDraftMapper, XzSecurityQualityInspectionRecordDraft> 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<EnterpriseInfo>()
.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);
}
}

View File

@ -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<Xz
@Lazy
@Autowired
IEnterpriseInfoService enterpriseInfoService;
@Lazy
@Autowired
ICompanyService companyService;
@Lazy
@Autowired
IXzSecurityDangerTypeRecordService xzSecurityDangerTypeRecordService;
@Autowired
private QualityRegionMapper qualityRegionMapper;
@Autowired
@ -214,6 +223,9 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
return null;
}
setProblemDescription(vo);
ArrayList<XzSecurityQualityInspectionRecordVo> list = new ArrayList<>();
list.add(vo);
setDetail(vo.getProjectSn(), list);
return vo;
}
@ -245,6 +257,21 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
}
Page<XzSecurityQualityInspectionRecordVo> page = new Page<>(pageNo, pageSize);
List<XzSecurityQualityInspectionRecordVo> 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<XzSecurityQualityInspectionRecordVo> list) {
List<EntityMap> enterpriseInfoList = enterpriseInfoService.getEnterpriseInfoList(new MapBuilder<String, Object>().put("projectSn", projectSn).build());
if (CollUtil.isNotEmpty(list)) {
List<Long> rids = list.stream().map(XzSecurityQualityInspectionRecord::getId).collect(Collectors.toList());
@ -313,11 +340,6 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
));
}
}
page.setRecords(list);
XzSecurityQualityInspectionRecordTotalVo total = getXzSecurityQualityInspectionRecordTotalVo(map);
data.setPage(page);
data.setTotal(total);
return data;
}
private XzSecurityQualityInspectionRecordTotalVo getXzSecurityQualityInspectionRecordTotalVo(Map<String, Object> map) {
@ -511,36 +533,44 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
private void saveBindData(XzSecurityQualityInspectionRecord record) {
xzSecurityQualityInspectionEnterpriseService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionEnterprise>()
.eq(XzSecurityQualityInspectionEnterprise::getInspectionId, record.getId()));
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<XzSecurityQualityInspectionRegion>()
.eq(XzSecurityQualityInspectionRegion::getInspectionId, record.getId()));
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<XzSecurityQualityInspectionReview>()
.eq(XzSecurityQualityInspectionReview::getInspectionId, record.getId()));
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<XzSecurityQualityInspectionVerify>()
.eq(XzSecurityQualityInspectionVerify::getInspectionId, record.getId()));
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<Xz
String enterpriseSns = record.getEnterpriseSns();
if (StrUtil.isNotBlank(enterpriseSns)) {
List<EnterpriseInfo> enterpriseInfos = enterpriseInfoMapper.selectList(new LambdaQueryWrapper<EnterpriseInfo>()
.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<Xz
}
@Override
public List<TrendVo> countPriorityNameDicByMonth(Map<String, Object> map) {
public ChartDataVo countPriorityNameDicByMonth(Map<String, Object> map) {
String projectSn = MapUtils.getString(map, "projectSn");
String format = "yyyy-MM";
List<String> 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<TrendOneVo> list = baseMapper.countPriorityNameDicByMonth(map);
List<TrendVo> 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<ChartItemBo> all = baseMapper.countPriorityNameDicByMonth(map);
Map<String, Map<String, Number>> allMap = all.stream()
.collect(Collectors.toMap(
ChartItemBo::getXName,
item -> {
Map<String, Number> innerMap = new HashMap<>();
innerMap.put(item.getYType(), item.getYVal());
return innerMap;
},
(existingMap, newMap) -> {
// 合并相同xType的Map
existingMap.putAll(newMap);
return existingMap;
}
));
List<SeriesItem> 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<Number> 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<Xz
return vos;
}
@Override
public ChartDataVo countSmallByDutyMajor(Map<String, Object> map) {
ChartDataVo chartDataVo = new ChartDataVo();
String projectSn = MapUtils.getString(map, "projectSn");
List<DictionaryItem> dictList = dictionaryItemService.getDictList(DictionaryConstant.XZ_SECURITY_QUALITY_INSPECTION_RECORD_DUTY_MAJOR, projectSn);
List<String> x = dictList.stream()
.map(DictionaryItem::getName).collect(Collectors.toList());
chartDataVo.setX(x);
List<ChartItemBo> all = baseMapper.countSmallByDutyMajor(map);
Map<String, Map<String, Number>> allMap = all.stream()
.collect(Collectors.toMap(
ChartItemBo::getXType,
item -> {
Map<String, Number> 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<SeriesItem> seriesItems = xzSecurityDangerTypeRecordService.list(new LambdaQueryWrapper<XzSecurityDangerTypeRecord>()
.eq(XzSecurityDangerTypeRecord::getLevel, 2)
.eq(XzSecurityDangerTypeRecord::getSn, headquartersSn)
).stream().map(o -> {
SeriesItem item = new SeriesItem();
item.setName(o.getDangerName());
List<Number> 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<String, Object> map) {
ChartDataVo chartDataVo = new ChartDataVo();
String projectSn = MapUtils.getString(map, "projectSn");
List<DictionaryItem> dictList = dictionaryItemService.getDictList(DictionaryConstant.XZ_SECURITY_QUALITY_INSPECTION_RECORD_DUTY_MAJOR, projectSn);
List<String> x = dictList.stream()
.map(DictionaryItem::getName).collect(Collectors.toList());
chartDataVo.setX(x);
List<ChartItemBo> all = baseMapper.countBigByDutyMajor(map);
Map<String, Map<String, Number>> allMap = all.stream()
.collect(Collectors.toMap(
ChartItemBo::getXType,
item -> {
Map<String, Number> 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<SeriesItem> seriesItems = xzSecurityDangerTypeRecordService.list(new LambdaQueryWrapper<XzSecurityDangerTypeRecord>()
.eq(XzSecurityDangerTypeRecord::getLevel, 2)
.eq(XzSecurityDangerTypeRecord::getSn, headquartersSn)
).stream().map(o -> {
SeriesItem item = new SeriesItem();
item.setName(o.getDangerName());
List<Number> 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<String, Object> map) {
String projectSn = MapUtils.getString(map, "projectSn");
List<String> 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<ChartItemBo> all = baseMapper.countSmallByMonth(map);
Map<String, Number> allMap = all.stream()
.collect(Collectors.toMap(
ChartItemBo::getXName,
item -> {
return item.getYVal();
}
));
List<SeriesItem> seriesItems = new ArrayList<>();
SeriesItem item = new SeriesItem();
item.setName("安全隐患数量");
List<Number> 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;

View File

@ -122,14 +122,21 @@ public class XzSecurityQualityRectifyRecordServiceImpl extends ServiceImpl<XzSec
List<XzSecurityQualityRectifyRecord> records = xzSecurityQualityRectifyRecordMapper.selectRectifyRecordList(map);
if (CollUtil.isNotEmpty(records)) {
XzSecurityQualityRectifyRecord begin = records.get(0);
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 = DateUtil.compare(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0;
}
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);
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);

View File

@ -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<WorkerInfo> workerInfoList = workerPage.getRecords();
log.info("数据校验我们平台的人员列表:{}", JSON.toJSONString(workerInfoList));