diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerousEngineeringController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerousEngineeringController.java new file mode 100644 index 00000000..de1a097e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerousEngineeringController.java @@ -0,0 +1,105 @@ +package org.dromara.safety.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.safety.domain.vo.HseDangerousEngineeringVo; +import org.dromara.safety.domain.bo.HseDangerousEngineeringBo; +import org.dromara.safety.service.IHseDangerousEngineeringService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 危大工程信息 + * + * @author Lion Li + * @date 2025-12-06 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/safety/dangerousEngineering") +public class HseDangerousEngineeringController extends BaseController { + + private final IHseDangerousEngineeringService hseDangerousEngineeringService; + + /** + * 查询危大工程信息列表 + */ + @SaCheckPermission("safety:dangerousEngineering:list") + @GetMapping("/list") + public TableDataInfo list(HseDangerousEngineeringBo bo, PageQuery pageQuery) { + return hseDangerousEngineeringService.queryPageList(bo, pageQuery); + } + + /** + * 导出危大工程信息列表 + */ + @SaCheckPermission("safety:dangerousEngineering:export") + @Log(title = "危大工程信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HseDangerousEngineeringBo bo, HttpServletResponse response) { + List list = hseDangerousEngineeringService.queryList(bo); + ExcelUtil.exportExcel(list, "危大工程信息", HseDangerousEngineeringVo.class, response); + } + + /** + * 获取危大工程信息详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("safety:dangerousEngineering:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(hseDangerousEngineeringService.queryById(id)); + } + + /** + * 新增危大工程信息 + */ + @SaCheckPermission("safety:dangerousEngineering:add") + @Log(title = "危大工程信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody HseDangerousEngineeringBo bo) { + return toAjax(hseDangerousEngineeringService.insertByBo(bo)); + } + + /** + * 修改危大工程信息 + */ + @SaCheckPermission("safety:dangerousEngineering:edit") + @Log(title = "危大工程信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody HseDangerousEngineeringBo bo) { + return toAjax(hseDangerousEngineeringService.updateByBo(bo)); + } + + /** + * 删除危大工程信息 + * + * @param ids 主键串 + */ + @SaCheckPermission("safety:dangerousEngineering:remove") + @Log(title = "危大工程信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(hseDangerousEngineeringService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseSpecialPlanController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseSpecialPlanController.java new file mode 100644 index 00000000..476d6831 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseSpecialPlanController.java @@ -0,0 +1,105 @@ +package org.dromara.safety.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.safety.domain.vo.HseSpecialPlanVo; +import org.dromara.safety.domain.bo.HseSpecialPlanBo; +import org.dromara.safety.service.IHseSpecialPlanService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 危大工程专项施工方案 + * + * @author Lion Li + * @date 2025-12-06 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/safety/specialPlan") +public class HseSpecialPlanController extends BaseController { + + private final IHseSpecialPlanService hseSpecialPlanService; + + /** + * 查询危大工程专项施工方案列表 + */ + @SaCheckPermission("safety:specialPlan:list") + @GetMapping("/list") + public TableDataInfo list(HseSpecialPlanBo bo, PageQuery pageQuery) { + return hseSpecialPlanService.queryPageList(bo, pageQuery); + } + + /** + * 导出危大工程专项施工方案列表 + */ + @SaCheckPermission("safety:specialPlan:export") + @Log(title = "危大工程专项施工方案", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HseSpecialPlanBo bo, HttpServletResponse response) { + List list = hseSpecialPlanService.queryList(bo); + ExcelUtil.exportExcel(list, "危大工程专项施工方案", HseSpecialPlanVo.class, response); + } + + /** + * 获取危大工程专项施工方案详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("safety:specialPlan:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(hseSpecialPlanService.queryById(id)); + } + + /** + * 新增危大工程专项施工方案 + */ + @SaCheckPermission("safety:specialPlan:add") + @Log(title = "危大工程专项施工方案", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody HseSpecialPlanBo bo) { + return toAjax(hseSpecialPlanService.insertByBo(bo)); + } + + /** + * 修改危大工程专项施工方案 + */ + @SaCheckPermission("safety:specialPlan:edit") + @Log(title = "危大工程专项施工方案", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody HseSpecialPlanBo bo) { + return toAjax(hseSpecialPlanService.updateByBo(bo)); + } + + /** + * 删除危大工程专项施工方案 + * + * @param ids 主键串 + */ + @SaCheckPermission("safety:specialPlan:remove") + @Log(title = "危大工程专项施工方案", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(hseSpecialPlanService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseDangerousEngineering.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseDangerousEngineering.java new file mode 100644 index 00000000..1f6c7a79 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseDangerousEngineering.java @@ -0,0 +1,113 @@ +package org.dromara.safety.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 危大工程信息对象 hse_dangerous_engineering + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hse_dangerous_engineering") +public class HseDangerousEngineering extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目Id + */ + private Long projectId; + + /** + * 危大工程名称 + */ + private String deName; + + /** + * 风险等级 + */ + private String riskLevel; + + /** + * 作业内容 + */ + private String workType; + + /** + * 施工开始时间 + */ + private Date startTime; + + /** + * 预计完成时间 + */ + private Date endTime; + + /** + * 作业地点 + */ + private String workPlace; + + /** + * 分包单位Id + */ + private Long subcontractorId; + + /** + * 分包单位名 + */ + private String subcontractor; + + /** + * 班组Id + */ + private Long teamId; + + /** + * 班组名 + */ + private String teamName; + + /** + * 项目经理 + */ + private String projectManager; + + /** + * 现场负责人(紧急联系人) + */ + private String siteManager; + + /** + * 紧急联系电话 + */ + private String emergencyPhone; + + /** + * 建设单位 + */ + private String constructionUnit; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSpecialPlan.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSpecialPlan.java new file mode 100644 index 00000000..318d43b6 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSpecialPlan.java @@ -0,0 +1,193 @@ +package org.dromara.safety.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * 危大工程专项施工方案对象 hse_special_plan + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hse_special_plan") +public class HseSpecialPlan extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方案编号(自动生成/手动输入) + */ + private String planNo; + + /** + * 危大工程ID + */ + private Long deId; + + /** + * 危大工程名称 + */ + private String deName; + + /** + * 方案名称 + */ + private String planName; + + /** + * 方案类别 + */ + private String planCategory; + + /** + * 编制单位 + */ + private String compileUnit; + + /** + * 编制人 + */ + private String compiler; + + /** + * 审核人 + */ + private String reviewer; + + /** + * 批准人 + */ + private String approve; + + /** + * 施工流程与步骤 + */ + private String constructionProcess; + + /** + * 施工参数 + */ + private String constructionParams; + + /** + * 施工人员资质 + */ + private String personnelQualification; + + /** + * 施工附件 + */ + private String constructionFile; + + /** + * 是否需专家论证(1=是,0=否) + */ + private Long needExpertArgument; + + /** + * 专家结论附件路径 + */ + private String expertFile; + + /** + * 论证结论 + */ + private String argumentConclusion; + + /** + * 论证日期 + */ + private LocalDate argumentDate; + + /** + * 专家组负责人(姓名+单位) + */ + private String expertLeader; + + /** + * 是否需旁站监理(1=是,0=否) + */ + private Long needSupervision; + + /** + * 旁站监理单位 + */ + private String supervisionUnit; + + /** + * 旁站监理人 + */ + private String supervisor; + + /** + * 旁站实际开始时间 + */ + private LocalDateTime supervisionStartTime; + + /** + * 旁站实际结束时间 + */ + private LocalDateTime supervisionEndTime; + + /** + * 旁站记录附件路径 + */ + private String supervisionFile; + + /** + * 应急预案是否涉及(1=是,0=否) + */ + private Long involveEmergencyPlan; + + /** + * 关联应急预案编号 + */ + private String emergencyPlanNo; + + /** + * 方案初审/复核记录 + */ + private String reviewRecord; + + /** + * 备案时间 + */ + private LocalDateTime recordTime; + + /** + * 备案单位 + */ + private String recordUnit; + + /** + * 备案文件号 + */ + private String recordFileNo; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerousEngineeringBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerousEngineeringBo.java new file mode 100644 index 00000000..b8f98bc9 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerousEngineeringBo.java @@ -0,0 +1,112 @@ +package org.dromara.safety.domain.bo; + +import org.dromara.safety.domain.HseDangerousEngineering; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 危大工程信息业务对象 hse_dangerous_engineering + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = HseDangerousEngineering.class, reverseConvertGenerate = false) +public class HseDangerousEngineeringBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目Id + */ + private Long projectId; + + /** + * 危大工程名称 + */ + private String deName; + + /** + * 风险等级 + */ + private String riskLevel; + + /** + * 作业内容 + */ + private String workType; + + /** + * 施工开始时间 + */ + private Date startTime; + + /** + * 预计完成时间 + */ + private Date endTime; + + /** + * 作业地点 + */ + private String workPlace; + + /** + * 分包单位Id + */ + private Long subcontractorId; + + /** + * 分包单位名 + */ + private String subcontractor; + + /** + * 班组Id + */ + private Long teamId; + + /** + * 班组名 + */ + private String teamName; + + /** + * 项目经理 + */ + private String projectManager; + + /** + * 现场负责人(紧急联系人) + */ + private String siteManager; + + /** + * 紧急联系电话 + */ + private String emergencyPhone; + + /** + * 建设单位 + */ + private String constructionUnit; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseSpecialPlanBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseSpecialPlanBo.java new file mode 100644 index 00000000..ad92de45 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseSpecialPlanBo.java @@ -0,0 +1,196 @@ +package org.dromara.safety.domain.bo; + +import org.dromara.safety.domain.HseSpecialPlan; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * 危大工程专项施工方案业务对象 hse_special_plan + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = HseSpecialPlan.class, reverseConvertGenerate = false) +public class HseSpecialPlanBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方案编号(自动生成/手动输入) + */ + private String planNo; + + /** + * 危大工程ID + */ + private Long deId; + + /** + * 危大工程名称 + */ + private String deName; + + /** + * 方案名称 + */ + private String planName; + + /** + * 方案类别 + */ + private String planCategory; + + /** + * 编制单位 + */ + private String compileUnit; + + /** + * 编制人 + */ + private String compiler; + + /** + * 审核人 + */ + private String reviewer; + + /** + * 批准人 + */ + private String approve; + + /** + * 施工流程与步骤 + */ + private String constructionProcess; + + /** + * 施工参数 + */ + private String constructionParams; + + /** + * 施工人员资质 + */ + private String personnelQualification; + + /** + * 施工附件 + */ + private String constructionFile; + + /** + * 是否需专家论证(1=是,0=否) + */ + @NotNull(message = "是否需专家论证(1=是,0=否)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long needExpertArgument; + + /** + * 专家结论附件路径 + */ + private String expertFile; + + /** + * 论证结论 + */ + private String argumentConclusion; + + /** + * 论证日期 + */ + private LocalDate argumentDate; + + /** + * 专家组负责人(姓名+单位) + */ + private String expertLeader; + + /** + * 是否需旁站监理(1=是,0=否) + */ + @NotNull(message = "是否需旁站监理(1=是,0=否)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long needSupervision; + + /** + * 旁站监理单位 + */ + private String supervisionUnit; + + /** + * 旁站监理人 + */ + private String supervisor; + + /** + * 旁站实际开始时间 + */ + private LocalDateTime supervisionStartTime; + + /** + * 旁站实际结束时间 + */ + private LocalDateTime supervisionEndTime; + + /** + * 旁站记录附件路径 + */ + private String supervisionFile; + + /** + * 应急预案是否涉及(1=是,0=否) + */ + @NotNull(message = "应急预案是否涉及(1=是,0=否)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long involveEmergencyPlan; + + /** + * 关联应急预案编号 + */ + private String emergencyPlanNo; + + /** + * 方案初审/复核记录 + */ + private String reviewRecord; + + /** + * 备案时间 + */ + private LocalDateTime recordTime; + + /** + * 备案单位 + */ + private String recordUnit; + + /** + * 备案文件号 + */ + private String recordFileNo; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerousEngineeringVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerousEngineeringVo.java new file mode 100644 index 00000000..e385c69c --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerousEngineeringVo.java @@ -0,0 +1,136 @@ +package org.dromara.safety.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.safety.domain.HseDangerousEngineering; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 危大工程信息视图对象 hse_dangerous_engineering + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = HseDangerousEngineering.class) +public class HseDangerousEngineeringVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 项目Id + */ + @ExcelProperty(value = "项目Id") + private Long projectId; + + /** + * 危大工程名称 + */ + @ExcelProperty(value = "危大工程名称") + private String deName; + + /** + * 风险等级 + */ + @ExcelProperty(value = "风险等级") + private String riskLevel; + + /** + * 作业内容 + */ + @ExcelProperty(value = "作业内容") + private String workType; + + /** + * 施工开始时间 + */ + @ExcelProperty(value = "施工开始时间") + private Date startTime; + + /** + * 预计完成时间 + */ + @ExcelProperty(value = "预计完成时间") + private Date endTime; + + /** + * 作业地点 + */ + @ExcelProperty(value = "作业地点") + private String workPlace; + + /** + * 分包单位Id + */ + @ExcelProperty(value = "分包单位Id") + private Long subcontractorId; + + /** + * 分包单位名 + */ + @ExcelProperty(value = "分包单位名") + private String subcontractor; + + /** + * 班组Id + */ + @ExcelProperty(value = "班组Id") + private Long teamId; + + /** + * 班组名 + */ + @ExcelProperty(value = "班组名") + private String teamName; + + /** + * 项目经理 + */ + @ExcelProperty(value = "项目经理") + private String projectManager; + + /** + * 现场负责人(紧急联系人) + */ + @ExcelProperty(value = "现场负责人(紧急联系人)") + private String siteManager; + + /** + * 紧急联系电话 + */ + @ExcelProperty(value = "紧急联系电话") + private String emergencyPhone; + + /** + * 建设单位 + */ + @ExcelProperty(value = "建设单位") + private String constructionUnit; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanVo.java new file mode 100644 index 00000000..680986a1 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanVo.java @@ -0,0 +1,235 @@ +package org.dromara.safety.domain.vo; + +import org.dromara.safety.domain.HseSpecialPlan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 危大工程专项施工方案视图对象 hse_special_plan + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = HseSpecialPlan.class) +public class HseSpecialPlanVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方案编号(自动生成/手动输入) + */ + @ExcelProperty(value = "方案编号", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "自=动生成/手动输入") + private String planNo; + + /** + * 危大工程ID + */ + @ExcelProperty(value = "危大工程ID") + private Long deId; + + /** + * 危大工程名称 + */ + @ExcelProperty(value = "危大工程名称") + private String deName; + + /** + * 方案名称 + */ + @ExcelProperty(value = "方案名称") + private String planName; + + /** + * 方案类别 + */ + @ExcelProperty(value = "方案类别") + private String planCategory; + + /** + * 编制单位 + */ + @ExcelProperty(value = "编制单位") + private String compileUnit; + + /** + * 编制人 + */ + @ExcelProperty(value = "编制人") + private String compiler; + + /** + * 审核人 + */ + @ExcelProperty(value = "审核人") + private String reviewer; + + /** + * 批准人 + */ + @ExcelProperty(value = "批准人") + private String approve; + + /** + * 施工流程与步骤 + */ + @ExcelProperty(value = "施工流程与步骤") + private String constructionProcess; + + /** + * 施工参数 + */ + @ExcelProperty(value = "施工参数") + private String constructionParams; + + /** + * 施工人员资质 + */ + @ExcelProperty(value = "施工人员资质") + private String personnelQualification; + + /** + * 施工附件 + */ + @ExcelProperty(value = "施工附件") + private String constructionFile; + + /** + * 是否需专家论证(1=是,0=否) + */ + @ExcelProperty(value = "是否需专家论证", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1==是,0=否") + private Long needExpertArgument; + + /** + * 专家结论附件路径 + */ + @ExcelProperty(value = "专家结论附件路径") + private String expertFile; + + /** + * 论证结论 + */ + @ExcelProperty(value = "论证结论") + private String argumentConclusion; + + /** + * 论证日期 + */ + @ExcelProperty(value = "论证日期") + private LocalDate argumentDate; + + /** + * 专家组负责人(姓名+单位) + */ + @ExcelProperty(value = "专家组负责人", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "姓=名+单位") + private String expertLeader; + + /** + * 是否需旁站监理(1=是,0=否) + */ + @ExcelProperty(value = "是否需旁站监理", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1==是,0=否") + private Long needSupervision; + + /** + * 旁站监理单位 + */ + @ExcelProperty(value = "旁站监理单位") + private String supervisionUnit; + + /** + * 旁站监理人 + */ + @ExcelProperty(value = "旁站监理人") + private String supervisor; + + /** + * 旁站实际开始时间 + */ + @ExcelProperty(value = "旁站实际开始时间") + private LocalDateTime supervisionStartTime; + + /** + * 旁站实际结束时间 + */ + @ExcelProperty(value = "旁站实际结束时间") + private LocalDateTime supervisionEndTime; + + /** + * 旁站记录附件路径 + */ + @ExcelProperty(value = "旁站记录附件路径") + private String supervisionFile; + + /** + * 应急预案是否涉及(1=是,0=否) + */ + @ExcelProperty(value = "应急预案是否涉及", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1==是,0=否") + private Long involveEmergencyPlan; + + /** + * 关联应急预案编号 + */ + @ExcelProperty(value = "关联应急预案编号") + private String emergencyPlanNo; + + /** + * 方案初审/复核记录 + */ + @ExcelProperty(value = "方案初审/复核记录") + private String reviewRecord; + + /** + * 备案时间 + */ + @ExcelProperty(value = "备案时间") + private LocalDateTime recordTime; + + /** + * 备案单位 + */ + @ExcelProperty(value = "备案单位") + private String recordUnit; + + /** + * 备案文件号 + */ + @ExcelProperty(value = "备案文件号") + private String recordFileNo; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseDangerousEngineeringMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseDangerousEngineeringMapper.java new file mode 100644 index 00000000..5f797930 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseDangerousEngineeringMapper.java @@ -0,0 +1,15 @@ +package org.dromara.safety.mapper; + +import org.dromara.safety.domain.HseDangerousEngineering; +import org.dromara.safety.domain.vo.HseDangerousEngineeringVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 危大工程信息Mapper接口 + * + * @author Lion Li + * @date 2025-12-06 + */ +public interface HseDangerousEngineeringMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseSpecialPlanMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseSpecialPlanMapper.java new file mode 100644 index 00000000..4d3479f6 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseSpecialPlanMapper.java @@ -0,0 +1,15 @@ +package org.dromara.safety.mapper; + +import org.dromara.safety.domain.HseSpecialPlan; +import org.dromara.safety.domain.vo.HseSpecialPlanVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 危大工程专项施工方案Mapper接口 + * + * @author Lion Li + * @date 2025-12-06 + */ +public interface HseSpecialPlanMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseDangerousEngineeringService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseDangerousEngineeringService.java new file mode 100644 index 00000000..74be781e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseDangerousEngineeringService.java @@ -0,0 +1,70 @@ +package org.dromara.safety.service; + +import org.dromara.safety.domain.vo.HseDangerousEngineeringVo; +import org.dromara.safety.domain.bo.HseDangerousEngineeringBo; +import org.dromara.safety.domain.HseDangerousEngineering; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Collection; +import java.util.List; + +/** + * 危大工程信息Service接口 + * + * @author Lion Li + * @date 2025-12-06 + */ +public interface IHseDangerousEngineeringService extends IService{ + + /** + * 查询危大工程信息 + * + * @param id 主键 + * @return 危大工程信息 + */ + HseDangerousEngineeringVo queryById(Long id); + + /** + * 分页查询危大工程信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 危大工程信息分页列表 + */ + TableDataInfo queryPageList(HseDangerousEngineeringBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的危大工程信息列表 + * + * @param bo 查询条件 + * @return 危大工程信息列表 + */ + List queryList(HseDangerousEngineeringBo bo); + + /** + * 新增危大工程信息 + * + * @param bo 危大工程信息 + * @return 是否新增成功 + */ + Boolean insertByBo(HseDangerousEngineeringBo bo); + + /** + * 修改危大工程信息 + * + * @param bo 危大工程信息 + * @return 是否修改成功 + */ + Boolean updateByBo(HseDangerousEngineeringBo bo); + + /** + * 校验并批量删除危大工程信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSpecialPlanService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSpecialPlanService.java new file mode 100644 index 00000000..48470332 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSpecialPlanService.java @@ -0,0 +1,70 @@ +package org.dromara.safety.service; + +import org.dromara.safety.domain.vo.HseSpecialPlanVo; +import org.dromara.safety.domain.bo.HseSpecialPlanBo; +import org.dromara.safety.domain.HseSpecialPlan; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Collection; +import java.util.List; + +/** + * 危大工程专项施工方案Service接口 + * + * @author Lion Li + * @date 2025-12-06 + */ +public interface IHseSpecialPlanService extends IService{ + + /** + * 查询危大工程专项施工方案 + * + * @param id 主键 + * @return 危大工程专项施工方案 + */ + HseSpecialPlanVo queryById(Long id); + + /** + * 分页查询危大工程专项施工方案列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 危大工程专项施工方案分页列表 + */ + TableDataInfo queryPageList(HseSpecialPlanBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的危大工程专项施工方案列表 + * + * @param bo 查询条件 + * @return 危大工程专项施工方案列表 + */ + List queryList(HseSpecialPlanBo bo); + + /** + * 新增危大工程专项施工方案 + * + * @param bo 危大工程专项施工方案 + * @return 是否新增成功 + */ + Boolean insertByBo(HseSpecialPlanBo bo); + + /** + * 修改危大工程专项施工方案 + * + * @param bo 危大工程专项施工方案 + * @return 是否修改成功 + */ + Boolean updateByBo(HseSpecialPlanBo bo); + + /** + * 校验并批量删除危大工程专项施工方案信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseDangerousEngineeringServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseDangerousEngineeringServiceImpl.java new file mode 100644 index 00000000..a87afeed --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseDangerousEngineeringServiceImpl.java @@ -0,0 +1,146 @@ +package org.dromara.safety.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +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.springframework.stereotype.Service; +import org.dromara.safety.domain.bo.HseDangerousEngineeringBo; +import org.dromara.safety.domain.vo.HseDangerousEngineeringVo; +import org.dromara.safety.domain.HseDangerousEngineering; +import org.dromara.safety.mapper.HseDangerousEngineeringMapper; +import org.dromara.safety.service.IHseDangerousEngineeringService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 危大工程信息Service业务层处理 + * + * @author Lion Li + * @date 2025-12-06 + */ +@RequiredArgsConstructor +@Service +public class HseDangerousEngineeringServiceImpl extends ServiceImpl + implements IHseDangerousEngineeringService { + + private final HseDangerousEngineeringMapper baseMapper; + + /** + * 查询危大工程信息 + * + * @param id 主键 + * @return 危大工程信息 + */ + @Override + public HseDangerousEngineeringVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询危大工程信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 危大工程信息分页列表 + */ + @Override + public TableDataInfo queryPageList(HseDangerousEngineeringBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的危大工程信息列表 + * + * @param bo 查询条件 + * @return 危大工程信息列表 + */ + @Override + public List queryList(HseDangerousEngineeringBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(HseDangerousEngineeringBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(HseDangerousEngineering::getId); + lqw.eq(bo.getProjectId() != null, HseDangerousEngineering::getProjectId, bo.getProjectId()); + lqw.like(StringUtils.isNotBlank(bo.getDeName()), HseDangerousEngineering::getDeName, bo.getDeName()); + lqw.eq(StringUtils.isNotBlank(bo.getRiskLevel()), HseDangerousEngineering::getRiskLevel, bo.getRiskLevel()); + lqw.eq(StringUtils.isNotBlank(bo.getWorkType()), HseDangerousEngineering::getWorkType, bo.getWorkType()); + lqw.eq(bo.getStartTime() != null, HseDangerousEngineering::getStartTime, bo.getStartTime()); + lqw.eq(bo.getEndTime() != null, HseDangerousEngineering::getEndTime, bo.getEndTime()); + lqw.eq(StringUtils.isNotBlank(bo.getWorkPlace()), HseDangerousEngineering::getWorkPlace, bo.getWorkPlace()); + lqw.eq(bo.getSubcontractorId() != null, HseDangerousEngineering::getSubcontractorId, bo.getSubcontractorId()); + lqw.eq(StringUtils.isNotBlank(bo.getSubcontractor()), HseDangerousEngineering::getSubcontractor, bo.getSubcontractor()); + lqw.eq(bo.getTeamId() != null, HseDangerousEngineering::getTeamId, bo.getTeamId()); + lqw.like(StringUtils.isNotBlank(bo.getTeamName()), HseDangerousEngineering::getTeamName, bo.getTeamName()); + lqw.eq(StringUtils.isNotBlank(bo.getProjectManager()), HseDangerousEngineering::getProjectManager, bo.getProjectManager()); + lqw.eq(StringUtils.isNotBlank(bo.getSiteManager()), HseDangerousEngineering::getSiteManager, bo.getSiteManager()); + lqw.eq(StringUtils.isNotBlank(bo.getEmergencyPhone()), HseDangerousEngineering::getEmergencyPhone, bo.getEmergencyPhone()); + lqw.eq(StringUtils.isNotBlank(bo.getConstructionUnit()), HseDangerousEngineering::getConstructionUnit, bo.getConstructionUnit()); + return lqw; + } + + /** + * 新增危大工程信息 + * + * @param bo 危大工程信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(HseDangerousEngineeringBo bo) { + HseDangerousEngineering add = MapstructUtils.convert(bo, HseDangerousEngineering.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改危大工程信息 + * + * @param bo 危大工程信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(HseDangerousEngineeringBo bo) { + HseDangerousEngineering update = MapstructUtils.convert(bo, HseDangerousEngineering.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(HseDangerousEngineering entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除危大工程信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSpecialPlanServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSpecialPlanServiceImpl.java new file mode 100644 index 00000000..387fe542 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSpecialPlanServiceImpl.java @@ -0,0 +1,162 @@ +package org.dromara.safety.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +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.springframework.stereotype.Service; +import org.dromara.safety.domain.bo.HseSpecialPlanBo; +import org.dromara.safety.domain.vo.HseSpecialPlanVo; +import org.dromara.safety.domain.HseSpecialPlan; +import org.dromara.safety.mapper.HseSpecialPlanMapper; +import org.dromara.safety.service.IHseSpecialPlanService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 危大工程专项施工方案Service业务层处理 + * + * @author Lion Li + * @date 2025-12-06 + */ +@RequiredArgsConstructor +@Service +public class HseSpecialPlanServiceImpl extends ServiceImpl + implements IHseSpecialPlanService { + + private final HseSpecialPlanMapper baseMapper; + + /** + * 查询危大工程专项施工方案 + * + * @param id 主键 + * @return 危大工程专项施工方案 + */ + @Override + public HseSpecialPlanVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询危大工程专项施工方案列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 危大工程专项施工方案分页列表 + */ + @Override + public TableDataInfo queryPageList(HseSpecialPlanBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的危大工程专项施工方案列表 + * + * @param bo 查询条件 + * @return 危大工程专项施工方案列表 + */ + @Override + public List queryList(HseSpecialPlanBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(HseSpecialPlanBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(HseSpecialPlan::getId); + lqw.eq(bo.getProjectId() != null, HseSpecialPlan::getProjectId, bo.getProjectId()); + lqw.eq(StringUtils.isNotBlank(bo.getPlanNo()), HseSpecialPlan::getPlanNo, bo.getPlanNo()); + lqw.eq(bo.getDeId() != null, HseSpecialPlan::getDeId, bo.getDeId()); + lqw.like(StringUtils.isNotBlank(bo.getDeName()), HseSpecialPlan::getDeName, bo.getDeName()); + lqw.like(StringUtils.isNotBlank(bo.getPlanName()), HseSpecialPlan::getPlanName, bo.getPlanName()); + lqw.eq(StringUtils.isNotBlank(bo.getPlanCategory()), HseSpecialPlan::getPlanCategory, bo.getPlanCategory()); + lqw.eq(StringUtils.isNotBlank(bo.getCompileUnit()), HseSpecialPlan::getCompileUnit, bo.getCompileUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getCompiler()), HseSpecialPlan::getCompiler, bo.getCompiler()); + lqw.eq(StringUtils.isNotBlank(bo.getReviewer()), HseSpecialPlan::getReviewer, bo.getReviewer()); + lqw.eq(StringUtils.isNotBlank(bo.getApprove()), HseSpecialPlan::getApprove, bo.getApprove()); + lqw.eq(StringUtils.isNotBlank(bo.getConstructionProcess()), HseSpecialPlan::getConstructionProcess, bo.getConstructionProcess()); + lqw.eq(StringUtils.isNotBlank(bo.getConstructionParams()), HseSpecialPlan::getConstructionParams, bo.getConstructionParams()); + lqw.eq(StringUtils.isNotBlank(bo.getPersonnelQualification()), HseSpecialPlan::getPersonnelQualification, bo.getPersonnelQualification()); + lqw.eq(StringUtils.isNotBlank(bo.getConstructionFile()), HseSpecialPlan::getConstructionFile, bo.getConstructionFile()); + lqw.eq(bo.getNeedExpertArgument() != null, HseSpecialPlan::getNeedExpertArgument, bo.getNeedExpertArgument()); + lqw.eq(StringUtils.isNotBlank(bo.getExpertFile()), HseSpecialPlan::getExpertFile, bo.getExpertFile()); + lqw.eq(StringUtils.isNotBlank(bo.getArgumentConclusion()), HseSpecialPlan::getArgumentConclusion, bo.getArgumentConclusion()); + lqw.eq(bo.getArgumentDate() != null, HseSpecialPlan::getArgumentDate, bo.getArgumentDate()); + lqw.eq(StringUtils.isNotBlank(bo.getExpertLeader()), HseSpecialPlan::getExpertLeader, bo.getExpertLeader()); + lqw.eq(bo.getNeedSupervision() != null, HseSpecialPlan::getNeedSupervision, bo.getNeedSupervision()); + lqw.eq(StringUtils.isNotBlank(bo.getSupervisionUnit()), HseSpecialPlan::getSupervisionUnit, bo.getSupervisionUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getSupervisor()), HseSpecialPlan::getSupervisor, bo.getSupervisor()); + lqw.eq(bo.getSupervisionStartTime() != null, HseSpecialPlan::getSupervisionStartTime, bo.getSupervisionStartTime()); + lqw.eq(bo.getSupervisionEndTime() != null, HseSpecialPlan::getSupervisionEndTime, bo.getSupervisionEndTime()); + lqw.eq(StringUtils.isNotBlank(bo.getSupervisionFile()), HseSpecialPlan::getSupervisionFile, bo.getSupervisionFile()); + lqw.eq(bo.getInvolveEmergencyPlan() != null, HseSpecialPlan::getInvolveEmergencyPlan, bo.getInvolveEmergencyPlan()); + lqw.eq(StringUtils.isNotBlank(bo.getEmergencyPlanNo()), HseSpecialPlan::getEmergencyPlanNo, bo.getEmergencyPlanNo()); + lqw.eq(StringUtils.isNotBlank(bo.getReviewRecord()), HseSpecialPlan::getReviewRecord, bo.getReviewRecord()); + lqw.eq(bo.getRecordTime() != null, HseSpecialPlan::getRecordTime, bo.getRecordTime()); + lqw.eq(StringUtils.isNotBlank(bo.getRecordUnit()), HseSpecialPlan::getRecordUnit, bo.getRecordUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getRecordFileNo()), HseSpecialPlan::getRecordFileNo, bo.getRecordFileNo()); + return lqw; + } + + /** + * 新增危大工程专项施工方案 + * + * @param bo 危大工程专项施工方案 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(HseSpecialPlanBo bo) { + HseSpecialPlan add = MapstructUtils.convert(bo, HseSpecialPlan.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改危大工程专项施工方案 + * + * @param bo 危大工程专项施工方案 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(HseSpecialPlanBo bo) { + HseSpecialPlan update = MapstructUtils.convert(bo, HseSpecialPlan.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(HseSpecialPlan entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除危大工程专项施工方案信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseDangerousEngineeringMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseDangerousEngineeringMapper.xml new file mode 100644 index 00000000..ec175d4a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseDangerousEngineeringMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseSpecialPlanMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseSpecialPlanMapper.xml new file mode 100644 index 00000000..ffb53668 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseSpecialPlanMapper.xml @@ -0,0 +1,7 @@ + + + + +