From ab6a423cf604b83f06b5768dbc162ece744a32d9 Mon Sep 17 00:00:00 2001
From: shane <88386378@qq.com>
Date: 星期五, 20 八月 2021 00:34:11 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java | 1086 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 782 insertions(+), 304 deletions(-)
diff --git a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java
old mode 100644
new mode 100755
index 2ce6a7a..2a1c128
--- a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -4,18 +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.smo.ISaveTransactionLogSMO;
+import com.java110.dto.RoomDto;
+import com.java110.dto.assetImportLog.AssetImportLogDto;
+import com.java110.dto.assetImportLogDetail.AssetImportLogDetailDto;
+import com.java110.entity.assetImport.*;
import com.java110.entity.component.ComponentValidateResult;
import com.java110.front.smo.assetImport.IAssetImportSMO;
-import com.java110.utils.constant.FeeTypeConstant;
import com.java110.utils.constant.ServiceConstant;
-import com.java110.utils.util.CommonUtil;
-import com.java110.utils.util.ImportExcelUtils;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.*;
+import com.java110.vo.ResultVo;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
@@ -28,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;
/**
@@ -46,41 +46,49 @@
@Autowired
private RestTemplate restTemplate;
+ @Autowired
+ private ISaveTransactionLogSMO saveTransactionLogSMOImpl;
+
@Override
public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
- ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
+ try {
+ ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
- //InputStream is = uploadFile.getInputStream();
+ //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);
- //鑾峰彇妤间俊鎭�
- getFloors(workbook, floors);
- //鑾峰彇涓氫富淇℃伅
- getOwners(workbook, owners);
+ 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);
+ //鑾峰彇妤间俊鎭�
+ getFloors(workbook, floors);
+ //鑾峰彇涓氫富淇℃伅
+ getOwners(workbook, owners);
- getFee(workbook, fees);
+ getFee(workbook, fees);
- //鑾峰彇鎴垮眿淇℃伅
- getRooms(workbook, rooms, floors, owners);
+ //鑾峰彇鎴垮眿淇℃伅
+ getRooms(workbook, rooms, floors, owners);
- //鑾峰彇杞︿綅淇℃伅
- getParkingSpaces(workbook, parkingSpaces, owners);
+ //鑾峰彇杞︿綅淇℃伅
+ getParkingSpaces(workbook, parkingSpaces, owners);
- //鏁版嵁鏍¢獙
- importExcelDataValidate(floors, owners, rooms, parkingSpaces);
+ //鏁版嵁鏍¢獙
+ importExcelDataValidate(floors, owners, rooms, fees, parkingSpaces);
- // 淇濆瓨鏁版嵁
- return dealExcelData(pd, floors, owners, rooms, parkingSpaces, fees, result);
+ // 淇濆瓨鏁版嵁
+ return dealExcelData(pd, floors, owners, rooms, parkingSpaces, fees, result);
+ } catch (Exception e) {
+ logger.error("瀵煎叆澶辫触 ", e);
+ return new ResponseEntity<String>("闈炲父鎶辨瓑锛屾偍濉啓鐨勬ā鏉挎暟鎹湁璇細" + e.getMessage(), HttpStatus.BAD_REQUEST);
+ }
}
/**
@@ -139,24 +147,69 @@
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;
+
+ AssetImportLogDto assetImportLogDto = new AssetImportLogDto();
+ assetImportLogDto.setSuccessCount(0L);
+ assetImportLogDto.setErrorCount(0L);
+ assetImportLogDto.setCommunityId(result.getCommunityId());
+ assetImportLogDto.setLogType(AssetImportLogDto.LOG_TYPE_FEE_IMPORT);
+ List<AssetImportLogDetailDto> assetImportLogDetailDtos = new ArrayList<>();
+ assetImportLogDto.setAssetImportLogDetailDtos(assetImportLogDetailDtos);
+ long successCount = 0L;
+ long failCount = 0L;
+ AssetImportLogDetailDto assetImportLogDetailDto = null;
+ try {
+ for (ImportFee fee : fees) {
+ JSONObject savedFeeConfigInfo = getExistsFee(pd, result, fee);
+ if (savedFeeConfigInfo != null) {
+ successCount += 1;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ continue;
+ }
+ //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) {
+ /***************************************瀵煎叆鏃ュ織璁板綍****************************************************/
+ failCount += 1;
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(fee.getFeeName());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(fee.getFeeName());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ } else {
+ successCount += 1;
+ }
+ }
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
}
-
- //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;
- }
+ } finally {
+ saveTransactionLogSMOImpl.saveAssetImportLog(assetImportLogDto);
}
return responseEntity;
@@ -175,87 +228,191 @@
JSONObject paramIn = null;
ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
ImportOwner owner = null;
- for (ImportParkingSpace parkingSpace : parkingSpaces) {
+ AssetImportLogDto assetImportLogDto = new AssetImportLogDto();
+ assetImportLogDto.setSuccessCount(0L);
+ assetImportLogDto.setErrorCount(0L);
+ assetImportLogDto.setCommunityId(result.getCommunityId());
+ assetImportLogDto.setLogType(AssetImportLogDto.LOG_TYPE_AREA_PARKING_IMPORT);
+ List<AssetImportLogDetailDto> assetImportLogDetailDtos = new ArrayList<>();
+ assetImportLogDto.setAssetImportLogDetailDtos(assetImportLogDetailDtos);
+ long successCount = 0L;
+ long failCount = 0L;
+ AssetImportLogDetailDto assetImportLogDetailDto = null;
+ try {
+ for (ImportParkingSpace parkingSpace : parkingSpaces) {
+ responseEntity = ResultVo.success();
+ JSONObject savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
+ paramIn = new JSONObject();
+ // 濡傛灉涓嶅瓨鍦紝鎵嶆彃鍏�
+ if (savedParkingAreaInfo == null) {
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingArea.saveParkingArea";
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("typeCd", parkingSpace.getTypeCd());
+ paramIn.put("num", parkingSpace.getPaNum());
- JSONObject savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
- paramIn = new JSONObject();
- // 濡傛灉涓嶅瓨鍦紝鎵嶆彃鍏�
- if (savedParkingAreaInfo == null) {
- apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingArea.saveParkingArea";
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
+ }
+ if (responseEntity != null && responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+ failCount += 1;
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(parkingSpace.getPaNum());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ continue;
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(parkingSpace.getPaNum());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ continue;
+ } else {
+ successCount += 1;
+ }
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ }
+
+ JSONObject savedParkingSpaceInfo = getExistsParkSpace(pd, result, parkingSpace);
+ if (savedParkingSpaceInfo != null) {
+ continue;
+ }
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.saveParkingSpace";
+
+ paramIn.put("paId", savedParkingAreaInfo.getString("paId"));
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());
- paramIn.put("num", parkingSpace.getPaNum());
+ paramIn.put("parkingType", "1");
+
responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
- savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(parkingSpace.getPaNum());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ continue;
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(parkingSpace.getPaNum());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ 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());
+ paramIn.put("startTime", parkingSpace.getStartTime());
+ paramIn.put("endTime", parkingSpace.getEndTime());
+
+ if ("H".equals(parkingSpace.getSellOrHire())) {
+ paramIn.put("cycles", "0");
+ }
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.sellParkingSpace";
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ /***************************************瀵煎叆鏃ュ織璁板綍****************************************************/
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(parkingSpace.getCarNum());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(parkingSpace.getCarNum());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ }
+ }
}
- if (responseEntity != null && responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
- continue;
- }
-
- JSONObject savedParkingSpaceInfo = getExistsParkSpace(pd, result, parkingSpace);
- if (savedParkingSpaceInfo != null) {
- continue;
- }
-
- apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.saveParkingSpace";
-
- paramIn.put("paId", savedParkingAreaInfo.getString("paId"));
- 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/feeConfig.listFeeConfigs?page=1&row=1&communityId=" + result.getCommunityId() + "&feeTypeCd=" + feeTypeCd + "&isDefault=T";
- responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
-
- if (responseEntity.getStatusCode() != HttpStatus.OK) {
- continue;
- }
-
- JSONObject configInfo = JSONObject.parseObject(responseEntity.getBody()).getJSONArray("feeConfigs").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);
+ } catch (Exception e) {
+ logger.error("瀵煎叆杞︿綅寮傚父", e);
+ saveTransactionLogSMOImpl.saveAssetImportLog(assetImportLogDto);
+ throw e;
}
return responseEntity;
@@ -275,91 +432,200 @@
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;
- }
+ AssetImportLogDto assetImportLogDto = new AssetImportLogDto();
+ assetImportLogDto.setSuccessCount(0L);
+ assetImportLogDto.setErrorCount(0L);
+ assetImportLogDto.setCommunityId(result.getCommunityId());
+ assetImportLogDto.setLogType(AssetImportLogDto.LOG_TYPE_ROOM_IMPORT);
+ List<AssetImportLogDetailDto> assetImportLogDetailDtos = new ArrayList<>();
+ assetImportLogDto.setAssetImportLogDetailDtos(assetImportLogDetailDtos);
+ long successCount = 0L;
+ long failCount = 0L;
+ AssetImportLogDetailDto assetImportLogDetailDto = null;
+ try {
+ for (ImportRoom room : rooms) {
+ JSONObject savedRoomInfo = getExistsRoom(pd, result, room);
+ if (savedRoomInfo != null) {
+ continue;
+ }
- paramIn = new JSONObject();
+ paramIn = new JSONObject();
- //淇濆瓨 鎴垮眿
- apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.saveRoom";
+ //淇濆瓨 鎴垮眿
+ 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");
+ 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("feeCoefficient", "1.00");
+ paramIn.put("roomSubType", room.getRoomSubType());
+ paramIn.put("roomArea", room.getRoomArea());
+ paramIn.put("roomRent", room.getRoomRent());
+ paramIn.put("roomType", "0".equals(room.getFloor().getUnitNum()) ? RoomDto.ROOM_TYPE_SHOPS : RoomDto.ROOM_TYPE_SHOPS);
- 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());
- if (!StringUtil.isEmpty(room.getRoomFeeId()) && "0".equals(room.getRoomFeeId())) {
- paramIn.put("feeEndDate", room.getFeeEndDate());
- }
- responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
- if (responseEntity.getStatusCode() != HttpStatus.OK) {
- continue;
- }
- //鍒涘缓璐圭敤
- if (StringUtil.isEmpty(room.getRoomFeeId()) || "0".equals(room.getRoomFeeId())) {
- continue;
- }
- String[] feeIds = room.getRoomFeeId().split("#");
-
- for (int feeIndex = 0; feeIndex < feeIds.length; feeIndex++) {
- String feeId = feeIds[feeIndex];
- ImportFee tmpFee = null;
- for (ImportFee fee : fees) {
- if (feeId.equals(fee.getId())) {
- tmpFee = fee;
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ failCount += 1;
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ continue;
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ continue;
+ } else {
+ successCount += 1;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
}
}
- if (tmpFee == null) {
- continue;//娌℃湁璐圭敤椤癸紝鍙兘鍐欓敊浜�
+ savedRoomInfo = getExistsRoom(pd, result, room);
+ if (savedRoomInfo == null) {
+ continue;
}
-
- JSONObject ttFee = getExistsFee(pd, result, tmpFee);
-
- if (ttFee == null) {
- continue;//娌℃湁璐圭敤椤癸紝鍙兘鍐欓敊浜�
+ if (room.getImportOwner() == null) {
+ continue;
}
-
- apiUrl = ServiceConstant.SERVICE_API_URL + "/api/fee.saveRoomCreateFee";
+ paramIn.clear();
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.sellRoom";
paramIn.put("communityId", result.getCommunityId());
- paramIn.put("locationTypeCd", "3000");
- paramIn.put("locationObjId", savedRoomInfo.getString("roomId"));
- paramIn.put("configId", ttFee.getString("configId"));
+ paramIn.put("ownerId", room.getImportOwner().getOwnerId());
+ paramIn.put("roomId", savedRoomInfo.getString("roomId"));
+ paramIn.put("state", "2001");
paramIn.put("storeId", result.getStoreId());
- paramIn.put("feeEndDate", room.getFeeEndDate().split("#")[feeIndex]);
+ if (!StringUtil.isEmpty(room.getRoomFeeId()) && "0".equals(room.getRoomFeeId())) {
+ paramIn.put("feeEndDate", room.getFeeEndDate());
+ }
responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
- }
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ continue;
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ continue;
+ }
+ }
+ //鍒涘缓璐圭敤
+ if (StringUtil.isEmpty(room.getRoomFeeId()) || "0".equals(room.getRoomFeeId())) {
+ continue;
+ }
+ String[] feeIds = room.getRoomFeeId().split("#");
+ for (int feeIndex = 0; feeIndex < feeIds.length; feeIndex++) {
+ String feeId = feeIds[feeIndex];
+ ImportFee tmpFee = null;
+ for (ImportFee fee : fees) {
+ if (feeId.equals(fee.getId())) {
+ tmpFee = fee;
+ }
+ }
+
+ if (tmpFee == null) {
+ continue;//娌℃湁璐圭敤椤癸紝鍙兘鍐欓敊浜�
+ }
+
+ JSONObject ttFee = getExistsFee(pd, result, tmpFee);
+
+ if (ttFee == null) {
+ continue;//娌℃湁璐圭敤椤癸紝鍙兘鍐欓敊浜�
+ }
+
+ apiUrl = ServiceConstant.SERVICE_API_URL + "/api/fee.saveRoomCreateFee";
+ paramIn.put("communityId", result.getCommunityId());
+ paramIn.put("locationTypeCd", "3000");
+ paramIn.put("locationObjId", savedRoomInfo.getString("roomId"));
+ paramIn.put("configId", ttFee.getString("configId"));
+ paramIn.put("storeId", result.getStoreId());
+ paramIn.put("feeEndDate", room.getFeeEndDate().split("#")[feeIndex]);
+ paramIn.put("startTime", paramIn.getString("feeEndDate"));
+
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ /***************************************瀵煎叆鏃ュ織璁板綍****************************************************/
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ }
+ }
+ }
+
+ }
+ } finally {
+ saveTransactionLogSMOImpl.saveAssetImportLog(assetImportLogDto);
}
return responseEntity;
@@ -378,7 +644,7 @@
String apiUrl = "";
ResponseEntity<String> responseEntity = null;
apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.queryParkingSpaces?page=1&row=1&communityId=" + result.getCommunityId()
- + "&num=" + parkingSpace.getPsNum();
+ + "&num=" + parkingSpace.getPsNum() + "&areaNum=" + parkingSpace.getPaNum();
responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -477,31 +743,77 @@
String apiUrl = "";
JSONObject paramIn = null;
ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+ AssetImportLogDto assetImportLogDto = new AssetImportLogDto();
+ assetImportLogDto.setSuccessCount(0L);
+ assetImportLogDto.setErrorCount(0L);
+ assetImportLogDto.setCommunityId(result.getCommunityId());
+ assetImportLogDto.setLogType(AssetImportLogDto.LOG_TYPE_OWENR_IMPORT);
+ List<AssetImportLogDetailDto> assetImportLogDetailDtos = new ArrayList<>();
+ assetImportLogDto.setAssetImportLogDetailDtos(assetImportLogDetailDtos);
+ long successCount = 0L;
+ long failCount = 0L;
+ AssetImportLogDetailDto assetImportLogDetailDto = null;
+ try {
+ for (ImportOwner owner : owners) {
+ JSONObject savedOwnerInfo = getExistsOwner(pd, result, owner);
- for (ImportOwner owner : owners) {
- JSONObject savedOwnerInfo = getExistsOwner(pd, result, owner);
+ if (savedOwnerInfo != null) {
+ owner.setOwnerId(savedOwnerInfo.getString("ownerId"));
+ continue;
+ }
+ paramIn = new JSONObject();
- if (savedOwnerInfo != null) {
- owner.setOwnerId(savedOwnerInfo.getString("ownerId"));
- continue;
+ 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());
+ paramIn.put("source", "BatchImport");
+ 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) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(owner.getOwnerName());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ throw new IllegalArgumentException(body.getString("msg"));
+ }
+ savedOwnerInfo = getExistsOwner(pd, result, owner);
+ owner.setOwnerId(savedOwnerInfo.getString("ownerId"));
+ successCount += 1;
+ } else {
+ failCount += 1;
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(owner.getOwnerName());
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ }
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
}
- 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) {
- savedOwnerInfo = getExistsOwner(pd, result, owner);
- owner.setOwnerId(savedOwnerInfo.getString("ownerId"));
- }
+ } finally {
+ saveTransactionLogSMOImpl.saveAssetImportLog(assetImportLogDto);
}
return responseEntity;
@@ -519,50 +831,121 @@
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";
+
+ AssetImportLogDto assetImportLogDto = new AssetImportLogDto();
+ assetImportLogDto.setSuccessCount(0L);
+ assetImportLogDto.setErrorCount(0L);
+ assetImportLogDto.setCommunityId(result.getCommunityId());
+ assetImportLogDto.setLogType(AssetImportLogDto.LOG_TYPE_FLOOR_UNIT_IMPORT);
+ List<AssetImportLogDetailDto> assetImportLogDetailDtos = new ArrayList<>();
+ assetImportLogDto.setAssetImportLogDetailDtos(assetImportLogDetailDtos);
+ long successCount = 0L;
+ long failCount = 0L;
+ AssetImportLogDetailDto assetImportLogDetailDto = null;
+ try {
+ 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() + "鏍�");
+ paramIn.put("floorArea", 1.00);
+
+ responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+ savedFloorInfo = getExistsFloor(pd, result, importFloor);
+ }
+
+ /***************************************瀵煎叆鏃ュ織璁板綍****************************************************/
+ if (responseEntity != null && responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+ failCount += 1;
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(importFloor.getFloorNum() + "鏍�");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ continue;
+ } else {
+ successCount += 1;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ }
+
+
+ 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("floorNum", importFloor.getFloorNum());
- paramIn.put("userId", result.getUserId());
- paramIn.put("name", importFloor.getFloorNum() + "鍙锋ゼ");
+ paramIn.put("floorId", savedFloorInfo.getString("floorId"));
+ paramIn.put("unitNum", importFloor.getUnitNum());
+ paramIn.put("layerCount", importFloor.getLayerCount());
+ paramIn.put("lift", importFloor.getLift());
+ paramIn.put("unitArea", 1.00);
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) {
+ /****************************** 寮�濮嬭褰曞け璐ユ棩蹇� *******************************/
+ if (responseEntity != null && responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ if (Assert.isJsonObject(responseEntity.getBody())) {
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ assetImportLogDetailDto.setState(paramOut.getString("code"));
+ assetImportLogDetailDto.setMessage(paramOut.getString("msg"));
+ } else {
+ assetImportLogDetailDto.setState("F");
+ assetImportLogDetailDto.setMessage(responseEntity.getBody());
+ }
+ assetImportLogDetailDto.setObjName(importFloor.getFloorNum() + "鏍�" + importFloor.getUnitNum() + "鍗曞厓");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ } else {
+ JSONObject body = JSONObject.parseObject(responseEntity.getBody());
+ if (body.containsKey("code") && body.getIntValue("code") != 0) {
+ assetImportLogDetailDto = new AssetImportLogDetailDto();
+ assetImportLogDetailDto.setCommunityId(assetImportLogDto.getCommunityId());
+ assetImportLogDetailDto.setState(body.getString("code"));
+ assetImportLogDetailDto.setMessage(body.getString("msg"));
+ assetImportLogDetailDto.setObjName(importFloor.getFloorNum() + "鏍�" + importFloor.getUnitNum() + "鍗曞厓");
+ assetImportLogDetailDtos.add(assetImportLogDetailDto);
+ failCount += 1;
+ successCount = successCount > 0 ? successCount - 1 : successCount;
+ assetImportLogDto.setSuccessCount(successCount);
+ assetImportLogDto.setErrorCount(failCount);
+ }
+ }
+ //灏唘nitId 鍒峰叆ImportFloor瀵硅薄
+ savedUnitInfo = getExistsUnit(pd, result, importFloor);
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"));
-
+ } finally {
+ saveTransactionLogSMOImpl.saveAssetImportLog(assetImportLogDto);
}
return responseEntity;
}
@@ -678,7 +1061,8 @@
* @param rooms
* @param parkingSpaces
*/
- private void importExcelDataValidate(List<ImportFloor> floors, List<ImportOwner> owners, List<ImportRoom> rooms, List<ImportParkingSpace> parkingSpaces) {
+ private void importExcelDataValidate(List<ImportFloor> floors, List<ImportOwner> owners, List<ImportRoom> rooms, List<ImportFee> fees, List<ImportParkingSpace> parkingSpaces) {
+
}
/**
@@ -700,12 +1084,16 @@
if (StringUtil.isNullOrNone(os[0])) {
continue;
}
+ Assert.hasValue(os[0], "杞︿綅淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屽仠杞﹀満缂栧彿涓虹┖");
+ Assert.hasValue(os[1], "杞︿綅淇℃伅閫夐」涓�" + (osIndex + 1) + "琛岃溅浣嶇紪鐮佷负绌�");
+ Assert.hasValue(os[2], "杞︿綅淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屽仠杞﹀満绫诲瀷涓虹┖");
+ Assert.hasValue(os[3], "杞︿綅淇℃伅閫夐」涓�" + (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])) {
+ if (os.length < 5 || StringUtil.isNullOrNone(os[4])) {
parkingSpaces.add(importParkingSpace);
continue;
}
@@ -717,10 +1105,42 @@
importParkingSpace.setCarType(os[7].toString());
importParkingSpace.setCarColor(os[8].toString());
importParkingSpace.setSellOrHire(os[9].toString());
+
+ String startTime = excelDoubleToDate(os[10].toString());
+ String endTime = excelDoubleToDate(os[11].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 鏂囨湰鏍煎紡");
+ importParkingSpace.setStartTime(startTime);
+ importParkingSpace.setEndTime(endTime);
}
parkingSpaces.add(importParkingSpace);
}
+ }
+
+ //瑙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 strDate;
+ }
+
+
+ //瑙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));
+
+ return tDate;
}
/**
@@ -736,30 +1156,51 @@
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()));
+ try {
+ Object[] os = oList.get(osIndex);
+ if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
+ continue;
+ }
+ if (StringUtil.isNullOrNone(os[0])) {
+ continue;
+ }
+ 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) + "琛屽缓绛戦潰绉负绌�");
+ if (os.length > 6 && !StringUtil.isNullOrNone(os[6])) {
+ Assert.hasValue(os[7], "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屾埧灞嬭垂鐢ㄤ负绌�");
+ Assert.hasValue(os[8], "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛岃垂鐢ㄥ埌鏈熸椂闂翠负绌�");
+ }
+ Assert.hasValue(os[9], "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屾埧灞嬬被鍨嬩负绌�");
+ Assert.hasValue(os[10], "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屽鍐呴潰绉负绌�");
+ Assert.hasValue(os[11], "鎴垮眿淇℃伅閫夐」涓�" + (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()));
+ importRoom.setRoomSubType(os[9].toString());
+ importRoom.setRoomArea(os[10].toString());
+ importRoom.setRoomRent(os[11].toString());
- if (!StringUtil.isEmpty(os[7].toString())) {
- importRoom.setRoomFeeId(os[7].toString());
- importRoom.setFeeEndDate(os[8].toString());
- }
- if (StringUtil.isNullOrNone(os[6])) {
+
+ if (os.length > 6 && !StringUtil.isNullOrNone(os[6])) {
+ importRoom.setRoomFeeId(os[7].toString());
+ importRoom.setFeeEndDate(os[8].toString());
+ }
+ if (os.length < 7 || StringUtil.isNullOrNone(os[6])) {
+ rooms.add(importRoom);
+ continue;
+ }
+ importRoom.setImportOwner(getImportOwner(owners, os[6].toString()));
rooms.add(importRoom);
- continue;
+ } catch (Exception e) {
+ logger.error("鎴垮眿鏁版嵁鏍¢獙澶辫触", e);
+ throw new IllegalArgumentException("鎴垮眿淇℃伅sheet涓" + (osIndex + 1) + "琛屾暟鎹敊璇紝璇锋鏌�" + e.getLocalizedMessage());
}
- importRoom.setImportOwner(getImportOwner(owners, os[6].toString()));
- rooms.add(importRoom);
}
}
@@ -771,7 +1212,7 @@
*/
private void getFee(Workbook workbook, List<ImportFee> importFees) {
Sheet sheet = null;
- sheet = ImportExcelUtils.getSheet(workbook, "鎴垮眿淇℃伅");
+ sheet = ImportExcelUtils.getSheet(workbook, "璐圭敤璁剧疆");
List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
ImportFee importFee = null;
for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
@@ -782,6 +1223,22 @@
if (StringUtil.isNullOrNone(os[0])) {
continue;
}
+ Assert.hasValue(os[0], "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃垂鐢ㄧ紪鍙蜂负绌�");
+ 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.isInteger(os[5].toString(), "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岀即璐瑰懆鏈熶笉鏄鏁存暟");
+ Assert.hasValue(os[6], "璐圭敤璁剧疆閫夐」涓�" + (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.hasValue(os[9], "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃绠楀叕寮忎负绌�");
+ if (!"1001".equals(os[9].toString()) && !"2002".equals(os[9].toString())) {
+ throw new IllegalArgumentException("璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃绠楀叕寮忛敊璇� 璇峰~鍐�1001 鎴栬��2002");
+ }
+ Assert.hasValue(os[10], "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛岃璐瑰崟浠蜂负绌�");
+ Assert.hasValue(os[11], "璐圭敤璁剧疆閫夐」涓�" + (osIndex + 1) + "琛屽浐瀹氳垂鐢ㄤ负绌�");
importFee = new ImportFee();
importFee.setId(os[0].toString());
importFee.setFeeTypeCd("鐗╀笟璐�".equals(os[1]) ? "888800010001" : "888800010002");
@@ -789,17 +1246,17 @@
importFee.setFeeFlag("鍛ㄦ湡鎬ц垂鐢�".equals(os[3]) ? "1003006" : "2006012");
importFee.setPaymentCd("棰勪粯璐�".equals(os[4]) ? "1200" : "2100");
String billType = "";
- if ("姣忓勾1鏈�1鏃�".equals(os[5])) {
+ if ("姣忓勾1鏈�1鏃�".equals(os[6])) {
billType = "001";
- } else if ("姣忔湀1鏃�".equals(os[5])) {
+ } else if ("姣忔湀1鏃�".equals(os[6])) {
billType = "002";
- } else if ("姣忔棩".equals(os[5])) {
+ } else if ("姣忔棩".equals(os[6])) {
billType = "003";
} else {
billType = "004";
}
importFee.setBillType(billType);
- importFee.setPaymentCycle(os[6].toString());
+ importFee.setPaymentCycle(os[5].toString());
importFee.setStartTime(os[7].toString());
importFee.setEndTime(os[8].toString());
importFee.setComputingFormula(os[9].toString());
@@ -855,24 +1312,40 @@
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;
+ try {
+ Object[] os = oList.get(osIndex);
+ if (osIndex == 0) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
+ continue;
+ }
+ if (StringUtil.isNullOrNone(os[0])) {
+ continue;
+ }
+ Assert.hasValue(os[0], "涓氫富淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屼笟涓荤紪鍙蜂负绌�");
+ Assert.hasValue(os[1], "涓氫富淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屼笟涓诲悕绉颁负绌�");
+ Assert.hasValue(os[2], "涓氫富淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屼笟涓绘�у埆涓虹┖");
+ String tel = StringUtil.isNullOrNone(os[4]) ? "19999999999" : os[4].toString();
+ String idCard = StringUtil.isNullOrNone(os[5]) ? "10000000000000000001" : os[5].toString();
+
+ if (os[4].toString().length() > 11) {
+ throw new IllegalArgumentException(os[1].toString() + " 鐨勬墜鏈哄彿瓒呰繃11浣�,璇锋牳瀹�");
+ }
+ if (os[5].toString().length() > 18) {
+ throw new IllegalArgumentException(os[1].toString() + " 鐨勮韩浠借瘉瓒呰繃18浣�,璇锋牳瀹�");
+ }
+
+ 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);
+ } catch (Exception e) {
+ logger.error("绗�" + (osIndex + 1) + "琛屾暟鎹嚭鐜伴棶棰�", e);
+ throw new IllegalArgumentException("绗�" + (osIndex + 1) + "琛屾暟鎹嚭鐜伴棶棰�" + e.getLocalizedMessage(), e);
}
- if (StringUtil.isNullOrNone(os[0])) {
- continue;
- }
- 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[2]) ? CommonUtil.getAgeByCertId(idCard) : os[2].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);
}
}
@@ -896,6 +1369,11 @@
if (StringUtil.isNullOrNone(os[0])) {
continue;
}
+
+ Assert.hasValue(os[0], "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屾ゼ鏍嬪彿涓虹┖");
+ Assert.hasValue(os[1], "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屽崟鍏冪紪鍙蜂负绌�");
+ Assert.hasValue(os[2], "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屾�绘ゼ灞備负绌�");
+ Assert.hasValue(os[3], "妤兼爧鍗曞厓閫夐」涓�" + (osIndex + 1) + "琛屾槸鍚︽湁鐢垫涓虹┖");
importFloor = new ImportFloor();
importFloor.setFloorNum(os[0].toString());
importFloor.setUnitNum(os[1].toString());
--
Gitblit v1.8.0