archive file

dev-tmp1
luotaiqian 2026-08-25 15:28:14 +08:00
parent 031cc25631
commit 593387dcaf
6 changed files with 61 additions and 0 deletions

View File

@ -112,5 +112,14 @@ public class EvalProjectController {
return evalProjectApi.archiveSupervisionPage(query);
}
/**
* SQL
*/
@ApiOperation("项目档案监管统计")
@GetMapping("/archive-supervision-stat")
public SingleResponse<EvalProjectArchiveSupervisionStatCO> archiveSupervisionStat() {
return evalProjectApi.archiveSupervisionStat();
}
}

View File

@ -362,6 +362,14 @@ public class EvalProjectExecutor implements EvalProjectApi {
return PageResponse.of(result.getRecords(), result.getTotal());
}
/**
* SQL
*/
@Override
public SingleResponse<EvalProjectArchiveSupervisionStatCO> archiveSupervisionStat() {
return SingleResponse.success(evalProjectMapper.selectArchiveSupervisionStat());
}
/**
* /
*/

View File

@ -58,4 +58,11 @@ public interface EvalProjectApi {
* @return
*/
PageResponse<EvalProjectArchiveSupervisionCO> archiveSupervisionPage(EvalProjectArchiveSupervisionPageQuery query);
/**
* SQL
*
* @return
*/
SingleResponse<EvalProjectArchiveSupervisionStatCO> archiveSupervisionStat();
}

View File

@ -0,0 +1,20 @@
package org.qinan.safetyeval.client.co.institution;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
*/
@Data
public class EvalProjectArchiveSupervisionStatCO {
@ApiModelProperty("在库项目档案数有档案文件的项目数按项目ID去重")
private Integer inLibraryArchiveCount;
@ApiModelProperty("流程文档数record_source=auto_process_record")
private Integer processFileCount;
@ApiModelProperty("机构补充文件数record_source=upload_additional_files")
private Integer additionalFileCount;
}

View File

@ -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.EvalProjectArchiveSupervisionCO;
import org.qinan.safetyeval.client.co.institution.EvalProjectArchiveSupervisionStatCO;
import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO;
import org.qinan.safetyeval.client.co.institution.RiskWarningCO;
import org.qinan.safetyeval.client.co.regulator.RegulatorEvalProjectMonitorPageCO;
@ -92,5 +93,10 @@ public interface EvalProjectMapper extends BaseMapper<EvalProjectDO> {
*/
List<EvalProjectArchiveSupervisionCO> selectArchiveFileStatByProjectIds(@Param("projectIds") List<Long> projectIds);
/**
* SQL//
*/
EvalProjectArchiveSupervisionStatCO selectArchiveSupervisionStat();
List<Long> getByPersonnelId(@Param("currentUserId") Long currentUserId);
}

View File

@ -367,4 +367,15 @@
</foreach>
GROUP BY f.project_id
</select>
<!-- 项目档案监管统计一条SQL条件聚合在库项目档案=按项目ID去重流程文档/机构补充文件按record_source分列统计 -->
<select id="selectArchiveSupervisionStat"
resultType="org.qinan.safetyeval.client.co.institution.EvalProjectArchiveSupervisionStatCO">
SELECT
COUNT(DISTINCT f.project_id) AS in_library_archive_count,
IFNULL(SUM(CASE WHEN f.record_source = 'auto_process_record' THEN 1 ELSE 0 END), 0) AS process_file_count,
IFNULL(SUM(CASE WHEN f.record_source = 'upload_additional_files' THEN 1 ELSE 0 END), 0) AS additional_file_count
FROM eval_project_archive_file f
WHERE f.delete_enum = 'false'
</select>
</mapper>