init
parent
7bb48050e8
commit
247e384a96
|
|
@ -8,11 +8,14 @@ import org.qinan.safetyeval.client.co.institution.EvalProjectCO;
|
|||
import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressStatCO;
|
||||
import org.qinan.safetyeval.client.co.institution.RiskWarningCO;
|
||||
import org.qinan.safetyeval.client.co.institution.RiskWarningStatCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectProgressPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.RiskWarningPageQuery;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.base.Req;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -69,4 +72,16 @@ public class EvalProjectController {
|
|||
public PageResponse<EvalProjectProgressCO> progressPage(@Validated EvalProjectProgressPageQuery query) {
|
||||
return evalProjectApi.progressPage(query);
|
||||
}
|
||||
|
||||
@ApiOperation("风险预警管理统计")
|
||||
@GetMapping("/risk-warning-stat")
|
||||
public SingleResponse<RiskWarningStatCO> riskWarningStat() {
|
||||
return evalProjectApi.riskWarningStat();
|
||||
}
|
||||
|
||||
@ApiOperation("风险预警管理分页")
|
||||
@GetMapping("/risk-warning-page")
|
||||
public PageResponse<RiskWarningCO> riskWarningPage(@Validated RiskWarningPageQuery query) {
|
||||
return evalProjectApi.riskWarningPage(query);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,11 +6,14 @@ import org.qinan.safetyeval.client.co.institution.EvalProjectCO;
|
|||
import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressStatCO;
|
||||
import org.qinan.safetyeval.client.co.institution.RiskWarningCO;
|
||||
import org.qinan.safetyeval.client.co.institution.RiskWarningStatCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectProgressPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.RiskWarningPageQuery;
|
||||
import org.qinan.safetyeval.domain.constant.EvalProjectProgressStatEnum;
|
||||
import org.qinan.safetyeval.domain.entity.EvalProjectEntity;
|
||||
import org.qinan.safetyeval.domain.exception.BizException;
|
||||
|
|
@ -114,6 +117,25 @@ public class EvalProjectExecutor implements EvalProjectApi {
|
|||
return PageResponse.of(result.getRecords(), result.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<RiskWarningStatCO> riskWarningStat() {
|
||||
RiskWarningStatCO co = new RiskWarningStatCO();
|
||||
co.setTotalCount(0);
|
||||
co.setHighRiskCount(0);
|
||||
co.setProcessingCount(0);
|
||||
co.setWeekNewCount(0);
|
||||
return SingleResponse.success(co);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<RiskWarningCO> riskWarningPage(RiskWarningPageQuery query) {
|
||||
EvalProjectQuery domainQuery = new EvalProjectQuery();
|
||||
domainQuery.setOrgId(ThreadLocalUserInfoAdapter.getOrgId());
|
||||
Page<RiskWarningCO> page = new Page<>( query.getCurrent(), query.getSize());
|
||||
IPage<RiskWarningCO> result = evalProjectMapper.selectRiskWarningPage(page, domainQuery);
|
||||
return PageResponse.of(result.getRecords(), result.getTotal());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目结束日期计算剩余天数、进度状态码、进度状态名称。
|
||||
* 规则(参考原型页面):
|
||||
|
|
|
|||
|
|
@ -4,11 +4,14 @@ import org.qinan.safetyeval.client.co.institution.EvalProjectCO;
|
|||
import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressStatCO;
|
||||
import org.qinan.safetyeval.client.co.institution.RiskWarningCO;
|
||||
import org.qinan.safetyeval.client.co.institution.RiskWarningStatCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectProgressPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.RiskWarningPageQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -27,4 +30,8 @@ public interface EvalProjectApi {
|
|||
SingleResponse<EvalProjectProgressStatCO> progressStat();
|
||||
|
||||
PageResponse<EvalProjectProgressCO> progressPage(EvalProjectProgressPageQuery query);
|
||||
|
||||
SingleResponse<RiskWarningStatCO> riskWarningStat();
|
||||
|
||||
PageResponse<RiskWarningCO> riskWarningPage(RiskWarningPageQuery query);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
package org.qinan.safetyeval.client.co.institution;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 风险预警管理列表项
|
||||
*/
|
||||
@Data
|
||||
public class RiskWarningCO {
|
||||
|
||||
@ApiModelProperty("主键ID")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty("项目编号")
|
||||
private String projectNo;
|
||||
|
||||
@ApiModelProperty("项目名称")
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty("客户名称")
|
||||
private String customerName;
|
||||
|
||||
@ApiModelProperty("风险等级码:HIGH高风险 MIDDLE中风险 LOW低风险")
|
||||
private String riskLevelCode;
|
||||
|
||||
@ApiModelProperty("风险等级名称")
|
||||
private String riskLevelName;
|
||||
|
||||
@ApiModelProperty("预警类型码:PROGRESS进度 CYCLE周期 QUALITY质量 PERSONNEL人员 ARCHIVE归档")
|
||||
private String warningTypeCode;
|
||||
|
||||
@ApiModelProperty("预警类型名称")
|
||||
private String warningTypeName;
|
||||
|
||||
@ApiModelProperty("触发条件")
|
||||
private String triggerCondition;
|
||||
|
||||
@ApiModelProperty("责任人")
|
||||
private String responsiblePerson;
|
||||
|
||||
@ApiModelProperty("预警时间")
|
||||
private LocalDate warningTime;
|
||||
|
||||
@ApiModelProperty("状态码:UNHANDLED未处理 PROCESSING处理中")
|
||||
private String statusCode;
|
||||
|
||||
@ApiModelProperty("状态名称")
|
||||
private String statusName;
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package org.qinan.safetyeval.client.co.institution;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 风险预警管理统计
|
||||
*/
|
||||
@Data
|
||||
public class RiskWarningStatCO {
|
||||
|
||||
@ApiModelProperty("预警总数")
|
||||
private Integer totalCount;
|
||||
|
||||
@ApiModelProperty("高风险数(延期、逾期、重大整改)")
|
||||
private Integer highRiskCount;
|
||||
|
||||
@ApiModelProperty("处理中数(已分派但未闭环)")
|
||||
private Integer processingCount;
|
||||
|
||||
@ApiModelProperty("本周新增数")
|
||||
private Integer weekNewCount;
|
||||
}
|
||||
|
|
@ -4,6 +4,9 @@ import io.swagger.annotations.ApiModelProperty;
|
|||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.Digits;
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
|
|
@ -18,9 +21,12 @@ import java.time.LocalDateTime;
|
|||
public class BasePageQuery {
|
||||
|
||||
@ApiModelProperty(value = "当前页(默认1)")
|
||||
@Min(1)
|
||||
@Max(Integer.MAX_VALUE)
|
||||
private Long current = 1L;
|
||||
|
||||
@ApiModelProperty(value = "每页条数(默认10)")
|
||||
@Min(1)
|
||||
private Long size = 10L;
|
||||
|
||||
@ApiModelProperty(value = "排序(格式: column:asc|desc, 多个用逗号分隔)")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package org.qinan.safetyeval.client.dto.institution;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.qinan.safetyeval.client.dto.BasePageQuery;
|
||||
|
||||
/**
|
||||
* 风险预警管理分页查询
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class RiskWarningPageQuery extends BasePageQuery {
|
||||
|
||||
@ApiModelProperty("项目或客户名称")
|
||||
private String projectOrCustomer;
|
||||
|
||||
@ApiModelProperty("风险等级:HIGH高风险 MIDDLE中风险 LOW低风险")
|
||||
private String riskLevel;
|
||||
|
||||
@ApiModelProperty("预警类型:PROGRESS进度 CYCLE周期 QUALITY质量 PERSONNEL人员 ARCHIVE归档")
|
||||
private String warningType;
|
||||
}
|
||||
|
|
@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper;
|
|||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO;
|
||||
import org.qinan.safetyeval.client.co.institution.RiskWarningCO;
|
||||
import org.qinan.safetyeval.domain.query.EvalProjectQuery;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.EvalProjectDO;
|
||||
|
||||
|
|
@ -20,4 +21,9 @@ public interface EvalProjectMapper extends BaseMapper<EvalProjectDO> {
|
|||
* 项目进度管理分页查询(关联 eval_customer 获取客户名称,直接返回 EvalProjectProgressCO)
|
||||
*/
|
||||
IPage<EvalProjectProgressCO> selectProgressPage(Page<EvalProjectProgressCO> page, @Param("query") EvalProjectQuery query);
|
||||
|
||||
/**
|
||||
* 风险预警管理分页查询(暂只查项目编号、项目/客户、责任人)
|
||||
*/
|
||||
IPage<RiskWarningCO> selectRiskWarningPage(Page<RiskWarningCO> page, @Param("query") EvalProjectQuery query);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,4 +40,24 @@
|
|||
ORDER BY p.id DESC
|
||||
</select>
|
||||
|
||||
<!-- 风险预警管理分页查询(暂只查项目编号、项目/客户、责任人) -->
|
||||
<select id="selectRiskWarningPage"
|
||||
resultType="org.qinan.safetyeval.client.co.institution.RiskWarningCO">
|
||||
SELECT
|
||||
p.id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
c.customer_name,
|
||||
p.project_leader_name AS responsible_person
|
||||
FROM eval_project p
|
||||
LEFT JOIN eval_customer c
|
||||
ON c.id = p.customer_id
|
||||
AND c.delete_enum = 'false'
|
||||
WHERE p.delete_enum = 'false'
|
||||
<if test="query.orgId != null">
|
||||
AND p.org_id = #{query.orgId}
|
||||
</if>
|
||||
ORDER BY p.id DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue