大屏、产值
This commit is contained in:
@ -326,7 +326,7 @@ ys7:
|
||||
app-key: 3acf9f1a43dc4209841e0893003db0a2
|
||||
app-secret: 09e29c70ae1161fbc3ce2030fc09ba2e
|
||||
job:
|
||||
capture-enabled: true # 控制是否启用萤石抓拍任务
|
||||
capture-enabled: false # 控制是否启用萤石抓拍任务
|
||||
device-sync-enabled: true # 控制是否同步萤石设备
|
||||
# 斯巴达算法
|
||||
sparta:
|
||||
|
||||
@ -186,14 +186,6 @@ public class ProjectBigScreenController extends BaseController {
|
||||
@GetMapping("/news/{projectId}")
|
||||
public R<List<BusProjectNewsVo>> getProjectNews(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
// List<BusCorporateEvents> busCorporateEvents = projectBigScreenMapper.getBusCorporateEvents();
|
||||
// return R.ok(busCorporateEvents.stream().map(event -> {
|
||||
// BusProjectNewsVo vo = new BusProjectNewsVo();
|
||||
// vo.setId(event.getId());
|
||||
// vo.setTitle(event.getHeadline());
|
||||
// vo.setContent(event.getContent());
|
||||
// return vo;
|
||||
// }).toList());
|
||||
return R.ok(projectBigScreenService.getProjectNews(projectId));
|
||||
}
|
||||
|
||||
@ -204,23 +196,6 @@ public class ProjectBigScreenController extends BaseController {
|
||||
@GetMapping("/safetyInspection/{projectId}")
|
||||
public R<List<ProjectSafetyInspectionVo>> getProjectSafetyInspection(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
/* BusProject project = projectService.getById(projectId);
|
||||
projectId = project.getGoId();
|
||||
String pic;
|
||||
if (projectId == 60) {
|
||||
pic = "http://xny.yj-3d.com:7464";
|
||||
} else {
|
||||
pic = "http://xny.yj-3d.com:7363";
|
||||
}
|
||||
List<BusTour> busTours = projectBigScreenMapper.selectTourByProjectId(projectId);
|
||||
return R.ok(busTours.stream().map(tour -> {
|
||||
ProjectSafetyInspectionVo vo = new ProjectSafetyInspectionVo();
|
||||
vo.setId(tour.getId());
|
||||
vo.setViolationType(tour.getTourType());
|
||||
vo.setPicture(pic + tour.getPicture());
|
||||
vo.setCreateTime(tour.getCreatedAt());
|
||||
return vo;
|
||||
}).toList());*/
|
||||
return R.ok(projectBigScreenService.getProjectSafetyInspection(projectId));
|
||||
}
|
||||
|
||||
@ -231,51 +206,6 @@ public class ProjectBigScreenController extends BaseController {
|
||||
@GetMapping("/people/{projectId}")
|
||||
public R<ProjectPeopleVo> getProjectPeople(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
// BusProject project = projectService.getById(projectId);
|
||||
// projectId = project.getGoId();
|
||||
// Integer projectUserCount = projectBigScreenMapper.getProjectUserCount(projectId);
|
||||
// ProjectPeopleVo vo = new ProjectPeopleVo();
|
||||
// vo.setPeopleCount(BigDecimal.valueOf(projectUserCount));
|
||||
// Integer attendanceCount = projectBigScreenMapper.getAttendanceCount(projectId, DateUtils.getDate());
|
||||
// vo.setAttendanceCount(BigDecimal.valueOf(attendanceCount));
|
||||
// vo.setAttendanceRate(BigDecimalUtil.toPercentage(BigDecimal.valueOf(attendanceCount), BigDecimal.valueOf(projectUserCount)));
|
||||
// List<BusConstructionUser> projectUserList = projectBigScreenMapper.getProjectUserList(projectId);
|
||||
// List<BusProjectTeamByGo> teamList = projectBigScreenMapper.getTeamList(projectId);
|
||||
//
|
||||
// List<ProjectTeamAttendanceVo> teamAttendanceList = new ArrayList<>();
|
||||
// String punchRange = project.getPunchRange();
|
||||
// String punchTime = "";
|
||||
// if (punchRange != null) {
|
||||
// String start = punchRange.split(",")[0];
|
||||
// punchTime = LocalDate.now() + " " + start;
|
||||
// }
|
||||
// if (projectUserList != null && teamList != null) {
|
||||
// projectUserList = projectUserList.stream().filter(user -> user.getTeamId() != null).toList();
|
||||
// Map<Long, List<BusConstructionUser>> userMap = projectUserList.stream()
|
||||
// .collect(Collectors.groupingBy(BusConstructionUser::getTeamId));
|
||||
// for (BusProjectTeamByGo team : teamList) {
|
||||
// ProjectTeamAttendanceVo vo1 = new ProjectTeamAttendanceVo();
|
||||
// vo1.setId(team.getId());
|
||||
// vo1.setTeamName(team.getName());
|
||||
// vo1.setAttendanceTime(punchTime);
|
||||
// vo1.setAttendanceNumber(BigDecimal.ZERO);
|
||||
// List<BusConstructionUser> userList = userMap.get(team.getId());
|
||||
// if (CollUtil.isNotEmpty(userList)) {
|
||||
// List<String> list = userList.stream().map(BusConstructionUser::getOpenid).distinct().toList();
|
||||
// Integer aCount = projectBigScreenMapper.getAttendanceCountByOpenIds(list, LocalDate.now());
|
||||
// vo1.setAttendanceNumber(BigDecimal.valueOf(aCount));
|
||||
// }
|
||||
// vo1.setAllNumber(BigDecimal.valueOf(userMap.getOrDefault(team.getId(), List.of()).size()));
|
||||
// if (vo1.getAttendanceNumber() != null && vo1.getAllNumber() != null && vo1.getAllNumber().compareTo(BigDecimal.ZERO) != 0) {
|
||||
// vo1.setAttendanceRate(BigDecimalUtil.toPercentage(vo1.getAttendanceNumber(), vo1.getAllNumber()));
|
||||
// } else {
|
||||
// vo1.setAttendanceRate(BigDecimal.ZERO);
|
||||
// }
|
||||
// teamAttendanceList.add(vo1);
|
||||
// }
|
||||
// }
|
||||
// vo.setTeamAttendanceList(teamAttendanceList);
|
||||
// return R.ok(vo);
|
||||
return R.ok(projectBigScreenService.getProjectPeople(projectId));
|
||||
}
|
||||
|
||||
@ -296,18 +226,7 @@ public class ProjectBigScreenController extends BaseController {
|
||||
@GetMapping("/generalize/{projectId}")
|
||||
public R<String> getProjectGeneralize(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
// BusProject project = projectService.getById(projectId);
|
||||
// if (project != null) {
|
||||
// Long goId = project.getGoId();
|
||||
// if (goId != null) {
|
||||
// List<SysProjectIntroduce> sysProjectIntroduces = projectBigScreenMapper.selectByProjectId(goId);
|
||||
// if (CollUtil.isNotEmpty(sysProjectIntroduces)) {
|
||||
// return R.ok(sysProjectIntroduces.getFirst().getRichText());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
return R.ok(projectBigScreenService.getProjectGeneralize(projectId));
|
||||
// return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -347,11 +266,11 @@ public class ProjectBigScreenController extends BaseController {
|
||||
if (count > 0) {
|
||||
throw new ServiceException("已存在同名萤石摄像头", HttpStatus.CONFLICT);
|
||||
}
|
||||
// todo 更新云端名称
|
||||
/* Boolean result = ys7Manager.updateDeviceName(one.getDeviceSerial(), deviceName);
|
||||
// 更新云端名称
|
||||
Boolean result = ys7Manager.updateDeviceName(one.getDeviceSerial(), deviceName);
|
||||
if (!result) {
|
||||
throw new ServiceException("更新云端萤石摄像头名称异常", HttpStatus.ERROR);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
return toAjax(othYs7DeviceService.updateById(ys7Device));
|
||||
}
|
||||
@ -409,7 +328,7 @@ public class ProjectBigScreenController extends BaseController {
|
||||
@SaCheckPermission("project:big:screen")
|
||||
@PostMapping("/updatePosition")
|
||||
public R<Void> updatePosition(@RequestBody ProjectUpdateDto dto) {
|
||||
return toAjax(projectService.updatePosition(dto));
|
||||
return toAjax(projectService.updatePosition(dto));
|
||||
}
|
||||
|
||||
|
||||
@ -437,7 +356,7 @@ public class ProjectBigScreenController extends BaseController {
|
||||
*/
|
||||
// @SaCheckPermission("project:big:screen")
|
||||
@GetMapping("/setWrjHc")
|
||||
public void setWrjHc(){
|
||||
public void setWrjHc() {
|
||||
projectBigScreenService.setWrjHc();
|
||||
}
|
||||
|
||||
@ -446,7 +365,7 @@ public class ProjectBigScreenController extends BaseController {
|
||||
*/
|
||||
// @SaCheckPermission("project:big:screen")
|
||||
@GetMapping("/getInfoData")
|
||||
public R<Map<String, Map<String, Object>>> getInfoData(TanchuangInfoReq req){
|
||||
public R<Map<String, Map<String, Object>>> getInfoData(TanchuangInfoReq req) {
|
||||
return R.ok(projectBigScreenService.getInfoData(req));
|
||||
}
|
||||
|
||||
|
||||
@ -25,4 +25,19 @@ public class OutConstructionAllValueVo implements Serializable {
|
||||
* 对甲产值
|
||||
*/
|
||||
private BigDecimal ownerValue;
|
||||
|
||||
/**
|
||||
* 人工填报数量
|
||||
*/
|
||||
private BigDecimal artificialNum;
|
||||
|
||||
/**
|
||||
* 无人机识别数量
|
||||
*/
|
||||
private BigDecimal uavNum;
|
||||
|
||||
/**
|
||||
* 确认数量
|
||||
*/
|
||||
private BigDecimal confirmNum;
|
||||
}
|
||||
|
||||
@ -171,4 +171,9 @@ public class OutConstructionValueVo implements Serializable {
|
||||
* 工作类型
|
||||
*/
|
||||
private String workType;
|
||||
|
||||
/**
|
||||
* 计量方式(0无 1数量 2百分比)
|
||||
*/
|
||||
private String unitType;
|
||||
}
|
||||
|
||||
@ -275,6 +275,27 @@ public class OutConstructionValueServiceImpl extends ServiceImpl<OutConstruction
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)
|
||||
.setScale(4, RoundingMode.HALF_UP);
|
||||
vo.setOwnerValue(ownerValue);
|
||||
// 统计确认数量
|
||||
BigDecimal confirmNum = list.stream()
|
||||
.map(OutConstructionValueVo::getConfirmNum)
|
||||
.filter(Objects::nonNull)
|
||||
.map(BigDecimal::valueOf) // 转换成 BigDecimal
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
vo.setConfirmNum(confirmNum);
|
||||
// 统计人工填报数量
|
||||
BigDecimal artificialNum = list.stream()
|
||||
.map(OutConstructionValueVo::getArtificialNum)
|
||||
.filter(Objects::nonNull)
|
||||
.map(BigDecimal::valueOf) // 转换成 BigDecimal
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
vo.setArtificialNum(artificialNum);
|
||||
// 统计无人机识别数量
|
||||
BigDecimal uavNum = list.stream()
|
||||
.map(OutConstructionValueVo::getUavNum)
|
||||
.filter(Objects::nonNull)
|
||||
.map(BigDecimal::valueOf) // 转换成 BigDecimal
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
vo.setUavNum(uavNum);
|
||||
return vo;
|
||||
}
|
||||
|
||||
@ -335,6 +356,7 @@ public class OutConstructionValueServiceImpl extends ServiceImpl<OutConstruction
|
||||
PgsProgressCategoryVo pgsProgressCategoryVo = pgsProgressCategoryService.queryById(vo.getProgressCategoryId());
|
||||
vo.setProgressCategoryName(pgsProgressCategoryVo.getName());
|
||||
vo.setWorkType(pgsProgressCategoryVo.getWorkType());
|
||||
vo.setUnitType(pgsProgressCategoryVo.getUnitType());
|
||||
PgsProgressCategoryVo pgsProgressCategoryVo1 = pgsProgressCategoryService.queryById(pgsProgressCategoryVo.getParentId());
|
||||
vo.setCategoryId(pgsProgressCategoryVo1.getId());
|
||||
vo.setCategoryName(pgsProgressCategoryVo1.getName());
|
||||
|
||||
@ -3,6 +3,8 @@ package org.dromara.quality.domain.vo.qualityinspection;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@ -23,6 +25,12 @@ public class QltQualityInspectionGis {
|
||||
/**
|
||||
* 巡检类型
|
||||
*/
|
||||
private String inspectionType;
|
||||
|
||||
/**
|
||||
* 巡检类型名称
|
||||
*/
|
||||
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "inspectionType", other = "quality_inspection_check_type")
|
||||
private String inspectionTypeLabel;
|
||||
|
||||
/**
|
||||
|
||||
@ -27,7 +27,12 @@ public class QltQualityInspectionListGisVo implements Serializable {
|
||||
private Long count;
|
||||
|
||||
/**
|
||||
* 巡检情况
|
||||
* 整改列表
|
||||
*/
|
||||
private List<QltQualityInspectionGis> correctList;
|
||||
|
||||
/**
|
||||
* 整改总数
|
||||
*/
|
||||
private Long correctSituation;
|
||||
|
||||
|
||||
@ -36,10 +36,8 @@ import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionListG
|
||||
import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionVo;
|
||||
import org.dromara.quality.mapper.QltQualityInspectionMapper;
|
||||
import org.dromara.quality.service.IQltQualityInspectionService;
|
||||
import org.dromara.system.domain.vo.SysDictDataVo;
|
||||
import org.dromara.system.domain.vo.SysOssVo;
|
||||
import org.dromara.system.service.ISysDictDataService;
|
||||
import org.dromara.system.service.ISysDictTypeService;
|
||||
import org.dromara.system.service.ISysOssService;
|
||||
import org.dromara.system.service.ISysUserService;
|
||||
import org.dromara.websocket.ChatServerHandler;
|
||||
@ -83,9 +81,6 @@ public class QltQualityInspectionServiceImpl extends ServiceImpl<QltQualityInspe
|
||||
@Resource
|
||||
private ISysDictDataService dictDataService;
|
||||
|
||||
@Resource
|
||||
private ISysDictTypeService dictTypeService;
|
||||
|
||||
@Resource
|
||||
private ChatServerHandler chatServerHandler;
|
||||
|
||||
@ -148,39 +143,33 @@ public class QltQualityInspectionServiceImpl extends ServiceImpl<QltQualityInspe
|
||||
if (CollUtil.isEmpty(qualityInspectionList)) {
|
||||
return gisVo;
|
||||
}
|
||||
// 获取字典值
|
||||
List<SysDictDataVo> dictDataVoList = dictTypeService.selectDictDataByType(QltQualityConstant.QUALITY_INSPECTION_CHECK_TYPE);
|
||||
Map<String, String> dictDataMap = dictDataVoList.stream().collect(Collectors.toMap(SysDictDataVo::getDictValue, SysDictDataVo::getDictLabel));
|
||||
// 获取最新的检查工单
|
||||
List<QltQualityInspection> topList = qualityInspectionList.stream()
|
||||
.sorted(Comparator.comparing(QltQualityInspection::getCreateTime).reversed())
|
||||
.limit(Optional.ofNullable(req.getPageSize()).orElse(20))
|
||||
.toList();
|
||||
// 转换为 GIS 对象,并设置标签
|
||||
List<QltQualityInspectionGis> gisList = topList.stream().map(qualityInspection -> {
|
||||
QltQualityInspectionGis gis = new QltQualityInspectionGis();
|
||||
BeanUtils.copyProperties(qualityInspection, gis);
|
||||
String label = dictDataMap.get(qualityInspection.getInspectionType());
|
||||
if (label != null) {
|
||||
gis.setInspectionTypeLabel(label);
|
||||
}
|
||||
return gis;
|
||||
}).toList();
|
||||
// 获取整改情况
|
||||
long passCount = 0L;
|
||||
for (QltQualityInspection qualityInspection : qualityInspectionList) {
|
||||
if ("1".equals(qualityInspection.getIsReply())) {
|
||||
if (!qualityInspection.getInspectionStatus().equals(QltQualityInspectionStatusEnum.INFORM.getValue())) {
|
||||
passCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
gisVo.setList(gisList);
|
||||
gisVo.setCount((long) qualityInspectionList.stream()
|
||||
// 获取巡检情况
|
||||
List<QltQualityInspectionGis> list = qualityInspectionList.stream()
|
||||
.filter(q -> "2".equals(q.getIsReply()))
|
||||
.toList()
|
||||
.size());
|
||||
gisVo.setCorrectSituation(passCount);
|
||||
.toList().stream().map(q -> {
|
||||
QltQualityInspectionGis gis = new QltQualityInspectionGis();
|
||||
BeanUtils.copyProperties(q, gis);
|
||||
return gis;
|
||||
}).toList();
|
||||
gisVo.setList(list.stream()
|
||||
.sorted(Comparator.comparing(QltQualityInspectionGis::getCreateTime).reversed())
|
||||
.limit(Optional.ofNullable(req.getPageSize()).orElse(20))
|
||||
.toList());
|
||||
gisVo.setCount((long) list.size());
|
||||
// 获取整改情况
|
||||
List<QltQualityInspectionGis> correctList = qualityInspectionList.stream()
|
||||
.filter(q -> "1".equals(q.getIsReply()))
|
||||
.filter(q -> !q.getInspectionStatus().equals(QltQualityInspectionStatusEnum.INFORM.getValue()))
|
||||
.toList().stream().map(q -> {
|
||||
QltQualityInspectionGis gis = new QltQualityInspectionGis();
|
||||
BeanUtils.copyProperties(q, gis);
|
||||
return gis;
|
||||
}).toList();
|
||||
gisVo.setCorrectSituation((long) correctList.size());
|
||||
gisVo.setCorrectList(correctList.stream()
|
||||
.sorted(Comparator.comparing(QltQualityInspectionGis::getCreateTime).reversed())
|
||||
.limit(Optional.ofNullable(req.getPageSize()).orElse(20))
|
||||
.toList());
|
||||
// gisVo.setCorrectSituation(String.format("%.2f", passCount * 100.0 / qualityInspectionList.size()));
|
||||
return gisVo;
|
||||
}
|
||||
|
||||
@ -3,7 +3,6 @@ package org.dromara.safety.controller;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
@ -74,7 +73,7 @@ public class HseRecognizeRecordController extends BaseController {
|
||||
@SaCheckPermission("safety:recognizeRecord:remove")
|
||||
@Log(title = "识别记录", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{id}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
public R<Void> remove(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return toAjax(recognizeRecordService.deleteById(id));
|
||||
}
|
||||
|
||||
@ -0,0 +1,53 @@
|
||||
package org.dromara.safety.domain.vo.safetyinspection;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lilemy
|
||||
* @date 2025-10-17 09:26
|
||||
*/
|
||||
@Data
|
||||
public class HseSafetyInspectionGis implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 3098473090533804934L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 检查类型
|
||||
*/
|
||||
private String checkType;
|
||||
|
||||
/**
|
||||
* 检查项目
|
||||
*/
|
||||
private String checkProject;
|
||||
|
||||
/**
|
||||
* 违章类型
|
||||
*/
|
||||
private String violationType;
|
||||
|
||||
/**
|
||||
* 巡检结果
|
||||
*/
|
||||
private String inspectionResult;
|
||||
|
||||
/**
|
||||
* 工单状态(1通知 2整改 3复查)
|
||||
*/
|
||||
private String status;
|
||||
|
||||
}
|
||||
@ -27,11 +27,21 @@ public class HseSafetyInspectionListGisVo implements Serializable {
|
||||
*/
|
||||
private Long teamMeetingCount;
|
||||
|
||||
/**
|
||||
* 安全巡检列表
|
||||
*/
|
||||
private List<HseSafetyInspectionGis> safetyInspectionList;
|
||||
|
||||
/**
|
||||
* 安全巡检总数
|
||||
*/
|
||||
private Long safetyInspectionCount;
|
||||
|
||||
/**
|
||||
* 整改情况列表
|
||||
*/
|
||||
private List<HseSafetyInspectionGis> correctSituationList;
|
||||
|
||||
/**
|
||||
* 整改情况总数
|
||||
*/
|
||||
|
||||
@ -35,6 +35,7 @@ import org.dromara.safety.domain.HseSafetyInspection;
|
||||
import org.dromara.safety.domain.HseTeamMeeting;
|
||||
import org.dromara.safety.domain.dto.safetyinspection.*;
|
||||
import org.dromara.safety.domain.enums.HseSafetyInspectionStatusEnum;
|
||||
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionGis;
|
||||
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionListGisVo;
|
||||
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionVo;
|
||||
import org.dromara.safety.domain.vo.teammeeting.HseTeamMeetingGis;
|
||||
@ -229,11 +230,28 @@ public class HseSafetyInspectionServiceImpl extends ServiceImpl<HseSafetyInspect
|
||||
}
|
||||
}
|
||||
}
|
||||
List<HseSafetyInspection> passList = safetyInspectionList.stream()
|
||||
.filter(q -> "1".equals(q.getIsReply()))
|
||||
.filter(q -> !q.getStatus().equals(HseSafetyInspectionStatusEnum.INFORM.getValue()))
|
||||
.toList();
|
||||
List<HseSafetyInspectionGis> pass = passList.stream().map(s -> {
|
||||
HseSafetyInspectionGis gis = new HseSafetyInspectionGis();
|
||||
BeanUtils.copyProperties(s, gis);
|
||||
return gis;
|
||||
}).toList();
|
||||
gisVo.setTeamMeetingCount((long) teamMeetings.size());
|
||||
gisVo.setSafetyInspectionCount((long) safetyInspectionList.stream()
|
||||
List<HseSafetyInspectionGis> inspections = safetyInspectionList.stream()
|
||||
.filter(q -> "2".equals(q.getIsReply()))
|
||||
.toList().size());
|
||||
.toList()
|
||||
.stream().map(p -> {
|
||||
HseSafetyInspectionGis gis = new HseSafetyInspectionGis();
|
||||
BeanUtils.copyProperties(p, gis);
|
||||
return gis;
|
||||
}).toList();
|
||||
gisVo.setSafetyInspectionCount((long) inspections.size());
|
||||
gisVo.setSafetyInspectionList(inspections);
|
||||
gisVo.setCorrectSituationCount(passCount);
|
||||
gisVo.setCorrectSituationList(pass);
|
||||
gisVo.setCorrectSituation(String.format("%.2f", passCount * 100.0 / safetyInspectionList.size()));
|
||||
return gisVo;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user