From a7a8a50f48c1bff5ddc52b3bad1782328f8043d8 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 12 四月 2024 18:50:20 +0800
Subject: [PATCH] 基础数据配置接口修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java |   29 ++++++++++++++++++++---------
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java
index 083b8fd..91d061c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java
@@ -32,7 +32,7 @@
 import com.ruoyi.system.domain.TbField;
 import com.ruoyi.system.domain.TbScore;
 import com.ruoyi.system.dto.BasicDataDTO;
-import com.ruoyi.system.handler.CustomerHandler;
+import com.ruoyi.system.handler.CustomCellWriteHandler;
 import com.ruoyi.system.listener.BasicDataListener;
 import com.ruoyi.system.listener.HistoryDataListener;
 import com.ruoyi.system.mapper.TbBasicDataMapper;
@@ -196,16 +196,19 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void saveBasicData(BasicDataDTO dto) {
+    public void saveBasicData(BasicDataDTO dto) throws Exception {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         String areaCode = loginUser.getUser().getAreaCode();
         // 数据校验
         if (Objects.isNull(dto) || CollUtils.isEmpty(dto.getFields())) {
             return;
         }
+        String nowQuarter = DateUtils.getNowQuarter();
         TbBasicData tbBasicData = BeanUtils.copyBean(dto, TbBasicData.class);
         tbBasicData.setDeptAreaCode(areaCode);
         tbBasicData.setStatus(ReportingStatusEnum.MISSING_DATA);
+        tbBasicData.setQuarter(nowQuarter);
+        tbBasicData.setReportingTime(DateUtils.getQuarterDate(nowQuarter));
         this.saveOrUpdate(tbBasicData);
         // 保存基础数据动态字段数据
         List<TbBasicDataField> tbBasicDataFields =
@@ -683,6 +686,17 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void importData(MultipartFile file, String quarter) throws IOException {
+        //校验季度
+        Date quarterDate = DateUtils.getQuarterDate(quarter);
+
+        Map<String, Date> quarterMap = DateUtils.getQuarterDate(new Date());
+        Date date = quarterMap.get("first");
+        LocalDate quarterLocalDate = DateUtils.dateToLocalDate(quarterDate);
+        LocalDate dateLocalDate = DateUtils.dateToLocalDate(date);
+        if (quarterLocalDate.isAfter(dateLocalDate) || quarterLocalDate.equals(dateLocalDate)) {
+            throw new ServiceException("请导入过去季度的数据。");
+        }
+
         EasyExcel.read(
                         file.getInputStream(),
                         new HistoryDataListener(
@@ -730,7 +744,7 @@
                 .list();
         //构建Excel写对象
         try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
-                .registerWriteHandler(new CustomerHandler())
+                .registerWriteHandler(new CustomCellWriteHandler())
                 .registerWriteHandler(EasyExcelUtil.getStyleStrategy()).build()) {
             WriteSheet writeSheet;
             //遍历季度基础数据
@@ -787,21 +801,18 @@
             TbBasicDataField transferPaymentScale = basicDataFieldMap.get(-1L);
             valueList.add(
                     Objects.nonNull(transferPaymentScale)
-                            ? FieldBuildUtil.formatNumberWithCommas(
-                            transferPaymentScale.getFieldValue())
+                            ? transferPaymentScale.getFieldValue()
                             : "");
             TbBasicDataField currentGdp = basicDataFieldMap.get(-2L);
             valueList.add(
                     Objects.nonNull(currentGdp)
-                            ? FieldBuildUtil.formatNumberWithCommas(
-                            currentGdp.getFieldValue())
+                            ? currentGdp.getFieldValue()
                             : "");
             for (TbField tbField : fieldList) {
                 TbBasicDataField tbBasicDataField = basicDataFieldMap.get(tbField.getId());
                 valueList.add(
                         Objects.nonNull(tbBasicDataField)
-                                ? FieldBuildUtil.formatNumberWithCommas(
-                                tbBasicDataField.getFieldValue())
+                                ? tbBasicDataField.getFieldValue()
                                 : "");
             }
             excellist.add(valueList);

--
Gitblit v1.7.1