dev-tmp1
luotaiqian 2026-08-13 16:44:27 +08:00
parent c7be019024
commit 1a30de09d3
7 changed files with 156 additions and 8 deletions

View File

@ -7,11 +7,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.waring.service.EvalProjectOrgWaringServiceI; import org.qinan.safetyeval.app.waring.service.EvalProjectOrgWaringServiceI;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd; import org.qinan.safetyeval.client.waring.request.*;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringHandleCmd;
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.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -38,6 +36,12 @@ public class EvalProjectOrgWaringController implements Serializable {
return evalProjectOrgWaringServiceI.listEvalProjectOrgWaringPage(qry); return evalProjectOrgWaringServiceI.listEvalProjectOrgWaringPage(qry);
} }
@GetMapping("/page")
@ApiOperation("查询机构端-险预警列表-分页(关联项目、客户)")
public PageResponse<EvalProjectOrgWaringListCo> pageList(@Validated EvalProjectOrgWaringListPageQry qry) {
return evalProjectOrgWaringServiceI.listOrgWaringPage(qry);
}
@GetMapping("/{id}") @GetMapping("/{id}")
@ApiOperation("查询机构端-险预警详情页面") @ApiOperation("查询机构端-险预警详情页面")
public SingleResponse<EvalProjectOrgWaringCo> getInfo(@PathVariable("id") Long id) { public SingleResponse<EvalProjectOrgWaringCo> getInfo(@PathVariable("id") Long id) {

View File

@ -1,11 +1,9 @@
package org.qinan.safetyeval.app.waring.service; package org.qinan.safetyeval.app.waring.service;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd; import org.qinan.safetyeval.client.waring.request.*;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringHandleCmd;
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.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
/** /**
* - * -
@ -70,5 +68,13 @@ public interface EvalProjectOrgWaringServiceI {
*/ */
boolean handleEvalProjectOrgWaring(EvalProjectOrgWaringHandleCmd evalProjectOrgWaringHandleCmd); boolean handleEvalProjectOrgWaring(EvalProjectOrgWaringHandleCmd evalProjectOrgWaringHandleCmd);
/**
* -
*
* @param evalProjectOrgWaringListPageQry
* @return
*/
PageResponse<EvalProjectOrgWaringListCo> listOrgWaringPage(EvalProjectOrgWaringListPageQry evalProjectOrgWaringListPageQry);
} }

View File

@ -1,6 +1,9 @@
package org.qinan.safetyeval.app.waring.service.impl; package org.qinan.safetyeval.app.waring.service.impl;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jjb.saas.framework.repository.common.PageHelper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.waring.executor.command.EvalProjectOrgWaringAddCmdExe; 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.EvalProjectOrgWaringDelCmdExe;
@ -10,9 +13,13 @@ import org.qinan.safetyeval.app.waring.executor.query.EvalProjectOrgWaringPageQu
import org.qinan.safetyeval.app.waring.service.EvalProjectOrgWaringServiceI; import org.qinan.safetyeval.app.waring.service.EvalProjectOrgWaringServiceI;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd; import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringAddCmd;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringHandleCmd; import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringHandleCmd;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringListPageQry;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry; import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd; import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo; import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
import org.qinan.safetyeval.infrastructure.persistence.mapper.EvalProjectOrgWaringMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@ -30,6 +37,7 @@ public class EvalProjectOrgWaringServiceImpl implements EvalProjectOrgWaringServ
private final EvalProjectOrgWaringAddCmdExe evalProjectOrgWaringAddCommandExe; private final EvalProjectOrgWaringAddCmdExe evalProjectOrgWaringAddCommandExe;
private final EvalProjectOrgWaringDelCmdExe evalProjectOrgWaringDelCommandExe; private final EvalProjectOrgWaringDelCmdExe evalProjectOrgWaringDelCommandExe;
private final EvalProjectOrgWaringPageQueryExe evalProjectOrgWaringPageQueryExe; private final EvalProjectOrgWaringPageQueryExe evalProjectOrgWaringPageQueryExe;
private final EvalProjectOrgWaringMapper evalProjectOrgWaringMapper;
@Override @Override
public PageResponse<EvalProjectOrgWaringCo> listEvalProjectOrgWaringPage(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry) { public PageResponse<EvalProjectOrgWaringCo> listEvalProjectOrgWaringPage(EvalProjectOrgWaringPageQry evalProjectOrgWaringPageQry) {
@ -66,4 +74,12 @@ public class EvalProjectOrgWaringServiceImpl implements EvalProjectOrgWaringServ
return evalProjectOrgWaringUpdateCommandExe.execute(evalProjectOrgWaringHandleCmd); return evalProjectOrgWaringUpdateCommandExe.execute(evalProjectOrgWaringHandleCmd);
} }
@Override
public PageResponse<EvalProjectOrgWaringListCo> listOrgWaringPage(EvalProjectOrgWaringListPageQry evalProjectOrgWaringListPageQry) {
evalProjectOrgWaringListPageQry.setOrgId(ThreadLocalUserInfoAdapter.getOrgId());
Page<EvalProjectOrgWaringListCo> page = new Page<>(evalProjectOrgWaringListPageQry.getCurrent(), evalProjectOrgWaringListPageQry.getSize());
IPage<EvalProjectOrgWaringListCo> result = evalProjectOrgWaringMapper.selectOrgWaringPage(page, evalProjectOrgWaringListPageQry);
return PageHelper.pageToResponse(result, result.getRecords());
}
} }

View File

@ -0,0 +1,27 @@
package org.qinan.safetyeval.client.waring.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.qinan.safetyeval.client.dto.BasePageQuery;
import java.io.Serializable;
/**
* -
*
* @Author: ltq
* @Date: 2026-08-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class EvalProjectOrgWaringListPageQry extends BasePageQuery implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("预警类型")
private String warningType;
@ApiModelProperty(hidden = true)
private Long orgId;
}

View File

@ -0,0 +1,55 @@
package org.qinan.safetyeval.client.waring.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* -
*
* @Author: ltq
* @Date: 2026-08-13
*/
@Data
public class EvalProjectOrgWaringListCo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("预警id")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
@ApiModelProperty("项目名称")
private String projectName;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("项目编号")
private String projectNo;
@ApiModelProperty("预警类型")
private String warningType;
@ApiModelProperty("触发条件")
private String triggerCondition;
@ApiModelProperty("业务负责人")
private String projectLeaderName;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
@ApiModelProperty("处理状态")
private String handleStatus;
@ApiModelProperty("证明材料")
private String evidenceFileUrl;
@ApiModelProperty("备注处理说明")
private String remarks;
}

View File

@ -1,7 +1,11 @@
package org.qinan.safetyeval.infrastructure.persistence.mapper; package org.qinan.safetyeval.infrastructure.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringListPageQry;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO; import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
/** /**
@ -12,4 +16,10 @@ import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectO
*/ */
@Mapper @Mapper
public interface EvalProjectOrgWaringMapper extends BaseMapper<EvalProjectOrgWaringDO> { public interface EvalProjectOrgWaringMapper extends BaseMapper<EvalProjectOrgWaringDO> {
/**
* - eval_projecteval_customer
*/
IPage<EvalProjectOrgWaringListCo> selectOrgWaringPage(IPage<EvalProjectOrgWaringListCo> page,
@Param("query") EvalProjectOrgWaringListPageQry query);
} }

View File

@ -30,4 +30,34 @@
remarks, create_name, update_name, tenant_id, version, create_time, update_time, create_id, update_id, env from remarks, create_name, update_name, tenant_id, version, create_time, update_time, create_id, update_id, env from
eval_project_org_waring eval_project_org_waring
</sql> </sql>
<!-- 机构端-险预警分页查询(关联 eval_project、eval_customer -->
<select id="selectOrgWaringPage"
resultType="org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo">
SELECT
epow.id,
p.project_name,
ec.customer_name,
p.project_no,
epow.warning_type,
epow.trigger_condition,
p.project_leader_name,
epow.create_time,
epow.handle_status,
epow.evidence_file_url,
epow.remarks
FROM eval_project_org_waring epow
JOIN eval_project p ON epow.project_id = p.id
JOIN eval_customer ec ON p.customer_id = ec.id
WHERE epow.delete_enum = 'false'
AND epow.org_id = #{query.orgId}
<if test="query.keyword != null and query.keyword != ''">
AND (p.project_name LIKE CONCAT('%', #{query.keyword}, '%')
OR ec.customer_name LIKE CONCAT('%', #{query.keyword}, '%'))
</if>
<if test="query.warningType != null and query.warningType != ''">
AND epow.warning_type = #{query.warningType}
</if>
ORDER BY epow.id DESC
</select>
</mapper> </mapper>