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

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(Cts.PROJECT_SN, project.getProjectSn())
.put(type == 1, Cts.TEAM_ID, orgIndex) .put(type == 1, Cts.TEAM_ID, orgIndex)
.put(type == 2, Cts.DEPARTMENT_ID, orgIndex) .put(type == 2, Cts.DEPARTMENT_ID, orgIndex)
.put(Cts.PAGE_SIZE, -1)
.build()); .build());
List<WorkerInfo> workerInfoList = workerPage.getRecords(); List<WorkerInfo> workerInfoList = workerPage.getRecords();
log.info("数据校验我们平台的人员列表:{}", JSON.toJSONString(workerInfoList)); 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.entity.RiskListRuleItem;
import com.zhgd.xmgl.modules.risk.service.IRiskListRuleItemService; import com.zhgd.xmgl.modules.risk.service.IRiskListRuleItemService;
import com.zhgd.xmgl.modules.risk.service.IRiskListRuleService; 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.modules.standard.mapper.StandardDevMapper;
import com.zhgd.xmgl.util.ListUtils; import com.zhgd.xmgl.util.ListUtils;
import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.MapBuilder;
@ -936,6 +935,9 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
public String getHeadquartersSnByProjectSn(String projectSn) { public String getHeadquartersSnByProjectSn(String projectSn) {
Project project = projectService.getOne(new LambdaQueryWrapper<Project>() Project project = projectService.getOne(new LambdaQueryWrapper<Project>()
.eq(Project::getProjectSn, projectSn)); .eq(Project::getProjectSn, projectSn));
if (project == null) {
throw new OpenAlertException("查询企业失败");
}
return this.getOne(new LambdaQueryWrapper<Company>() return this.getOne(new LambdaQueryWrapper<Company>()
.eq(Company::getCompanySn, project.getCompanySn())).getHeadquartersSn(); .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.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.mybatis.EntityMap; 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.AttendanceOfEachCompanyVo;
import com.zhgd.xmgl.entity.vo.NumberTimeTableVo; import com.zhgd.xmgl.entity.vo.NumberTimeTableVo;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService; 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("enterpriseIds", StrUtil.isNotBlank(config.getEnterpriseIds()) ? StrUtil.split(config.getEnterpriseIds(), ",") : null)
.put("personSns", StrUtil.isNotBlank(config.getPersonSns()) ? StrUtil.split(config.getPersonSns(), ",") : null) .put("personSns", StrUtil.isNotBlank(config.getPersonSns()) ? StrUtil.split(config.getPersonSns(), ",") : null)
.put("departmentTeamIds", StrUtil.isNotBlank(config.getDepartmentTeamIds()) ? StrUtil.split(config.getDepartmentTeamIds(), ",") : null) .put("departmentTeamIds", StrUtil.isNotBlank(config.getDepartmentTeamIds()) ? StrUtil.split(config.getDepartmentTeamIds(), ",") : null)
.put(Cts.PAGE_SIZE, -1)
.build()).getRecords(); .build()).getRecords();
if (CollUtil.isEmpty(workerInfos)) { if (CollUtil.isEmpty(workerInfos)) {
throw new OpenAlertException("查不到人员数据"); throw new OpenAlertException("查不到人员数据");

View File

@ -2603,7 +2603,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
@Override @Override
public void exportQrCode(Map<String, Object> param) { public void exportQrCode(Map<String, Object> param) {
String projectSn = MapUtils.getString(param, "projectSn"); 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(); List<WorkerInfo> records = page.getRecords();
Map<Long, List<WorkerInfo>> enterpriseMap = records.stream().collect(Collectors.groupingBy(WorkerInfo::getEnterpriseId)); Map<Long, List<WorkerInfo>> enterpriseMap = records.stream().collect(Collectors.groupingBy(WorkerInfo::getEnterpriseId));
for (Map.Entry<Long, List<WorkerInfo>> entry : enterpriseMap.entrySet()) { 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.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.SectorVo; 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.constant.DictionaryConstant;
import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService; import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService;
import com.zhgd.xmgl.modules.xz.security.entity.vo.CountNumByDutyMajorVo; 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), @ApiImplicitParam(name = "dutyMajor", value = "责任专业(字典值)", dataType = "String", paramType = "body", required = false),
}) })
@PostMapping(value = "/countPriorityNameDicByMonth") @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)); return Result.success(xzSecurityQualityInspectionRecordService.countPriorityNameDicByMonth(map));
} }
@ -71,5 +71,39 @@ public class HiddenDangerStatisticsAndAnalysisController {
return Result.success(xzSecurityQualityInspectionRecordService.countNumByDutyMajor(map)); 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; 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.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.annotation.OperLog; import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result; 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.XzSecurityDangerField;
import com.zhgd.xmgl.modules.xz.security.entity.dto.SaveAllXzSecurityDangerFieldDto; 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.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.entity.vo.XzSecurityDangerFieldVo;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldConfigService;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@ -24,6 +28,7 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
@ -38,9 +43,15 @@ import java.util.List;
@Slf4j @Slf4j
@Api(tags = "安全隐患检查字段设置相关Api") @Api(tags = "安全隐患检查字段设置相关Api")
public class XzSecurityDangerFieldController { public class XzSecurityDangerFieldController {
@Lazy
@Autowired
ICompanyService companyService;
@Lazy @Lazy
@Autowired @Autowired
private IXzSecurityDangerFieldService xzSecurityDangerFieldService; private IXzSecurityDangerFieldService xzSecurityDangerFieldService;
@Lazy
@Autowired
private IXzSecurityDangerFieldConfigService xzSecurityDangerFieldConfigService;
/** /**
* 分页列表查询 * 分页列表查询
@ -145,4 +156,41 @@ public class XzSecurityDangerFieldController {
} }
return Result.ok(); 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; 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.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.annotation.OperLog; import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; 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.XzSecurityDangerReviewVerify;
import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerReviewVerifyDto; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerReviewVerifyDto;
import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerReviewVerifyVo; 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.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
@ -140,6 +141,13 @@ public class XzSecurityDangerReviewVerifyController {
@PostMapping(value = "/save") @PostMapping(value = "/save")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result save(@RequestBody XzSecurityDangerReviewVerifyDto dto) { 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>() XzSecurityDangerReviewVerify reviewVerifyDb = xzSecurityDangerReviewVerifyService.getOne(new LambdaQueryWrapper<XzSecurityDangerReviewVerify>()
.eq(XzSecurityDangerReviewVerify::getSn, dto.getSn()) .eq(XzSecurityDangerReviewVerify::getSn, dto.getSn())
.eq(XzSecurityDangerReviewVerify::getCompanyProjectType, dto.getCompanyProjectType()) .eq(XzSecurityDangerReviewVerify::getCompanyProjectType, dto.getCompanyProjectType())
@ -150,42 +158,18 @@ public class XzSecurityDangerReviewVerifyController {
dto.setId(reviewVerifyDb.getId()); dto.setId(reviewVerifyDb.getId());
xzSecurityDangerReviewVerifyService.updateById(dto); xzSecurityDangerReviewVerifyService.updateById(dto);
} }
setReviewOrVerify(dto, XzSecurityDangerFieldConstant.FU_CHA_REN, dto.getEnableReview());
setReviewOrVerify(dto, XzSecurityDangerFieldConstant.HE_YAN_REN, dto.getEnableVerify());
return Result.ok(); return Result.ok();
} }
/** @OperLog(operModul = "安全隐患复查核验人设置管理", operType = "", operDesc = "查询生效的配置")
* 设置复查人或核验人 @ApiOperation(value = "查询生效的配置", notes = "查询生效的配置", httpMethod = "POST")
* @ApiImplicitParams({
* @param dto @ApiImplicitParam(name = "sn", value = "项目SN或总公司sn", paramType = "query", required = true, dataType = "Integer"),
* @param fieldName @ApiImplicitParam(name = "companyProjectType", value = "类型1企业2项目", paramType = "query", required = true, dataType = "Integer"),
* @param enabled })
*/ @PostMapping(value = "/getEffectiveConfig")
private void setReviewOrVerify(XzSecurityDangerReviewVerifyDto dto, String fieldName, Integer enabled) { public Result<XzSecurityDangerReviewVerifyVo> getEffectiveConfig(@RequestBody HashMap<String, Object> param) {
XzSecurityDangerField reviewField = xzSecurityDangerFieldService.getOne(new LambdaQueryWrapper<XzSecurityDangerField>() return Result.success(xzSecurityDangerReviewVerifyService.getEffectiveConfig(param));
.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);
}
} }
} }

View File

@ -246,6 +246,7 @@ public class XzSecurityDangerTypeRecordController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "sn", value = "总公司企业sn", paramType = "body", required = true, dataType = "String"), @ApiImplicitParam(name = "sn", value = "总公司企业sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "projectClassify", value = "工程类别(字典值)", paramType = "body", required = false, 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") @GetMapping(value = "/getTopProjectClassifyTypeRecordTree")
public Result<List<TopProjectClassifyTypeRecordTreeVo>> getTopProjectClassifyTypeRecordTree(@ApiIgnore @RequestParam HashMap<String, Object> param) { 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.risk.service.IRiskListSourceService;
import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareAlarmRecordService; 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.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.XzSecurityDepartmentRectifiedRankDto;
import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityQualityInspectionRecordSourceAddDto; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityQualityInspectionRecordSourceAddDto;
import com.zhgd.xmgl.modules.xz.security.entity.vo.*; import com.zhgd.xmgl.modules.xz.security.entity.vo.*;
@ -536,11 +537,11 @@ public class XzSecurityQualityInspectionRecordController {
return Result.ok(); return Result.ok();
} }
@OperLog(operModul = "管控清单危险源管理", operType = "", operDesc = "危险源添加多个安全记录") @OperLog(operModul = "安全管理", operType = "", operDesc = "危险源添加多个安全记录")
@ApiOperation(value = "危险源添加多个安全记录", notes = "危险源添加多个安全记录", httpMethod = "POST") @ApiOperation(value = "危险源添加多个安全记录", notes = "危险源添加多个安全记录", httpMethod = "POST")
@PostMapping(value = "/addSecurityRecords") @PostMapping(value = "/addSecurityRecords")
@Transactional(rollbackFor = Exception.class) @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())) { if (CollUtil.isNotEmpty(addDto.getSourceIdList())) {
for (String sourceId : addDto.getSourceIdList()) { for (String sourceId : addDto.getSourceIdList()) {
XzSecurityQualityInspectionRecord add = new XzSecurityQualityInspectionRecord(); XzSecurityQualityInspectionRecord add = new XzSecurityQualityInspectionRecord();
@ -568,4 +569,14 @@ public class XzSecurityQualityInspectionRecordController {
} }
return Result.ok(); 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; 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.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
/** /**
* @Description: 安全隐患复查核验人设置 * @Description: 安全隐患复查核验人设置
@ -65,4 +63,19 @@ public class XzSecurityDangerReviewVerify implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间") @ApiModelProperty(value = "更新时间")
private java.util.Date updateTime; 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 @Data
@ApiModel(value = "XzSecurityDangerReviewVerifyDto实体类", description = "XzSecurityDangerReviewVerifyDto实体类") @ApiModel(value = "XzSecurityDangerReviewVerifyDto实体类", description = "XzSecurityDangerReviewVerifyDto实体类")
public class XzSecurityDangerReviewVerifyDto extends XzSecurityDangerReviewVerify { public class XzSecurityDangerReviewVerifyDto extends XzSecurityDangerReviewVerify {
/**
* 1开启复查0不开启复查
*/
@ApiModelProperty("1开启复查0不开启复查") @ApiModelProperty("1开启复查0不开启复查")
private Integer enableReview; private Integer enableReview;
/**
* 1开启核验0不开启核验
*/
@ApiModelProperty("1开启核验0不开启核验") @ApiModelProperty("1开启核验0不开启核验")
private Integer enableVerify; 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 com.zhgd.xmgl.modules.xz.security.entity.XzSecurityDangerReviewVerify;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel(value = "XzSecurityDangerReviewVerifyVo实体类", description = "XzSecurityDangerReviewVerifyVo实体类") @ApiModel(value = "XzSecurityDangerReviewVerifyVo实体类", description = "XzSecurityDangerReviewVerifyVo实体类")
public class XzSecurityDangerReviewVerifyVo extends XzSecurityDangerReviewVerify { 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.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo; 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.XzSecurityQualityInspectionRecord;
import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDepartmentRectifiedRankDto; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDepartmentRectifiedRankDto;
import com.zhgd.xmgl.modules.xz.security.entity.vo.*; 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<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<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 group by priority_name_dic
</select> </select>
<select id="countPriorityNameDicByMonth" resultType="com.zhgd.xmgl.base.entity.vo.TrendOneVo"> <select id="countPriorityNameDicByMonth" resultType="com.zhgd.xmgl.base.entity.vo.echarts.ChartItemBo">
select date_format(create_time, '%Y-%m') x, select date_format(create_time, '%Y-%m') as x_name
count(*) y, ,count(*) as y_val
priority_name_dic sn ,priority_name_dic as y_type
from xz_security_quality_inspection_record from xz_security_quality_inspection_record
where project_sn = #{projectSn} where project_sn = #{projectSn}
and priority_name_dic is not null and priority_name_dic is not null
@ -1102,4 +1102,64 @@
</if> </if>
group by duty_major group by duty_major
</select> </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> </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; 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.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.HashMap;
import java.util.List; import java.util.List;

View File

@ -73,4 +73,6 @@ public interface IXzSecurityDangerReviewVerifyService extends IService<XzSecurit
* @return * @return
*/ */
XzSecurityQualityRectifyRecordTypeEnum getNextStepOnSuccess(Integer type, String projectSn); 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.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.*;
import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.base.entity.vo.echarts.ChartDataVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.base.entity.vo.TrendVo;
import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; 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.dto.XzSecurityDepartmentRectifiedRankDto;
import com.zhgd.xmgl.modules.xz.security.entity.vo.*; 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<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); 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; package com.zhgd.xmgl.modules.xz.security.service.impl;
import cn.hutool.core.collection.CollUtil; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; 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.XzSecurityDangerReviewVerify;
import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerReviewVerifyDto; import com.zhgd.xmgl.modules.xz.security.entity.dto.XzSecurityDangerReviewVerifyDto;
import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityDangerReviewVerifyVo; 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.mapper.XzSecurityDangerReviewVerifyMapper;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerFieldService;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityDangerReviewVerifyService; 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.PageUtil;
import com.zhgd.xmgl.util.RefUtil; import com.zhgd.xmgl.util.RefUtil;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -27,7 +26,6 @@ import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
/** /**
* @Description: 安全隐患复查核验人设置 * @Description: 安全隐患复查核验人设置
@ -69,13 +67,6 @@ public class XzSecurityDangerReviewVerifyServiceImpl extends ServiceImpl<XzSecur
private List<XzSecurityDangerReviewVerifyVo> dealList(List<XzSecurityDangerReviewVerifyVo> list) { private List<XzSecurityDangerReviewVerifyVo> dealList(List<XzSecurityDangerReviewVerifyVo> list) {
if (CollUtil.isNotEmpty(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; return list;
} }
@ -115,39 +106,68 @@ public class XzSecurityDangerReviewVerifyServiceImpl extends ServiceImpl<XzSecur
@Override @Override
public XzSecurityQualityRectifyRecordTypeEnum getNextStepOnSuccess(Integer type, String projectSn) { 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())) { if (Objects.equals(type, XzSecurityQualityRectifyRecordTypeEnum.RECTIFIED.getValue())) {
reviewVerify = this.getReviewVerify(projectSn, XzSecurityDangerFieldConstant.FU_CHA_REN); if (Objects.isNull(reviewVerify) || Objects.equals(reviewVerify.getEnableReview(), 1)) {
if (Objects.nonNull(reviewVerify) && Objects.equals(reviewVerify.getIsEnabled(), 1)) {
return XzSecurityQualityRectifyRecordTypeEnum.REVIEW; return XzSecurityQualityRectifyRecordTypeEnum.REVIEW;
} }
reviewVerify = this.getReviewVerify(projectSn, XzSecurityDangerFieldConstant.HE_YAN_REN); if (Objects.equals(reviewVerify.getEnableVerify(), 1)) {
} 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; return XzSecurityQualityRectifyRecordTypeEnum.VERIFY;
} }
} else if (Objects.equals(type, XzSecurityQualityRectifyRecordTypeEnum.REVIEW.getValue())) {
if (Objects.equals(reviewVerify.getEnableVerify(), 1)) {
return XzSecurityQualityRectifyRecordTypeEnum.VERIFY;
}
}
return null; return null;
} }
public XzSecurityDangerField getReviewVerify(String projectSn, String fieldName) { @Override
XzSecurityDangerField reviewField = xzSecurityDangerFieldService.getOne(new LambdaQueryWrapper<XzSecurityDangerField>() public XzSecurityDangerReviewVerifyVo getEffectiveConfig(HashMap<String, Object> param) {
.eq(XzSecurityDangerField::getSn, projectSn) Integer companyProjectType = MapUtils.getInteger(param, "companyProjectType");
.eq(XzSecurityDangerField::getCompanyProjectType, 2) String sn = MapUtils.getString(param, "sn");
.eq(XzSecurityDangerField::getRecordType, 1) List<XzSecurityDangerReviewVerifyVo> list = this.queryList(param);
.eq(XzSecurityDangerField::getOriginalFieldName, fieldName) if (Objects.equals(companyProjectType, 2)) {
); if (CollUtil.isEmpty(list)) {
String sn = companyService.getHeadquartersSnByProjectSn(projectSn); //项目没数据
if (reviewField == null) { list = getCompanyConfig(param, sn);
xzSecurityDangerFieldService.getOne(new LambdaQueryWrapper<XzSecurityDangerField>() } else {
.eq(XzSecurityDangerField::getSn, sn) XzSecurityDangerReviewVerifyVo vo = CollUtil.getFirst(list);
.eq(XzSecurityDangerField::getCompanyProjectType, 2) if (Objects.equals(vo.getEnableProjectForReview(), 0) || Objects.equals(vo.getEnableProjectForVerify(), 0)) {
.eq(XzSecurityDangerField::getRecordType, 1) List<XzSecurityDangerReviewVerifyVo> companyConfigs = getCompanyConfig(param, sn);
.eq(XzSecurityDangerField::getOriginalFieldName, fieldName) 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 taskName = importInfo.get("检查任务");
String projectTypeName = importInfo.get("项目类型"); String projectTypeName = importInfo.get("项目类型");
String projectClassify = Optional.ofNullable(projectTypeNameMap.get(importInfo.get("工程类别"))).map(DictionaryItem::getData).orElse(null); 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); Integer projectType = getProjectType(projectTypeName);
Double deductScore = Convert.toDouble(importInfo.get("扣分")); Double deductScore = Convert.toDouble(importInfo.get("扣分"));
String newCode = CodeUtils.subCode(code); 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.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.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.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.entity.XzSecurityQualityInspectionRecordDraft;
import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityQualityInspectionRecordDraftMapper; import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityQualityInspectionRecordDraftMapper;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordDraftService; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordDraftService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.Objects;
/** /**
* @Description: 安全管理草稿 * @Description: 安全管理草稿
@ -26,20 +31,34 @@ import java.util.Date;
@Service @Service
public class XzSecurityQualityInspectionRecordDraftServiceImpl extends ServiceImpl<XzSecurityQualityInspectionRecordDraftMapper, XzSecurityQualityInspectionRecordDraft> implements IXzSecurityQualityInspectionRecordDraftService { public class XzSecurityQualityInspectionRecordDraftServiceImpl extends ServiceImpl<XzSecurityQualityInspectionRecordDraftMapper, XzSecurityQualityInspectionRecordDraft> implements IXzSecurityQualityInspectionRecordDraftService {
@Lazy
@Autowired
WorkerInfoServiceImpl workerInfoService;
@Lazy
@Autowired @Autowired
private EnterpriseInfoMapper enterpriseInfoMapper; private EnterpriseInfoMapper enterpriseInfoMapper;
@Lazy
@Autowired
private ISystemUserService systemUserService;
@Override @Override
public void saveInfo(XzSecurityQualityInspectionRecordDraft xzSecurityQualityInspectionRecordDraft) { public void saveInfo(XzSecurityQualityInspectionRecordDraft draft) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
xzSecurityQualityInspectionRecordDraft.setCreateTime(df.format(new Date())); draft.setCreateTime(df.format(new Date()));
xzSecurityQualityInspectionRecordDraft.setChangeLimitTime(DateUtil.formatDateTime(DateUtil.parse(xzSecurityQualityInspectionRecordDraft.getChangeLimitTime()))); draft.setChangeLimitTime(DateUtil.formatDateTime(DateUtil.parse(draft.getChangeLimitTime())));
String enterpriseSn = xzSecurityQualityInspectionRecordDraft.getEnterpriseSn(); String enterpriseSn = draft.getEnterpriseSn();
if (StrUtil.isNotBlank(enterpriseSn)) { if (StrUtil.isNotBlank(enterpriseSn)) {
EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper<EnterpriseInfo>() EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper<EnterpriseInfo>()
.eq(EnterpriseInfo::getEnterpriseSn, enterpriseSn)); .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.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo; 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.call.SanjiangDataCall;
import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.enums.ParamEnum; 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.Notice;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; 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.IDictionaryItemService;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl; import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl;
@ -133,6 +136,12 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
@Lazy @Lazy
@Autowired @Autowired
IEnterpriseInfoService enterpriseInfoService; IEnterpriseInfoService enterpriseInfoService;
@Lazy
@Autowired
ICompanyService companyService;
@Lazy
@Autowired
IXzSecurityDangerTypeRecordService xzSecurityDangerTypeRecordService;
@Autowired @Autowired
private QualityRegionMapper qualityRegionMapper; private QualityRegionMapper qualityRegionMapper;
@Autowired @Autowired
@ -214,6 +223,9 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
return null; return null;
} }
setProblemDescription(vo); setProblemDescription(vo);
ArrayList<XzSecurityQualityInspectionRecordVo> list = new ArrayList<>();
list.add(vo);
setDetail(vo.getProjectSn(), list);
return vo; return vo;
} }
@ -245,6 +257,21 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
} }
Page<XzSecurityQualityInspectionRecordVo> page = new Page<>(pageNo, pageSize); Page<XzSecurityQualityInspectionRecordVo> page = new Page<>(pageNo, pageSize);
List<XzSecurityQualityInspectionRecordVo> list = xzSecurityQualityInspectionRecordMapper.selectQualityInspectionRecordPage(page, map); 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()); List<EntityMap> enterpriseInfoList = enterpriseInfoService.getEnterpriseInfoList(new MapBuilder<String, Object>().put("projectSn", projectSn).build());
if (CollUtil.isNotEmpty(list)) { if (CollUtil.isNotEmpty(list)) {
List<Long> rids = list.stream().map(XzSecurityQualityInspectionRecord::getId).collect(Collectors.toList()); 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) { private XzSecurityQualityInspectionRecordTotalVo getXzSecurityQualityInspectionRecordTotalVo(Map<String, Object> map) {
@ -511,36 +533,44 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
private void saveBindData(XzSecurityQualityInspectionRecord record) { private void saveBindData(XzSecurityQualityInspectionRecord record) {
xzSecurityQualityInspectionEnterpriseService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionEnterprise>() xzSecurityQualityInspectionEnterpriseService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionEnterprise>()
.eq(XzSecurityQualityInspectionEnterprise::getInspectionId, record.getId())); .eq(XzSecurityQualityInspectionEnterprise::getInspectionId, record.getId()));
if (StrUtil.isNotBlank(record.getEnterpriseIds())) {
for (String eid : StrUtil.split(record.getEnterpriseIds(), ",")) { for (String eid : StrUtil.split(record.getEnterpriseIds(), ",")) {
XzSecurityQualityInspectionEnterprise obj = new XzSecurityQualityInspectionEnterprise(); XzSecurityQualityInspectionEnterprise obj = new XzSecurityQualityInspectionEnterprise();
obj.setInspectionId(record.getId()); obj.setInspectionId(record.getId());
obj.setEnterpriseId(Long.valueOf(eid)); obj.setEnterpriseId(Long.valueOf(eid));
xzSecurityQualityInspectionEnterpriseService.save(obj); xzSecurityQualityInspectionEnterpriseService.save(obj);
} }
}
xzSecurityQualityInspectionRegionService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionRegion>() xzSecurityQualityInspectionRegionService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionRegion>()
.eq(XzSecurityQualityInspectionRegion::getInspectionId, record.getId())); .eq(XzSecurityQualityInspectionRegion::getInspectionId, record.getId()));
if (StrUtil.isNotBlank(record.getRegionIds())) {
for (String rid : StrUtil.split(record.getRegionIds(), ",")) { for (String rid : StrUtil.split(record.getRegionIds(), ",")) {
XzSecurityQualityInspectionRegion obj = new XzSecurityQualityInspectionRegion(); XzSecurityQualityInspectionRegion obj = new XzSecurityQualityInspectionRegion();
obj.setInspectionId(record.getId()); obj.setInspectionId(record.getId());
obj.setRegionId(Long.valueOf(rid)); obj.setRegionId(Long.valueOf(rid));
xzSecurityQualityInspectionRegionService.save(obj); xzSecurityQualityInspectionRegionService.save(obj);
} }
}
xzSecurityQualityInspectionReviewService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionReview>() xzSecurityQualityInspectionReviewService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionReview>()
.eq(XzSecurityQualityInspectionReview::getInspectionId, record.getId())); .eq(XzSecurityQualityInspectionReview::getInspectionId, record.getId()));
if (StrUtil.isNotBlank(record.getReviewIds())) {
for (String rid : StrUtil.split(record.getReviewIds(), ",")) { for (String rid : StrUtil.split(record.getReviewIds(), ",")) {
XzSecurityQualityInspectionReview obj = new XzSecurityQualityInspectionReview(); XzSecurityQualityInspectionReview obj = new XzSecurityQualityInspectionReview();
obj.setInspectionId(record.getId()); obj.setInspectionId(record.getId());
obj.setReviewId(Long.valueOf(rid)); obj.setReviewId(Long.valueOf(rid));
xzSecurityQualityInspectionReviewService.save(obj); xzSecurityQualityInspectionReviewService.save(obj);
} }
}
xzSecurityQualityInspectionVerifyService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionVerify>() xzSecurityQualityInspectionVerifyService.remove(new LambdaQueryWrapper<XzSecurityQualityInspectionVerify>()
.eq(XzSecurityQualityInspectionVerify::getInspectionId, record.getId())); .eq(XzSecurityQualityInspectionVerify::getInspectionId, record.getId()));
if (StrUtil.isNotBlank(record.getVerifyManIds())) {
for (String vid : StrUtil.split(record.getVerifyManIds(), ",")) { for (String vid : StrUtil.split(record.getVerifyManIds(), ",")) {
XzSecurityQualityInspectionVerify obj = new XzSecurityQualityInspectionVerify(); XzSecurityQualityInspectionVerify obj = new XzSecurityQualityInspectionVerify();
obj.setInspectionId(record.getId()); obj.setInspectionId(record.getId());
obj.setVerifyId(Long.valueOf(vid)); obj.setVerifyId(Long.valueOf(vid));
xzSecurityQualityInspectionVerifyService.save(obj); xzSecurityQualityInspectionVerifyService.save(obj);
} }
}
} }
@ -1091,9 +1121,10 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
String enterpriseSns = record.getEnterpriseSns(); String enterpriseSns = record.getEnterpriseSns();
if (StrUtil.isNotBlank(enterpriseSns)) { if (StrUtil.isNotBlank(enterpriseSns)) {
List<EnterpriseInfo> enterpriseInfos = enterpriseInfoMapper.selectList(new LambdaQueryWrapper<EnterpriseInfo>() 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(","))); record.setEnterpriseIds(enterpriseInfos.stream().map(enterpriseInfo -> enterpriseInfo.getId() + "").collect(Collectors.joining(",")));
} }
saveBindData(record);
xzSecurityQualityInspectionRecordMapper.insert(record); xzSecurityQualityInspectionRecordMapper.insert(record);
Long userId = SecurityUtils.getUser().getUserId(); Long userId = SecurityUtils.getUser().getUserId();
XzSecurityQualityRectifyRecord zg = new XzSecurityQualityRectifyRecord(); XzSecurityQualityRectifyRecord zg = new XzSecurityQualityRectifyRecord();
@ -1152,17 +1183,37 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
} }
@Override @Override
public List<TrendVo> countPriorityNameDicByMonth(Map<String, Object> map) { public ChartDataVo countPriorityNameDicByMonth(Map<String, Object> map) {
String projectSn = MapUtils.getString(map, "projectSn"); 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) 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()); .stream().map(dateTime -> DateUtil.format(dateTime, "yyyy-MM")).collect(Collectors.toList());
List<TrendOneVo> list = baseMapper.countPriorityNameDicByMonth(map); ChartDataVo chartDataVo = new ChartDataVo();
List<TrendVo> l = dictionaryItemService.getDictList(DictionaryConstant.XZ_SECURITY_DANGER_ITEM_RECORD_PRIORITY_NAME_DIC, projectSn).stream() chartDataVo.setX(dateTimeStrList);
.map(item -> { List<ChartItemBo> all = baseMapper.countPriorityNameDicByMonth(map);
return new TrendVo(item.getName(), item.getData()); 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()); }).collect(Collectors.toList());
return TrendVo.getTrendVos(l, list, dateTimeStrList, format); chartDataVo.setSeries(seriesItems);
return chartDataVo;
} }
@Override @Override
@ -1176,6 +1227,108 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
return vos; 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) { private void recoverScore(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) {
if (hiddenDangerInspectRecord.getRecordType() == null || Objects.equals(hiddenDangerInspectRecord.getRecordType(), XzSecurityQualityInspectionRecordRecordTypeEnum.RECORD.getValue())) { if (hiddenDangerInspectRecord.getRecordType() == null || Objects.equals(hiddenDangerInspectRecord.getRecordType(), XzSecurityQualityInspectionRecordRecordTypeEnum.RECORD.getValue())) {
return; return;

View File

@ -122,14 +122,21 @@ public class XzSecurityQualityRectifyRecordServiceImpl extends ServiceImpl<XzSec
List<XzSecurityQualityRectifyRecord> records = xzSecurityQualityRectifyRecordMapper.selectRectifyRecordList(map); List<XzSecurityQualityRectifyRecord> records = xzSecurityQualityRectifyRecordMapper.selectRectifyRecordList(map);
if (CollUtil.isNotEmpty(records)) { if (CollUtil.isNotEmpty(records)) {
XzSecurityQualityRectifyRecord begin = records.get(0); 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))); 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); begin.setOverTime(isOverTime);
}
if (records.size() > 1) { if (records.size() > 1) {
for (int i = 1; i < records.size(); i++) { for (int i = 1; i < records.size(); i++) {
XzSecurityQualityRectifyRecord record = records.get(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); long betweenSecond = DateUtil.between(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(records.get(i - 1).getRectifyTime()), DateUnit.SECOND);
record.setTakeTime(TimeUtil.toDayHourMinSecond(betweenSecond)); record.setTakeTime(TimeUtil.toDayHourMinSecond(betweenSecond));
}
if (!isOverTime) { if (!isOverTime) {
isOverTime = DateUtil.compare(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0; isOverTime = DateUtil.compare(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0;
record.setOverTime(isOverTime); record.setOverTime(isOverTime);

View File

@ -423,6 +423,7 @@ public class HikvisionTask {
.put(Cts.PROJECT_SN, project.getProjectSn()) .put(Cts.PROJECT_SN, project.getProjectSn())
.put(type == 1, Cts.TEAM_ID, orgIndex) .put(type == 1, Cts.TEAM_ID, orgIndex)
.put(type == 2, Cts.DEPARTMENT_ID, orgIndex) .put(type == 2, Cts.DEPARTMENT_ID, orgIndex)
.put(Cts.PAGE_SIZE, -1)
.build()); .build());
List<WorkerInfo> workerInfoList = workerPage.getRecords(); List<WorkerInfo> workerInfoList = workerPage.getRecords();
log.info("数据校验我们平台的人员列表:{}", JSON.toJSONString(workerInfoList)); log.info("数据校验我们平台的人员列表:{}", JSON.toJSONString(workerInfoList));