mitao
2025-04-07 18891c60ab1c06a4acc85d0ec54dee50d1b1a19f
finance-system/src/main/java/com/finance/system/listener/BasicDataListener.java
@@ -33,6 +33,7 @@
import com.google.common.collect.Lists;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -187,15 +188,19 @@
                .eq(TbBasicData::getDeptAreaCode, areaCode).oneOpt();
        tbBasicData = tbBasicDataOpt.orElseGet(TbBasicData::new);
        tbBasicData.setQuarter(quarter);
        tbBasicData.setTransferPaymentScale(dataMap.get(2));
        tbBasicData.setCurrentGdp(dataMap.get(3));
        tbBasicData.setTransferPaymentScale(dataMap.get(2).replace(",", ""));
        tbBasicData.setCurrentGdp(dataMap.get(3).replace(",", ""));
        tbBasicData.setDeptAreaCode(areaCode);
        tbBasicData.setRemark(dataMap.get(remarkIndex));
        tbBasicData.setReportingTime(DateUtils.getQuarterDate(quarter));
        tbBasicData.setStatus(ReportingStatusEnum.MISSING_DATA);
        long count = dataMap.entrySet().stream()
                .filter(entry -> StringUtils.isBlank(entry.getValue())).count();
        tbBasicData.setStatus(
                count > 0 ? ReportingStatusEnum.MISSING_DATA : ReportingStatusEnum.FILLED);
        if (count > 0) {
            tbBasicData.setStatus(ReportingStatusEnum.FILLED);
            tbBasicData.setFinishedTime(new Date());
        }
        tbBasicDataService.saveOrUpdate(tbBasicData);
        tbBasicDataFieldService.remove(Wrappers.<TbBasicDataField>lambdaQuery()
                .eq(TbBasicDataField::getBasicDataId, tbBasicData.getId()));
@@ -231,7 +236,7 @@
                tbBasicDataField.setBasicDataId(tbBasicData.getId());
                tbBasicDataField.setFieldId(field.getId());
                tbBasicDataField.setFieldName(field.getFieldName());
                tbBasicDataField.setFieldValue(value);
                tbBasicDataField.setFieldValue(value.replace(",", ""));
                fields.add(tbBasicDataField);
            }
        }
@@ -279,7 +284,7 @@
        tbBasicDataFieldService.saveBatch(fields);
        log.info(String.format("%s导入基础数据成功!", dataMap.get(0)));
        // asyncService.calculateScore(tbBasicData, fields);
        asyncService.asyncTask();
        asyncService.calculateScoreWithFixedRules(tbBasicData, fields, fieldList);
    }