From 359a3d3c30ac521446a311420bf8dbc74b327195 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 24 九月 2019 21:24:57 +0800
Subject: [PATCH] 加入 房屋是否存在判断
---
WebService/src/main/java/com/java110/web/smo/assetImport/impl/AssetImportSMOImpl.java | 194 +++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 181 insertions(+), 13 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 f26c6fd..eae27b0 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,5 +1,6 @@
package com.java110.web.smo.assetImport.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.constant.ServiceConstant;
import com.java110.common.util.Assert;
@@ -48,7 +49,7 @@
ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
- InputStream is = uploadFile.getInputStream();
+ //InputStream is = uploadFile.getInputStream();
Workbook workbook = null; //宸ヤ綔绨�
//宸ヤ綔琛�
@@ -87,7 +88,115 @@
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, responseEntity);
+ responseEntity = savedFloorAndUnitInfo(pd, floors, result);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
+ // 淇濆瓨涓氫富淇℃伅
+ responseEntity = savedOwnerInfo(pd, owners, result);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
+ //淇濆瓨鎴垮眿
+ responseEntity = savedRoomInfo(pd,rooms,result);
+ 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 = null;
+ for(ImportRoom room : rooms){
+ JSONObject savedRoomInfo = getExistsRoom(pd, result, room);
+
+ if (savedRoomInfo != null) {
+ continue;
+ }
+ }
+
+ return responseEntity;
+ }
+
+ /**
+ * 鏌ヨ瀛樺湪鐨勬埧灞嬩俊鎭�
+ * 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?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 = null;
+
+ for (ImportOwner owner : owners) {
+ JSONObject savedOwnerInfo = getExistsOwner(pd, result, owner);
+
+ if (savedOwnerInfo != null) {
+ 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;
}
@@ -97,22 +206,19 @@
* @param pd
* @param floors
* @param result
- * @param responseEntity
* @return
*/
- private ResponseEntity<String> savedFloorAndUnitInfo(IPageData pd, List<ImportFloor> floors, ComponentValidateResult result, ResponseEntity<String> responseEntity) {
+ private ResponseEntity<String> savedFloorAndUnitInfo(IPageData pd, List<ImportFloor> floors, ComponentValidateResult result) {
String apiUrl = "";
JSONObject paramIn = null;
+ ResponseEntity<String> responseEntity = null;
for (ImportFloor importFloor : floors) {
+ paramIn = new JSONObject();
//鍏堜繚瀛� 妤兼爧淇℃伅
- JSONObject savedFloorInfo = getExistsFloor(pd,result,importFloor);
+ JSONObject savedFloorInfo = getExistsFloor(pd, result, importFloor);
// 濡傛灉涓嶅瓨鍦紝鎵嶆彃鍏�
- if(savedFloorInfo == null) {
+ if (savedFloorInfo == null) {
apiUrl = ServiceConstant.SERVICE_API_URL + "/api/floor.saveFloor";
- Assert.jsonObjectHaveKey(paramIn, "name", "璇锋眰鎶ユ枃涓湭鍖呭惈name");
- Assert.jsonObjectHaveKey(paramIn, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈userId");
- Assert.jsonObjectHaveKey(paramIn, "floorNum", "璇锋眰鎶ユ枃涓湭鍖呭惈floorNum");
- Assert.jsonObjectHaveKey(paramIn, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
paramIn.put("communityId", result.getCommunityId());
paramIn.put("floorNum", importFloor.getFloorNum());
paramIn.put("userId", result.getUserId());
@@ -123,13 +229,18 @@
continue;
}
- savedFloorInfo = getExistsFloor(pd,result,importFloor);
+ savedFloorInfo = getExistsFloor(pd, result, importFloor);
- if(savedFloorInfo == null){
+ if (savedFloorInfo == null) {
+ continue;
+ }
+ importFloor.setFloorId(savedFloorInfo.getString("floorId"));
+ paramIn.clear();
+ //鍒ゆ柇鍗曞厓淇℃伅鏄惁宸茬粡瀛樺湪锛屽鏋滃瓨鍦ㄥ垯涓嶄繚瀛樻暟鎹畊nit.queryUnits
+ if (getExistsUnit(pd, result, importFloor) != null) {
continue;
}
- paramIn.clear();
apiUrl = ServiceConstant.SERVICE_API_URL + "/api/unit.saveUnit";
paramIn.put("communityId", result.getCommunityId());
@@ -138,8 +249,35 @@
paramIn.put("layerCount", importFloor.getLayerCount());
paramIn.put("lift", importFloor.getLift());
responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
+
+ //灏唘nitId 鍒峰叆ImportFloor瀵硅薄
+ JSONObject 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.getFloorNum();
+ 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) {
@@ -164,6 +302,36 @@
}
/**
+ * 鏌ヨ瀛樺湪鐨勪笟涓�
+ *
+ * @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
--
Gitblit v1.8.0