diff --git a/src/main/java/com/biutag/supervision/controller/datav/DataVAuditController.java b/src/main/java/com/biutag/supervision/controller/datav/DataVAuditController.java index 6d7019b..5d19648 100644 --- a/src/main/java/com/biutag/supervision/controller/datav/DataVAuditController.java +++ b/src/main/java/com/biutag/supervision/controller/datav/DataVAuditController.java @@ -4,19 +4,25 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.biutag.supervision.constants.enums.ProblemSourcesEnum; +import com.biutag.supervision.constants.enums.invest.DeleteStatusEnum; +import com.biutag.supervision.constants.enums.invest.ReportProjectNodeEnum; import com.biutag.supervision.mapper.NegativeMapper; +import com.biutag.supervision.mapper.ReportProjectMapper; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.dto.common.PieItem; import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.NegativeBlame; import com.biutag.supervision.pojo.entity.News; +import com.biutag.supervision.pojo.entity.report.ReportProject; import com.biutag.supervision.pojo.vo.AuditNegativeVo; import com.biutag.supervision.pojo.vo.AuditOverview; import com.biutag.supervision.pojo.vo.EchartsVo; import com.biutag.supervision.service.NegativeBlameService; import com.biutag.supervision.service.NegativeService; import com.biutag.supervision.service.NewsService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.GetMapping; @@ -24,9 +30,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; import static com.biutag.supervision.constants.WorkDynamicConstants.SJGZDT; @@ -52,6 +60,10 @@ public class DataVAuditController { private final NegativeBlameService negativeBlameService; + @Resource + private ReportProjectMapper reportProjectMapper; + + @Operation(description = "审计督察一级大屏中央数字") @GetMapping("/overview") public Result overview(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) { @@ -59,9 +71,18 @@ public class DataVAuditController { .in(Negative::getProblemSourcesCode, List.of(ProblemSourcesEnum.ZFTZSJ.getValue(), ProblemSourcesEnum.ZFSACFSS.getValue(), ProblemSourcesEnum.JJZRSJ.getValue(), ProblemSourcesEnum.ZXSJ.getValue()))); long accountableNumber = negativeBlameService.count(new LambdaQueryWrapper().in(NegativeBlame::getNegativeId, negatives.stream().map(Negative::getId).collect(Collectors.toSet())) .ne(NegativeBlame::getHandleResultName, "不予追责")); + LambdaQueryWrapper projectLambdaQueryWrapper = new LambdaQueryWrapper<>(); + projectLambdaQueryWrapper.eq(ReportProject::getNode, ReportProjectNodeEnum.END); + projectLambdaQueryWrapper.eq(ReportProject::getDeleteFlag, DeleteStatusEnum.NO.getCode()); + List reportProjects = reportProjectMapper.selectList(projectLambdaQueryWrapper); + BigDecimal totalReportMoney = reportProjects.stream().map(ReportProject::getReportMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal totalArchivingReduceMoney = reportProjects.stream().map(ReportProject::getArchivingReduceMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); AuditOverview overview = new AuditOverview(); overview.setNegativeNumber(negatives.size()); overview.setAccountableNumber(accountableNumber); + overview.setProjectNumber(new BigDecimal(reportProjects.size())); + overview.setAuditAmount(totalReportMoney); + overview.setAuditSjAmount(totalArchivingReduceMoney); return Result.success(overview); } diff --git a/src/main/java/com/biutag/supervision/mapper/ReportProjectMapper.java b/src/main/java/com/biutag/supervision/mapper/ReportProjectMapper.java new file mode 100644 index 0000000..f84cbf4 --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/ReportProjectMapper.java @@ -0,0 +1,12 @@ +package com.biutag.supervision.mapper; + + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.report.ReportProject; + +@DS("invest") +public interface ReportProjectMapper extends BaseMapper { + + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/report/ReportProject.java b/src/main/java/com/biutag/supervision/pojo/entity/report/ReportProject.java new file mode 100644 index 0000000..bdde7ac --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/report/ReportProject.java @@ -0,0 +1,175 @@ +package com.biutag.supervision.pojo.entity.report; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.biutag.supervision.constants.AppConstants; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +//报审项目 +@Getter +@Setter +@TableName("report_project") +@Schema(description="项目基本内容--报审项目内容") +public class ReportProject { + + @TableId + private String id; + //报审类型 + @TableField("report_type") + private String reportType; + //项目名称 + @TableField("report_name") + private String reportName; + //项目类别 + @TableField("project_type") + private String projectType; + //审计单位id + @TableField("audit_unit_id") + private String auditUnitId; + //审计单位 + @TableField("audit_unit") + private String auditUnit; + //项目单位id + @TableField("project_unit_id") + private String projectUnitId; + //项目单位 + @TableField("project_unit") + private String projectUnit; + //项目负责人 + @TableField("project_principal") + private String projectPrincipal; + //负责人联系方式 + @TableField("project_phone") + private String projectPhone; + //采购方式 + @TableField("purchase_method") + private String purchaseMethod; + //报审金额 + @TableField("report_money") + private BigDecimal reportMoney; + //立项金额 + @TableField("project_approval_money") + private BigDecimal projectApprovalMoney; + //立项审批领导 + @TableField("project_approval_lead") + private String projectApprovalLead; + //报审人 + @TableField("applicant") + private String applicant; + //报审人id + @TableField("applicant_id") + private String applicantId; + //报审日期 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("applicant_time") + private LocalDateTime applicantTime; + //立项日期 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("project_approval_time") + private LocalDateTime projectApprovalTime; + //申报政府采购日期 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("apply_government_time") + private LocalDateTime applyGovernmentTime; + //采购方式 + @TableField("purchase_type") + private String purchaseType; + //采购日期 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("purchase_time") + private LocalDateTime purchaseTime; + //合同签订日期 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("contract_time") + private LocalDateTime contractTime; + //合同金额 + @TableField("contract_mount") + private BigDecimal contractMount; + //服务单位 + @TableField("service_unit") + private String serviceUnit; + //服务单位负责人 + @TableField("service_unit_manager") + private String serviceUnitManager; + + @TableField(exist = false) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private List serviceTime; + + //服务日期(开始) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("service_start_time") + private LocalDateTime serviceStartTime; + //服务日期(结束) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("service_end_time") + private LocalDateTime serviceEndTime; + //服务单位联系电话 + @TableField("service_unit_phone") + private String serviceUnitPhone; + //文号 + @TableField("reference_number") + private String referenceNumber; + //发文日期 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("publication_date") + private LocalDateTime publicationDate; + + @TableField("node") + private String node; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("crt_time") + private LocalDateTime crtTime; + //(归档时间) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("archiving") + private LocalDateTime archiving; + //审定金额(归档) + @TableField("archiving_money") + private BigDecimal archivingMoney; + //审减金额(归档) + @TableField("archiving_reduce_money") + private BigDecimal archivingReduceMoney; + + @TableField("warning_state") + private String warningState; + //是否退窗 + @TableField("is_recessed") + private int isRecessed; + + + /** + * @see AppConstants + */ + @Schema(description = "是否逻辑删除:0-未删除,1-已删除") + @TableLogic(value = AppConstants.UN_DEL, delval = AppConstants.DEL) + @TableField("delete_flag") + private Integer deleteFlag; + + @TableField("delete_reason") + @Schema(description = "删除原因") + private String deleteReason; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/AuditOverview.java b/src/main/java/com/biutag/supervision/pojo/vo/AuditOverview.java index a63ff97..b205161 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/AuditOverview.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/AuditOverview.java @@ -1,14 +1,18 @@ package com.biutag.supervision.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; +import java.math.BigDecimal; + /** * @author wxc * @date 2025/4/24 */ @Setter @Getter +@Schema(description = "审计督察中央数字数据VO") public class AuditOverview { // 查出问题数 @@ -16,4 +20,18 @@ public class AuditOverview { // 追责问责数 private Long accountableNumber; + + + @Schema(description = "审计单位/项目") + private BigDecimal projectNumber; + + + @Schema(description = "审计总金额") + private BigDecimal auditAmount; + + @Schema(description = "审减金额") + private BigDecimal auditSjAmount; + + + }