feat(): 添加隐患处罚功能和重点作业处罚人员配置

dev
lishiwei 2026-06-22 17:49:18 +08:00
parent f85d98241d
commit fd2c464a42
41 changed files with 1478 additions and 4 deletions

View File

@ -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<HiddenPenaltyCO> listPage(@RequestBody HiddenPenaltyPageQry qry) {
return hiddenPenaltyService.listPage(qry);
}
@ApiOperation("下发处罚(同一隐患已存在则更新)")
@PostMapping("/save")
public SingleResponse<HiddenPenaltyCO> add(@Validated @RequestBody HiddenPenaltyAddCmd cmd) {
return hiddenPenaltyService.add(cmd);
}
@ApiOperation("更改处罚fineFlag 0/1 双向可切)")
@PostMapping("/edit")
public SingleResponse<HiddenPenaltyCO> edit(@Validated @RequestBody HiddenPenaltyUpdateCmd cmd) {
return hiddenPenaltyService.edit(cmd);
}
@ApiOperation("反馈分页列表(只展示 fineFlag=1 的处罚)")
@PostMapping("/feedback/list")
public PageResponse<HiddenPenaltyFeedbackCO> feedbackListPage(@RequestBody HiddenPenaltyPageQry qry) {
return hiddenPenaltyQueryExe.feedbackListPage(qry);
}
@ApiOperation("提交反馈")
@PostMapping("/feedback/save")
public SingleResponse<HiddenPenaltyFeedbackCO> feedbackAdd(@Validated @RequestBody HiddenPenaltyFeedbackAddCmd cmd) {
return hiddenPenaltyFeedbackAddExe.execute(cmd);
}
}

View File

@ -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<HiddenPenaltyCO> converDOsToCOs(List<HiddenPenaltyDO> dos);
HiddenPenaltyCO converDOToCO(HiddenPenaltyDO d);
List<HiddenPenaltyFeedbackCO> converFeedbackDOsToCOs(List<HiddenPenaltyFeedbackDO> dos);
HiddenPenaltyFeedbackCO converFeedbackDOToCO(HiddenPenaltyFeedbackDO d);
}

View File

@ -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<KeyProjectPenaltyPersonnelCO> converDOsToCOs(List<KeyProjectPenaltyPersonnelDO> keyProjectPenaltyPersonnelDOs);
List<KeyProjectPenaltyPersonnelDO> converCmdsToDOs(List<KeyProjectPenaltyPersonnelAddCmd> keyProjectPenaltyPersonnelAddCmdList);
}

View File

@ -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<HiddenPenaltyCO> 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));
}
}

View File

@ -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<HiddenPenaltyFeedbackCO> 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));
}
}

View File

@ -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<HiddenPenaltyCO> 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));
}
}

View File

@ -5,16 +5,21 @@ import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.gbscommon.utils.Tools; import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; 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.config.MessageTemplateConfig;
import com.zcloud.key.project.domain.enums.CreateSourceEnum;
import com.zcloud.key.project.domain.enums.KeyProjectApplyStatusEnum; import com.zcloud.key.project.domain.enums.KeyProjectApplyStatusEnum;
import com.zcloud.key.project.domain.gateway.project.KeyProjectGateway; import com.zcloud.key.project.domain.gateway.project.KeyProjectGateway;
import com.zcloud.key.project.domain.model.project.KeyProjectE; import com.zcloud.key.project.domain.model.project.KeyProjectE;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO; import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO;
import com.zcloud.key.project.dto.project.KeyProjectAddCmd; import com.zcloud.key.project.dto.project.KeyProjectAddCmd;
import com.zcloud.key.project.dto.project.KeyProjectCameraAddCmd; 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.KeyProjectCameraDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO; 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.KeyProjectCameraRepository;
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -40,6 +45,8 @@ public class KeyProjectAddExe {
private final KeyProjectRepository keyProjectRepository; private final KeyProjectRepository keyProjectRepository;
private final KeyProjectCameraRepository keyProjectCameraRepository; private final KeyProjectCameraRepository keyProjectCameraRepository;
private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor;
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
private final KeyProjectPenaltyPersonnelCoConvertor keyProjectPenaltyPersonnelCoConvertor;
private final MessageNoticeExe messageNoticeExe; private final MessageNoticeExe messageNoticeExe;
private final MessageTemplateConfig messageTemplateConfig; 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(); KeyProjectE keyProjectE = new KeyProjectE();
BeanUtils.copyProperties(cmd, keyProjectE); BeanUtils.copyProperties(cmd, keyProjectE);
if (CollUtil.isNotEmpty(cmd.getProjectType())) { if (CollUtil.isNotEmpty(cmd.getProjectType())) {
@ -84,6 +96,15 @@ public class KeyProjectAddExe {
}); });
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList); keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
} }
if (cmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) {
List<KeyProjectPenaltyPersonnelAddCmd> penaltyPersonnelAddCmdList = cmd.getKeyProjectPenaltyPersonnelAddCmdList();
List<KeyProjectPenaltyPersonnelDO> penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList);
penaltyPersonnelDOList.forEach(item -> {
item.setKeyProjectId(keyProjectE.getKeyProjectId());
item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID());
});
keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList);
}
KeyProjectCO keyProjectCO = new KeyProjectCO(); KeyProjectCO keyProjectCO = new KeyProjectCO();
BeanUtils.copyProperties(keyProjectE, keyProjectCO); BeanUtils.copyProperties(keyProjectE, keyProjectCO);

View File

@ -5,16 +5,21 @@ import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.gbscommon.utils.Tools; import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; 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.config.MessageTemplateConfig;
import com.zcloud.key.project.domain.enums.KeyProjectApplyStatusEnum; import com.zcloud.key.project.domain.enums.KeyProjectApplyStatusEnum;
import com.zcloud.key.project.domain.gateway.project.KeyProjectGateway; import com.zcloud.key.project.domain.gateway.project.KeyProjectGateway;
import com.zcloud.key.project.domain.model.project.KeyProjectE; 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.KeyProjectCameraAddCmd;
import com.zcloud.key.project.dto.project.KeyProjectPenaltyPersonnelAddCmd;
import com.zcloud.key.project.dto.project.KeyProjectUpdateCmd; import com.zcloud.key.project.dto.project.KeyProjectUpdateCmd;
import com.zcloud.key.project.dto.project.KeyProjectUpdateStatusCmd; 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.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.dataobject.project.KeyProjectDO;
import com.zcloud.key.project.persistence.repository.project.KeyProjectCameraRepository; 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 com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -42,6 +47,8 @@ public class KeyProjectUpdateExe {
private final KeyProjectRepository keyProjectRepository; private final KeyProjectRepository keyProjectRepository;
private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor;
private final KeyProjectCameraRepository keyProjectCameraRepository; private final KeyProjectCameraRepository keyProjectCameraRepository;
private final KeyProjectPenaltyPersonnelCoConvertor keyProjectPenaltyPersonnelCoConvertor;
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
private final MessageNoticeExe messageNoticeExe; private final MessageNoticeExe messageNoticeExe;
private final MessageTemplateConfig messageTemplateConfig; private final MessageTemplateConfig messageTemplateConfig;
@ -90,6 +97,16 @@ public class KeyProjectUpdateExe {
}); });
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList); keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
} }
if (keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) {
keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId());
List<KeyProjectPenaltyPersonnelAddCmd> penaltyPersonnelAddCmdList = keyProjectUpdateCmd.getKeyProjectPenaltyPersonnelAddCmdList();
List<KeyProjectPenaltyPersonnelDO> 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) { if (!res) {
throw new BizException("修改失败"); 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<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList = keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList(); List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList = keyProjectUpdateStatusCmd.getKeyProjectCameraAddCmdList();
List<KeyProjectCameraDO> keyProjectCameraDOList =keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList); List<KeyProjectCameraDO> keyProjectCameraDOList = keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList);
keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> { keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> {
keyProjectCameraAddCmd.setKeyProjectId(byId.getKeyProjectId()); keyProjectCameraAddCmd.setKeyProjectId(byId.getKeyProjectId());
keyProjectCameraAddCmd.setKeyProjectCameraId(Tools.get32UUID()); keyProjectCameraAddCmd.setKeyProjectCameraId(Tools.get32UUID());
}); });
keyProjectCameraRepository.saveBatch(keyProjectCameraDOList); keyProjectCameraRepository.saveBatch(keyProjectCameraDOList);
}
if (keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList() != null) {
keyProjectPenaltyPersonnelRepository.deleteByKeyProjectId(byId.getKeyProjectId());
List<KeyProjectPenaltyPersonnelAddCmd> penaltyPersonnelAddCmdList = keyProjectUpdateStatusCmd.getKeyProjectPenaltyPersonnelAddCmdList();
List<KeyProjectPenaltyPersonnelDO> penaltyPersonnelDOList = keyProjectPenaltyPersonnelCoConvertor.converCmdsToDOs(penaltyPersonnelAddCmdList);
penaltyPersonnelDOList.forEach(item -> {
item.setKeyProjectId(byId.getKeyProjectId());
item.setKeyProjectPenaltyPersonnelId(Tools.get32UUID());
});
keyProjectPenaltyPersonnelRepository.saveBatch(penaltyPersonnelDOList);
}
} }
} }

View File

@ -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<HiddenPenaltyCO> execute(HiddenPenaltyPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<HiddenPenaltyDO> pageResponse = hiddenPenaltyRepository.listPage(params);
List<HiddenPenaltyCO> cos = hiddenPenaltyCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(cos, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<HiddenPenaltyFeedbackCO> feedbackListPage(HiddenPenaltyPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<HiddenPenaltyFeedbackDO> pageResponse = hiddenPenaltyRepository.feedbackListPage(params);
List<HiddenPenaltyFeedbackCO> cos = hiddenPenaltyCoConvertor.converFeedbackDOsToCOs(pageResponse.getData());
return PageResponse.of(cos, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -5,16 +5,22 @@ import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.key.project.command.convertor.hidden.HiddenCoConvertor; 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.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.HiddenAcceptRecordCO;
import com.zcloud.key.project.dto.clientobject.hidden.HiddenCO; 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.clientobject.hidden.HiddenRectificationRecordCO;
import com.zcloud.key.project.dto.hidden.HiddenPageQry; 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.HiddenAcceptRecordDO;
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO; 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.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.dataobject.hidden.HiddenRectificationRecordDO;
import com.zcloud.key.project.persistence.repository.hidden.HiddenAcceptRecordRepository; 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.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.HiddenRectificationRecordRepository;
import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -40,6 +46,8 @@ public class HiddenQueryExe {
private final HiddenRectificationRecordRepository hiddenRectificationRecordRepository; private final HiddenRectificationRecordRepository hiddenRectificationRecordRepository;
private final HiddenAcceptRecordRepository hiddenAcceptRecordRepository; private final HiddenAcceptRecordRepository hiddenAcceptRecordRepository;
private final HiddenFindUserCoConvertor hiddenFindUserCoConvertor; private final HiddenFindUserCoConvertor hiddenFindUserCoConvertor;
private final HiddenPenaltyRepository hiddenPenaltyRepository;
private final HiddenPenaltyCoConvertor hiddenPenaltyCoConvertor;
private final HiddenCoConvertor hiddenCoConvertor; private final HiddenCoConvertor hiddenCoConvertor;
@ -86,6 +94,17 @@ public class HiddenQueryExe {
BeanUtils.copyProperties(hiddenAcceptRecordDOs.get(0), hiddenAcceptRecordCO); BeanUtils.copyProperties(hiddenAcceptRecordDOs.get(0), hiddenAcceptRecordCO);
hiddenCO.setAcceptRecord(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); return SingleResponse.of(hiddenCO);
} }
} }

View File

@ -7,6 +7,7 @@ import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; 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.KeyProjectCoConvertor;
import com.zcloud.key.project.command.convertor.project.KeyProjectPenaltyPersonnelCoConvertor;
import com.zcloud.key.project.domain.enums.KeyProjectCameraTypeEnum; import com.zcloud.key.project.domain.enums.KeyProjectCameraTypeEnum;
import com.zcloud.key.project.dto.clientobject.project.*; import com.zcloud.key.project.dto.clientobject.project.*;
import com.zcloud.key.project.dto.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.SafetyEnvironmentalInspectionRepository;
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionUserRepository; 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.KeyProjectCameraRepository;
import com.zcloud.key.project.persistence.repository.project.KeyProjectPenaltyPersonnelRepository;
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -41,6 +43,8 @@ public class KeyProjectQueryExe {
private final KeyProjectCoConvertor keyProjectCoConvertor; private final KeyProjectCoConvertor keyProjectCoConvertor;
private final KeyProjectCameraRepository keyProjectCameraRepository; private final KeyProjectCameraRepository keyProjectCameraRepository;
private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor;
private final KeyProjectPenaltyPersonnelRepository keyProjectPenaltyPersonnelRepository;
private final KeyProjectPenaltyPersonnelCoConvertor keyProjectPenaltyPersonnelCoConvertor;
private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository; private final SafetyEnvironmentalInspectionRepository safetyEnvironmentalInspectionRepository;
private final SafetyEnvironmentalInspectionUserRepository safetyEnvironmentalInspectionUserRepository; private final SafetyEnvironmentalInspectionUserRepository safetyEnvironmentalInspectionUserRepository;
private final HiddenRepository hiddenRepository; private final HiddenRepository hiddenRepository;
@ -139,6 +143,9 @@ public class KeyProjectQueryExe {
List<KeyProjectCameraDO> keyProjectCameraDOList =keyProjectCameraRepository.getCameraListByProjectId(keyProjectDO.getKeyProjectId()); List<KeyProjectCameraDO> keyProjectCameraDOList =keyProjectCameraRepository.getCameraListByProjectId(keyProjectDO.getKeyProjectId());
keyProjectCO.setKeyProjectCameraList(keyProjectCameraCoConvertor.converDOsToCOs(keyProjectCameraDOList)); keyProjectCO.setKeyProjectCameraList(keyProjectCameraCoConvertor.converDOsToCOs(keyProjectCameraDOList));
//查询处罚人员
List<KeyProjectPenaltyPersonnelDO> penaltyPersonnelDOList = keyProjectPenaltyPersonnelRepository.getListByProjectId(keyProjectDO.getKeyProjectId());
keyProjectCO.setKeyProjectPenaltyPersonnelList(keyProjectPenaltyPersonnelCoConvertor.converDOsToCOs(penaltyPersonnelDOList));
return keyProjectCO; return keyProjectCO;
} }

View File

@ -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<HiddenPenaltyCO> listPage(HiddenPenaltyPageQry qry) {
return hiddenPenaltyQueryExe.execute(qry);
}
@Override
public SingleResponse<HiddenPenaltyCO> add(HiddenPenaltyAddCmd cmd) {
return hiddenPenaltyAddExe.execute(cmd);
}
@Override
public SingleResponse<HiddenPenaltyCO> edit(HiddenPenaltyUpdateCmd cmd) {
return hiddenPenaltyUpdateExe.execute(cmd);
}
}

View File

@ -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<HiddenPenaltyCO> listPage(HiddenPenaltyPageQry qry);
SingleResponse<HiddenPenaltyCO> add(HiddenPenaltyAddCmd cmd);
SingleResponse<HiddenPenaltyCO> edit(HiddenPenaltyUpdateCmd cmd);
}

View File

@ -125,6 +125,12 @@ public class HiddenCO extends ClientObject {
// 隐患视频 // 隐患视频
@ApiModelProperty(value = "隐患视频") @ApiModelProperty(value = "隐患视频")
private String videoUrl; private String videoUrl;
@ApiModelProperty(value = "处罚信息")
private HiddenPenaltyCO hiddenPenaltyCO;
@ApiModelProperty(value = "处罚反馈信息")
private HiddenPenaltyFeedbackCO hiddenPenaltyFeedbackCO;
//乐观锁 //乐观锁
@ApiModelProperty(value = "乐观锁") @ApiModelProperty(value = "乐观锁")
private Integer version; private Integer version;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -160,6 +160,9 @@ public class KeyProjectCO extends ClientObject {
@ApiModelProperty(value = "摄像头信息列表") @ApiModelProperty(value = "摄像头信息列表")
private List<KeyProjectCameraCO> keyProjectCameraList; private List<KeyProjectCameraCO> keyProjectCameraList;
@ApiModelProperty(value = "处罚人员列表")
private List<KeyProjectPenaltyPersonnelCO> keyProjectPenaltyPersonnelList;
//创建时间 //创建时间
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -109,5 +109,8 @@ public class KeyProjectAddCmd implements Serializable {
@ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList") @ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList")
private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList; private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList;
@ApiModelProperty(value = "重点作业处罚人员信息", name = "keyProjectPenaltyPersonnelAddCmdList")
private List<KeyProjectPenaltyPersonnelAddCmd> keyProjectPenaltyPersonnelAddCmdList;
} }

View File

@ -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;
}

View File

@ -106,5 +106,8 @@ public class KeyProjectUpdateCmd implements Serializable {
@ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList") @ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList")
private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList; private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList;
@ApiModelProperty(value = "重点作业处罚人员信息", name = "keyProjectPenaltyPersonnelAddCmdList")
private List<KeyProjectPenaltyPersonnelAddCmd> keyProjectPenaltyPersonnelAddCmdList;
} }

View File

@ -38,5 +38,8 @@ public class KeyProjectUpdateStatusCmd implements Serializable {
@ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList") @ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList")
private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList; private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList;
@ApiModelProperty(value = "处罚人员配置列表", name = "keyProjectPenaltyPersonnelAddCmdList")
private List<KeyProjectPenaltyPersonnelAddCmd> keyProjectPenaltyPersonnelAddCmdList;
} }

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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<HiddenPenaltyDO> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(HiddenPenaltyDO::getHiddenPenaltyId, hiddenPenaltyE.getHiddenPenaltyId());
hiddenPenaltyRepository.update(d, wrapper);
return true;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<HiddenPenaltyFeedbackDO> {
}

View File

@ -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<HiddenPenaltyDO> {
IPage<HiddenPenaltyDO> listPage(IPage<HiddenPenaltyDO> iPage, @Param("params") Map<String, Object> params);
HiddenPenaltyDO getByHiddenId(@Param("hiddenId") String hiddenId);
IPage<HiddenPenaltyFeedbackDO> feedbackListPage(IPage<HiddenPenaltyFeedbackDO> iPage, @Param("params") Map<String, Object> params);
HiddenPenaltyDO getByPenaltyId(@Param("hiddenPenaltyId") String hiddenPenaltyId);
HiddenPenaltyFeedbackDO getFeedbackByPenaltyId(@Param("hiddenPenaltyId") String hiddenPenaltyId);
}

View File

@ -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<KeyProjectPenaltyPersonnelDO> {
List<KeyProjectPenaltyPersonnelDO> getListByProjectId(String keyProjectId);
void deleteByKeyProjectId(String keyProjectId);
}

View File

@ -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<HiddenPenaltyDO> {
PageResponse<HiddenPenaltyDO> listPage(Map<String, Object> params);
HiddenPenaltyDO getByHiddenId(String hiddenId);
HiddenPenaltyDO getByPenaltyId(String hiddenPenaltyId);
PageResponse<HiddenPenaltyFeedbackDO> feedbackListPage(Map<String, Object> params);
HiddenPenaltyFeedbackDO getFeedbackByPenaltyId(String hiddenPenaltyId);
void saveFeedback(HiddenPenaltyFeedbackDO feedbackDO);
}

View File

@ -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<HiddenPenaltyMapper, HiddenPenaltyDO>
implements HiddenPenaltyRepository {
private final HiddenPenaltyMapper hiddenPenaltyMapper;
private final HiddenPenaltyFeedbackMapper hiddenPenaltyFeedbackMapper;
@Override
public PageResponse<HiddenPenaltyDO> listPage(Map<String, Object> params) {
IPage<HiddenPenaltyDO> iPage = new Query<HiddenPenaltyDO>().getPage(params);
IPage<HiddenPenaltyDO> 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<HiddenPenaltyFeedbackDO> feedbackListPage(Map<String, Object> params) {
IPage<HiddenPenaltyFeedbackDO> iPage = new Query<HiddenPenaltyFeedbackDO>().getPage(params);
IPage<HiddenPenaltyFeedbackDO> 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);
}
}

View File

@ -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<KeyProjectPenaltyPersonnelMapper, KeyProjectPenaltyPersonnelDO>
implements KeyProjectPenaltyPersonnelRepository {
private final KeyProjectPenaltyPersonnelMapper keyProjectPenaltyPersonnelMapper;
@Override
public List<KeyProjectPenaltyPersonnelDO> getListByProjectId(String keyProjectId) {
return keyProjectPenaltyPersonnelMapper.getListByProjectId(keyProjectId);
}
@Override
public void deleteByKeyProjectId(String keyProjectId) {
keyProjectPenaltyPersonnelMapper.deleteByKeyProjectId(keyProjectId);
}
}

View File

@ -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<KeyProjectPenaltyPersonnelDO> {
List<KeyProjectPenaltyPersonnelDO> getListByProjectId(String keyProjectId);
void deleteByKeyProjectId(String keyProjectId);
}

View File

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.key.project.persistence.mapper.HiddenPenaltyMapper">
<select id="listPage" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO">
SELECT hp.*,
pci.corp_name AS penalized_corp_name,
pu.name AS penalized_user_name,
xci.corp_name AS xgf_corpinfo_name,
IFNULL(kp.project_name, kp2.project_name) AS project_name,
IFNULL(xmu.name, xmu2.name) AS xgf_master_user_name,
h.id AS hidden_table_id,
h.foreign_key AS foreign_key,
h.source AS hidden_source,
h.hidden_desc AS hidden_desc,
GROUP_CONCAT(DISTINCT hfu.name) AS find_user_name,
h.create_time AS hidden_create_time
FROM hidden_penalty hp
LEFT JOIN hidden h ON hp.hidden_id = h.hidden_id AND h.delete_enum = 'FALSE'
LEFT JOIN safety_environmental_inspection i ON i.inspection_id = h.foreign_key AND h.source IN (2, 3)
LEFT JOIN key_project kp ON kp.key_project_id = i.key_project_id
LEFT JOIN ai_alarm aa ON h.foreign_key = aa.ai_alarm_id AND h.source = 1
LEFT JOIN key_project kp2 ON kp2.key_project_id = aa.key_project_id
LEFT JOIN corp_info pci ON pci.id = hp.penalized_corp_id
LEFT JOIN user pu ON pu.id = hp.penalized_user_id
LEFT JOIN corp_info xci ON xci.id = IFNULL(kp.xgf_corpinfo_id, kp2.xgf_corpinfo_id)
LEFT JOIN user xmu ON xmu.id = kp.xgf_master_user_id
LEFT JOIN user xmu2 ON xmu2.id = kp2.xgf_master_user_id
LEFT JOIN hidden_find_user hf ON hf.hidden_id = h.hidden_id AND hf.delete_enum = 'FALSE'
LEFT JOIN user hfu ON hfu.id = hf.find_user_id
<where>
hp.delete_enum = 'FALSE'
AND (h.source NOT IN (2, 3) OR i.inspection_id IS NOT NULL)
<if test="params.xgfCorpinfoName != null and params.xgfCorpinfoName != ''">
AND xci.corp_name LIKE CONCAT('%', #{params.xgfCorpinfoName}, '%')
</if>
<if test="params.projectName != null and params.projectName != ''">
AND (
kp.project_name LIKE CONCAT('%', #{params.projectName}, '%')
OR kp2.project_name LIKE CONCAT('%', #{params.projectName}, '%')
)
</if>
<if test="params.hiddenSource != null and params.hiddenSource != ''">
AND h.source = #{params.hiddenSource}
</if>
<if test="params.hiddenDesc != null and params.hiddenDesc != ''">
AND h.hidden_desc LIKE CONCAT('%', #{params.hiddenDesc}, '%')
</if>
<if test="params.findUserName != null and params.findUserName != ''">
AND EXISTS (
SELECT 1 FROM hidden_find_user hf2
LEFT JOIN user hfu2 ON hfu2.id = hf2.find_user_id
WHERE hf2.hidden_id = h.hidden_id AND hf2.delete_enum = 'FALSE'
AND hfu2.name LIKE CONCAT('%', #{params.findUserName}, '%')
)
</if>
<if test="params.hiddenCreateTimeStart != null and params.hiddenCreateTimeStart != ''">
AND h.create_time >= CONCAT(#{params.hiddenCreateTimeStart}, ' 00:00:00')
</if>
<if test="params.hiddenCreateTimeEnd != null and params.hiddenCreateTimeEnd != ''">
AND h.create_time &lt;= CONCAT(#{params.hiddenCreateTimeEnd}, ' 23:59:59')
</if>
<if test="params.fineFlag != null and params.fineFlag != ''">
AND hp.fine_flag = #{params.fineFlag}
</if>
<if test="params.penaltyDesc != null and params.penaltyDesc != ''">
AND hp.penalty_desc LIKE CONCAT('%', #{params.penaltyDesc}, '%')
</if>
</where>
GROUP BY hp.id
ORDER BY hp.create_time DESC
</select>
<select id="getByHiddenId" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO">
SELECT DISTINCT hp.*,
pci.corp_name AS penalized_corp_name,
pu.name AS penalized_user_name,
xci.corp_name AS xgf_corpinfo_name,
IFNULL(kp.project_name, kp2.project_name) AS project_name,
IFNULL(xmu.name, xmu2.name) AS xgf_master_user_name,
h.source AS hidden_source,
h.hidden_desc AS hidden_desc,
h.create_name AS find_user_name
FROM hidden_penalty hp
LEFT JOIN hidden h ON hp.hidden_id = h.hidden_id AND h.delete_enum = 'FALSE'
LEFT JOIN safety_environmental_inspection i ON i.inspection_id = h.foreign_key AND h.source IN (2, 3)
LEFT JOIN key_project kp ON kp.key_project_id = i.key_project_id
LEFT JOIN ai_alarm aa ON h.foreign_key = aa.ai_alarm_id AND h.source = 1
LEFT JOIN key_project kp2 ON kp2.key_project_id = aa.key_project_id
LEFT JOIN corp_info pci ON pci.id = hp.penalized_corp_id
LEFT JOIN user pu ON pu.id = hp.penalized_user_id
LEFT JOIN corp_info xci ON xci.id = IFNULL(kp.xgf_corpinfo_id, kp2.xgf_corpinfo_id)
LEFT JOIN user xmu ON xmu.id = kp.xgf_master_user_id
LEFT JOIN user xmu2 ON xmu2.id = kp2.xgf_master_user_id
WHERE hp.hidden_id = #{hiddenId} AND hp.delete_enum = 'FALSE'
</select>
<select id="getByPenaltyId" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyDO">
SELECT * FROM hidden_penalty
WHERE hidden_penalty_id = #{hiddenPenaltyId} AND delete_enum = 'FALSE'
</select>
<select id="feedbackListPage" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO">
SELECT hpf.*,
hp.penalty_desc as penalty_desc,
hp.feedback_status as feedback_status,
kp.project_name as project_name,
xci.corp_name as xgf_corpinfo_name,
u.name AS feedback_user_name,
h.id AS hidden_table_id,
h.hidden_id AS hidden_id,
h.hidden_desc AS hidden_desc,
h.create_name AS find_user_name,
h.foreign_key AS foreign_key
FROM hidden_penalty_feedback hpf
LEFT JOIN hidden_penalty hp ON hp.hidden_penalty_id = hpf.hidden_penalty_id AND hp.delete_enum = 'FALSE'
LEFT JOIN hidden h ON hp.hidden_id = h.hidden_id AND h.delete_enum = 'FALSE'
LEFT JOIN safety_environmental_inspection i ON i.inspection_id = h.foreign_key AND h.source IN (2, 3)
LEFT JOIN key_project kp ON kp.key_project_id = i.key_project_id
LEFT JOIN ai_alarm aa ON h.foreign_key = aa.ai_alarm_id AND h.source = 1
LEFT JOIN key_project kp2 ON kp2.key_project_id = aa.key_project_id
LEFT JOIN corp_info xci ON xci.id = IFNULL(kp.xgf_corpinfo_id, kp2.xgf_corpinfo_id)
LEFT JOIN user u ON u.id = hpf.feedback_user_id AND u.delete_enum = 'FALSE'
<where>
hpf.delete_enum = 'FALSE'
AND hp.fine_flag = 1
AND (h.source NOT IN (2, 3) OR i.inspection_id IS NOT NULL)
<if test="params.xgfCorpinfoName != null and params.xgfCorpinfoName != ''">
AND xci.corp_name LIKE CONCAT('%', #{params.xgfCorpinfoName}, '%')
</if>
<if test="params.projectName != null and params.projectName != ''">
AND (
kp.project_name LIKE CONCAT('%', #{params.projectName}, '%')
OR kp2.project_name LIKE CONCAT('%', #{params.projectName}, '%')
)
</if>
<if test="params.hiddenSource != null and params.hiddenSource != ''">
AND h.source = #{params.hiddenSource}
</if>
<if test="params.hiddenDesc != null and params.hiddenDesc != ''">
AND h.hidden_desc LIKE CONCAT('%', #{params.hiddenDesc}, '%')
</if>
<if test="params.findUserName != null and params.findUserName != ''">
AND EXISTS (
SELECT 1 FROM hidden_find_user hf2
LEFT JOIN user hfu2 ON hfu2.id = hf2.find_user_id
WHERE hf2.hidden_id = h.hidden_id AND hf2.delete_enum = 'FALSE'
AND hfu2.name LIKE CONCAT('%', #{params.findUserName}, '%')
)
</if>
<if test="params.hiddenCreateTimeStart != null and params.hiddenCreateTimeStart != ''">
AND h.create_time >= CONCAT(#{params.hiddenCreateTimeStart}, ' 00:00:00')
</if>
<if test="params.hiddenCreateTimeEnd != null and params.hiddenCreateTimeEnd != ''">
AND h.create_time &lt;= CONCAT(#{params.hiddenCreateTimeEnd}, ' 23:59:59')
</if>
<if test="params.penaltyDesc != null and params.penaltyDesc != ''">
AND hp.penalty_desc LIKE CONCAT('%', #{params.penaltyDesc}, '%')
</if>
</where>
GROUP BY hpf.id
ORDER BY hpf.create_time DESC
</select>
<select id="getFeedbackByPenaltyId" resultType="com.zcloud.key.project.persistence.dataobject.hidden.HiddenPenaltyFeedbackDO">
SELECT hpf.*,
u.name AS feedback_user_name
FROM hidden_penalty_feedback hpf
LEFT JOIN user u ON u.id = hpf.feedback_user_id AND u.delete_enum = 'FALSE'
WHERE hpf.hidden_penalty_id = #{hiddenPenaltyId} AND hpf.delete_enum = 'FALSE'
ORDER BY feedback_time DESC, create_time DESC limit 1
</select>
</mapper>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.key.project.persistence.mapper.KeyProjectPenaltyPersonnelMapper">
<select id="getListByProjectId" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectPenaltyPersonnelDO">
SELECT *
FROM key_project_penalty_personnel
WHERE key_project_id = #{keyProjectId} AND delete_enum = 'FALSE'
</select>
<update id="deleteByKeyProjectId">
UPDATE key_project_penalty_personnel
SET delete_enum = 'TRUE'
WHERE key_project_id = #{keyProjectId}
</update>
</mapper>