From fd2c464a428ce0cf983ed6ff6f07e15f93c73a98 Mon Sep 17 00:00:00 2001 From: lishiwei <3230787218@qq.com> Date: Mon, 22 Jun 2026 17:49:18 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E6=B7=BB=E5=8A=A0=E9=9A=90=E6=82=A3?= =?UTF-8?q?=E5=A4=84=E7=BD=9A=E5=8A=9F=E8=83=BD=E5=92=8C=E9=87=8D=E7=82=B9?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=A4=84=E7=BD=9A=E4=BA=BA=E5=91=98=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/hidden/HiddenPenaltyController.java | 58 ++++++ .../hidden/HiddenPenaltyCoConvertor.java | 21 +++ ...KeyProjectPenaltyPersonnelCoConvertor.java | 16 ++ .../command/hidden/HiddenPenaltyAddExe.java | 66 +++++++ .../hidden/HiddenPenaltyFeedbackAddExe.java | 61 ++++++ .../hidden/HiddenPenaltyUpdateExe.java | 59 ++++++ .../command/project/KeyProjectAddExe.java | 21 +++ .../command/project/KeyProjectUpdateExe.java | 38 +++- .../query/hidden/HiddenPenaltyQueryExe.java | 37 ++++ .../command/query/hidden/HiddenQueryExe.java | 19 ++ .../query/project/KeyProjectQueryExe.java | 7 + .../hidden/HiddenPenaltyServiceImpl.java | 37 ++++ .../api/hidden/HiddenPenaltyServiceI.java | 17 ++ .../dto/clientobject/hidden/HiddenCO.java | 6 + .../clientobject/hidden/HiddenPenaltyCO.java | 84 +++++++++ .../hidden/HiddenPenaltyFeedbackCO.java | 61 ++++++ .../clientobject/project/KeyProjectCO.java | 3 + .../project/KeyProjectPenaltyPersonnelCO.java | 31 +++ .../dto/hidden/HiddenPenaltyAddCmd.java | 39 ++++ .../hidden/HiddenPenaltyFeedbackAddCmd.java | 29 +++ .../dto/hidden/HiddenPenaltyPageQry.java | 36 ++++ .../dto/hidden/HiddenPenaltyUpdateCmd.java | 23 +++ .../project/dto/project/KeyProjectAddCmd.java | 3 + .../KeyProjectPenaltyPersonnelAddCmd.java | 26 +++ .../dto/project/KeyProjectUpdateCmd.java | 3 + .../project/KeyProjectUpdateStatusCmd.java | 3 + .../gateway/hidden/HiddenPenaltyGateway.java | 10 + .../domain/model/hidden/HiddenPenaltyE.java | 60 ++++++ .../hidden/HiddenPenaltyGatewayImpl.java | 35 ++++ .../dataobject/hidden/HiddenPenaltyDO.java | 99 ++++++++++ .../hidden/HiddenPenaltyFeedbackDO.java | 73 ++++++++ .../project/KeyProjectPenaltyPersonnelDO.java | 33 ++++ .../mapper/HiddenPenaltyFeedbackMapper.java | 9 + .../mapper/HiddenPenaltyMapper.java | 24 +++ .../KeyProjectPenaltyPersonnelMapper.java | 15 ++ .../hidden/HiddenPenaltyRepository.java | 23 +++ .../hidden/HiddenPenaltyRepositoryImpl.java | 60 ++++++ ...ProjectPenaltyPersonnelRepositoryImpl.java | 29 +++ .../KeyProjectPenaltyPersonnelRepository.java | 13 ++ .../resources/mapper/HiddenPenaltyMapper.xml | 176 ++++++++++++++++++ .../KeyProjectPenaltyPersonnelMapper.xml | 19 ++ 41 files changed, 1478 insertions(+), 4 deletions(-) create mode 100644 web-adapter/src/main/java/com/zcloud/key/project/web/hidden/HiddenPenaltyController.java create mode 100644 web-app/src/main/java/com/zcloud/key/project/command/convertor/hidden/HiddenPenaltyCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectPenaltyPersonnelCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyFeedbackAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenPenaltyQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/key/project/service/hidden/HiddenPenaltyServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/api/hidden/HiddenPenaltyServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyCO.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyFeedbackCO.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectPenaltyPersonnelCO.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyFeedbackAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectPenaltyPersonnelAddCmd.java create mode 100644 web-domain/src/main/java/com/zcloud/key/project/domain/gateway/hidden/HiddenPenaltyGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/key/project/domain/model/hidden/HiddenPenaltyE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenPenaltyGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyFeedbackDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectPenaltyPersonnelDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyFeedbackMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectPenaltyPersonnelMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/hidden/HiddenPenaltyRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/hidden/HiddenPenaltyRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectPenaltyPersonnelRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectPenaltyPersonnelRepository.java create mode 100644 web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/KeyProjectPenaltyPersonnelMapper.xml diff --git a/web-adapter/src/main/java/com/zcloud/key/project/web/hidden/HiddenPenaltyController.java b/web-adapter/src/main/java/com/zcloud/key/project/web/hidden/HiddenPenaltyController.java new file mode 100644 index 0000000..ccbf516 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/key/project/web/hidden/HiddenPenaltyController.java @@ -0,0 +1,58 @@ +package com.zcloud.key.project.web.hidden; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.key.project.api.hidden.HiddenPenaltyServiceI; +import com.zcloud.key.project.command.hidden.HiddenPenaltyFeedbackAddExe; +import com.zcloud.key.project.command.query.hidden.HiddenPenaltyQueryExe; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyFeedbackCO; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyAddCmd; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyFeedbackAddCmd; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyPageQry; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyUpdateCmd; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "隐患处罚") +@RequestMapping("/${application.gateway}/hidden/penalty") +@RestController +@AllArgsConstructor +public class HiddenPenaltyController { + private final HiddenPenaltyServiceI hiddenPenaltyService; + private final HiddenPenaltyQueryExe hiddenPenaltyQueryExe; + private final HiddenPenaltyFeedbackAddExe hiddenPenaltyFeedbackAddExe; + + @ApiOperation("处罚分页列表") + @PostMapping("/list") + public PageResponse listPage(@RequestBody HiddenPenaltyPageQry qry) { + return hiddenPenaltyService.listPage(qry); + } + + @ApiOperation("下发处罚(同一隐患已存在则更新)") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody HiddenPenaltyAddCmd cmd) { + return hiddenPenaltyService.add(cmd); + } + + @ApiOperation("更改处罚(fineFlag 0/1 双向可切)") + @PostMapping("/edit") + public SingleResponse edit(@Validated @RequestBody HiddenPenaltyUpdateCmd cmd) { + return hiddenPenaltyService.edit(cmd); + } + + @ApiOperation("反馈分页列表(只展示 fineFlag=1 的处罚)") + @PostMapping("/feedback/list") + public PageResponse feedbackListPage(@RequestBody HiddenPenaltyPageQry qry) { + return hiddenPenaltyQueryExe.feedbackListPage(qry); + } + + @ApiOperation("提交反馈") + @PostMapping("/feedback/save") + public SingleResponse feedbackAdd(@Validated @RequestBody HiddenPenaltyFeedbackAddCmd cmd) { + return hiddenPenaltyFeedbackAddExe.execute(cmd); + } +} diff --git a/web-app/src/main/java/com/zcloud/key/project/command/convertor/hidden/HiddenPenaltyCoConvertor.java b/web-app/src/main/java/com/zcloud/key/project/command/convertor/hidden/HiddenPenaltyCoConvertor.java new file mode 100644 index 0000000..3ad608a --- /dev/null +++ b/web-app/src/main/java/com/zcloud/key/project/command/convertor/hidden/HiddenPenaltyCoConvertor.java @@ -0,0 +1,21 @@ +package com.zcloud.key.project.command.convertor.hidden; + +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyFeedbackCO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface HiddenPenaltyCoConvertor { + + List converDOsToCOs(List dos); + + HiddenPenaltyCO converDOToCO(HiddenPenaltyDO d); + + List converFeedbackDOsToCOs(List dos); + + HiddenPenaltyFeedbackCO converFeedbackDOToCO(HiddenPenaltyFeedbackDO d); +} diff --git a/web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectPenaltyPersonnelCoConvertor.java b/web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectPenaltyPersonnelCoConvertor.java new file mode 100644 index 0000000..7318bf5 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/key/project/command/convertor/project/KeyProjectPenaltyPersonnelCoConvertor.java @@ -0,0 +1,16 @@ +package com.zcloud.key.project.command.convertor.project; + +import com.zcloud.key.project.dto.project.KeyProjectPenaltyPersonnelAddCmd; +import com.zcloud.key.project.dto.clientobject.project.KeyProjectPenaltyPersonnelCO; +import com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface KeyProjectPenaltyPersonnelCoConvertor { + + List converDOsToCOs(List keyProjectPenaltyPersonnelDOs); + + List converCmdsToDOs(List keyProjectPenaltyPersonnelAddCmdList); +} diff --git a/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyAddExe.java new file mode 100644 index 0000000..9866bc0 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyAddExe.java @@ -0,0 +1,66 @@ +package com.zcloud.key.project.command.hidden; + +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.exception.BizException; +import com.zcloud.gbscommon.utils.Tools; +import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor; +import com.zcloud.key.project.domain.gateway.hidden.HiddenPenaltyGateway; +import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyAddCmd; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; + +@Component +@AllArgsConstructor +public class HiddenPenaltyAddExe { + private final HiddenPenaltyGateway hiddenPenaltyGateway; + private final HiddenPenaltyRepository hiddenPenaltyRepository; + private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor; + + @Transactional(rollbackFor = Exception.class) + public SingleResponse execute(HiddenPenaltyAddCmd cmd) { + HiddenPenaltyDO existing = hiddenPenaltyRepository.getByHiddenId(cmd.getHiddenId()); + + // 已存在记录:三个状态均为0代表仅初始化、未处罚,走首次处罚更新逻辑 + if (existing != null) { + if (Integer.valueOf(0).equals(existing.getFineFlag()) + && Integer.valueOf(0).equals(existing.getFeedbackStatus()) + && Integer.valueOf(0).equals(existing.getEditFlag())) { + HiddenPenaltyE e = new HiddenPenaltyE(); + e.setHiddenPenaltyId(existing.getHiddenPenaltyId()); + BeanUtils.copyProperties(cmd, e); + if (e.getPenaltyTime() == null) { + e.setPenaltyTime(LocalDateTime.now()); + } + boolean res = hiddenPenaltyGateway.update(e); + if (!res) { + throw new BizException("保存失败"); + } + HiddenPenaltyDO updated = hiddenPenaltyRepository.getByHiddenId(cmd.getHiddenId()); + return SingleResponse.of(hiddenPenaltyCoConvertor.converDOToCO(updated)); + } + throw new BizException("无法重复处罚"); + } + + // 不存在记录:初始化(隐患发现时同步创建,三个状态默认0) + HiddenPenaltyE e = new HiddenPenaltyE(); + e.setHiddenPenaltyId(Tools.get32UUID()); + BeanUtils.copyProperties(cmd, e); + if (e.getPenaltyTime() == null) { + e.setPenaltyTime(LocalDateTime.now()); + } + boolean res = hiddenPenaltyGateway.add(e); + if (!res) { + throw new BizException("保存失败"); + } + HiddenPenaltyDO saved = hiddenPenaltyRepository.getByHiddenId(cmd.getHiddenId()); + return SingleResponse.of(hiddenPenaltyCoConvertor.converDOToCO(saved)); + } +} diff --git a/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyFeedbackAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyFeedbackAddExe.java new file mode 100644 index 0000000..ee22c46 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyFeedbackAddExe.java @@ -0,0 +1,61 @@ +package com.zcloud.key.project.command.hidden; + +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.exception.BizException; +import com.zcloud.gbscommon.utils.Tools; +import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor; +import com.zcloud.key.project.domain.gateway.hidden.HiddenPenaltyGateway; +import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyFeedbackCO; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyFeedbackAddCmd; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; +import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository; +import com.jjb.saas.framework.auth.utils.AuthContext; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; + +@Component +@AllArgsConstructor +public class HiddenPenaltyFeedbackAddExe { + private final HiddenPenaltyRepository hiddenPenaltyRepository; + private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor; + private final HiddenPenaltyGateway hiddenPenaltyGateway; + + @Transactional(rollbackFor = Exception.class) + public SingleResponse execute(HiddenPenaltyFeedbackAddCmd cmd) { + HiddenPenaltyDO penalty = hiddenPenaltyRepository.getByPenaltyId(cmd.getHiddenPenaltyId()); + if (penalty == null) { + throw new BizException("处罚记录不存在"); + } + if (!Integer.valueOf(1).equals(penalty.getFineFlag())) { + throw new BizException("当前处罚为不罚款状态,无法提交反馈"); + } + if (Integer.valueOf(1).equals(penalty.getFeedbackStatus())) { + throw new BizException("已反馈,请勿重复提交"); + } + + // 保存反馈 + HiddenPenaltyFeedbackDO d = new HiddenPenaltyFeedbackDO(); + BeanUtils.copyProperties(cmd, d); + d.setHiddenPenaltyFeedbackId(Tools.get32UUID()); + if (d.getFeedbackTime() == null) { + d.setFeedbackTime(LocalDateTime.now()); + } + hiddenPenaltyRepository.saveFeedback(d); + + // 更新处罚反馈状态为已反馈 + HiddenPenaltyE e = new HiddenPenaltyE(); + e.setId(penalty.getId()); + e.setHiddenPenaltyId(penalty.getHiddenPenaltyId()); + e.setFeedbackStatus(1); + hiddenPenaltyGateway.update(e); + + d.setFeedbackUserName(AuthContext.getCurrentUser().getName()); + return SingleResponse.of(hiddenPenaltyCoConvertor.converFeedbackDOToCO(d)); + } +} diff --git a/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyUpdateExe.java b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyUpdateExe.java new file mode 100644 index 0000000..50d34fd --- /dev/null +++ b/web-app/src/main/java/com/zcloud/key/project/command/hidden/HiddenPenaltyUpdateExe.java @@ -0,0 +1,59 @@ +package com.zcloud.key.project.command.hidden; + +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.exception.BizException; +import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor; +import com.zcloud.key.project.domain.gateway.hidden.HiddenPenaltyGateway; +import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyUpdateCmd; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; + +@Component +@AllArgsConstructor +public class HiddenPenaltyUpdateExe { + private final HiddenPenaltyGateway hiddenPenaltyGateway; + private final HiddenPenaltyRepository hiddenPenaltyRepository; + private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor; + + @Transactional(rollbackFor = Exception.class) + public SingleResponse execute(HiddenPenaltyUpdateCmd cmd) { + HiddenPenaltyDO existing = hiddenPenaltyRepository.getById(cmd.getId()); + if (existing == null) { + throw new BizException("处罚数据不存在"); + } + + // 已反馈的不可更改 + if (1 == existing.getFeedbackStatus()) { + throw new BizException("已反馈,无法更改处罚"); + } + // 已更改过的不可重复更改 + if (1 == existing.getEditFlag()) { + throw new BizException("已更改过,无法重复更改"); + } + + HiddenPenaltyE e = new HiddenPenaltyE(); + e.setId(cmd.getId()); + e.setHiddenPenaltyId(existing.getHiddenPenaltyId()); + e.setFineFlag(cmd.getFineFlag()); + e.setPenaltyTime(cmd.getPenaltyTime() != null ? cmd.getPenaltyTime() : LocalDateTime.now()); + e.setEditFlag(1); + if (0 == cmd.getFineFlag()) { + e.setFeedbackStatus(0); + } + + boolean res = hiddenPenaltyGateway.update(e); + if (!res) { + throw new BizException("修改失败"); + } + + HiddenPenaltyDO updated = hiddenPenaltyRepository.getByHiddenId(existing.getHiddenId()); + return SingleResponse.of(hiddenPenaltyCoConvertor.converDOToCO(updated)); + } +} diff --git a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java index 444d792..d9275b6 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java @@ -5,16 +5,21 @@ import com.alibaba.cola.exception.BizException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.gbscommon.utils.Tools; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; +import com.zcloud.key.project.command.convertor.project.KeyProjectPenaltyPersonnelCoConvertor; import com.zcloud.key.project.domain.config.MessageTemplateConfig; +import com.zcloud.key.project.domain.enums.CreateSourceEnum; import com.zcloud.key.project.domain.enums.KeyProjectApplyStatusEnum; import com.zcloud.key.project.domain.gateway.project.KeyProjectGateway; import com.zcloud.key.project.domain.model.project.KeyProjectE; import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO; import com.zcloud.key.project.dto.project.KeyProjectAddCmd; import com.zcloud.key.project.dto.project.KeyProjectCameraAddCmd; +import com.zcloud.key.project.dto.project.KeyProjectPenaltyPersonnelAddCmd; import com.zcloud.key.project.persistence.dataobject.project.KeyProjectCameraDO; import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO; +import com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO; import com.zcloud.key.project.persistence.repository.project.KeyProjectCameraRepository; +import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import lombok.AllArgsConstructor; import org.apache.commons.lang.StringUtils; @@ -40,6 +45,8 @@ public class KeyProjectAddExe { private final KeyProjectRepository keyProjectRepository; private final KeyProjectCameraRepository keyProjectCameraRepository; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; + private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository; + private final KeyProjectPenaltyPersonnelCoConvertor keyProjectPenaltyPersonnelCoConvertor; private final MessageNoticeExe messageNoticeExe; private final MessageTemplateConfig messageTemplateConfig; @@ -57,6 +64,11 @@ public class KeyProjectAddExe { } } + // 流程一(手动创建):处罚人员必填 + if (CreateSourceEnum.MANUAL.getCode().equals(cmd.getCreateSource()) && CollUtil.isEmpty(cmd.getKeyProjectPenaltyPersonnelAddCmdList())) { + throw new BizException("处罚人员为必填项"); + } + KeyProjectE keyProjectE = new KeyProjectE(); BeanUtils.copyProperties(cmd, keyProjectE); if (CollUtil.isNotEmpty(cmd.getProjectType())) { @@ -84,6 +96,15 @@ public class KeyProjectAddExe { }); keyProjectCameraRepository.saveBatch(keyProjectCameraDOList); } + if (cmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) { + List penaltyPersonnelAddCmdList = cmd.getKeyProjectPenaltyPersonnelAddCmdList(); + List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); + penaltyPersonnelDOList.forEach(item -> { + item.setKeyProjectId(keyProjectE.getKeyProjectId()); + item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID()); + }); + keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList); + } KeyProjectCO keyProjectCO = new KeyProjectCO(); BeanUtils.copyProperties(keyProjectE, keyProjectCO); diff --git a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java index 244707d..8209101 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java @@ -5,16 +5,21 @@ import com.alibaba.cola.exception.BizException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.gbscommon.utils.Tools; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; +import com.zcloud.key.project.command.convertor.project.KeyProjectPenaltyPersonnelCoConvertor; import com.zcloud.key.project.domain.config.MessageTemplateConfig; import com.zcloud.key.project.domain.enums.KeyProjectApplyStatusEnum; import com.zcloud.key.project.domain.gateway.project.KeyProjectGateway; import com.zcloud.key.project.domain.model.project.KeyProjectE; +import com.zcloud.key.project.domain.enums.CreateSourceEnum; import com.zcloud.key.project.dto.project.KeyProjectCameraAddCmd; +import com.zcloud.key.project.dto.project.KeyProjectPenaltyPersonnelAddCmd; import com.zcloud.key.project.dto.project.KeyProjectUpdateCmd; import com.zcloud.key.project.dto.project.KeyProjectUpdateStatusCmd; import com.zcloud.key.project.persistence.dataobject.project.KeyProjectCameraDO; +import com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO; import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO; import com.zcloud.key.project.persistence.repository.project.KeyProjectCameraRepository; +import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import lombok.AllArgsConstructor; import org.apache.commons.lang.StringUtils; @@ -42,6 +47,8 @@ public class KeyProjectUpdateExe { private final KeyProjectRepository keyProjectRepository; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; private final KeyProjectCameraRepository keyProjectCameraRepository; + private final KeyProjectPenaltyPersonnelCoConvertor keyProjectPenaltyPersonnelCoConvertor; + private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository; private final MessageNoticeExe messageNoticeExe; private final MessageTemplateConfig messageTemplateConfig; @@ -90,6 +97,16 @@ public class KeyProjectUpdateExe { }); keyProjectCameraRepository.saveBatch(keyProjectCameraDOList); } + if (keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) { + keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId()); + List penaltyPersonnelAddCmdList = keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList(); + List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); + penaltyPersonnelDOList.forEach(item -> { + item.setKeyProjectId(keyProjectE.getKeyProjectId()); + item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID()); + }); + keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList); + } @@ -155,16 +172,29 @@ public class KeyProjectUpdateExe { if (!res) { throw new BizException("修改失败"); } - if(keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList()!=null){ - keyProjectCameraRepository.deleteByKeyProjectId(byId.getKeyProjectId()); + + // 流程二(自动创建):开工确认时可添加摄像头和处罚人员 + if (CreateSourceEnum.AUTO.getCode().equals(byId.getCreateSource())) { + if (keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList() != null) { + keyProjectCameraRepository.deleteByKeyProjectId(byId.getKeyProjectId()); List keyProjectCameraAddCmdList = keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList(); - List keyProjectCameraDOList =keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList); + List keyProjectCameraDOList = keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList); keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> { keyProjectCameraAddCmd.setKeyProjectId(byId.getKeyProjectId()); keyProjectCameraAddCmd.setKeyProjectCameraId(Tools.get32UUID()); }); keyProjectCameraRepository.saveBatch(keyProjectCameraDOList); - + } + if (keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) { + keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(byId.getKeyProjectId()); + List penaltyPersonnelAddCmdList = keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList(); + List penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList); + penaltyPersonnelDOList.forEach(item -> { + item.setKeyProjectId(byId.getKeyProjectId()); + item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID()); + }); + keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList); + } } } diff --git a/web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenPenaltyQueryExe.java b/web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenPenaltyQueryExe.java new file mode 100644 index 0000000..6165f41 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenPenaltyQueryExe.java @@ -0,0 +1,37 @@ +package com.zcloud.key.project.command.query.hidden; + +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyFeedbackCO; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyPageQry; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; +import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +@AllArgsConstructor +public class HiddenPenaltyQueryExe { + private final HiddenPenaltyRepository hiddenPenaltyRepository; + private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor; + + public PageResponse execute(HiddenPenaltyPageQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + PageResponse pageResponse = hiddenPenaltyRepository.listPage(params); + List cos = hiddenPenaltyCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(cos, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public PageResponse feedbackListPage(HiddenPenaltyPageQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + PageResponse pageResponse = hiddenPenaltyRepository.feedbackListPage(params); + List cos = hiddenPenaltyCoConvertor.converFeedbackDOsToCOs(pageResponse.getData()); + return PageResponse.of(cos, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} diff --git a/web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenQueryExe.java b/web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenQueryExe.java index ddcaf94..4be49f0 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenQueryExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/query/hidden/HiddenQueryExe.java @@ -5,16 +5,22 @@ import com.alibaba.cola.dto.SingleResponse; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.key.project.command.convertor.hidden.HiddenCoConvertor; import com.zcloud.key.project.command.convertor.hidden.HiddenFindUserCoConvertor; +import com.zcloud.key.project.command.convertor.hidden.HiddenPenaltyCoConvertor; import com.zcloud.key.project.dto.clientobject.hidden.HiddenAcceptRecordCO; import com.zcloud.key.project.dto.clientobject.hidden.HiddenCO; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyFeedbackCO; import com.zcloud.key.project.dto.clientobject.hidden.HiddenRectificationRecordCO; import com.zcloud.key.project.dto.hidden.HiddenPageQry; import com.zcloud.key.project.persistence.dataobject.hidden.HiddenAcceptRecordDO; import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO; import com.zcloud.key.project.persistence.dataobject.hidden.HiddenFindUserDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; import com.zcloud.key.project.persistence.dataobject.hidden.HiddenRectificationRecordDO; import com.zcloud.key.project.persistence.repository.hidden.HiddenAcceptRecordRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenFindUserRepository; +import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenRectificationRecordRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository; import lombok.AllArgsConstructor; @@ -40,6 +46,8 @@ public class HiddenQueryExe { private final HiddenRectificationRecordRepository hiddenRectificationRecordRepository; private final HiddenAcceptRecordRepository hiddenAcceptRecordRepository; private final HiddenFindUserCoConvertor hiddenFindUserCoConvertor; + private final HiddenPenaltyRepository hiddenPenaltyRepository; + private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor; private final HiddenCoConvertor hiddenCoConvertor; @@ -86,6 +94,17 @@ public class HiddenQueryExe { BeanUtils.copyProperties(hiddenAcceptRecordDOs.get(0), hiddenAcceptRecordCO); hiddenCO.setAcceptRecord(hiddenAcceptRecordCO); } + HiddenPenaltyDO hiddenPenaltyDO = hiddenPenaltyRepository.getByHiddenId(hiddenDO.getHiddenId()); + if (hiddenPenaltyDO != null) { + HiddenPenaltyCO hiddenPenaltyCO = hiddenPenaltyCoConvertor.converDOToCO(hiddenPenaltyDO); + hiddenCO.setHiddenPenaltyCO(hiddenPenaltyCO); + + HiddenPenaltyFeedbackDO feedbackDO = hiddenPenaltyRepository.getFeedbackByPenaltyId(hiddenPenaltyDO.getHiddenPenaltyId()); + if (feedbackDO != null) { + HiddenPenaltyFeedbackCO feedbackCO = hiddenPenaltyCoConvertor.converFeedbackDOToCO(feedbackDO); + hiddenCO.setHiddenPenaltyFeedbackCO(feedbackCO); + } + } return SingleResponse.of(hiddenCO); } } diff --git a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java index 15f210e..2dc6759 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/query/project/KeyProjectQueryExe.java @@ -7,6 +7,7 @@ import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; import com.zcloud.key.project.command.convertor.project.KeyProjectCoConvertor; +import com.zcloud.key.project.command.convertor.project.KeyProjectPenaltyPersonnelCoConvertor; import com.zcloud.key.project.domain.enums.KeyProjectCameraTypeEnum; import com.zcloud.key.project.dto.clientobject.project.*; import com.zcloud.key.project.dto.project.*; @@ -18,6 +19,7 @@ import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository; import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionRepository; import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectCameraRepository; +import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; @@ -41,6 +43,8 @@ public class KeyProjectQueryExe { private final KeyProjectCoConvertor keyProjectCoConvertor; private final KeyProjectCameraRepository keyProjectCameraRepository; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; + private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository; + private final KeyProjectPenaltyPersonnelCoConvertor keyProjectPenaltyPersonnelCoConvertor; private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository; private final SafetyEnvironmentalInspectionUserRepository safetyEnvironmentalInspectionUserRepository; private final HiddenRepository hiddenRepository; @@ -139,6 +143,9 @@ public class KeyProjectQueryExe { List keyProjectCameraDOList =keyProjectCameraRepository.getCameraListByProjectId(keyProjectDO.getKeyProjectId()); keyProjectCO.setKeyProjectCameraList(keyProjectCameraCoConvertor.converDOsToCOs(keyProjectCameraDOList)); + //查询处罚人员 + List penaltyPersonnelDOList = keyProjectPenaltyPersonnelRepository.getListByProjectId(keyProjectDO.getKeyProjectId()); + keyProjectCO.setKeyProjectPenaltyPersonnelList(keyProjectPenaltyPersonnelCoConvertor.converDOsToCOs(penaltyPersonnelDOList)); return keyProjectCO; } diff --git a/web-app/src/main/java/com/zcloud/key/project/service/hidden/HiddenPenaltyServiceImpl.java b/web-app/src/main/java/com/zcloud/key/project/service/hidden/HiddenPenaltyServiceImpl.java new file mode 100644 index 0000000..25bf8bb --- /dev/null +++ b/web-app/src/main/java/com/zcloud/key/project/service/hidden/HiddenPenaltyServiceImpl.java @@ -0,0 +1,37 @@ +package com.zcloud.key.project.service.hidden; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.key.project.api.hidden.HiddenPenaltyServiceI; +import com.zcloud.key.project.command.hidden.HiddenPenaltyAddExe; +import com.zcloud.key.project.command.hidden.HiddenPenaltyUpdateExe; +import com.zcloud.key.project.command.query.hidden.HiddenPenaltyQueryExe; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyAddCmd; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyPageQry; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class HiddenPenaltyServiceImpl implements HiddenPenaltyServiceI { + private final HiddenPenaltyAddExe hiddenPenaltyAddExe; + private final HiddenPenaltyUpdateExe hiddenPenaltyUpdateExe; + private final HiddenPenaltyQueryExe hiddenPenaltyQueryExe; + + @Override + public PageResponse listPage(HiddenPenaltyPageQry qry) { + return hiddenPenaltyQueryExe.execute(qry); + } + + @Override + public SingleResponse add(HiddenPenaltyAddCmd cmd) { + return hiddenPenaltyAddExe.execute(cmd); + } + + @Override + public SingleResponse edit(HiddenPenaltyUpdateCmd cmd) { + return hiddenPenaltyUpdateExe.execute(cmd); + } +} diff --git a/web-client/src/main/java/com/zcloud/key/project/api/hidden/HiddenPenaltyServiceI.java b/web-client/src/main/java/com/zcloud/key/project/api/hidden/HiddenPenaltyServiceI.java new file mode 100644 index 0000000..94ff647 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/api/hidden/HiddenPenaltyServiceI.java @@ -0,0 +1,17 @@ +package com.zcloud.key.project.api.hidden; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.key.project.dto.clientobject.hidden.HiddenPenaltyCO; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyAddCmd; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyPageQry; +import com.zcloud.key.project.dto.hidden.HiddenPenaltyUpdateCmd; + +public interface HiddenPenaltyServiceI { + + PageResponse listPage(HiddenPenaltyPageQry qry); + + SingleResponse add(HiddenPenaltyAddCmd cmd); + + SingleResponse edit(HiddenPenaltyUpdateCmd cmd); +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenCO.java index e5b8070..5f0acfa 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenCO.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenCO.java @@ -125,6 +125,12 @@ public class HiddenCO extends ClientObject { // 隐患视频 @ApiModelProperty(value = "隐患视频") private String videoUrl; + + @ApiModelProperty(value = "处罚信息") + private HiddenPenaltyCO hiddenPenaltyCO; + + @ApiModelProperty(value = "处罚反馈信息") + private HiddenPenaltyFeedbackCO hiddenPenaltyFeedbackCO; //乐观锁 @ApiModelProperty(value = "乐观锁") private Integer version; diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyCO.java new file mode 100644 index 0000000..dcd834b --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyCO.java @@ -0,0 +1,84 @@ +package com.zcloud.key.project.dto.clientobject.hidden; + +import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class HiddenPenaltyCO extends ClientObject { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "hidden表主键") + private Long hiddenTableId; + + @ApiModelProperty(value = "隐患来源ID外键") + private String foreignKey; + + @ApiModelProperty(value = "业务主键id") + private String hiddenPenaltyId; + + @ApiModelProperty(value = "隐患业务主键ID") + private String hiddenId; + + @ApiModelProperty(value = "重点作业ID") + private String keyProjectId; + + @ApiModelProperty(value = "处罚说明") + private String penaltyDesc; + + @ApiModelProperty(value = "处罚金额") + private BigDecimal penaltyAmount; + + @ApiModelProperty(value = "被处罚单位ID") + private Long penalizedCorpId; + + @ApiModelProperty(value = "被处罚人ID") + private Long penalizedUserId; + + @ApiModelProperty(value = "下发处罚时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime penaltyTime; + + @ApiModelProperty(value = "是否罚款 0:否 1:是") + private Integer fineFlag; + + @ApiModelProperty(value = "是否反馈 0:未反馈 1:已反馈") + private Integer feedbackStatus; + + @ApiModelProperty(value = "是否更改过 0:未更改 1:已更改") + private Integer editFlag; + + @ApiModelProperty(value = "被处罚单位名称") + private String penalizedCorpName; + + @ApiModelProperty(value = "被处罚人名称") + private String penalizedUserName; + + @ApiModelProperty(value = "相关方单位名称") + private String xgfCorpinfoName; + + @ApiModelProperty(value = "项目名称") + private String projectName; + + @ApiModelProperty(value = "项目负责人名称") + private String xgfMasterUserName; + + @ApiModelProperty(value = "隐患来源") + private Integer hiddenSource; + + @ApiModelProperty(value = "隐患描述") + private String hiddenDesc; + + @ApiModelProperty(value = "隐患发现人") + private String findUserName; + + @ApiModelProperty(value = "隐患发现时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime hiddenCreateTime; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyFeedbackCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyFeedbackCO.java new file mode 100644 index 0000000..d94d945 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/hidden/HiddenPenaltyFeedbackCO.java @@ -0,0 +1,61 @@ +package com.zcloud.key.project.dto.clientobject.hidden; + +import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class HiddenPenaltyFeedbackCO extends ClientObject { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "hidden表主键") + private Long hiddenTableId; + + @ApiModelProperty(value = "隐患业务主键ID") + private String hiddenId; + + @ApiModelProperty(value = "隐患描述") + private String hiddenDesc; + + @ApiModelProperty(value = "下发人") + private String findUserName; + + @ApiModelProperty(value = "隐患来源ID外键") + private String foreignKey; + + @ApiModelProperty(value = "处罚反馈状态") + private Integer feedbackStatus; + + @ApiModelProperty(value = "重点作业名称") + private String projectName; + + @ApiModelProperty(value = "被处罚单位名称") + private String xgfCorpinfoName; + + @ApiModelProperty(value = "业务主键id") + private String hiddenPenaltyFeedbackId; + + @ApiModelProperty(value = "处罚业务主键ID") + private String hiddenPenaltyId; + + @ApiModelProperty(value = "处罚说明") + private String penaltyDesc; + + @ApiModelProperty(value = "罚款认缴单(图片URL)") + private String finePaymentReceipt; + + @ApiModelProperty(value = "处罚反馈人ID") + private Long feedbackUserId; + + @ApiModelProperty(value = "反馈人名称") + private String feedbackUserName; + + @ApiModelProperty(value = "处罚反馈时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime feedbackTime; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectCO.java index 0130c43..d583ff5 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectCO.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectCO.java @@ -160,6 +160,9 @@ public class KeyProjectCO extends ClientObject { @ApiModelProperty(value = "摄像头信息列表") private List keyProjectCameraList; + @ApiModelProperty(value = "处罚人员列表") + private List keyProjectPenaltyPersonnelList; + //创建时间 @ApiModelProperty(value = "创建时间") diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectPenaltyPersonnelCO.java b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectPenaltyPersonnelCO.java new file mode 100644 index 0000000..a803c7a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/clientobject/project/KeyProjectPenaltyPersonnelCO.java @@ -0,0 +1,31 @@ +package com.zcloud.key.project.dto.clientobject.project; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class KeyProjectPenaltyPersonnelCO implements Serializable { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "业务主键id") + private String keyProjectPenaltyPersonnelId; + + @ApiModelProperty(value = "重点作业id") + private String keyProjectId; + + @ApiModelProperty(value = "处罚人部门id") + private Long departmentId; + + @ApiModelProperty(value = "处罚人部门名称") + private String departmentName; + + @ApiModelProperty(value = "处罚人用户id") + private Long userId; + + @ApiModelProperty(value = "处罚人用户名称") + private String userName; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyAddCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyAddCmd.java new file mode 100644 index 0000000..c4d7484 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyAddCmd.java @@ -0,0 +1,39 @@ +package com.zcloud.key.project.dto.hidden; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class HiddenPenaltyAddCmd { + + @NotBlank(message = "隐患ID不能为空") + @ApiModelProperty(value = "隐患业务主键ID", required = true) + private String hiddenId; + + @ApiModelProperty(value = "重点作业ID") + private String keyProjectId; + + @ApiModelProperty(value = "处罚说明") + private String penaltyDesc; + + @ApiModelProperty(value = "处罚金额") + private BigDecimal penaltyAmount; + + @ApiModelProperty(value = "被处罚单位ID") + private Long penalizedCorpId; + + @ApiModelProperty(value = "被处罚人ID") + private Long penalizedUserId; + + @ApiModelProperty(value = "下发处罚时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime penaltyTime; + + @ApiModelProperty(value = "是否罚款 0:否 1:是") + private Integer fineFlag; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyFeedbackAddCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyFeedbackAddCmd.java new file mode 100644 index 0000000..3e5d28f --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyFeedbackAddCmd.java @@ -0,0 +1,29 @@ +package com.zcloud.key.project.dto.hidden; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.time.LocalDateTime; + +@Data +public class HiddenPenaltyFeedbackAddCmd { + + @NotBlank(message = "处罚ID不能为空") + @ApiModelProperty(value = "处罚业务主键ID", required = true) + private String hiddenPenaltyId; + + @ApiModelProperty(value = "罚款认缴单(图片URL)") + private String finePaymentReceipt; + + @ApiModelProperty(value = "处罚说明") + private String penaltyDesc; + + @ApiModelProperty(value = "处罚反馈人ID") + private Long feedbackUserId; + + @ApiModelProperty(value = "处罚反馈时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime feedbackTime; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyPageQry.java b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyPageQry.java new file mode 100644 index 0000000..cddb923 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyPageQry.java @@ -0,0 +1,36 @@ +package com.zcloud.key.project.dto.hidden; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class HiddenPenaltyPageQry extends PageQuery { + + @ApiModelProperty(value = "相关方企业名称") + private String xgfCorpinfoName; + + @ApiModelProperty(value = "项目名称") + private String projectName; + + @ApiModelProperty(value = "隐患来源") + private Integer hiddenSource; + + @ApiModelProperty(value = "隐患描述") + private String hiddenDesc; + + @ApiModelProperty(value = "隐患发现人") + private String findUserName; + + @ApiModelProperty(value = "处罚说明") + private String penaltyDesc; + + @ApiModelProperty(value = "隐患创建时间") + private String hiddenCreateTimeStart; + + @ApiModelProperty(value = "隐患创建时间") + private String hiddenCreateTimeEnd; + + @ApiModelProperty(value = "是否罚款 0:否 1:是") + private String fineFlag; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyUpdateCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyUpdateCmd.java new file mode 100644 index 0000000..60e08df --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/hidden/HiddenPenaltyUpdateCmd.java @@ -0,0 +1,23 @@ +package com.zcloud.key.project.dto.hidden; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Data +public class HiddenPenaltyUpdateCmd { + + @NotNull(message = "主键ID不能为空") + @ApiModelProperty(value = "主键ID", required = true) + private Long id; + + @ApiModelProperty(value = "是否罚款 0:否 1:是") + private Integer fineFlag; + + @ApiModelProperty(value = "下发处罚时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime penaltyTime; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectAddCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectAddCmd.java index 16a6af6..0775684 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectAddCmd.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectAddCmd.java @@ -109,5 +109,8 @@ public class KeyProjectAddCmd implements Serializable { @ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList") private List keyProjectCameraAddCmdList; + @ApiModelProperty(value = "重点作业处罚人员信息", name = "keyProjectPenaltyPersonnelAddCmdList") + private List keyProjectPenaltyPersonnelAddCmdList; + } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectPenaltyPersonnelAddCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectPenaltyPersonnelAddCmd.java new file mode 100644 index 0000000..307cb15 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectPenaltyPersonnelAddCmd.java @@ -0,0 +1,26 @@ +package com.zcloud.key.project.dto.project; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class KeyProjectPenaltyPersonnelAddCmd implements Serializable { + + @ApiModelProperty(value = "处罚人部门id", required = true) + private Long departmentId; + + @ApiModelProperty(value = "处罚人部门名称") + private String departmentName; + + @ApiModelProperty(value = "处罚人用户id", required = true) + private Long userId; + + @ApiModelProperty(value = "处罚人用户名称") + private String userName; +} diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateCmd.java index 8487d8a..f852af8 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateCmd.java @@ -106,5 +106,8 @@ public class KeyProjectUpdateCmd implements Serializable { @ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList") private List keyProjectCameraAddCmdList; + + @ApiModelProperty(value = "重点作业处罚人员信息", name = "keyProjectPenaltyPersonnelAddCmdList") + private List keyProjectPenaltyPersonnelAddCmdList; } diff --git a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateStatusCmd.java b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateStatusCmd.java index 89aff2a..94ae49e 100644 --- a/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateStatusCmd.java +++ b/web-client/src/main/java/com/zcloud/key/project/dto/project/KeyProjectUpdateStatusCmd.java @@ -38,5 +38,8 @@ public class KeyProjectUpdateStatusCmd implements Serializable { @ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList") private List keyProjectCameraAddCmdList; + + @ApiModelProperty(value = "处罚人员配置列表", name = "keyProjectPenaltyPersonnelAddCmdList") + private List keyProjectPenaltyPersonnelAddCmdList; } diff --git a/web-domain/src/main/java/com/zcloud/key/project/domain/gateway/hidden/HiddenPenaltyGateway.java b/web-domain/src/main/java/com/zcloud/key/project/domain/gateway/hidden/HiddenPenaltyGateway.java new file mode 100644 index 0000000..a0b94bd --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/key/project/domain/gateway/hidden/HiddenPenaltyGateway.java @@ -0,0 +1,10 @@ +package com.zcloud.key.project.domain.gateway.hidden; + +import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE; + +public interface HiddenPenaltyGateway { + + Boolean add(HiddenPenaltyE hiddenPenaltyE); + + Boolean update(HiddenPenaltyE hiddenPenaltyE); +} diff --git a/web-domain/src/main/java/com/zcloud/key/project/domain/model/hidden/HiddenPenaltyE.java b/web-domain/src/main/java/com/zcloud/key/project/domain/model/hidden/HiddenPenaltyE.java new file mode 100644 index 0000000..1f587c7 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/key/project/domain/model/hidden/HiddenPenaltyE.java @@ -0,0 +1,60 @@ +package com.zcloud.key.project.domain.model.hidden; + +import com.jjb.saas.framework.domain.model.BaseE; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class HiddenPenaltyE extends BaseE { + + private Long id; + + private String hiddenPenaltyId; + + private String hiddenId; + + private String keyProjectId; + + private String penaltyDesc; + + private BigDecimal penaltyAmount; + + private Long penalizedCorpId; + + private Long penalizedUserId; + + private LocalDateTime penaltyTime; + + private Integer fineFlag; + + private Integer feedbackStatus; + + private Integer editFlag; + + private Integer version; + + private Long createId; + + private String createName; + + private LocalDateTime createTime; + + private Long updateId; + + private String updateName; + + private LocalDateTime updateTime; + + private String remarks; + + private String deleteEnum; + + private Long tenantId; + + private Long orgId; + + private String env; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenPenaltyGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenPenaltyGatewayImpl.java new file mode 100644 index 0000000..42077bf --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/gatewayimpl/hidden/HiddenPenaltyGatewayImpl.java @@ -0,0 +1,35 @@ +package com.zcloud.key.project.gatewayimpl.hidden; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.zcloud.key.project.domain.gateway.hidden.HiddenPenaltyGateway; +import com.zcloud.key.project.domain.model.hidden.HiddenPenaltyE; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class HiddenPenaltyGatewayImpl implements HiddenPenaltyGateway { + private final HiddenPenaltyRepository hiddenPenaltyRepository; + + @Override + public Boolean add(HiddenPenaltyE hiddenPenaltyE) { + HiddenPenaltyDO d = new HiddenPenaltyDO(); + BeanUtils.copyProperties(hiddenPenaltyE, d); + hiddenPenaltyRepository.save(d); + hiddenPenaltyE.setId(d.getId()); + return true; + } + + @Override + public Boolean update(HiddenPenaltyE hiddenPenaltyE) { + HiddenPenaltyDO d = new HiddenPenaltyDO(); + BeanUtils.copyProperties(hiddenPenaltyE, d); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(HiddenPenaltyDO::getHiddenPenaltyId, hiddenPenaltyE.getHiddenPenaltyId()); + hiddenPenaltyRepository.update(d, wrapper); + return true; + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyDO.java new file mode 100644 index 0000000..612dedf --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyDO.java @@ -0,0 +1,99 @@ +package com.zcloud.key.project.persistence.dataobject.hidden; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@TableName("hidden_penalty") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HiddenPenaltyDO extends BaseDO { + + @ApiModelProperty(value = "hidden表主键") + @TableField(exist = false) + private Long hiddenTableId; + + @ApiModelProperty(value = "隐患来源ID外键") + @TableField(exist = false) + private String foreignKey; + + @ApiModelProperty(value = "业务主键id") + private String hiddenPenaltyId; + + @ApiModelProperty(value = "隐患业务主键ID") + private String hiddenId; + + @ApiModelProperty(value = "重点作业ID") + private String keyProjectId; + + @ApiModelProperty(value = "处罚说明") + private String penaltyDesc; + + @ApiModelProperty(value = "处罚金额") + private BigDecimal penaltyAmount; + + @ApiModelProperty(value = "被处罚单位ID") + private Long penalizedCorpId; + + @ApiModelProperty(value = "被处罚人ID") + private Long penalizedUserId; + + @ApiModelProperty(value = "下发处罚时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime penaltyTime; + + @ApiModelProperty(value = "是否罚款 0:否 1:是") + private Integer fineFlag; + + @ApiModelProperty(value = "是否反馈 0:未反馈 1:已反馈") + private Integer feedbackStatus; + + @ApiModelProperty(value = "是否更改过 0:未更改 1:已更改") + private Integer editFlag; + + @ApiModelProperty(value = "被处罚单位名称") + @TableField(exist = false) + private String penalizedCorpName; + + @ApiModelProperty(value = "被处罚人名称") + @TableField(exist = false) + private String penalizedUserName; + + @ApiModelProperty(value = "相关方单位名称") + @TableField(exist = false) + private String xgfCorpinfoName; + + @ApiModelProperty(value = "项目名称") + @TableField(exist = false) + private String projectName; + + @ApiModelProperty(value = "项目负责人名称") + @TableField(exist = false) + private String xgfMasterUserName; + + @ApiModelProperty(value = "隐患来源") + @TableField(exist = false) + private Integer hiddenSource; + + @ApiModelProperty(value = "隐患描述") + @TableField(exist = false) + private String hiddenDesc; + + @ApiModelProperty(value = "隐患发现人") + @TableField(exist = false) + private String findUserName; + + @ApiModelProperty(value = "隐患发现时间") + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime hiddenCreateTime; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyFeedbackDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyFeedbackDO.java new file mode 100644 index 0000000..8c2374a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/hidden/HiddenPenaltyFeedbackDO.java @@ -0,0 +1,73 @@ +package com.zcloud.key.project.persistence.dataobject.hidden; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Data +@TableName("hidden_penalty_feedback") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HiddenPenaltyFeedbackDO extends BaseDO { + + @ApiModelProperty(value = "hidden表主键") + @TableField(exist = false) + private Long hiddenTableId; + + @ApiModelProperty(value = "隐患业务主键ID") + @TableField(exist = false) + private String hiddenId; + + @ApiModelProperty(value = "隐患描述") + @TableField(exist = false) + private String hiddenDesc; + + @ApiModelProperty(value = "下发人") + @TableField(exist = false) + private String findUserName; + + @ApiModelProperty(value = "隐患来源ID外键") + @TableField(exist = false) + private String foreignKey; + + @ApiModelProperty(value = "处罚反馈状态") + @TableField(exist = false) + private Integer feedbackStatus; + + @ApiModelProperty(value = "重点作业名称") + @TableField(exist = false) + private String projectName; + + @ApiModelProperty(value = "被处罚单位名称") + @TableField(exist = false) + private String xgfCorpinfoName; + + + @ApiModelProperty(value = "业务主键id") + private String hiddenPenaltyFeedbackId; + + @ApiModelProperty(value = "处罚业务主键ID") + private String hiddenPenaltyId; + + @ApiModelProperty(value = "罚款认缴单(图片URL)") + private String finePaymentReceipt; + + @ApiModelProperty(value = "处罚说明") + private String penaltyDesc; + + @ApiModelProperty(value = "处罚反馈人ID") + private Long feedbackUserId; + + @ApiModelProperty(value = "处罚反馈时间") + private LocalDateTime feedbackTime; + + @ApiModelProperty(value = "反馈人名称") + @TableField(exist = false) + private String feedbackUserName; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectPenaltyPersonnelDO.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectPenaltyPersonnelDO.java new file mode 100644 index 0000000..6f00e37 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/dataobject/project/KeyProjectPenaltyPersonnelDO.java @@ -0,0 +1,33 @@ +package com.zcloud.key.project.persistence.dataobject.project; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@Data +@TableName("key_project_penalty_personnel") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class KeyProjectPenaltyPersonnelDO extends BaseDO { + + @ApiModelProperty(value = "业务主键id") + private String keyProjectPenaltyPersonnelId; + + @ApiModelProperty(value = "重点作业id") + private String keyProjectId; + + @ApiModelProperty(value = "处罚人部门id") + private Long departmentId; + + @ApiModelProperty(value = "处罚人部门名称") + private String departmentName; + + @ApiModelProperty(value = "处罚人用户id") + private Long userId; + + @ApiModelProperty(value = "处罚人用户名称") + private String userName; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyFeedbackMapper.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyFeedbackMapper.java new file mode 100644 index 0000000..c2914b9 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyFeedbackMapper.java @@ -0,0 +1,9 @@ +package com.zcloud.key.project.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface HiddenPenaltyFeedbackMapper extends BaseMapper { +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyMapper.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyMapper.java new file mode 100644 index 0000000..f257c6e --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/HiddenPenaltyMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.key.project.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + +@Mapper +public interface HiddenPenaltyMapper extends BaseMapper { + + IPage listPage(IPage iPage, @Param("params") Map params); + + HiddenPenaltyDO getByHiddenId(@Param("hiddenId") String hiddenId); + + IPage feedbackListPage(IPage iPage, @Param("params") Map params); + + HiddenPenaltyDO getByPenaltyId(@Param("hiddenPenaltyId") String hiddenPenaltyId); + + HiddenPenaltyFeedbackDO getFeedbackByPenaltyId(@Param("hiddenPenaltyId") String hiddenPenaltyId); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectPenaltyPersonnelMapper.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectPenaltyPersonnelMapper.java new file mode 100644 index 0000000..95682e1 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/mapper/KeyProjectPenaltyPersonnelMapper.java @@ -0,0 +1,15 @@ +package com.zcloud.key.project.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface KeyProjectPenaltyPersonnelMapper extends BaseMapper { + + List getListByProjectId(String keyProjectId); + + void deleteByKeyProjectId(String keyProjectId); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/hidden/HiddenPenaltyRepository.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/hidden/HiddenPenaltyRepository.java new file mode 100644 index 0000000..8aaf695 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/hidden/HiddenPenaltyRepository.java @@ -0,0 +1,23 @@ +package com.zcloud.key.project.persistence.repository.hidden; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; + +import java.util.Map; + +public interface HiddenPenaltyRepository extends BaseRepository { + + PageResponse listPage(Map params); + + HiddenPenaltyDO getByHiddenId(String hiddenId); + + HiddenPenaltyDO getByPenaltyId(String hiddenPenaltyId); + + PageResponse feedbackListPage(Map params); + + HiddenPenaltyFeedbackDO getFeedbackByPenaltyId(String hiddenPenaltyId); + + void saveFeedback(HiddenPenaltyFeedbackDO feedbackDO); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/hidden/HiddenPenaltyRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/hidden/HiddenPenaltyRepositoryImpl.java new file mode 100644 index 0000000..cbce764 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/hidden/HiddenPenaltyRepositoryImpl.java @@ -0,0 +1,60 @@ +package com.zcloud.key.project.persistence.repository.impl.hidden; + +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.gbscommon.utils.Query; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO; +import com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO; +import com.zcloud.key.project.persistence.mapper.HiddenPenaltyFeedbackMapper; +import com.zcloud.key.project.persistence.mapper.HiddenPenaltyMapper; +import com.zcloud.key.project.persistence.repository.hidden.HiddenPenaltyRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +@RequiredArgsConstructor +public class HiddenPenaltyRepositoryImpl + extends BaseRepositoryImpl + implements HiddenPenaltyRepository { + + private final HiddenPenaltyMapper hiddenPenaltyMapper; + private final HiddenPenaltyFeedbackMapper hiddenPenaltyFeedbackMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + IPage result = hiddenPenaltyMapper.listPage(iPage, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public HiddenPenaltyDO getByHiddenId(String hiddenId) { + return hiddenPenaltyMapper.getByHiddenId(hiddenId); + } + + @Override + public HiddenPenaltyDO getByPenaltyId(String hiddenPenaltyId) { + return hiddenPenaltyMapper.getByPenaltyId(hiddenPenaltyId); + } + + @Override + public PageResponse feedbackListPage(Map params) { + IPage iPage = new Query().getPage(params); + IPage result = hiddenPenaltyMapper.feedbackListPage(iPage, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public HiddenPenaltyFeedbackDO getFeedbackByPenaltyId(String hiddenPenaltyId) { + return hiddenPenaltyMapper.getFeedbackByPenaltyId(hiddenPenaltyId); + } + + @Override + public void saveFeedback(HiddenPenaltyFeedbackDO feedbackDO) { + hiddenPenaltyFeedbackMapper.insert(feedbackDO); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectPenaltyPersonnelRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectPenaltyPersonnelRepositoryImpl.java new file mode 100644 index 0000000..ff92c6a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/impl/project/KeyProjectPenaltyPersonnelRepositoryImpl.java @@ -0,0 +1,29 @@ +package com.zcloud.key.project.persistence.repository.impl.project; + +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO; +import com.zcloud.key.project.persistence.mapper.KeyProjectPenaltyPersonnelMapper; +import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class KeyProjectPenaltyPersonnelRepositoryImpl + extends BaseRepositoryImpl + implements KeyProjectPenaltyPersonnelRepository { + + private final KeyProjectPenaltyPersonnelMapper keyProjectPenaltyPersonnelMapper; + + @Override + public List getListByProjectId(String keyProjectId) { + return keyProjectPenaltyPersonnelMapper.getListByProjectId(keyProjectId); + } + + @Override + public void deleteByKeyProjectId(String keyProjectId) { + keyProjectPenaltyPersonnelMapper.deleteByKeyProjectId(keyProjectId); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectPenaltyPersonnelRepository.java b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectPenaltyPersonnelRepository.java new file mode 100644 index 0000000..640113a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/key/project/persistence/repository/project/KeyProjectPenaltyPersonnelRepository.java @@ -0,0 +1,13 @@ +package com.zcloud.key.project.persistence.repository.project; + +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO; + +import java.util.List; + +public interface KeyProjectPenaltyPersonnelRepository extends BaseRepository { + + List getListByProjectId(String keyProjectId); + + void deleteByKeyProjectId(String keyProjectId); +} diff --git a/web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml b/web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml new file mode 100644 index 0000000..47df5d0 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/HiddenPenaltyMapper.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectPenaltyPersonnelMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectPenaltyPersonnelMapper.xml new file mode 100644 index 0000000..fcdecde --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectPenaltyPersonnelMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + UPDATE key_project_penalty_personnel + SET delete_enum = 'TRUE' + WHERE key_project_id = #{keyProjectId} + + +