From 7c6e90dcb144f4c2dee4053ef6aa9531c23e5254 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 03 九月 2021 03:43:29 +0800
Subject: [PATCH] 优化代码

---
 service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java |   74 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 insertions(+), 2 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java
old mode 100644
new mode 100755
index 8e499ad..4e2ad8e
--- a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java
@@ -70,6 +70,27 @@
         }
     }
 
+    @Override
+    public ResponseEntity<String> importExcelData2(IPageData pd, MultipartFile uploadFile) {
+        try {
+            ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
+
+            //InputStream is = uploadFile.getInputStream();
+
+            Workbook workbook = ImportExcelUtils.createWorkbook(uploadFile);  //宸ヤ綔绨�
+
+            List<ImportExportMeterWaterDto> rooms = new ArrayList<ImportExportMeterWaterDto>();
+
+            //鑾峰彇妤间俊鎭�
+            getRooms2(workbook, rooms);
+            // 淇濆瓨鏁版嵁
+            return dealExcelData(pd, rooms, result);
+        } catch (Exception e) {
+            logger.error("瀵煎叆澶辫触 ", e);
+            return new ResponseEntity<String>("闈炲父鎶辨瓑锛屾偍濉啓鐨勬ā鏉挎暟鎹湁璇細" + e.getMessage(), HttpStatus.BAD_REQUEST);
+        }
+    }
+
     /**
      * 澶勭悊ExcelData鏁版嵁
      */
@@ -179,8 +200,8 @@
 
             String startTime = excelDoubleToDate(os[4].toString());
             String endTime = excelDoubleToDate(os[6].toString());
-            Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_A, (osIndex + 1) + "琛屽紑濮嬫椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD hh:mm:ss 鏂囨湰鏍煎紡");
-            Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_A, (osIndex + 1) + "琛岀粨鏉熸椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD hh:mm:ss 鏂囨湰鏍煎紡");
+            Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛屽紑濮嬫椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
+            Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛岀粨鏉熸椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
 
 
             importRoomFee = new ImportExportMeterWaterDto();
@@ -191,6 +212,55 @@
             importRoomFee.setPreReadingTime(startTime);
             importRoomFee.setCurDegrees(os[5].toString());
             importRoomFee.setCurReadingTime(endTime);
+            importRoomFee.setPrice(-1);
+            rooms.add(importRoomFee);
+        }
+    }
+
+    /**
+     * 鑾峰彇 鎴垮眿淇℃伅
+     *
+     * @param workbook
+     * @param rooms
+     */
+    private void getRooms2(Workbook workbook, List<ImportExportMeterWaterDto> rooms) {
+        Sheet sheet = null;
+        sheet = ImportExcelUtils.getSheet(workbook, "鎴垮眿璐圭敤淇℃伅");
+        List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
+        ImportExportMeterWaterDto importRoomFee = null;
+        for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
+            Object[] os = oList.get(osIndex);
+            if (osIndex == 0 || osIndex == 1) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
+                continue;
+            }
+            if (StringUtil.isNullOrNone(os[0])) {
+                continue;
+            }
+            Assert.hasValue(os[1], (osIndex + 1) + "鍗曞厓缂栧彿涓嶈兘涓虹┖");
+            Assert.hasValue(os[2], (osIndex + 1) + "鎴垮眿缂栧彿涓嶈兘涓虹┖");
+            Assert.hasValue(os[4], (osIndex + 1) + "鍗曚环涓嶈兘涓虹┖");
+            Assert.hasValue(os[5], (osIndex + 1) + "涓婃湡搴︽暟涓嶈兘涓虹┖");
+            Assert.hasValue(os[6], (osIndex + 1) + "涓婃湡搴︽暟鏃堕棿涓嶈兘涓虹┖");
+            Assert.hasValue(os[7], (osIndex + 1) + "鏈湡搴︽暟涓嶈兘涓虹┖");
+            Assert.hasValue(os[8], (osIndex + 1) + "鏈湡搴︽暟鏃堕棿涓嶈兘涓虹┖");
+
+//
+
+            String startTime = excelDoubleToDate(os[6].toString());
+            String endTime = excelDoubleToDate(os[8].toString());
+            Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛屽紑濮嬫椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
+            Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛岀粨鏉熸椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
+
+
+            importRoomFee = new ImportExportMeterWaterDto();
+            importRoomFee.setFloorNum(os[0].toString());
+            importRoomFee.setUnitNum(os[1].toString());
+            importRoomFee.setRoomNum(os[2].toString());
+            importRoomFee.setPrice(Double.parseDouble(os[4].toString()));
+            importRoomFee.setPreDegrees(os[5].toString());
+            importRoomFee.setPreReadingTime(startTime);
+            importRoomFee.setCurDegrees(os[7].toString());
+            importRoomFee.setCurReadingTime(endTime);
             rooms.add(importRoomFee);
         }
     }

--
Gitblit v1.8.0