12017a00ed21f8d461ab444d0bff12f61f476909..db75b45e9a7ce347162b8d3a36e4a7f46cfe199e
2025-02-10 fuliqi
核算导出单独对录像扣分的数量做处理
db75b4 对比 | 目录
2025-02-10 fuliqi
首页录像统计加上间歇
27e913 对比 | 目录
2025-02-07 fuliqi
合同积分抽查时间备注
c1681a 对比 | 目录
5个文件已修改
25 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/ContractTask.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import com.alibaba.excel.enums.BooleanEnum;
@@ -54,4 +55,9 @@
    @ExcelProperty({"自贡市公共视频监控系统续维合同", "金额"})
    private BigDecimal money;
    /**
     * 扣除分数
     */
    @ExcelIgnore
    private BigDecimal calcFraction;
}
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
@@ -238,6 +238,11 @@
                .add(BigDecimal.valueOf(100)) // 加上100
                .setScale(1, RoundingMode.HALF_UP));
        list.add(calculateExport);
        list.forEach(item->{
            if("确保录像完整不定期对所有点位录像完整性抽查".equals(item.getRuleName())){
                item.setNum(item.getScore().abs().divide(item.getCalcFraction(),0,RoundingMode.HALF_UP).intValue());
            }
        });
        // 获取规则
        List<CalculateRule> ruleList = calculateRuleService.list(new LambdaQueryWrapper<CalculateRule>().eq(CalculateRule::getContractId, contractId));
        // 输出文件
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -965,7 +965,7 @@
                        ))
                        .append("loseCount", new Document("$sum",
                                new Document("$cond", Arrays.asList(
                                        new Document("$eq", Arrays.asList("$recordStatus", -1)),
                                        new Document("$in", Arrays.asList("$recordStatus", Arrays.asList(-1, 0))),
                                        1,
                                        0
                                ))
ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -32,6 +32,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
@@ -367,6 +368,7 @@
        log.info("开始抽查图片完整状态");
        //这个月随机抽取一天
        Date date = getRandomDate();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        //准备批量打分的集合
        List<ContractScore> contractScoreList = new ArrayList<>();
        //查询报备列表
@@ -415,7 +417,7 @@
                if (deduct) {
                    //需要扣除的分数,此规则只有一条不需要判断范围
                    Double deductScore = ruleVO.getCalcFraction();
                    ContractScore contractScore = getContractScore(ruleVO, deductScore, "1", Remark + "国标码为:" + serialNumber + "时间:" + new Date() + "存在大图不可用数据");
                    ContractScore contractScore = getContractScore(ruleVO, deductScore, "1", Remark + "国标码为:" + serialNumber + "时间:" + format.format(date) + "存在大图不可用数据");
                    contractScoreList.add(contractScore);
                }
            });
@@ -433,6 +435,11 @@
        log.info("开始抽查录像完整状态");
        //这个月随机抽取一天
        Date date = getRandomDate();
//        Calendar instance = Calendar.getInstance();
//        // 设定年、月、日(注意月份从0开始,即0代表1月,11代表12月)
//        instance.set(2024, 10, 1);
//        Date date = instance.getTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        //准备批量打分的集合
        List<ContractScore> contractScoreList = new ArrayList<>();
        //查询报备列表
@@ -489,7 +496,7 @@
                    if (calculateRuleVO.getNum() != null && calculateRuleVO.getNum() > 0) {
                        //需要扣除的分数,此规则只有一条不需要判断范围
                        double deductScore = calculateRuleVO.getCalcFraction() * calculateRuleVO.getNum();
                        ContractScore contractScore = getContractScore(calculateRuleVO, deductScore, calculateRuleVO.getNum() + "", Remark + calculateRuleVO.getNum() + "路设备违反规则");
                        ContractScore contractScore = getContractScore(calculateRuleVO, deductScore, calculateRuleVO.getNum() + "", Remark +"抽查时间"+format.format(date)+"存在"+ calculateRuleVO.getNum() + "路设备违反规则");
                        contractScoreList.add(contractScore);
                    }
                }
ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
@@ -151,6 +151,7 @@
        a.rule_name as ruleName,
        a.rule_condition as detailName,
        COUNT(b.id) AS num,
        a.calc_fraction as calcFraction,
        IFNULL(-SUM(b.score), 0) AS score
        FROM t_calculate_rule a
        LEFT JOIN t_calculate_record tcr ON a.contract_id = tcr.contract_id