This commit is contained in:
zzz
2025-12-16 14:59:45 +08:00
parent de6d100f79
commit 76595c1510
4 changed files with 67 additions and 11 deletions

View File

@ -4,6 +4,7 @@ package org.dromara.bigscreen.domain.bo;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
@Data
public class DpznglBo implements Serializable {
@ -25,4 +26,16 @@ public class DpznglBo implements Serializable {
private Long projectId;
/**
* 开始时间
*/
private LocalDate startDate;
/**
* 结束时间
*/
private LocalDate endDate;
}

View File

@ -28,4 +28,10 @@ public class DpznglAqyVo implements Serializable {
private BigDecimal locLongitude;
/**
* 是否在岗
*/
private String sfzg ;
}

View File

@ -6,6 +6,8 @@ public enum DpEnum {
ZLGLLX_DQJC("定期检查", "2"),
ZLGLLX_RCXJ("日常巡检", "3"),
ZLGDZT_ZG("工单状态-整改", "2"),
RYZT_ZG("人员状态-在岗", "1"),
RYZT_LG("工单状态-离岗", "0"),
JSLX_AQY("角色类型-安全员", "SAFETY_OFFICER");

View File

@ -8,13 +8,18 @@ import org.dromara.bigscreen.domain.vo.DpznglAqyVo;
import org.dromara.bigscreen.domain.vo.DpznglVo;
import org.dromara.bigscreen.enums.DpEnum;
import org.dromara.bigscreen.service.DpzaglService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.domain.GeoPoint;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.utils.JSTUtil;
import org.dromara.gps.domain.GpsEquipmentSon;
import org.dromara.gps.mapper.GpsEquipmentSonMapper;
import org.dromara.gps.service.IGpsEquipmentSonService;
import org.dromara.project.domain.BusProjectPunchrange;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.mapper.BusUserProjectRelevancyMapper;
import org.dromara.project.service.IBusProjectPunchrangeService;
import org.dromara.quality.domain.QltQualityInspection;
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionQueryReq;
import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionVo;
@ -66,6 +71,8 @@ public class DpzaglServiceImpl implements DpzaglService {
private final GpsEquipmentSonMapper gpsEquipmentSonMapper;
private final IBusProjectPunchrangeService busProjectPunchrangeService;
private final BusUserProjectRelevancyMapper busUserProjectRelevancyMapper;
@ -75,9 +82,9 @@ public class DpzaglServiceImpl implements DpzaglService {
DpznglVo dpznglVo = new DpznglVo();
PageQuery pageQuery = new PageQuery(bo.getPageSize(),bo.getPageNum());
// 质量
saveZl(pageQuery,dpznglVo);
saveZl(pageQuery,dpznglVo,bo);
// 安全
saveAq(pageQuery,dpznglVo);
saveAq(pageQuery,dpznglVo,bo);
return dpznglVo;
@ -123,11 +130,36 @@ public class DpzaglServiceImpl implements DpzaglService {
return dpznglAqyVo;
}).collect(Collectors.toList());
// 判断是否离岗
judgeFw(dpznglAqyVos,bo.getProjectId());
}
return dpznglAqyVos;
}
private void judgeFw(List<DpznglAqyVo> dpznglAqyVos, Long projectId) {
// 获取该项目的打卡范围
List<BusProjectPunchrange> busProjectPunchranges = busProjectPunchrangeService.getBaseMapper().selectList(new LambdaQueryWrapper<BusProjectPunchrange>().eq(BusProjectPunchrange::getProjectId, projectId));
if (busProjectPunchranges == null || busProjectPunchranges.size() == 0){
return;
}
for (DpznglAqyVo dpznglAqyVo : dpznglAqyVos) {
dpznglAqyVo.setSfzg(DpEnum.RYZT_LG.getTypeValue());
for (BusProjectPunchrange busProjectPunchrange : busProjectPunchranges) {
List<String> coordinates = List.of(busProjectPunchrange.getPunchRange());
List<GeoPoint> matchingRange = JSTUtil.findMatchingRange(dpznglAqyVo.getLocLatitude().toString(), dpznglAqyVo.getLocLongitude().toString(), coordinates);
if (matchingRange != null && matchingRange.size() > 0){
dpznglAqyVo.setSfzg(DpEnum.RYZT_ZG.getTypeValue());
}
}
}
}
@Override
public DpznglVo listByzbh(DpznglBo bo) {
DpznglVo dpznglVo = new DpznglVo();
@ -140,7 +172,7 @@ public class DpzaglServiceImpl implements DpzaglService {
}
private void saveAq(PageQuery pageQuery, DpznglVo dpznglVo) {
private void saveAq(PageQuery pageQuery, DpznglVo dpznglVo,DpznglBo bo) {
// 安全 巡检工单,整改情况
HseSafetyInspectionQueryReq req = new HseSafetyInspectionQueryReq();
@ -169,23 +201,26 @@ public class DpzaglServiceImpl implements DpzaglService {
}
private void saveZl(PageQuery pageQuery,DpznglVo dpznglVo) {
private void saveZl(PageQuery pageQuery,DpznglVo dpznglVo,DpznglBo bo) {
// 质量 巡检工单,整改情况
QltQualityInspectionQueryReq req = new QltQualityInspectionQueryReq();
// 质量展示数据
TableDataInfo<QltQualityInspectionVo> zlLists = qualityInspectionService.queryPageList(req, pageQuery);
//// 质量展示数据
// TableDataInfo<QltQualityInspectionVo> zlLists = qualityInspectionService.queryPageList(req, pageQuery);
// 质量展示数据-整改
req.setInspectionStatus(DpEnum.ZLGDZT_ZG.getTypeValue());
TableDataInfo<QltQualityInspectionVo> zlZgLists = qualityInspectionService.queryPageList(req, pageQuery);
// 质量总数(用于判断巡检类型)
List<QltQualityInspection> zsZl = qualityInspectionService.list();
List<QltQualityInspection> zsZl = qualityInspectionService.getBaseMapper()
.selectList(new LambdaQueryWrapper<QltQualityInspection>()
.eq(QltQualityInspection::getInspectionType,DpEnum.ZLGDZT_ZG.getTypeValue()));
List<QltQualityInspectionVo> rows = zlLists.getRows();
if (rows != null && rows.size() > 0){
dpznglVo.setZlZS(zlLists.getTotal());
dpznglVo.setZlList(rows);
// List<QltQualityInspectionVo> rows = zlLists.getRows();
if (zsZl != null && zsZl.size() > 0){
dpznglVo.setZlZS(Long.valueOf(zsZl.size()));
dpznglVo.setZlList(MapstructUtils.convert(zsZl, QltQualityInspectionVo.class));
dpznglVo.setZxjcZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_ZXGL.getTypeValue().equals(zl.getInspectionType())).count());
dpznglVo.setDqjcZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_DQJC.getTypeValue().equals(zl.getInspectionType())).count());
dpznglVo.setRcxjZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_RCXJ.getTypeValue().equals(zl.getInspectionType())).count());