Merge remote-tracking branch 'origin/dev-tmp1' into dev-tmp1

dev-tmp1
huwei 2026-08-13 16:07:42 +08:00
commit ba5e535a40
32 changed files with 1273 additions and 0 deletions

View File

@ -0,0 +1,74 @@
package org.qinan.safetyeval.adapter.web;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.waring.service.EvalProjectOrgWaringServiceI;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
/**
* -
*
* @Author: ltq
* @Date: 2026-08-13 15:49:16
*/
@RestController
@AllArgsConstructor
@Api(tags = "机构端-险预警")
@RequestMapping("/safetyEval/eval-project-org-waring")
public class EvalProjectOrgWaringController implements Serializable {
private static final long serialVersionUID = 1L;
private final EvalProjectOrgWaringServiceI evalProjectOrgWaringServiceI;
@GetMapping
@ApiOperation("查询机构端-险预警列表-分页")
public PageResponse<EvalProjectOrgWaringCo> list(@Validated EvalProjectOrgWaringPageQry qry) {
return evalProjectOrgWaringServiceI.listEvalProjectOrgWaringPage(qry);
}
@GetMapping("/{id}")
@ApiOperation("查询机构端-险预警详情页面")
public SingleResponse<EvalProjectOrgWaringCo> getInfo(@PathVariable("id") Long id) {
return SingleResponse.of(evalProjectOrgWaringServiceI.getEvalProjectOrgWaringById(id));
}
@PostMapping
@ApiOperation("新增机构端-险预警")
public Response save(@Validated @RequestBody EvalProjectOrgWaringAddCmd evalProjectOrgWaringAddCmd) {
evalProjectOrgWaringServiceI.saveEvalProjectOrgWaring(evalProjectOrgWaringAddCmd);
return Response.buildSuccess();
}
@PutMapping
@ApiOperation("修改机构端-险预警")
public Response update(@Validated @RequestBody EvalProjectOrgWaringUpdateCmd evalProjectOrgWaringUpdateCmd) {
evalProjectOrgWaringServiceI.updateEvalProjectOrgWaring(evalProjectOrgWaringUpdateCmd);
return Response.buildSuccess();
}
@DeleteMapping("/{id}")
@ApiOperation("删除机构端-险预警(单个)")
public Response deletedById(@PathVariable("id") Long id) {
evalProjectOrgWaringServiceI.deletedEvalProjectOrgWaringById(id);
return Response.buildSuccess();
}
@DeleteMapping("/ids")
@ApiOperation("删除机构端-险预警(多个)")
public Response deletedByIds(@RequestParam Long[] ids) {
evalProjectOrgWaringServiceI.deletedEvalProjectOrgWaringByIds(ids);
return Response.buildSuccess();
}
}

View File

@ -6,6 +6,7 @@ import org.qinan.safetyeval.client.api.institution.EvalSurveyAttachApi;
import org.qinan.safetyeval.client.co.institution.EvalSurveyAttachCO;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSurveyAttachSaveCmd;
import org.qinan.safetyeval.domain.constant.ProjectDocumentEnum;
import org.qinan.safetyeval.domain.constant.ProjectStageEnum;
import org.qinan.safetyeval.domain.entity.EvalSurveyAttachEntity;
import org.qinan.safetyeval.domain.service.EvalSurveyDomainService;
@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.List;
import java.util.Objects;
@ -53,6 +55,24 @@ public class EvalSurveyAttachExecutor implements EvalSurveyAttachApi {
.eq(EvalSurveyDO::getProjectId, cmdList.get(0).getProjectId()));
if (cmdList.get(0).getProjectId() != null && (Objects.isNull(num) ? 0 : num) >= 2) {
projectStageSyncService.onNodeCompleted(Long.valueOf(cmdList.get(0).getProjectId()), ProjectStageEnum.SITE_SURVEY.getNode());
// 判断是否有企业整改附件, 和整改复查附件
List<EvalSurveyAttachCO> data = listByProject(Long.valueOf(cmdList.get(0).getProjectId())).getData();
long enterpriseCount = data.stream().filter(f -> ProjectDocumentEnum.ENTERPRISE_RECTIFICATION.getVal().equals(f.getAttachTypeCode())
&& StringUtils.hasText(f.getFileUrl())).count();
if (enterpriseCount == 0) {
// todo新增预警数据: 企业整改附件未传
}
long rectificationCountPrefix = data.stream().filter(f -> ProjectDocumentEnum.RECTIFICATION_NOTICE.getVal().equals(f.getAttachTypeCode())
&& f.getCheckbox() == 1).count();
if (rectificationCountPrefix >= 1) {
long rectificationCount = data.stream().filter(f -> ProjectDocumentEnum.RECTIFICATION_REVIEW.getVal().equals(f.getAttachTypeCode())
&& StringUtils.hasText(f.getFileUrl())).count();
if (rectificationCount == 0) {
// todo 新增预警数据: 整改复查附件未传
}
}
}
return SingleResponse.success(true);
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.waring.convertor;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.domain.waring.model.EvalProjectOrgWaringE;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Mapper(componentModel = "spring")
public interface EvalProjectOrgWaringCmdConvertor {
/**
* cmd_add
*
* @param evalProjectOrgWaringAddCmd
* @return
*/
@Mapping(target = "evalProjectOrgWaringGateway", ignore = true)
EvalProjectOrgWaringE convertCmdToE(EvalProjectOrgWaringAddCmd evalProjectOrgWaringAddCmd);
/**
* cmd_update
*
* @param evalProjectOrgWaringUpdateCmd
* @return
*/
@Mapping(target = "evalProjectOrgWaringGateway", ignore = true)
EvalProjectOrgWaringE convertCmdToE(EvalProjectOrgWaringUpdateCmd evalProjectOrgWaringUpdateCmd);
}

View File

@ -0,0 +1,42 @@
package org.qinan.safetyeval.app.waring.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.waring.convertor.EvalProjectOrgWaringCmdConvertor;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd;
import org.qinan.safetyeval.domain.waring.ability.EvalProjectOrgWaringAbility;
import org.qinan.safetyeval.domain.waring.model.EvalProjectOrgWaringE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalProjectOrgWaringQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* -
*
* @author ltq
* @date 2026-08-13 15:49:16
*/
@Component
@AllArgsConstructor
public class EvalProjectOrgWaringAddCmdExe {
private final EvalProjectOrgWaringQueryService evalProjectOrgWaringQueryService;
private final EvalProjectOrgWaringCmdConvertor evalProjectOrgWaringCmdConvertor;
private final EvalProjectOrgWaringAbility evalProjectOrgWaringAbility;
/**
* -
*
* @param evalProjectOrgWaringAddCmd -
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(EvalProjectOrgWaringAddCmd evalProjectOrgWaringAddCmd) {
EvalProjectOrgWaringE evalProjectOrgWaringE = evalProjectOrgWaringCmdConvertor.convertCmdToE(evalProjectOrgWaringAddCmd);
boolean res = evalProjectOrgWaringE.add();
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -0,0 +1,55 @@
package org.qinan.safetyeval.app.waring.executor.command;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.waring.ability.EvalProjectOrgWaringAbility;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* -
*
* @author ltq
* @date 2026-08-13 15:49:16
*/
@Component
@AllArgsConstructor
public class EvalProjectOrgWaringDelCmdExe {
private final EvalProjectOrgWaringAbility evalProjectOrgWaringAbility;
/**
* IDS-
*
* @param ids -ID
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
if (ObjectUtil.isEmpty(ids)) {
throw new BizException("请传入正确的ID");
}
boolean deleteRes = evalProjectOrgWaringAbility.deletedEvalProjectOrgWaringByIds(ids);
if (!deleteRes) {
throw new BizException("删除失败");
}
return true;
}
/**
* ID-
*
* @param id -ID
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean deleteRes = evalProjectOrgWaringAbility.deletedEvalProjectOrgWaringById(id);
if (!deleteRes) {
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -0,0 +1,41 @@
package org.qinan.safetyeval.app.waring.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.waring.convertor.EvalProjectOrgWaringCmdConvertor;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.domain.waring.ability.EvalProjectOrgWaringAbility;
import org.qinan.safetyeval.domain.waring.model.EvalProjectOrgWaringE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalProjectOrgWaringQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* -
*
* @author ltq
* @date 2026-08-13 15:49:16
*/
@Component
@AllArgsConstructor
public class EvalProjectOrgWaringUpdateCmdExe {
private final EvalProjectOrgWaringQueryService evalProjectOrgWaringQueryService;
private final EvalProjectOrgWaringCmdConvertor evalProjectOrgWaringCmdConvertor;
private final EvalProjectOrgWaringAbility evalProjectOrgWaringAbility;
/**
* -
*
* @param evalProjectOrgWaringUpdateCmd -
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(EvalProjectOrgWaringUpdateCmd evalProjectOrgWaringUpdateCmd) {
EvalProjectOrgWaringE evalProjectOrgWaringE = evalProjectOrgWaringCmdConvertor.convertCmdToE(evalProjectOrgWaringUpdateCmd);
Boolean updateRes = evalProjectOrgWaringE.update();
if (!updateRes) {
throw new BizException("数据已被更新,请刷新重试");
}
return true;
}
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.waring.executor.query;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.infrastructure.convertor.EvalProjectOrgWaringDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalProjectOrgWaringQueryService;
import org.springframework.stereotype.Component;
/**
* -
*
* @author ltq
* @date 2026-08-13 15:49:16
*/
@Component
@AllArgsConstructor
public class EvalProjectOrgWaringListQueryExe {
private final EvalProjectOrgWaringQueryService evalProjectOrgWaringQueryService;
private final EvalProjectOrgWaringDoConvertor evalProjectOrgWaringDoConvertor;
/**
* ID-
*
* @param id -ID
* @return
*/
public EvalProjectOrgWaringCo execute(Long id) {
EvalProjectOrgWaringDO evalProjectOrgWaringDO = evalProjectOrgWaringQueryService.getById(id);
return evalProjectOrgWaringDoConvertor.converDoToCo(evalProjectOrgWaringDO);
}
}

View File

@ -0,0 +1,32 @@
package org.qinan.safetyeval.app.waring.executor.query;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalProjectOrgWaringQueryService;
import org.springframework.stereotype.Component;
/**
* -
*
* @author ltq
* @date 2026-08-13 15:49:16
*/
@Component
@AllArgsConstructor
public class EvalProjectOrgWaringPageQueryExe {
private final EvalProjectOrgWaringQueryService evalProjectOrgWaringQueryService;
/**
* -
*
* @param evalProjectOrgWaringPageQry
* @return
*/
public PageResponse<EvalProjectOrgWaringCo> execute(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry) {
return evalProjectOrgWaringQueryService.listEvalProjectOrgWaringPage(evalProjectOrgWaringPageQry);
}
}

View File

@ -0,0 +1,65 @@
package org.qinan.safetyeval.app.waring.service;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
public interface EvalProjectOrgWaringServiceI {
/**
* -
*
* @param evalProjectOrgWaringPageQry
* @return
*/
PageResponse<EvalProjectOrgWaringCo> listEvalProjectOrgWaringPage(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry);
/**
* ID-
*
* @param id -ID
* @return
*/
EvalProjectOrgWaringCo getEvalProjectOrgWaringById(Long id);
/**
* -
*
* @param evalProjectOrgWaringAddCmd -
* @return
*/
boolean saveEvalProjectOrgWaring(EvalProjectOrgWaringAddCmd evalProjectOrgWaringAddCmd);
/**
* -
*
* @param evalProjectOrgWaringUpdateCmd -
* @return
*/
boolean updateEvalProjectOrgWaring(EvalProjectOrgWaringUpdateCmd evalProjectOrgWaringUpdateCmd);
/**
* -
*
* @param id -ID
* @return
*/
boolean deletedEvalProjectOrgWaringById(Long id);
/**
* -
*
* @param ids -IDs
* @return
*/
boolean deletedEvalProjectOrgWaringByIds(Long[] ids);
}

View File

@ -0,0 +1,63 @@
package org.qinan.safetyeval.app.waring.service.impl;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.waring.executor.command.EvalProjectOrgWaringAddCmdExe;
import org.qinan.safetyeval.app.waring.executor.command.EvalProjectOrgWaringDelCmdExe;
import org.qinan.safetyeval.app.waring.executor.command.EvalProjectOrgWaringUpdateCmdExe;
import org.qinan.safetyeval.app.waring.executor.query.EvalProjectOrgWaringListQueryExe;
import org.qinan.safetyeval.app.waring.executor.query.EvalProjectOrgWaringPageQueryExe;
import org.qinan.safetyeval.app.waring.service.EvalProjectOrgWaringServiceI;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.springframework.stereotype.Service;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Service
@AllArgsConstructor
public class EvalProjectOrgWaringServiceImpl implements EvalProjectOrgWaringServiceI {
private final EvalProjectOrgWaringListQueryExe evalProjectOrgWaringListQueryExe;
private final EvalProjectOrgWaringUpdateCmdExe evalProjectOrgWaringUpdateCommandExe;
private final EvalProjectOrgWaringAddCmdExe evalProjectOrgWaringAddCommandExe;
private final EvalProjectOrgWaringDelCmdExe evalProjectOrgWaringDelCommandExe;
private final EvalProjectOrgWaringPageQueryExe evalProjectOrgWaringPageQueryExe;
@Override
public PageResponse<EvalProjectOrgWaringCo> listEvalProjectOrgWaringPage(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry) {
return evalProjectOrgWaringPageQueryExe.execute(evalProjectOrgWaringPageQry);
}
@Override
public EvalProjectOrgWaringCo getEvalProjectOrgWaringById(Long id) {
return evalProjectOrgWaringListQueryExe.execute(id);
}
@Override
public boolean saveEvalProjectOrgWaring(EvalProjectOrgWaringAddCmd evalProjectOrgWaringAddCmd) {
return evalProjectOrgWaringAddCommandExe.execute(evalProjectOrgWaringAddCmd);
}
@Override
public boolean updateEvalProjectOrgWaring(EvalProjectOrgWaringUpdateCmd evalProjectOrgWaringUpdateCmd) {
return evalProjectOrgWaringUpdateCommandExe.execute(evalProjectOrgWaringUpdateCmd);
}
@Override
public boolean deletedEvalProjectOrgWaringById(Long id) {
return evalProjectOrgWaringDelCommandExe.execute(id);
}
@Override
public boolean deletedEvalProjectOrgWaringByIds(Long[] ids) {
return evalProjectOrgWaringDelCommandExe.execute(ids);
}
}

View File

@ -20,4 +20,7 @@ public class EvalSurveyAttachCO {
@ApiModelProperty("文件地址")
private String fileUrl;
@ApiModelProperty("勾选框: 0-不勾选1-勾选")
private Integer checkbox;
}

View File

@ -17,4 +17,7 @@ public class EvalSurveyAttachSaveCmd {
@ApiModelProperty("文件地址")
private String fileUrl;
@ApiModelProperty("勾选框: 0-不勾选1-勾选")
private Integer checkbox;
}

View File

@ -0,0 +1,54 @@
package org.qinan.safetyeval.client.waring.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* -Cmd
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Data
public class EvalProjectOrgWaringAddCmd implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty(value = "项目id", required = true)
@NotNull(message = "项目id不能为空")
private Long projectId;
/**
*
*/
@ApiModelProperty(value = "预警类型", required = true)
@NotBlank(message = "预警类型不能为空")
private String warningType;
/**
*
*/
@ApiModelProperty(value = "触发条件")
private String triggerCondition;
/**
* none,done
*/
@ApiModelProperty(value = "处理状态 未处理none,已处理done", required = true)
@NotBlank(message = "处理状态 未处理none,已处理done不能为空")
private String handleStatus;
/**
*
*/
@ApiModelProperty(value = "证明材料")
private String evidenceFileUrl;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,48 @@
package org.qinan.safetyeval.client.waring.request;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* -Qry
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Data
public class EvalProjectOrgWaringPageQry extends PageQuery {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty(value = "项目id")
private Long projectId;
/**
*
*/
@ApiModelProperty(value = "预警类型")
private String warningType;
/**
*
*/
@ApiModelProperty(value = "触发条件")
private String triggerCondition;
/**
* none,done
*/
@ApiModelProperty(value = "处理状态 未处理none,已处理done")
private String handleStatus;
/**
*
*/
@ApiModelProperty(value = "证明材料")
private String evidenceFileUrl;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,58 @@
package org.qinan.safetyeval.client.waring.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* -Cmd
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Data
public class EvalProjectOrgWaringUpdateCmd implements Serializable {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
* id
*/
@ApiModelProperty(value = "项目id", required = true)
@NotNull(message = "项目id不能为空")
private Long projectId;
/**
*
*/
@ApiModelProperty(value = "预警类型", required = true)
@NotBlank(message = "预警类型不能为空")
private String warningType;
/**
*
*/
@ApiModelProperty(value = "触发条件")
private String triggerCondition;
/**
* none,done
*/
@ApiModelProperty(value = "处理状态 未处理none,已处理done", required = true)
@NotBlank(message = "处理状态 未处理none,已处理done不能为空")
private String handleStatus;
/**
*
*/
@ApiModelProperty(value = "证明材料")
private String evidenceFileUrl;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@NotNull(message = "version不能为空")
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,51 @@
package org.qinan.safetyeval.client.waring.response;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* -Co
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Data
public class EvalProjectOrgWaringCo extends ClientObject {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
* id
*/
@ApiModelProperty(value = "项目id")
private Long projectId;
/**
*
*/
@ApiModelProperty(value = "预警类型")
private String warningType;
/**
*
*/
@ApiModelProperty(value = "触发条件")
private String triggerCondition;
/**
* none,done
*/
@ApiModelProperty(value = "处理状态 未处理none,已处理done")
private String handleStatus;
/**
*
*/
@ApiModelProperty(value = "证明材料")
private String evidenceFileUrl;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,33 @@
package org.qinan.safetyeval.domain.constant;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
*
*/
@Getter
@RequiredArgsConstructor
public enum HandleStatusEnum {
NONE("none", "未处理"),
DONE("done", "已处理"),
;
private final String code;
private final String value;
public static final String REMARKS = "处理状态枚举: none=>未处理;done=>已处理";
public static HandleStatusEnum ofCode(String code) {
if (code == null) {
return null;
}
for (HandleStatusEnum item : values()) {
if (item.code.equalsIgnoreCase(code)) {
return item;
}
}
return null;
}
}

View File

@ -0,0 +1,33 @@
package org.qinan.safetyeval.domain.constant;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
*
*/
@Getter
@RequiredArgsConstructor
public enum OrgProjectWarningTypeEnum {
NOT_ARCHIVED("not_archived", "未归档"),
REPORT_OVERDUE("report_overdue", "报告超期"),
;
private final String code;
private final String value;
public static final String REMARKS = "机构项目预警类型枚举: not_archived=>未归档;report_overdue=>报告超期";
public static OrgProjectWarningTypeEnum ofCode(String code) {
if (code == null) {
return null;
}
for (OrgProjectWarningTypeEnum item : values()) {
if (item.code.equalsIgnoreCase(code)) {
return item;
}
}
return null;
}
}

View File

@ -9,4 +9,5 @@ public class EvalSurveyAttachEntity {
private Long projectId;
private String attachTypeCode;
private String fileUrl;
private Integer checkbox;
}

View File

@ -0,0 +1,29 @@
package org.qinan.safetyeval.domain.waring.ability;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.waring.gateway.EvalProjectOrgWaringGateway;
import org.springframework.stereotype.Service;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Service
@AllArgsConstructor
public class EvalProjectOrgWaringAbility {
/**
*
**/
private final EvalProjectOrgWaringGateway evalProjectOrgWaringGateway;
public boolean deletedEvalProjectOrgWaringById(Long id) {
return evalProjectOrgWaringGateway.deletedEvalProjectOrgWaringById(id);
}
public boolean deletedEvalProjectOrgWaringByIds(Long[] ids) {
return evalProjectOrgWaringGateway.deletedEvalProjectOrgWaringByIds(ids);
}
}

View File

@ -0,0 +1,44 @@
package org.qinan.safetyeval.domain.waring.gateway;
import org.qinan.safetyeval.domain.waring.model.EvalProjectOrgWaringE;
/**
* -
*
* @Author: WGG
* @Date: 2022/3/22 16:49
*/
public interface EvalProjectOrgWaringGateway {
/**
* -
*
* @param evalProjectOrgWaringE -
* @return
*/
Boolean add(EvalProjectOrgWaringE evalProjectOrgWaringE);
/**
* -
*
* @param evalProjectOrgWaringE -
* @return
*/
Boolean update(EvalProjectOrgWaringE evalProjectOrgWaringE);
/**
* -
*
* @param id
* @return
*/
Boolean deletedEvalProjectOrgWaringById(Long id);
/**
* -
*
* @param ids
* @return
*/
Boolean deletedEvalProjectOrgWaringByIds(Long[] ids);
}

View File

@ -0,0 +1,64 @@
package org.qinan.safetyeval.domain.waring.model;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.cola.domain.DomainFactory;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.qinan.safetyeval.domain.waring.gateway.EvalProjectOrgWaringGateway;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class EvalProjectOrgWaringE extends BaseE {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long projectId;
/**
*
*/
private String warningType;
/**
*
*/
private String triggerCondition;
/**
* none,done
*/
private String handleStatus;
/**
*
*/
private String evidenceFileUrl;
/**
*
*/
private String env;
private transient EvalProjectOrgWaringGateway evalProjectOrgWaringGateway;
public EvalProjectOrgWaringE() {
this.evalProjectOrgWaringGateway = SpringUtil.getBean(EvalProjectOrgWaringGateway.class);
}
public static EvalProjectOrgWaringE of() {
return DomainFactory.create(EvalProjectOrgWaringE.class);
}
public boolean add() {
return evalProjectOrgWaringGateway.add(this);
}
public boolean update() {
return evalProjectOrgWaringGateway.update(this);
}
}

View File

@ -0,0 +1,53 @@
package org.qinan.safetyeval.infrastructure.convertor;
import org.mapstruct.Mapper;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.domain.waring.model.EvalProjectOrgWaringE;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
import java.util.List;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Mapper(componentModel = "spring")
public interface EvalProjectOrgWaringDoConvertor {
/**
* DO
*
* @param evalProjectOrgWaringE
* @return
*/
EvalProjectOrgWaringDO convertEeToDo(EvalProjectOrgWaringE evalProjectOrgWaringE);
/**
* DOCo
*
* @param evalProjectOrgWaringDo DO
* @return
*/
EvalProjectOrgWaringCo converDoToCo(EvalProjectOrgWaringDO evalProjectOrgWaringDo);
/**
* qry TO DO
*
* @param evalProjectOrgWaringPageQry
* @return
*/
EvalProjectOrgWaringDO convertQryToDo(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry);
/**
* DOsCos
*
* @param evalProjectOrgWaringDos dos
* @return
*/
List<EvalProjectOrgWaringCo> converDosToCos(List<EvalProjectOrgWaringDO> evalProjectOrgWaringDos);
}

View File

@ -12,4 +12,5 @@ public class EvalSurveyAttachDO {
/** 附件类型编码(ProjectDocumentEnum.val) */
private String attachTypeCode;
private String fileUrl;
private Integer checkbox;
}

View File

@ -0,0 +1,48 @@
package org.qinan.safetyeval.infrastructure.gateway;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.waring.gateway.EvalProjectOrgWaringGateway;
import org.qinan.safetyeval.domain.waring.model.EvalProjectOrgWaringE;
import org.qinan.safetyeval.infrastructure.convertor.EvalProjectOrgWaringDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
import org.qinan.safetyeval.infrastructure.persistence.repository.EvalProjectOrgWaringRepository;
import org.springframework.stereotype.Service;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Service
@AllArgsConstructor
public class EvalProjectOrgWaringGatewayImpl implements EvalProjectOrgWaringGateway {
private final EvalProjectOrgWaringRepository evalProjectOrgWaringRepository;
private final EvalProjectOrgWaringDoConvertor evalProjectOrgWaringDoConvertor;
@Override
public Boolean add(EvalProjectOrgWaringE evalProjectOrgWaringE) {
EvalProjectOrgWaringDO evalProjectOrgWaringDO = evalProjectOrgWaringDoConvertor.convertEeToDo(evalProjectOrgWaringE);
boolean res = evalProjectOrgWaringRepository.addEvalProjectOrgWaring(evalProjectOrgWaringDO);
if (res) {
evalProjectOrgWaringE.setId(evalProjectOrgWaringDO.getId());
}
return res;
}
@Override
public Boolean update(EvalProjectOrgWaringE evalProjectOrgWaringE) {
boolean res = evalProjectOrgWaringRepository.updateEvalProjectOrgWaring(evalProjectOrgWaringDoConvertor.convertEeToDo(evalProjectOrgWaringE));
return res;
}
@Override
public Boolean deletedEvalProjectOrgWaringById(Long id) {
return evalProjectOrgWaringRepository.deletedEvalProjectOrgWaringById(id);
}
@Override
public Boolean deletedEvalProjectOrgWaringByIds(Long[] ids) {
return evalProjectOrgWaringRepository.deletedEvalProjectOrgWaringByIds(ids);
}
}

View File

@ -0,0 +1,44 @@
package org.qinan.safetyeval.infrastructure.persistence.domainobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("eval_project_org_waring")
public class EvalProjectOrgWaringDO extends BaseDO {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long projectId;
/**
*
*/
private String warningType;
/**
*
*/
private String triggerCondition;
/**
* none,done
*/
private String handleStatus;
/**
*
*/
private String evidenceFileUrl;
/**
*
*/
private String env;
}

View File

@ -0,0 +1,15 @@
package org.qinan.safetyeval.infrastructure.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
/**
* -Mapper
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Mapper
public interface EvalProjectOrgWaringMapper extends BaseMapper<EvalProjectOrgWaringDO> {
}

View File

@ -0,0 +1,31 @@
package org.qinan.safetyeval.infrastructure.persistence.queryservice;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
public interface EvalProjectOrgWaringQueryService {
/**
* ID
*
* @param id -ID
* @return
*/
EvalProjectOrgWaringDO getById(Long id);
/**
* -
*
* @param evalProjectOrgWaringPageQry Qry
* @return
*/
PageResponse<EvalProjectOrgWaringCo> listEvalProjectOrgWaringPage(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry);
}

View File

@ -0,0 +1,42 @@
package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.infrastructure.convertor.EvalProjectOrgWaringDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalProjectOrgWaringQueryService;
import org.qinan.safetyeval.infrastructure.persistence.repository.EvalProjectOrgWaringRepository;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Service
@AllArgsConstructor
public class EvalProjectOrgWaringQueryServiceImpl implements EvalProjectOrgWaringQueryService {
private final EvalProjectOrgWaringRepository evalProjectOrgWaringRepository;
private final EvalProjectOrgWaringDoConvertor evalProjectOrgWaringDoConvertor;
@Override
public EvalProjectOrgWaringDO getById(Long id) {
return evalProjectOrgWaringRepository.getById(id);
}
@Override
public PageResponse<EvalProjectOrgWaringCo> listEvalProjectOrgWaringPage(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry) {
IPage<EvalProjectOrgWaringDO> evalProjectOrgWaringDoPage = evalProjectOrgWaringRepository.listEvalProjectOrgWaringPage(PageHelper.queryToPage(evalProjectOrgWaringPageQry), evalProjectOrgWaringPageQry);
List<EvalProjectOrgWaringCo> evalProjectOrgWaringCoS = evalProjectOrgWaringDoConvertor.converDosToCos(evalProjectOrgWaringDoPage.getRecords());
return PageHelper.pageToResponse(evalProjectOrgWaringDoPage, evalProjectOrgWaringCoS);
}
}

View File

@ -0,0 +1,65 @@
package org.qinan.safetyeval.infrastructure.persistence.repository;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
public interface EvalProjectOrgWaringRepository extends BaseRepository<EvalProjectOrgWaringDO> {
/**
* ID
*
* @param id -ID
* @return
*/
EvalProjectOrgWaringDO getById(Long id);
/**
* -
*
* @param iPage
* @param evalProjectOrgWaringPageQry
* @return ipage
*/
IPage<EvalProjectOrgWaringDO> listEvalProjectOrgWaringPage(IPage iPage, EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry);
/**
* -
*
* @param evalProjectOrgWaringDO -
* @return
*/
Boolean addEvalProjectOrgWaring(EvalProjectOrgWaringDO evalProjectOrgWaringDO);
/**
* -
*
* @param evalProjectOrgWaringDO -
* @return
*/
Boolean updateEvalProjectOrgWaring(EvalProjectOrgWaringDO evalProjectOrgWaringDO);
/**
* -
*
* @param id
* @return
*/
Boolean deletedEvalProjectOrgWaringById(Long id);
/**
* -
*
* @param ids
* @return
*/
Boolean deletedEvalProjectOrgWaringByIds(Long[] ids);
}

View File

@ -0,0 +1,60 @@
package org.qinan.safetyeval.infrastructure.persistence.repository.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.enums.enums.BooleanEnum;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.domain.constant.BooleanQAEnum;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
import org.qinan.safetyeval.infrastructure.persistence.mapper.EvalProjectOrgWaringMapper;
import org.qinan.safetyeval.infrastructure.persistence.repository.EvalProjectOrgWaringRepository;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
* -
*
* @Author: ltq
* @date 2026-08-13 15:49:16
*/
@Service
@AllArgsConstructor
public class EvalProjectOrgWaringRepositoryImpl extends BaseRepositoryImpl<EvalProjectOrgWaringMapper, EvalProjectOrgWaringDO> implements EvalProjectOrgWaringRepository {
private final EvalProjectOrgWaringMapper evalProjectOrgWaringMapper;
@Override
public EvalProjectOrgWaringDO getById(Long id) {
return super.lambdaQuery().eq(EvalProjectOrgWaringDO::getId, id).eq(EvalProjectOrgWaringDO::getDeleteEnum, BooleanEnum.FALSE.getValue()).one();
}
@Override
public IPage<EvalProjectOrgWaringDO> listEvalProjectOrgWaringPage(IPage iPage, EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry) {
LambdaQueryWrapper<EvalProjectOrgWaringDO> evalProjectOrgWaringDoQueryWrapper = new LambdaQueryWrapper<>();
evalProjectOrgWaringDoQueryWrapper.eq(EvalProjectOrgWaringDO::getDeleteEnum, BooleanQAEnum.FALSE.getValue());
return evalProjectOrgWaringMapper.selectPage(iPage, evalProjectOrgWaringDoQueryWrapper);
}
@Override
public Boolean addEvalProjectOrgWaring(EvalProjectOrgWaringDO evalProjectOrgWaringDO) {
return super.save(evalProjectOrgWaringDO);
}
@Override
public Boolean updateEvalProjectOrgWaring(EvalProjectOrgWaringDO evalProjectOrgWaringDO) {
return super.updateById(evalProjectOrgWaringDO);
}
@Override
public Boolean deletedEvalProjectOrgWaringById(Long id) {
return super.removeEnById(id);
}
@Override
public Boolean deletedEvalProjectOrgWaringByIds(Long[] ids) {
return super.removeBatchEnByIds(Arrays.asList(ids));
}
}

View File

@ -0,0 +1,33 @@
<?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="org.qinan.safetyeval.infrastructure.persistence.mapper.EvalProjectOrgWaringMapper">
<resultMap type="org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO"
id="EvalProjectOrgWaringResult">
<id property="id" column="id"/>
<result property="projectId" column="project_id"/>
<result property="warningType" column="warning_type"/>
<result property="triggerCondition" column="trigger_condition"/>
<result property="handleStatus" column="handle_status"/>
<result property="evidenceFileUrl" column="evidence_file_url"/>
<result property="deleteEnum" column="delete_enum"/>
<result property="orgId" column="org_id"/>
<result property="remarks" column="remarks"/>
<result property="createName" column="create_name"/>
<result property="updateName" column="update_name"/>
<result property="tenantId" column="tenant_id"/>
<result property="version" column="version"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createId" column="create_id"/>
<result property="updateId" column="update_id"/>
<result property="env" column="env"/>
</resultMap>
<sql id="selectEvalProjectOrgWaring">
select id, project_id, warning_type, trigger_condition, handle_status, evidence_file_url, delete_enum, org_id,
remarks, create_name, update_name, tenant_id, version, create_time, update_time, create_id, update_id, env from
eval_project_org_waring
</sql>
</mapper>