危大
This commit is contained in:
@ -6,6 +6,8 @@ import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.dromara.safety.domain.vo.HseDangerArchiveCountVo;
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanCountVo;
|
||||
import org.dromara.safety.domain.vo.HseJsjdYuJkjcVo;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -113,4 +115,14 @@ public class HseDangerArchiveController extends BaseController {
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(hseDangerArchiveService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 统计
|
||||
*/
|
||||
@GetMapping("/count/{projectId}")
|
||||
public R<HseDangerArchiveCountVo> count(@PathVariable Long projectId) {
|
||||
return R.ok(hseDangerArchiveService.count(projectId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanCountVo;
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanFileVo;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
@ -112,4 +113,13 @@ public class HseSpecialPlanController extends BaseController {
|
||||
public R<HseSpecialPlanCountVo> count(@PathVariable Long projectId) {
|
||||
return R.ok(hseSpecialPlanService.count(projectId));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取档案
|
||||
*/
|
||||
@GetMapping("/getFile/{deId}")
|
||||
public R<HseSpecialPlanFileVo> getFile(@PathVariable Long deId) {
|
||||
return R.ok(hseSpecialPlanService.getFile(deId));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,43 @@
|
||||
package org.dromara.safety.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import org.dromara.safety.domain.HseDangerArchive;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
|
||||
/**
|
||||
* 危大工程档案视图对象 hse_danger_archive
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-12-06
|
||||
*/
|
||||
@Data
|
||||
public class HseDangerArchiveCountVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 总工程数
|
||||
*/
|
||||
private Integer total;
|
||||
|
||||
/**
|
||||
* 重大风险数
|
||||
*/
|
||||
private Long majorRisk;
|
||||
/**
|
||||
* 归档数
|
||||
*/
|
||||
private Integer archive;
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package org.dromara.safety.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 危大工程专项施工方案视图对象 hse_special_plan
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-12-06
|
||||
*/
|
||||
@Data
|
||||
public class HseSpecialPlanFileVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 专家结论附件路径
|
||||
*/
|
||||
private String expertFile;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package org.dromara.safety.service;
|
||||
|
||||
import org.dromara.safety.domain.vo.HseDangerArchiveCountVo;
|
||||
import org.dromara.safety.domain.vo.HseDangerArchiveVo;
|
||||
import org.dromara.safety.domain.bo.HseDangerArchiveBo;
|
||||
import org.dromara.safety.domain.HseDangerArchive;
|
||||
@ -9,6 +10,8 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.safety.domain.vo.HseJsjdYuJkjcVo;
|
||||
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@ -70,5 +73,11 @@ public interface IHseDangerArchiveService extends IService<HseDangerArchive>{
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
|
||||
/**
|
||||
* 统计
|
||||
*/
|
||||
HseDangerArchiveCountVo count( Long projectId);
|
||||
|
||||
HseJsjdYuJkjcVo getJsjdYGcjk(Long id);
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package org.dromara.safety.service;
|
||||
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanCountVo;
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanFileVo;
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanVo;
|
||||
import org.dromara.safety.domain.bo.HseSpecialPlanBo;
|
||||
import org.dromara.safety.domain.HseSpecialPlan;
|
||||
@ -75,4 +76,10 @@ public interface IHseSpecialPlanService extends IService<HseSpecialPlan>{
|
||||
* 统计
|
||||
*/
|
||||
HseSpecialPlanCountVo count(Long projectId);
|
||||
|
||||
/**
|
||||
* 获取档案
|
||||
*/
|
||||
HseSpecialPlanFileVo getFile(Long deId);
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
package org.dromara.safety.service.impl;
|
||||
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@ -9,6 +12,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.safety.domain.HseDangerousEngineering;
|
||||
import org.dromara.safety.domain.vo.HseDangerArchiveCountVo;
|
||||
import org.dromara.safety.service.IHseDangerousEngineeringService;
|
||||
import org.dromara.safety.domain.vo.HseJsjdYuJkjcVo;
|
||||
import org.dromara.safety.gcjkjl.domain.HseGcjk;
|
||||
import org.dromara.safety.gcjkjl.service.IHseGcjkService;
|
||||
@ -39,6 +45,8 @@ public class HseDangerArchiveServiceImpl extends ServiceImpl<HseDangerArchiveMap
|
||||
|
||||
private final HseDangerArchiveMapper baseMapper;
|
||||
|
||||
private final IHseDangerousEngineeringService hseDangerousEngineeringService;
|
||||
|
||||
@Autowired
|
||||
@Lazy
|
||||
private IHseGcjkService hseGcjkService;
|
||||
@ -120,6 +128,9 @@ public class HseDangerArchiveServiceImpl extends ServiceImpl<HseDangerArchiveMap
|
||||
public Boolean insertByBo(HseDangerArchiveBo bo) {
|
||||
HseDangerArchive add = MapstructUtils.convert(bo, HseDangerArchive.class);
|
||||
validEntityBeforeSave(add);
|
||||
Snowflake snowflake = IdUtil.getSnowflake(1, 1);
|
||||
long id = snowflake.nextId();
|
||||
add.setArchiveNo("DA-"+id);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
@ -144,7 +155,12 @@ public class HseDangerArchiveServiceImpl extends ServiceImpl<HseDangerArchiveMap
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(HseDangerArchive entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
boolean exists = lambdaQuery().eq(HseDangerArchive::getDeId, entity.getDeId())
|
||||
.ne(entity.getId() != null, HseDangerArchive::getId, entity.getId())
|
||||
.exists();
|
||||
if (exists) {
|
||||
throw new ServiceException("该工程已归档");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -162,6 +178,19 @@ public class HseDangerArchiveServiceImpl extends ServiceImpl<HseDangerArchiveMap
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HseDangerArchiveCountVo count(Long projectId) {
|
||||
HseDangerArchiveCountVo hseDangerArchiveCountVo = new HseDangerArchiveCountVo();
|
||||
List<HseDangerousEngineering> list = hseDangerousEngineeringService.lambdaQuery()
|
||||
.eq(HseDangerousEngineering::getProjectId, projectId)
|
||||
.list();
|
||||
hseDangerArchiveCountVo.setTotal(list.size());
|
||||
hseDangerArchiveCountVo.setMajorRisk(list.stream().filter(item -> "4".equals(item.getRiskLevel())).count());
|
||||
List<HseDangerArchive> list1 = lambdaQuery().eq(HseDangerArchive::getProjectId, projectId).list();
|
||||
hseDangerArchiveCountVo.setArchive(list1.size());
|
||||
return hseDangerArchiveCountVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HseJsjdYuJkjcVo getJsjdYGcjk(Long id) {
|
||||
HseJsjdYuJkjcVo hseJsjdYuJkjcVo = new HseJsjdYuJkjcVo();
|
||||
|
||||
@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanCountVo;
|
||||
import org.dromara.safety.domain.vo.HseSpecialPlanFileVo;
|
||||
import org.dromara.safety.service.IHseDangerousEngineeringService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.safety.domain.bo.HseSpecialPlanBo;
|
||||
@ -182,4 +183,14 @@ public class HseSpecialPlanServiceImpl extends ServiceImpl<HseSpecialPlanMapper,
|
||||
vo.setNeedSupervisionNum(list.stream().filter(item -> item.getNeedSupervision() == 1).count());
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HseSpecialPlanFileVo getFile(Long deId) {
|
||||
HseSpecialPlan one = lambdaQuery().eq(HseSpecialPlan::getDeId, deId).last("limit 1").one();
|
||||
HseSpecialPlanFileVo hseSpecialPlanFileVo = new HseSpecialPlanFileVo();
|
||||
if(one != null) {
|
||||
hseSpecialPlanFileVo.setExpertFile(one.getExpertFile());
|
||||
}
|
||||
return hseSpecialPlanFileVo;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user