From d69fbfff2ee6383b79b4cf80a0a31e50f9f73d86 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 04 十二月 2020 09:15:18 +0800
Subject: [PATCH] 手机支付加入 优惠金额

---
 service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java |  704 +++++++++------------------------------------------------
 1 files changed, 117 insertions(+), 587 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
index ac943f1..361ca6a 100644
--- a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
@@ -4,20 +4,16 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.component.BaseComponentSMO;
 import com.java110.core.context.IPageData;
-import com.java110.entity.assetImport.ImportFee;
-import com.java110.entity.assetImport.ImportFloor;
-import com.java110.entity.assetImport.ImportOwner;
-import com.java110.entity.assetImport.ImportParkingSpace;
-import com.java110.entity.assetImport.ImportRoom;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.entity.assetImport.ImportRoomFee;
 import com.java110.entity.component.ComponentValidateResult;
 import com.java110.front.smo.assetImport.IImportRoomFeeSMO;
-import com.java110.utils.constant.FeeTypeConstant;
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.Assert;
-import com.java110.utils.util.CommonUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.ImportExcelUtils;
 import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.slf4j.Logger;
@@ -30,7 +26,9 @@
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -45,6 +43,8 @@
 public class ImportRoomFeeSMOImpl extends BaseComponentSMO implements IImportRoomFeeSMO {
     private final static Logger logger = LoggerFactory.getLogger(ImportRoomFeeSMOImpl.class);
 
+    private static final int DEFAULT_ADD_FEE_COUNT = 500;
+
     @Autowired
     private RestTemplate restTemplate;
 
@@ -56,19 +56,14 @@
 
             //InputStream is = uploadFile.getInputStream();
 
-            Workbook workbook = null;  //宸ヤ綔绨�
-            //宸ヤ綔琛�
-            String[] headers = null;   //琛ㄥご淇℃伅
-            List<ImportFloor> floors = new ArrayList<ImportFloor>();
-            List<ImportOwner> owners = new ArrayList<ImportOwner>();
-            List<ImportFee> fees = new ArrayList<>();
-            List<ImportRoom> rooms = new ArrayList<ImportRoom>();
-            List<ImportParkingSpace> parkingSpaces = new ArrayList<ImportParkingSpace>();
-            workbook = ImportExcelUtils.createWorkbook(uploadFile);
+            Workbook workbook = ImportExcelUtils.createWorkbook(uploadFile);  //宸ヤ綔绨�
+
+            List<ImportRoomFee> rooms = new ArrayList<ImportRoomFee>();
+
             //鑾峰彇妤间俊鎭�
-            getFloors(workbook, floors);
+            getRooms(workbook, rooms);
             // 淇濆瓨鏁版嵁
-            return dealExcelData(pd, floors, result);
+            return dealExcelData(pd, rooms, result);
         } catch (Exception e) {
             logger.error("瀵煎叆澶辫触 ", e);
             return new ResponseEntity<String>("闈炲父鎶辨瓑锛屾偍濉啓鐨勬ā鏉挎暟鎹湁璇細" + e.getMessage(), HttpStatus.BAD_REQUEST);
@@ -78,15 +73,15 @@
     /**
      * 澶勭悊ExcelData鏁版嵁
      *
-     * @param floors        妤兼爧鍗曞厓淇℃伅
+     * @param roomFees 鎴垮眿璐圭敤
      */
     private ResponseEntity<String> dealExcelData(IPageData pd,
-                                                 List<ImportFloor> floors,
+                                                 List<ImportRoomFee> roomFees,
 
                                                  ComponentValidateResult result) {
         ResponseEntity<String> responseEntity = null;
         //淇濆瓨鍗曞厓淇℃伅 鍜� 妤兼爧淇℃伅
-        responseEntity = savedFloorAndUnitInfo(pd, floors, result);
+        responseEntity = savedRoomFees(pd, roomFees, result);
 
         if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
             return responseEntity;
@@ -95,619 +90,154 @@
         return responseEntity;
     }
 
-    private ResponseEntity<String> savedFeeInfo(IPageData pd, List<ImportFee> fees, ComponentValidateResult result) {
-        String apiUrl = "";
-        JSONObject paramIn = null;
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
-        ImportOwner owner = null;
-        for (ImportFee fee : fees) {
-            JSONObject savedFeeConfigInfo = getExistsFee(pd, result, fee);
-            if (savedFeeConfigInfo != null) {
-                continue;
-            }
+    private ResponseEntity<String> savedRoomFees(IPageData pd, List<ImportRoomFee> roomFees, ComponentValidateResult result) {
 
-            //paramIn = new JSONObject();
-            //淇濆瓨 璐圭敤椤�
-
-            apiUrl = ServiceConstant.SERVICE_API_URL + "/api/feeConfig.saveFeeConfig";
-
-            paramIn = JSONObject.parseObject(JSONObject.toJSONString(fee));
-            paramIn.put("communityId", result.getCommunityId());
-
-            responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
-            if (responseEntity.getStatusCode() != HttpStatus.OK) {
-                continue;
-            }
+        if (roomFees.size() < 1) {
+            throw new IllegalArgumentException("娌℃湁鏁版嵁闇�瑕佸鐞�");
         }
 
-        return responseEntity;
+        JSONObject paramOut = new JSONObject();
+        paramOut.put("successCount", 0);
+        paramOut.put("errorCount", 0);
+
+        JSONObject data = JSONObject.parseObject(pd.getReqData());
+        data.put("storeId", result.getStoreId());
+        data.put("importFeeId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+        data.put("userId", result.getUserId());
+        data.put("communityId", result.getCommunityId());
+        List<ImportRoomFee> tmpImportRoomFees = new ArrayList<>();
+        for (int roomIndex = 0; roomIndex < roomFees.size(); roomIndex++) {
+            tmpImportRoomFees.add(roomFees.get(roomIndex));
+            if (roomIndex % DEFAULT_ADD_FEE_COUNT == 0 && roomIndex != 0) {
+                createRoomFee(pd, tmpImportRoomFees, data, paramOut);
+
+                tmpImportRoomFees = new ArrayList<>();
+            }
+        }
+        if (tmpImportRoomFees != null && tmpImportRoomFees.size() > 0) {
+
+            createRoomFee(pd, tmpImportRoomFees, data, paramOut);
+        }
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "鎴愬姛锛�" + paramOut.getString("successCount") + ",澶辫触锛�" + paramOut.getString("errorCount"));
     }
 
-
-
     /**
-     * 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
-     * room.queryRooms
+     * 鍒涘缓璐圭敤
      *
      * @param pd
-     * @param result
-     * @param parkingSpace
-     * @return
+     * @param tmpImportRoomFee
      */
-    private JSONObject getExistsParkSpace(IPageData pd, ComponentValidateResult result, ImportParkingSpace parkingSpace) {
-        String apiUrl = "";
-        ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.queryParkingSpaces?page=1&row=1&communityId=" + result.getCommunityId()
-                + "&num=" + parkingSpace.getPsNum();
-        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+    private void createRoomFee(IPageData pd, List<ImportRoomFee> tmpImportRoomFee, JSONObject data, JSONObject paramOut) {
 
-        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-            return null;
+        int successCount = paramOut.getInteger("successCount");
+        int errorCount = paramOut.getInteger("errorCount");
+
+        JSONArray importRoomFees = JSONArray.parseArray(JSONObject.toJSONString(tmpImportRoomFee));
+        data.put("importRoomFees", importRoomFees);
+
+        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/feeApi/importRoomFees";
+
+        ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, data.toJSONString(), apiUrl, HttpMethod.POST);
+
+        if (HttpStatus.OK != responseEntity.getStatusCode()) {
+            errorCount += tmpImportRoomFee.size();
+            paramOut.put("errorCount", errorCount);
+            return;
         }
 
-        JSONObject savedParkingSpaceInfoResults = JSONObject.parseObject(responseEntity.getBody());
+        JSONObject resOut = JSONObject.parseObject(responseEntity.getBody());
 
-
-        if (!savedParkingSpaceInfoResults.containsKey("parkingSpaces") || savedParkingSpaceInfoResults.getJSONArray("parkingSpaces").size() != 1) {
-            return null;
+        if (ResultVo.CODE_OK != resOut.getInteger("code")) {
+            errorCount += tmpImportRoomFee.size();
+            paramOut.put("errorCount", errorCount);
+            return;
         }
 
+        JSONObject resData = resOut.getJSONObject("data");
 
-        JSONObject savedParkingSpaceInfo = savedParkingSpaceInfoResults.getJSONArray("parkingSpaces").getJSONObject(0);
+        successCount += resData.getInteger("successCount");
+        errorCount += resData.getInteger("errorCount");
 
-        return savedParkingSpaceInfo;
-    }
-
-    /**
-     * 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
-     * room.queryRooms
-     *
-     * @param pd
-     * @param result
-     * @param fee
-     * @return
-     */
-    private JSONObject getExistsFee(IPageData pd, ComponentValidateResult result, ImportFee fee) {
-        String apiUrl = "";
-        ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/feeConfig.listFeeConfigs?page=1&row=1&communityId=" + result.getCommunityId()
-                + "&feeName=" + fee.getFeeName();
-        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-            return null;
-        }
-
-        JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody());
-
-
-        if (!savedRoomInfoResults.containsKey("feeConfigs") || savedRoomInfoResults.getJSONArray("feeConfigs").size() != 1) {
-            return null;
-        }
-
-
-        JSONObject savedFeeConfigInfo = savedRoomInfoResults.getJSONArray("feeConfigs").getJSONObject(0);
-
-        return savedFeeConfigInfo;
+        paramOut.put("successCount", successCount);
+        paramOut.put("errorCount", errorCount);
     }
 
 
     /**
-     * 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
-     * room.queryRooms
-     *
-     * @param pd
-     * @param result
-     * @param room
-     * @return
-     */
-    private JSONObject getExistsRoom(IPageData pd, ComponentValidateResult result, ImportRoom room) {
-        String apiUrl = "";
-        ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.queryRooms?page=1&row=1&communityId=" + result.getCommunityId()
-                + "&floorId=" + room.getFloor().getFloorId() + "&unitId=" + room.getFloor().getUnitId() + "&roomNum=" + room.getRoomNum();
-        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-            return null;
-        }
-
-        JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody());
-
-
-        if (!savedRoomInfoResults.containsKey("rooms") || savedRoomInfoResults.getJSONArray("rooms").size() != 1) {
-            return null;
-        }
-
-
-        JSONObject savedRoomInfo = savedRoomInfoResults.getJSONArray("rooms").getJSONObject(0);
-
-        return savedRoomInfo;
-    }
-
-    /**
-     * 淇濆瓨涓氫富淇℃伅
-     *
-     * @param pd
-     * @param owners
-     * @param result
-     * @return
-     */
-    private ResponseEntity<String> savedOwnerInfo(IPageData pd, List<ImportOwner> owners, ComponentValidateResult result) {
-        String apiUrl = "";
-        JSONObject paramIn = null;
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
-
-        for (ImportOwner owner : owners) {
-            JSONObject savedOwnerInfo = getExistsOwner(pd, result, owner);
-
-            if (savedOwnerInfo != null) {
-                owner.setOwnerId(savedOwnerInfo.getString("ownerId"));
-                continue;
-            }
-            paramIn = new JSONObject();
-
-            apiUrl = ServiceConstant.SERVICE_API_URL + "/api/owner.saveOwner";
-
-            paramIn.put("communityId", result.getCommunityId());
-            paramIn.put("userId", result.getUserId());
-            paramIn.put("name", owner.getOwnerName());
-            paramIn.put("age", owner.getAge());
-            paramIn.put("link", owner.getTel());
-            paramIn.put("sex", owner.getSex());
-            paramIn.put("ownerTypeCd", "1001");
-            paramIn.put("idCard", owner.getIdCard());
-            responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
-
-            if (responseEntity.getStatusCode() == HttpStatus.OK) {
-                JSONObject body = JSONObject.parseObject(responseEntity.getBody());
-                if (body.containsKey("code") && body.getIntValue("code") != 0) {
-                    throw new IllegalArgumentException(body.getString("msg"));
-                }
-                savedOwnerInfo = getExistsOwner(pd, result, owner);
-                owner.setOwnerId(savedOwnerInfo.getString("ownerId"));
-            }
-        }
-
-        return responseEntity;
-    }
-
-    /**
-     * 淇濆瓨 妤兼爧鍜� 鍗曞厓淇℃伅
-     *
-     * @param pd
-     * @param floors
-     * @param result
-     * @return
-     */
-    private ResponseEntity<String> savedFloorAndUnitInfo(IPageData pd, List<ImportFloor> floors, ComponentValidateResult result) {
-        String apiUrl = "";
-        JSONObject paramIn = null;
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
-        for (ImportFloor importFloor : floors) {
-            paramIn = new JSONObject();
-            //鍏堜繚瀛� 妤兼爧淇℃伅
-            JSONObject savedFloorInfo = getExistsFloor(pd, result, importFloor);
-            // 濡傛灉涓嶅瓨鍦紝鎵嶆彃鍏�
-            if (savedFloorInfo == null) {
-                apiUrl = ServiceConstant.SERVICE_API_URL + "/api/floor.saveFloor";
-                paramIn.put("communityId", result.getCommunityId());
-                paramIn.put("floorNum", importFloor.getFloorNum());
-                paramIn.put("userId", result.getUserId());
-                paramIn.put("name", importFloor.getFloorNum() + "鍙锋ゼ");
-                responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
-                savedFloorInfo = getExistsFloor(pd, result, importFloor);
-            }
-            if (responseEntity != null && responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-                continue;
-            }
-
-
-            if (savedFloorInfo == null) {
-                continue;
-            }
-            importFloor.setFloorId(savedFloorInfo.getString("floorId"));
-            paramIn.clear();
-            //鍒ゆ柇鍗曞厓淇℃伅鏄惁宸茬粡瀛樺湪锛屽鏋滃瓨鍦ㄥ垯涓嶄繚瀛樻暟鎹畊nit.queryUnits
-            JSONObject savedUnitInfo = getExistsUnit(pd, result, importFloor);
-            if (savedUnitInfo != null) {
-                importFloor.setUnitId(savedUnitInfo.getString("unitId"));
-                continue;
-            }
-
-            apiUrl = ServiceConstant.SERVICE_API_URL + "/api/unit.saveUnit";
-
-            paramIn.put("communityId", result.getCommunityId());
-            paramIn.put("floorId", savedFloorInfo.getString("floorId"));
-            paramIn.put("unitNum", importFloor.getUnitNum());
-            paramIn.put("layerCount", importFloor.getLayerCount());
-            paramIn.put("lift", importFloor.getLift());
-            responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
-
-            //灏唘nitId 鍒峰叆ImportFloor瀵硅薄
-            savedUnitInfo = getExistsUnit(pd, result, importFloor);
-            importFloor.setUnitId(savedUnitInfo.getString("unitId"));
-
-        }
-        return responseEntity;
-    }
-
-    private JSONObject getExistsUnit(IPageData pd, ComponentValidateResult result, ImportFloor importFloor) {
-        String apiUrl = "";
-        ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/unit.queryUnits?communityId=" + result.getCommunityId()
-                + "&floorId=" + importFloor.getFloorId() + "&unitNum=" + importFloor.getUnitNum();
-        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-            return null;
-        }
-
-        JSONArray savedFloorInfoResults = JSONArray.parseArray(responseEntity.getBody());
-
-        if (savedFloorInfoResults == null || savedFloorInfoResults.size() != 1) {
-            return null;
-        }
-
-        JSONObject savedUnitInfo = savedFloorInfoResults.getJSONObject(0);
-
-        return savedUnitInfo;
-    }
-
-    private JSONObject getExistsFloor(IPageData pd, ComponentValidateResult result, ImportFloor importFloor) {
-        String apiUrl = "";
-        ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/floor.queryFloors?page=1&row=1&communityId=" + result.getCommunityId() + "&floorNum=" + importFloor.getFloorNum();
-        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-            return null;
-        }
-
-        JSONObject savedFloorInfoResult = JSONObject.parseObject(responseEntity.getBody());
-
-        if (!savedFloorInfoResult.containsKey("apiFloorDataVoList") || savedFloorInfoResult.getJSONArray("apiFloorDataVoList").size() != 1) {
-            return null;
-        }
-
-        JSONObject savedFloorInfo = savedFloorInfoResult.getJSONArray("apiFloorDataVoList").getJSONObject(0);
-
-        return savedFloorInfo;
-    }
-
-    /**
-     * 鏌ヨ瀛樺湪鐨勪笟涓�
-     *
-     * @param pd
-     * @param result
-     * @param importOwner
-     * @return
-     */
-    private JSONObject getExistsOwner(IPageData pd, ComponentValidateResult result, ImportOwner importOwner) {
-        String apiUrl = "";
-        ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/owner.queryOwners?page=1&row=1&communityId=" + result.getCommunityId()
-                + "&ownerTypeCd=1001&name=" + importOwner.getOwnerName() + "&link=" + importOwner.getTel();
-        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-            return null;
-        }
-
-        JSONObject savedOwnerInfoResult = JSONObject.parseObject(responseEntity.getBody());
-
-        if (!savedOwnerInfoResult.containsKey("owners") || savedOwnerInfoResult.getJSONArray("owners").size() != 1) {
-            return null;
-        }
-
-        JSONObject savedOwnerInfo = savedOwnerInfoResult.getJSONArray("owners").getJSONObject(0);
-
-        return savedOwnerInfo;
-    }
-
-    /**
-     * 鏌ヨ瀛樺湪鐨勫仠杞﹀満
-     *
-     * @param pd
-     * @param result
-     * @param parkingSpace
-     * @return
-     */
-    private JSONObject getExistsParkingArea(IPageData pd, ComponentValidateResult result, ImportParkingSpace parkingSpace) {
-        String apiUrl = "";
-        ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingArea.listParkingAreas?page=1&row=1&communityId=" + result.getCommunityId()
-                + "&num=" + parkingSpace.getPaNum();
-        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
-            return null;
-        }
-
-        JSONObject savedParkingAreaInfoResult = JSONObject.parseObject(responseEntity.getBody());
-
-        if (!savedParkingAreaInfoResult.containsKey("parkingAreas") || savedParkingAreaInfoResult.getJSONArray("parkingAreas").size() != 1) {
-            return null;
-        }
-
-        JSONObject savedParkingAreaInfo = savedParkingAreaInfoResult.getJSONArray("parkingAreas").getJSONObject(0);
-
-        return savedParkingAreaInfo;
-    }
-
-    /**
-     * 鏁版嵁鏍¢獙澶勭悊
-     *
-     * @param floors
-     * @param owners
-     * @param rooms
-     * @param parkingSpaces
-     */
-    private void importExcelDataValidate(List<ImportFloor> floors, List<ImportOwner> owners, List<ImportRoom> rooms, List<ImportFee> fees, List<ImportParkingSpace> parkingSpaces) {
-
-    }
-
-    /**
-     * 鑾峰彇杞︿綅淇℃伅
+     * 鑾峰彇 鎴垮眿淇℃伅
      *
      * @param workbook
-     * @param parkingSpaces
+     * @param rooms
      */
-    private void getParkingSpaces(Workbook workbook, List<ImportParkingSpace> parkingSpaces, List<ImportOwner> owners) {
+    private void getRooms(Workbook workbook, List<ImportRoomFee> rooms) {
         Sheet sheet = null;
-        sheet = ImportExcelUtils.getSheet(workbook, "杞︿綅淇℃伅");
+        sheet = ImportExcelUtils.getSheet(workbook, "鎴垮眿璐圭敤淇℃伅");
         List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
-        ImportParkingSpace importParkingSpace = null;
+        ImportRoomFee importRoomFee = null;
         for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
             Object[] os = oList.get(osIndex);
-            if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
+            if (osIndex == 0 || osIndex == 1) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
                 continue;
             }
             if (StringUtil.isNullOrNone(os[0])) {
                 continue;
             }
-            Assert.hasLength(os[0].toString(), "杞︿綅淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屽仠杞﹀満缂栧彿涓虹┖");
-            Assert.hasLength(os[1].toString(), "杞︿綅淇℃伅閫夐」涓�" + (osIndex + 1) + "琛岃溅浣嶇紪鐮佷负绌�");
-            Assert.hasLength(os[2].toString(), "杞︿綅淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屽仠杞﹀満绫诲瀷涓虹┖");
-            Assert.hasLength(os[3].toString(), "杞︿綅淇℃伅閫夐」涓�" + (osIndex + 1) + "琛岄潰绉负绌猴紝娌℃湁璇峰~鍐欒瀹氬�� 濡�10");
-            importParkingSpace = new ImportParkingSpace();
-            importParkingSpace.setPaNum(os[0].toString());
-            importParkingSpace.setPsNum(os[1].toString());
-            importParkingSpace.setTypeCd(os[2].toString());
-            importParkingSpace.setArea(Double.parseDouble(os[3].toString()));
+
+            //璐圭敤鍚嶇О娌℃湁濉啓锛岄粯璁よ烦杩�
             if (StringUtil.isNullOrNone(os[4])) {
-                parkingSpaces.add(importParkingSpace);
                 continue;
             }
-            ImportOwner importOwner = getImportOwner(owners, os[4].toString());
-            importParkingSpace.setImportOwner(importOwner);
-            if (importOwner != null) {
-                importParkingSpace.setCarNum(os[5].toString());
-                importParkingSpace.setCarBrand(os[6].toString());
-                importParkingSpace.setCarType(os[7].toString());
-                importParkingSpace.setCarColor(os[8].toString());
-                importParkingSpace.setSellOrHire(os[9].toString());
-            }
+            Assert.hasValue(os[1], (osIndex + 1) + "琛屽崟鍏冪紪鍙蜂笉鑳戒负绌�");
+            Assert.hasValue(os[2], (osIndex + 1) + "琛屾埧灞嬬紪鍙蜂笉鑳戒负绌�");
+            Assert.hasValue(os[3], (osIndex + 1) + "琛岃垂鐢ㄥ悕绉颁笉鑳戒负绌�");
+            Assert.hasValue(os[4], (osIndex + 1) + "琛屽紑濮嬫椂闂翠笉鑳戒负绌�");
+            Assert.hasValue(os[5], (osIndex + 1) + "琛岀粨鏉熸椂闂翠笉鑳戒负绌�");
+            Assert.hasValue(os[6], (osIndex + 1) + "琛岃垂鐢ㄤ笉鑳戒负绌�");
 
-            parkingSpaces.add(importParkingSpace);
+//
+
+            String startTime = excelDoubleToDate(os[4].toString());
+            String endTime = excelDoubleToDate(os[5].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 ImportRoomFee();
+            importRoomFee.setFloorNum(os[0].toString());
+            importRoomFee.setUnitNum(os[1].toString());
+            importRoomFee.setRoomNum(os[2].toString());
+            importRoomFee.setFeeName(os[3].toString());
+            importRoomFee.setStartTime(startTime);
+            importRoomFee.setEndTime(endTime);
+            importRoomFee.setAmount(os[6].toString());
+            rooms.add(importRoomFee);
         }
     }
 
-    /**
-     * 鑾峰彇 鎴垮眿淇℃伅
-     *
-     * @param workbook
-     * @param rooms
-     */
-    private void getRooms(Workbook workbook, List<ImportRoom> rooms,
-                          List<ImportFloor> floors, List<ImportOwner> owners) {
-        Sheet sheet = null;
-        sheet = ImportExcelUtils.getSheet(workbook, "鎴垮眿淇℃伅");
-        List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
-        ImportRoom importRoom = null;
-        for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
-            Object[] os = oList.get(osIndex);
-            if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
-                continue;
-            }
-            if (StringUtil.isNullOrNone(os[0])) {
-                continue;
-            }
-            Assert.hasLength(os[1].toString(), "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屾ゼ鏍嬬紪鍙蜂负绌�");
-            Assert.hasLength(os[2].toString(), "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屽崟鍏冪紪鍙蜂负绌�");
-            Assert.hasLength(os[3].toString(), "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屾埧灞嬫ゼ灞備负绌�");
-            Assert.hasLength(os[4].toString(), "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屾埧灞嬫埛鍨嬩负绌�");
-            Assert.hasLength(os[5].toString(), "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屽缓绛戦潰绉负绌�");
-            if (!StringUtil.isNullOrNone(os[6])) {
-                Assert.hasLength(os[7].toString(), "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屾埧灞嬭垂鐢ㄤ负绌�");
-                Assert.hasLength(os[8].toString(), "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛岃垂鐢ㄥ埌鏈熸椂闂翠负绌�");
-            }
-            importRoom = new ImportRoom();
-            importRoom.setRoomNum(os[0].toString());
-            importRoom.setFloor(getImportFloor(floors, os[1].toString(), os[2].toString()));
-            importRoom.setLayer(Integer.parseInt(os[3].toString()));
-            importRoom.setSection(os[4].toString());
-            importRoom.setBuiltUpArea(Double.parseDouble(os[5].toString()));
 
-            if (!StringUtil.isNullOrNone(os[6])) {
-                importRoom.setRoomFeeId(os[7].toString());
-                importRoom.setFeeEndDate(os[8].toString());
-            }
-            if (StringUtil.isNullOrNone(os[6])) {
-                rooms.add(importRoom);
-                continue;
-            }
-            importRoom.setImportOwner(getImportOwner(owners, os[6].toString()));
-            rooms.add(importRoom);
-        }
-    }
-
-    /**
-     * 鑾峰彇 鎴垮眿淇℃伅
-     *
-     * @param workbook
-     * @param importFees
-     */
-    private void getFee(Workbook workbook, List<ImportFee> importFees) {
-        Sheet sheet = null;
-        sheet = ImportExcelUtils.getSheet(workbook, "璐圭敤璁剧疆");
-        List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
-        ImportFee importFee = null;
-        for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
-            Object[] os = oList.get(osIndex);
-            if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
-                continue;
-            }
-            if (StringUtil.isNullOrNone(os[0])) {
-                continue;
-            }
-            Assert.hasLength(os[0].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃垂鐢ㄧ紪鍙蜂负绌�");
-            Assert.hasLength(os[1].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃垂鐢ㄧ被鍨嬩负绌�");
-            Assert.hasLength(os[2].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛屾敹璐归」鐩负绌�");
-            Assert.hasLength(os[3].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃垂鐢ㄦ爣璇嗕负绌�");
-            Assert.hasLength(os[4].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃垂鐢ㄧ被鍨嬩负绌�");
-            Assert.hasLength(os[5].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岀即璐瑰懆鏈熶负绌�");
-            Assert.isInteger(os[5].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岀即璐瑰懆鏈熶笉鏄鏁存暟");
-            Assert.hasLength(os[6].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛屽嚭璐︾被鍨嬩负绌�");
-            Assert.isDate(os[7].toString(), DateUtil.DATE_FORMATE_STRING_B, "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃璐硅捣濮嬫椂闂翠笉鏄湁鏁堟椂闂存牸寮� 璇疯緭鍏ョ被浼�2020-06-01");
-            Assert.isDate(os[8].toString(), DateUtil.DATE_FORMATE_STRING_B, "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃璐圭粓姝㈡椂闂翠笉鏄湁鏁堟椂闂存牸寮� 璇疯緭鍏ョ被浼�2037-01-01");
-            Assert.hasLength(os[9].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃绠楀叕寮忎负绌�");
-            if (!"1001".equals(os[9].toString()) && !"2002".equals(os[9].toString())) {
-                throw new IllegalArgumentException("璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃绠楀叕寮忛敊璇� 璇峰~鍐�1001 鎴栬��2002");
-            }
-            Assert.hasLength(os[10].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃璐瑰崟浠蜂负绌�");
-            Assert.hasLength(os[11].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛屽浐瀹氳垂鐢ㄤ负绌�");
-            importFee = new ImportFee();
-            importFee.setId(os[0].toString());
-            importFee.setFeeTypeCd("鐗╀笟璐�".equals(os[1]) ? "888800010001" : "888800010002");
-            importFee.setFeeName(os[2].toString());
-            importFee.setFeeFlag("鍛ㄦ湡鎬ц垂鐢�".equals(os[3]) ? "1003006" : "2006012");
-            importFee.setPaymentCd("棰勪粯璐�".equals(os[4]) ? "1200" : "2100");
-            String billType = "";
-            if ("姣忓勾1鏈�1鏃�".equals(os[6])) {
-                billType = "001";
-            } else if ("姣忔湀1鏃�".equals(os[6])) {
-                billType = "002";
-            } else if ("姣忔棩".equals(os[6])) {
-                billType = "003";
-            } else {
-                billType = "004";
-            }
-            importFee.setBillType(billType);
-            importFee.setPaymentCycle(os[5].toString());
-            importFee.setStartTime(os[7].toString());
-            importFee.setEndTime(os[8].toString());
-            importFee.setComputingFormula(os[9].toString());
-            importFee.setSquarePrice(os[10].toString());
-            importFee.setAdditionalAmount(os[11].toString());
-            importFees.add(importFee);
-        }
-    }
-
-    /**
-     * 浠庡鍏ョ殑涓氫富淇℃伅涓幏鍙栦笟涓伙紝濡傛灉娌℃湁杩斿洖 null
-     *
-     * @param owners
-     * @param ownerNum
-     * @return
-     */
-    private ImportOwner getImportOwner(List<ImportOwner> owners, String ownerNum) {
-        for (ImportOwner importOwner : owners) {
-            if (ownerNum.equals(importOwner.getOwnerNum())) {
-                return importOwner;
+    //瑙f瀽Excel鏃ユ湡鏍煎紡
+    public static String excelDoubleToDate(String strDate) {
+        if (strDate.length() == 5) {
+            try {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date tDate = DoubleToDate(Double.parseDouble(strDate));
+                return sdf.format(tDate);
+            } catch (Exception e) {
+                e.printStackTrace();
+                return strDate;
             }
         }
-
-        return null;
-
+        return strDate;
     }
 
-    /**
-     * get 瀵煎叆妤兼爧淇℃伅
-     *
-     * @param floors
-     */
-    private ImportFloor getImportFloor(List<ImportFloor> floors, String floorNum, String unitNum) {
-        for (ImportFloor importFloor : floors) {
-            if (floorNum.equals(importFloor.getFloorNum())
-                    && unitNum.equals(importFloor.getUnitNum())) {
-                return importFloor;
-            }
-        }
+    //瑙f瀽Excel鏃ユ湡鏍煎紡
+    public static Date DoubleToDate(Double dVal) {
+        Date tDate = new Date();
+        long localOffset = tDate.getTimezoneOffset() * 60000; //绯荤粺鏃跺尯鍋忕Щ 1900/1/1 鍒� 1970/1/1 鐨� 25569 澶�
+        tDate.setTime((long) ((dVal - 25569) * 24 * 3600 * 1000 + localOffset));
 
-        throw new IllegalArgumentException("鍦ㄦゼ鏍嬪崟鍏僺heet涓湭鎵惧埌妤兼爧缂栧彿[" + floorNum + "],鍗曞厓缂栧彿[" + unitNum + "]鏁版嵁");
+        return tDate;
     }
-
-    /**
-     * 鑾峰彇涓氫富淇℃伅
-     *
-     * @param workbook
-     * @param owners
-     */
-    private void getOwners(Workbook workbook, List<ImportOwner> owners) {
-        Sheet sheet = null;
-        sheet = ImportExcelUtils.getSheet(workbook, "涓氫富淇℃伅");
-        List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
-        ImportOwner importOwner = null;
-        for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
-            Object[] os = oList.get(osIndex);
-            if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
-                continue;
-            }
-            if (StringUtil.isNullOrNone(os[0])) {
-                continue;
-            }
-            Assert.hasLength(os[0].toString(), "涓氫富淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屼笟涓荤紪鍙蜂负绌�");
-            Assert.hasLength(os[1].toString(), "涓氫富淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屼笟涓诲悕绉颁负绌�");
-            Assert.hasLength(os[2].toString(), "涓氫富淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屼笟涓绘�у埆涓虹┖");
-            String tel = StringUtil.isNullOrNone(os[4]) ? "19999999999" : os[4].toString();
-            String idCard = StringUtil.isNullOrNone(os[5]) ? "10000000000000000001" : os[5].toString();
-            String age = StringUtil.isNullOrNone(os[3]) ? CommonUtil.getAgeByCertId(idCard) : os[3].toString();
-            importOwner = new ImportOwner();
-            importOwner.setOwnerNum(os[0].toString());
-            importOwner.setOwnerName(os[1].toString());
-            importOwner.setSex("鐢�".equals(os[2].toString()) ? "0" : "1");
-            importOwner.setAge(Integer.parseInt(age));
-            importOwner.setTel(tel);
-            importOwner.setIdCard(idCard);
-            owners.add(importOwner);
-        }
-    }
-
-    /**
-     * 鑾峰彇灏忓尯
-     *
-     * @param workbook
-     * @param floors
-     */
-    private void getFloors(Workbook workbook, List<ImportFloor> floors) {
-        Sheet sheet = null;
-        sheet = ImportExcelUtils.getSheet(workbook, "妤兼爧鍗曞厓");
-        List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
-        ImportFloor importFloor = null;
-        for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
-            Object[] os = oList.get(osIndex);
-            if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
-                continue;
-            }
-
-            if (StringUtil.isNullOrNone(os[0])) {
-                continue;
-            }
-
-            Assert.hasLength(os[0].toString(), "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屾ゼ鏍嬪彿涓虹┖");
-            Assert.hasLength(os[1].toString(), "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屽崟鍏冪紪鍙蜂负绌�");
-            Assert.hasLength(os[2].toString(), "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屾�绘ゼ灞備负绌�");
-            Assert.hasLength(os[3].toString(), "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屾槸鍚︽湁鐢垫涓虹┖");
-            importFloor = new ImportFloor();
-            importFloor.setFloorNum(os[0].toString());
-            importFloor.setUnitNum(os[1].toString());
-            importFloor.setLayerCount(os[2].toString());
-            importFloor.setLift("鏈�".equals(os[3].toString()) ? "1010" : "2020");
-            floors.add(importFloor);
-        }
-    }
-
 
     public RestTemplate getRestTemplate() {
         return restTemplate;

--
Gitblit v1.8.0