From 5d9e07e57c6628e32167f48e42cf9b9116915b91 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 31 十月 2019 13:19:28 +0800
Subject: [PATCH] 优化费用类型查询功能
---
WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java | 665 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 656 insertions(+), 9 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java
index 27be28d..11872b8 100644
--- a/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -1,19 +1,32 @@
package com.java110.web.smo.assetImport.impl;
-import com.java110.common.util.ImportExcelUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.constant.FeeTypeConstant;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.util.ImportExcelUtils;
+import com.java110.utils.util.StringUtil;
import com.java110.core.context.IPageData;
-import com.java110.web.core.BaseComponentSMO;
+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.entity.component.ComponentValidateResult;
+import com.java110.core.component.BaseComponentSMO;
import com.java110.web.smo.assetImport.IAssetImportSMO;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
-import java.io.InputStream;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -28,20 +41,654 @@
public class AssetImportSMOImpl extends BaseComponentSMO implements IAssetImportSMO {
private final static Logger logger = LoggerFactory.getLogger(AssetImportSMOImpl.class);
+ @Autowired
+ private RestTemplate restTemplate;
+
@Override
- public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception{
- InputStream is = uploadFile.getInputStream();
+ public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
+
+ ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
+
+ //InputStream is = uploadFile.getInputStream();
Workbook workbook = null; //宸ヤ綔绨�
- Sheet sheet = null; //宸ヤ綔琛�
+ //宸ヤ綔琛�
String[] headers = null; //琛ㄥご淇℃伅
-
+ List<ImportFloor> floors = new ArrayList<ImportFloor>();
+ List<ImportOwner> owners = new ArrayList<ImportOwner>();
+ List<ImportRoom> rooms = new ArrayList<ImportRoom>();
+ List<ImportParkingSpace> parkingSpaces = new ArrayList<ImportParkingSpace>();
workbook = ImportExcelUtils.createWorkbook(uploadFile);
+ //鑾峰彇妤间俊鎭�
+ getFloors(workbook, floors);
+ //鑾峰彇涓氫富淇℃伅
+ getOwners(workbook, owners);
+ //鑾峰彇鎴垮眿淇℃伅
+ getRooms(workbook, rooms, floors, owners);
+
+ //鑾峰彇杞︿綅淇℃伅
+ getParkingSpaces(workbook, parkingSpaces, owners);
+
+ //鏁版嵁鏍¢獙
+ importExcelDataValidate(floors, owners, rooms, parkingSpaces);
+
+ // 淇濆瓨鏁版嵁
+ return dealExcelData(pd, floors, owners, rooms, parkingSpaces, result);
+ }
+
+ /**
+ * 澶勭悊ExcelData鏁版嵁
+ *
+ * @param floors 妤兼爧鍗曞厓淇℃伅
+ * @param owners 涓氫富淇℃伅
+ * @param rooms 鎴垮眿淇℃伅
+ * @param parkingSpaces 杞︿綅淇℃伅
+ */
+ private ResponseEntity<String> dealExcelData(IPageData pd, List<ImportFloor> floors, List<ImportOwner> owners, List<ImportRoom> rooms, List<ImportParkingSpace> parkingSpaces, ComponentValidateResult result) {
+ ResponseEntity<String> responseEntity = null;
+ //淇濆瓨鍗曞厓淇℃伅 鍜� 妤兼爧淇℃伅
+ responseEntity = savedFloorAndUnitInfo(pd, floors, result);
+
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
+ // 淇濆瓨涓氫富淇℃伅
+ responseEntity = savedOwnerInfo(pd, owners, result);
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
+ //淇濆瓨鎴垮眿
+ responseEntity = savedRoomInfo(pd, rooms, result);
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
+ //淇濆瓨杞︿綅
+ responseEntity = savedParkingSpaceInfo(pd, parkingSpaces, result);
+
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
+ return responseEntity;
+ }
+
+ /**
+ * 淇濆瓨杞︿綅淇℃伅
+ *
+ * @param pd
+ * @param parkingSpaces
+ * @param result
+ * @return
+ */
+ private ResponseEntity<String> savedParkingSpaceInfo(IPageData pd, List<ImportParkingSpace> parkingSpaces, ComponentValidateResult result) {
+ String apiUrl = "";
+ JSONObject paramIn = null;
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+ ImportOwner owner = null;
+ for (ImportParkingSpace parkingSpace : parkingSpaces) {
+ JSONObject savedParkingSpaceInfo = getExistsParkSpace(pd, result, parkingSpace);
+ if (savedParkingSpaceInfo != null) {
+ continue;
+ }
+
+ paramIn = new JSONObject();
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.saveParkingSpace";
+
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("userId", result.getUserId());
+ paramIn.put("num", parkingSpace.getPsNum());
+ paramIn.put("area", parkingSpace.getArea());
+ paramIn.put("typeCd", parkingSpace.getTypeCd());
+
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ continue;
+ }
+
+ savedParkingSpaceInfo = getExistsParkSpace(pd, result, parkingSpace);
+ if (savedParkingSpaceInfo == null) {
+ continue;
+ }
+
+ //鏄惁鏈変笟涓讳俊鎭�
+ if (parkingSpace.getImportOwner() == null) {
+ continue;
+ }
+
+ paramIn.clear();
+
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("ownerId", parkingSpace.getImportOwner().getOwnerId());
+ paramIn.put("userId", result.getUserId());
+ paramIn.put("carNum", parkingSpace.getCarNum());
+ paramIn.put("carBrand", parkingSpace.getCarBrand());
+ paramIn.put("carType", parkingSpace.getCarType());
+ paramIn.put("carColor", parkingSpace.getCarColor());
+ paramIn.put("psId", savedParkingSpaceInfo.getString("psId"));
+ paramIn.put("storeId", result.getStoreId());
+ paramIn.put("sellOrHire", parkingSpace.getSellOrHire());
+
+ if("H".equals(parkingSpace.getSellOrHire())){
+ paramIn.put("cycles", "0");
+ }
+
+ String feeTypeCd = "1001".equals(parkingSpace.getTypeCd())
+ ? FeeTypeConstant.FEE_TYPE_SELL_UP_PARKING_SPACE : FeeTypeConstant.FEE_TYPE_SELL_DOWN_PARKING_SPACE;
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/fee.queryFeeConfig?communityId=" + result.getCommunityId() + "&feeTypeCd=" + feeTypeCd;
+ responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ continue;
+ }
+
+ JSONObject configInfo = JSONArray.parseArray(responseEntity.getBody()).getJSONObject(0);
+ if (!configInfo.containsKey("additionalAmount")) {
+ continue;
+ }
+
+ paramIn.put("receivedAmount", configInfo.getString("additionalAmount"));
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.sellParkingSpace";
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ }
+
+ return responseEntity;
+ }
+
+
+ /**
+ * 淇濆瓨鎴垮眿淇℃伅
+ *
+ * @param pd
+ * @param rooms
+ * @param result
+ * @return
+ */
+ private ResponseEntity<String> savedRoomInfo(IPageData pd, List<ImportRoom> rooms, ComponentValidateResult result) {
+ String apiUrl = "";
+ JSONObject paramIn = null;
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+ ImportOwner owner = null;
+ for (ImportRoom room : rooms) {
+ JSONObject savedRoomInfo = getExistsRoom(pd, result, room);
+ if (savedRoomInfo != null) {
+ continue;
+ }
+
+ paramIn = new JSONObject();
+
+
+ //淇濆瓨 鎴垮眿
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.saveRoom";
+
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("unitId", room.getFloor().getUnitId());
+ paramIn.put("roomNum", room.getRoomNum());
+ paramIn.put("layer", room.getLayer());
+ paramIn.put("section", "1");
+ paramIn.put("apartment", room.getSection());
+ paramIn.put("state", "2002");
+ paramIn.put("builtUpArea", room.getBuiltUpArea());
+ paramIn.put("unitPrice", "1000.00");
+
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ continue;
+ }
+
+ savedRoomInfo = getExistsRoom(pd, result, room);
+ if (savedRoomInfo == null) {
+ continue;
+ }
+
+ if (room.getImportOwner() == null) {
+ continue;
+ }
+ paramIn.clear();
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.sellRoom";
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("ownerId", room.getImportOwner().getOwnerId());
+ paramIn.put("roomId", savedRoomInfo.getString("roomId"));
+ paramIn.put("state", "2001");
+ paramIn.put("storeId", result.getStoreId());
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+
+ }
+
+ return responseEntity;
+ }
+
+ /**
+ * 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
+ * room.queryRooms
+ *
+ * @param pd
+ * @param result
+ * @param parkingSpace
+ * @return
+ */
+ 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);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+ return null;
+ }
+
+ JSONObject savedParkingSpaceInfoResults = JSONObject.parseObject(responseEntity.getBody());
+
+
+ if (!savedParkingSpaceInfoResults.containsKey("parkingSpaces") || savedParkingSpaceInfoResults.getJSONArray("parkingSpaces").size() != 1) {
+ return null;
+ }
+
+
+ JSONObject savedParkingSpaceInfo = savedParkingSpaceInfoResults.getJSONArray("parkingSpaces").getJSONObject(0);
+
+ return savedParkingSpaceInfo;
+ }
+
+
+ /**
+ * 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
+ * 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");
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ if (responseEntity.getStatusCode() == HttpStatus.OK) {
+ 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);
+ }
+ if (responseEntity != null && responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+ continue;
+ }
+
+ savedFloorInfo = getExistsFloor(pd, result, importFloor);
+
+ 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 floors
+ * @param owners
+ * @param rooms
+ * @param parkingSpaces
+ */
+ private void importExcelDataValidate(List<ImportFloor> floors, List<ImportOwner> owners, List<ImportRoom> rooms, List<ImportParkingSpace> parkingSpaces) {
+ }
+
+ /**
+ * 鑾峰彇杞︿綅淇℃伅
+ *
+ * @param workbook
+ * @param parkingSpaces
+ */
+ private void getParkingSpaces(Workbook workbook, List<ImportParkingSpace> parkingSpaces, List<ImportOwner> owners) {
+ Sheet sheet = null;
+ sheet = ImportExcelUtils.getSheet(workbook, "杞︿綅淇℃伅");
+ List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
+ ImportParkingSpace importParkingSpace = null;
+ for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
+ Object[] os = oList.get(osIndex);
+ if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
+ continue;
+ }
+ if (StringUtil.isNullOrNone(os[0])) {
+ continue;
+ }
+ importParkingSpace = new ImportParkingSpace();
+ importParkingSpace.setPsNum(os[0].toString());
+ importParkingSpace.setTypeCd(os[1].toString());
+ importParkingSpace.setArea(Double.parseDouble(os[2].toString()));
+ if (StringUtil.isNullOrNone(os[3])) {
+ parkingSpaces.add(importParkingSpace);
+ continue;
+ }
+ ImportOwner importOwner = getImportOwner(owners, os[3].toString());
+ importParkingSpace.setImportOwner(importOwner);
+ if (importOwner != null) {
+ importParkingSpace.setCarNum(os[4].toString());
+ importParkingSpace.setCarBrand(os[5].toString());
+ importParkingSpace.setCarType(os[6].toString());
+ importParkingSpace.setCarColor(os[7].toString());
+ importParkingSpace.setSellOrHire(os[8].toString());
+ }
+
+ parkingSpaces.add(importParkingSpace);
+ }
+ }
+
+ /**
+ * 鑾峰彇 鎴垮眿淇℃伅
+ *
+ * @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;
+ }
+ 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])) {
+ rooms.add(importRoom);
+ continue;
+ }
+ importRoom.setImportOwner(getImportOwner(owners, os[6].toString()));
+ rooms.add(importRoom);
+ }
+ }
+
+ /**
+ * 浠庡鍏ョ殑涓氫富淇℃伅涓幏鍙栦笟涓伙紝濡傛灉娌℃湁杩斿洖 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;
+ }
+ }
+
+ return null;
+
+ }
+
+ /**
+ * 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;
+ }
+ }
+
+ throw new IllegalArgumentException("鍦ㄦゼ鏍嬪崟鍏僺heet涓湭鎵惧埌妤兼爧缂栧彿[" + floorNum + "],鍗曞厓缂栧彿[" + unitNum + "]鏁版嵁");
+ }
+
+ /**
+ * 鑾峰彇涓氫富淇℃伅
+ *
+ * @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;
+ }
+ 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(os[3].toString()));
+ importOwner.setTel(os[4].toString());
+ 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;
+ }
- logger.debug("璇锋眰鍙傛暟涓猴細%s", pd.getReqData());
- return new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+ if (StringUtil.isNullOrNone(os[0])) {
+ continue;
+ }
+ 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;
+ }
+
+ public void setRestTemplate(RestTemplate restTemplate) {
+ this.restTemplate = restTemplate;
}
}
--
Gitblit v1.8.0