mitao
2025-04-07 18891c60ab1c06a4acc85d0ec54dee50d1b1a19f
finance-system/src/main/java/com/finance/system/service/impl/TbBasicDataServiceImpl.java
@@ -29,6 +29,7 @@
import com.finance.common.utils.EasyExcelUtil;
import com.finance.common.utils.SecurityUtils;
import com.finance.common.utils.StringUtils;
import com.finance.system.constants.QuarterConstant;
import com.finance.system.domain.TbBasicData;
import com.finance.system.domain.TbBasicDataConfig;
import com.finance.system.domain.TbBasicDataConfigDetail;
@@ -128,6 +129,8 @@
            if (tbBasicDataField != null) {
                field.setValue(
                        tbBasicDataField.getFieldValue());
            } else {
                field.setValue("");
            }
            if (field.getChildren() != null && !field.getChildren().isEmpty()) {
                setFieldValues(field.getChildren(), fieldMap);
@@ -155,7 +158,7 @@
        LocalDate fifteenDaysLimit = quarterStartLocalDate.plusDays(14);
        LocalDate now = LocalDate.now();
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        DateUtils.getQuarterDate(previousQuarter);
        vo.setQuarter(previousQuarter);
        vo.setStatus(ReportingStatusEnum.UNFILLED);
@@ -230,7 +233,7 @@
            return;
        }
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        // 查询需要填写的动态字段
        List<TbField> fieldList =
                tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list();
@@ -240,6 +243,8 @@
                .eq(TbBasicData::getDeptAreaCode, areaCode)
                .eq(TbBasicData::getQuarter, previousQuarter).oneOpt();
        TbBasicData tbBasicData = BeanUtils.copyBean(dto, TbBasicData.class);
        tbBasicData.setCurrentGdp(tbBasicData.getCurrentGdp().replace(",", ""));
        tbBasicData.setTransferPaymentScale(tbBasicData.getTransferPaymentScale().replace(",", ""));
        if (basicDataOpt.isPresent()) {
            tbBasicData.setId(basicDataOpt.get().getId());
            tbBasicData.setDeptAreaCode(areaCode);
@@ -455,6 +460,7 @@
                        field.getFieldValue(), tbOperlogList, result.toString());
            }
        }
        tbOperLogService.saveBatch(tbOperlogList);
    }
    private static void wrapOperLog(LoginUser loginUser, TbBasicData tbBasicData, String before,
@@ -492,7 +498,7 @@
        LoginUser loginUser = SecurityUtils.getLoginUser();
        String areaCode = loginUser.getUser().getAreaCode();
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        EasyExcel.read(
                        file.getInputStream(),
                        new BasicDataListener(
@@ -612,7 +618,7 @@
        Date quarterStart = DateUtil.beginOfQuarter(date);
        Date quarterEnd = DateUtil.endOfQuarter(date);
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        // previousQuarter = "2024年一季度";
        // 查询是否有当前季度的填报记录
        TbBasicData basicData =
                this.getOne(
@@ -783,7 +789,7 @@
        roots.add(remark);
        vo.setFields(roots);
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        // previousQuarter = "2024年一季度";
        // 查询上报的基础数据
        List<TbBasicData> basicDataList =
                this.lambdaQuery()
@@ -951,7 +957,7 @@
        if (quarterLocalDate.isAfter(dateLocalDate) || quarterLocalDate.equals(dateLocalDate)) {
            throw new ServiceException("请导入过去季度的数据。");
        }
        long start = System.currentTimeMillis();
        EasyExcel.read(
                        file.getInputStream(),
                        new HistoryDataListener(
@@ -965,6 +971,7 @@
                .sheet()
                .headRowNumber(0)
                .doRead();
        log.info("历史数据导入完成,耗时{}毫秒", System.currentTimeMillis() - start);
    }
    @Override
@@ -1141,6 +1148,8 @@
        // 查询需要填写的动态字段
        List<TbField> fieldList =
                tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list();
        Map<Long, TbField> allFieldMap = fieldList.stream()
                .collect(Collectors.toMap(TbField::getId, e -> e));
        List<TbBasicDataField> originFields = tbBasicDataFieldService.lambdaQuery()
                .eq(TbBasicDataField::getBasicDataId, basicData.getId()).list();
        Set<Long> fieldIdList = originFields.stream().map(TbBasicDataField::getFieldId)
@@ -1152,6 +1161,9 @@
                        BeanUtils.copyBean(dto, BasicDataDTO.class),
                        fieldMap));
        TbBasicData tbBasicData = BeanUtils.copyBean(dto, TbBasicData.class);
        tbBasicData.setCurrentGdp(tbBasicData.getCurrentGdp().replace(",", ""));
        tbBasicData.setTransferPaymentScale(tbBasicData.getTransferPaymentScale().replace(",", ""));
        tbBasicData.setDeptAreaCode(basicData.getDeptAreaCode());
        tbBasicData.setQuarter(basicData.getQuarter());
        // 保存基础数据动态字段数据
        List<TbBasicDataField> tbBasicDataFields =
@@ -1192,6 +1204,10 @@
                        if (StringUtils.isNotBlank(item.getFieldValue())) {
                            item.setFieldValue(item.getFieldValue().replace(",", ""));
                        }
                    } else {
                        TbField field = allFieldMap.get(item.getFieldId());
                        item.setFieldName(field.getFieldName());
                        item.setBasicDataId(basicData.getId());
                    }
                }).collect(Collectors.toList());