diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncYs7DeviceCapturePicData.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncYs7DeviceCapturePicData.java index 46d54ef9..86abbb0d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncYs7DeviceCapturePicData.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncYs7DeviceCapturePicData.java @@ -26,7 +26,7 @@ import java.util.stream.Collectors; * @date 2025/6/18 15:59 */ @Slf4j -//@Component +@Component public class IncSyncYs7DeviceCapturePicData { @Resource diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialissueitem/MatMaterialIssueItemDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialissueitem/MatMaterialIssueItemDto.java index 20633023..36c77066 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialissueitem/MatMaterialIssueItemDto.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialissueitem/MatMaterialIssueItemDto.java @@ -31,7 +31,6 @@ public class MatMaterialIssueItemDto { /** * 名称 */ - @NotBlank(message = "名称不能为空") private String name; /** @@ -49,7 +48,6 @@ public class MatMaterialIssueItemDto { /** * 库存 */ - @NotNull(message = "库存数量不能为空") private BigDecimal stockQuantity; /** @@ -61,7 +59,6 @@ public class MatMaterialIssueItemDto { /** * 剩余 */ - @NotNull(message = "剩余数量不能为空") private BigDecimal remainingQuantity; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java index dc39cd46..afc65580 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java @@ -239,7 +239,6 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl recTypes = List.of(RecognizerTypeEnum.HARDHAT, RecognizerTypeEnum.SMOKING, RecognizerTypeEnum.FIRE); - RecognizeVo recognizeVo = recognizerManager.recognize(ossUrl, recTypes); + RecognizeVo recognizeVo = null; + try { + recognizeVo = recognizerManager.recognize(ossUrl, recTypes); + } catch (Exception e) { + log.error("图片识别异常", e); + } if (recognizeVo != null && recognizeVo.getHasTarget().equals(RecognizerHasTargetEnum.YES.getValue())) { // 记录识别信息 HseRecognizeRecordCreateDto record = new HseRecognizeRecordCreateDto(); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java index 0bb9a57f..a4999f1a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java @@ -119,8 +119,8 @@ public class BusProjectController extends BaseController { */ @SaCheckPermission("project:project:listProjectContractorList") @GetMapping("/list/project/contractorList") - public R> listProjectContractorList() { - return R.ok(projectService.queryProjectContractorList()); + public R> listProjectContractorList() { + return R.ok(projectService.queryContractorTeamList()); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java index b4165dd0..260eccde 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java @@ -1,10 +1,7 @@ package org.dromara.project.controller.app; -import cn.dev33.satoken.annotation.SaCheckPermission; import jakarta.annotation.Resource; -import jakarta.validation.constraints.NotNull; import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; @@ -12,11 +9,8 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; -import org.dromara.contractor.domain.SubConstructionUser; import org.dromara.contractor.service.ISubConstructionUserService; -import org.dromara.project.domain.bo.BusAttendanceBo; import org.dromara.project.domain.dto.leave.BusLeaveAddReq; -import org.dromara.project.domain.dto.leave.BusLeaveManagerReviewReq; import org.dromara.project.domain.dto.leave.BusLeaveQueryReq; import org.dromara.project.domain.vo.leave.BusLeaveVo; import org.dromara.project.service.IBusLeaveService; @@ -24,6 +18,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** + * 施工人员请假申请 app 接口 + * * @author lilemy * @date 2025-07-24 14:51 */ @@ -60,11 +56,4 @@ public class BusLeaveAppController extends BaseController { } - - - - - - - } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectAppController.java index 035c650a..70cf7816 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectAppController.java @@ -1,11 +1,13 @@ package org.dromara.project.controller.app; import jakarta.annotation.Resource; +import jakarta.validation.constraints.NotNull; import org.dromara.common.core.domain.R; -import org.dromara.project.domain.vo.project.BusProjectContractorListVo; +import org.dromara.project.domain.vo.project.BusProjectContractorTeamListVo; import org.dromara.project.service.IBusProjectService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -26,10 +28,19 @@ public class BusProjectAppController { private IBusProjectService projectService; /** - * 查询项目以及项目下的分包公司列表 + * 查询项目以及项目下的分包公司、班组列表 */ - @GetMapping("/list/project/contractorList") - public R> listProjectContractorList() { - return R.ok(projectService.queryProjectContractorList()); + @GetMapping("/contractorTeamList") + public R> listContractorList() { + return R.ok(projectService.queryContractorTeamList()); + } + + /** + * 根据 id 查询项目以及项目下的分包公司、班组列表 + */ + @GetMapping("/contractorTeamList/{id}") + public R listContractorListById(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(projectService.queryContractorTeamListById(id)); } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java index 72d8e2f4..6aa4c5f7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java @@ -9,9 +9,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; -import org.dromara.contractor.domain.SubConstructionUser; import org.dromara.contractor.service.ISubConstructionUserService; -import org.dromara.project.domain.dto.leave.BusLeaveAddReq; import org.dromara.project.domain.dto.reissuecard.BusReissueCardAddReq; import org.dromara.project.domain.dto.reissuecard.BusReissueCardQueryReq; import org.dromara.project.domain.vo.reissuecard.BusReissueCardVo; @@ -20,6 +18,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** + * 施工人员补卡申请 app 接口 + * * @author lilemy * @date 2025-07-24 14:51 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectContractorListVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectContractorTeamListVo.java similarity index 77% rename from xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectContractorListVo.java rename to xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectContractorTeamListVo.java index 924db023..93c8073e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectContractorListVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectContractorTeamListVo.java @@ -12,7 +12,7 @@ import java.util.List; * @date 2025/3/31 16:16 */ @Data -public class BusProjectContractorListVo implements Serializable { +public class BusProjectContractorTeamListVo implements Serializable { @Serial private static final long serialVersionUID = 3089953733712392942L; @@ -32,4 +32,9 @@ public class BusProjectContractorListVo implements Serializable { */ private List contractorList; + /** + * 项目下的班组列表 + */ + private List teamList; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java index 87705e65..4a295f37 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java @@ -63,11 +63,19 @@ public interface IBusProjectService extends IService { List querySubProjectMatrixList(Long id); /** - * 查询当前登录用户项目列表以及项目列表下的分包公司列表 + * 查询当前登录用户项目列表以及项目列表下的分包公司、班组列表 * - * @return 项目列表以及项目列表下的分包公司列表 + * @return 项目列表以及项目列表下的分包公司、班组列表 */ - List queryProjectContractorList(); + List queryContractorTeamList(); + + /** + * 根据项目id查询项目下的分包公司、班组列表 + * + * @param id 项目id + * @return 项目下的分包公司、班组列表 + */ + BusProjectContractorTeamListVo queryContractorTeamListById(Long id); /** * 新增项目 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java index 3c6c6f51..7ab0f2d6 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java @@ -44,18 +44,12 @@ import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryStruct import org.dromara.progress.service.IPgsProgressCategoryService; import org.dromara.progress.service.IPgsProgressCategoryTemplateService; import org.dromara.project.constant.BusProjectConstant; -import org.dromara.project.domain.BusProject; -import org.dromara.project.domain.BusProjectFile; -import org.dromara.project.domain.BusProjectPunchrange; -import org.dromara.project.domain.BusUserProjectRelevancy; +import org.dromara.project.domain.*; import org.dromara.project.domain.bo.Punchrange; import org.dromara.project.domain.dto.project.*; import org.dromara.project.domain.vo.project.*; import org.dromara.project.mapper.BusProjectMapper; -import org.dromara.project.service.IBusProjectFileService; -import org.dromara.project.service.IBusProjectPunchrangeService; -import org.dromara.project.service.IBusProjectService; -import org.dromara.project.service.IBusUserProjectRelevancyService; +import org.dromara.project.service.*; import org.dromara.quality.service.IQltKnowledgeDocumentService; import org.dromara.safety.service.IHseKnowledgeDocumentService; import org.dromara.workflow.service.IFlwDefinitionService; @@ -138,6 +132,10 @@ public class BusProjectServiceImpl extends ServiceImpl WEATHER_CACHE = Caffeine.newBuilder().initialCapacity(1024) .maximumSize(10000L) @@ -274,12 +272,12 @@ public class BusProjectServiceImpl extends ServiceImpl queryProjectContractorList() { + public List queryContractorTeamList() { Long userId = LoginHelper.getUserId(); // 获取当前登录用户的项目列表 LambdaQueryWrapper userProjectRelevancyLqw = Wrappers.lambdaQuery(BusUserProjectRelevancy.class) @@ -299,7 +297,7 @@ public class BusProjectServiceImpl extends ServiceImpl { - BusProjectContractorListVo projectContractorListResp = new BusProjectContractorListVo(); + BusProjectContractorTeamListVo projectContractorListResp = new BusProjectContractorTeamListVo(); // 添加项目信息 projectContractorListResp.setId(project.getId()); projectContractorListResp.setProjectName(project.getProjectName()); @@ -312,6 +310,45 @@ public class BusProjectServiceImpl extends ServiceImpl contractorList = contractorService.lambdaQuery() + .eq(SubContractor::getProjectId, id) + .list(); + if (CollUtil.isEmpty(contractorList)) { + return vo; + } + List idAndNameVOS = contractorList.stream() + .map(contractor -> IdAndNameVO.build(contractor.getId(), contractor.getName())).toList(); + vo.setContractorList(idAndNameVOS); + // 获取班组信息 + List teamList = projectTeamService.lambdaQuery() + .eq(BusProjectTeam::getProjectId, id) + .list(); + if (CollUtil.isEmpty(teamList)) { + return vo; + } + List teamIdAndNameVOS = teamList.stream() + .map(projectTeam -> IdAndNameVO.build(projectTeam.getId(), projectTeam.getTeamName())) + .toList(); + vo.setTeamList(teamIdAndNameVOS); + return vo; + } + /** * 新增项目 * diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/app/HseViolationRecordAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/app/HseViolationRecordAppController.java new file mode 100644 index 00000000..61cccb0b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/app/HseViolationRecordAppController.java @@ -0,0 +1,70 @@ +package org.dromara.safety.controller.app; + +import jakarta.annotation.Resource; +import jakarta.validation.constraints.NotNull; +import org.dromara.common.core.domain.R; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq; +import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq; +import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq; +import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo; +import org.dromara.safety.service.IHseViolationRecordService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * 违规记录 app 接口 + * + * @author lilemy + * @date 2025-09-02 18:17 + */ +@Validated +@RestController +@RequestMapping("/app/safety/violationRecord") +public class HseViolationRecordAppController extends BaseController { + + @Resource + private IHseViolationRecordService violationRecordService; + + /** + * 查询违规记录列表 + */ + @GetMapping("/list") + public TableDataInfo queryPageList(HseViolationRecordQueryReq req, PageQuery pageQuery) { + return violationRecordService.queryPageList(req, pageQuery); + } + + /** + * 获取违规记录详细信息 + */ + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(violationRecordService.queryById(id)); + } + + /** + * 新增违规记录处理人 + */ + @Log(title = "违规记录", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/handler") + public R insertHandler(@Validated @RequestBody HseViolationRecordCreateHandlerReq req) { + return toAjax(violationRecordService.insertHandler(req)); + } + + /** + * 新增违规记录整改 + */ + @Log(title = "违规记录", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/rectification") + public R insertRectification(@Validated @RequestBody HseViolationRecordRectificationReq req) { + return toAjax(violationRecordService.insertRectification(req)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseViolationRecord.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseViolationRecord.java index 5947d703..fe7b96e5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseViolationRecord.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseViolationRecord.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; +import java.time.LocalDate; import java.util.Date; /** @@ -72,7 +73,7 @@ public class HseViolationRecord extends BaseEntity { /** * 处理期限 */ - private Date disposeDeadline; + private LocalDate disposeDeadline; /** * 处理时间 @@ -89,6 +90,11 @@ public class HseViolationRecord extends BaseEntity { */ private Date rectificationTime; + /** + * 整改附件 + */ + private String rectificationFile; + /** * 复查情况 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordCreateHandlerReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordCreateHandlerReq.java index 8fa956ac..b18e766e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordCreateHandlerReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordCreateHandlerReq.java @@ -1,15 +1,13 @@ package org.dromara.safety.domain.dto.violationrecord; -import com.fasterxml.jackson.annotation.JsonFormat; import jakarta.validation.constraints.Future; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; /** * @author lilemy @@ -49,9 +47,7 @@ public class HseViolationRecordCreateHandlerReq implements Serializable { */ @NotNull(message = "处理期限不能为空") @Future(message = "处理期限不能小于当前时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") - private Date disposeDeadline; + private LocalDate disposeDeadline; /** * 备注 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordQueryReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordQueryReq.java index 160850bc..6c8e9579 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordQueryReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordQueryReq.java @@ -1,11 +1,10 @@ package org.dromara.safety.domain.dto.violationrecord; import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; import java.io.Serial; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; /** * @author lilemy @@ -17,11 +16,6 @@ public class HseViolationRecordQueryReq implements Serializable { @Serial private static final long serialVersionUID = 1084576574388146447L; - /** - * 主键id - */ - private Long id; - /** * 项目id */ @@ -35,8 +29,7 @@ public class HseViolationRecordQueryReq implements Serializable { /** * 违章时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd") - private Date violationTime; + private LocalDate violationTime; /** * 整改单位(1分包 2班组) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordRectificationReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordRectificationReq.java new file mode 100644 index 00000000..373b1ff6 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/violationrecord/HseViolationRecordRectificationReq.java @@ -0,0 +1,36 @@ +package org.dromara.safety.domain.dto.violationrecord; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lilemy + * @date 2025-09-02 18:39 + */ +@Data +public class HseViolationRecordRectificationReq implements Serializable { + + @Serial + private static final long serialVersionUID = 8509850792799321449L; + + /** + * 主键id + */ + @NotNull(message = "主键不能为空") + private Long id; + + /** + * 整改措施 + */ + @NotBlank(message = "整改措施不能为空") + private String measure; + + /** + * 整改附件 + */ + private String rectificationFile; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseViolationRecordService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseViolationRecordService.java index f9e27355..b84226bd 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseViolationRecordService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseViolationRecordService.java @@ -9,6 +9,7 @@ import org.dromara.safety.domain.HseViolationRecord; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateDto; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq; +import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq; import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo; import java.util.Collection; @@ -94,4 +95,11 @@ public interface IHseViolationRecordService extends IService */ Page getVoPage(Page violationRecordPage); + /** + * 新增违章整改信息 + * + * @param req 违章整改信息 + * @return 是否新增成功 + */ + Boolean insertRectification(HseViolationRecordRectificationReq req); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseViolationRecordServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseViolationRecordServiceImpl.java index 215e78ab..e4e49eb6 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseViolationRecordServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseViolationRecordServiceImpl.java @@ -14,6 +14,7 @@ import org.dromara.common.core.utils.ObjectUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.sse.config.SseProperties; import org.dromara.common.sse.dto.SeeMessageContentDto; import org.dromara.common.sse.dto.SseMessageDto; @@ -25,6 +26,7 @@ import org.dromara.safety.domain.HseViolationRecord; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateDto; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq; +import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq; import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo; import org.dromara.safety.mapper.HseViolationRecordMapper; import org.dromara.safety.service.IHseRecognizeRecordService; @@ -40,7 +42,6 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -298,24 +299,17 @@ public class HseViolationRecordServiceImpl extends ServiceImpl selectRolePermissionByUserId(Long userId) { List items = baseMapper.selectProjectRolesByUserId(userId); + // 过滤掉项目id为null的数据 + items = items.stream().filter(item -> item.getProjectId() != null).toList(); + if (CollUtil.isEmpty(items)) { + return new ArrayList<>(); + } return items.stream() .filter(Objects::nonNull) // 保证不为空 .peek(item -> {