From 8e3827a655cb13c67210bae939448ddd42ec8084 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期四, 29 四月 2021 16:27:30 +0800
Subject: [PATCH] 优化采购管理 1、新增个人物品转增2、物品使用记录3、新增商品供应商4、部分优化
---
service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java | 390 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 306 insertions(+), 84 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
index 6e786b6..276b403 100644
--- 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,17 +4,12 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.component.BaseComponentSMO;
import com.java110.core.context.IPageData;
-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.dto.RoomDto;
+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 org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
@@ -48,34 +43,43 @@
@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<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);
- //鑾峰彇鎴垮眿淇℃伅
- getRooms(workbook, rooms, floors, owners);
- //鑾峰彇杞︿綅淇℃伅
- getParkingSpaces(workbook, parkingSpaces, owners);
+ getFee(workbook, fees);
- //鏁版嵁鏍¢獙
- importExcelDataValidate(floors, owners, rooms, parkingSpaces);
+ //鑾峰彇鎴垮眿淇℃伅
+ getRooms(workbook, rooms, floors, owners);
- // 淇濆瓨鏁版嵁
- return dealExcelData(pd, floors, owners, rooms, parkingSpaces, result);
+ //鑾峰彇杞︿綅淇℃伅
+ getParkingSpaces(workbook, parkingSpaces, owners);
+
+ //鏁版嵁鏍¢獙
+ importExcelDataValidate(floors, owners, rooms, fees, parkingSpaces);
+
+ // 淇濆瓨鏁版嵁
+ return dealExcelData(pd, floors, owners, rooms, parkingSpaces, fees, result);
+ } catch (Exception e) {
+ logger.error("瀵煎叆澶辫触 ", e);
+ return new ResponseEntity<String>("闈炲父鎶辨瓑锛屾偍濉啓鐨勬ā鏉挎暟鎹湁璇細" + e.getMessage(), HttpStatus.BAD_REQUEST);
+ }
}
/**
@@ -86,7 +90,13 @@
* @param rooms 鎴垮眿淇℃伅
* @param parkingSpaces 杞︿綅淇℃伅
*/
- private ResponseEntity<String> dealExcelData(IPageData pd, List<ImportFloor> floors, List<ImportOwner> owners, List<ImportRoom> rooms, List<ImportParkingSpace> parkingSpaces, ComponentValidateResult result) {
+ private ResponseEntity<String> dealExcelData(IPageData pd,
+ List<ImportFloor> floors,
+ List<ImportOwner> owners,
+ List<ImportRoom> rooms,
+ List<ImportParkingSpace> parkingSpaces,
+ List<ImportFee> fees,
+ ComponentValidateResult result) {
ResponseEntity<String> responseEntity = null;
//淇濆瓨鍗曞厓淇℃伅 鍜� 妤兼爧淇℃伅
responseEntity = savedFloorAndUnitInfo(pd, floors, result);
@@ -101,8 +111,14 @@
return responseEntity;
}
+ // 淇濆瓨璐圭敤椤�
+ responseEntity = savedFeeInfo(pd, fees, result);
+ if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
+ return responseEntity;
+ }
+
//淇濆瓨鎴垮眿
- responseEntity = savedRoomInfo(pd, rooms, result);
+ responseEntity = savedRoomInfo(pd, rooms, fees, result);
if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
return responseEntity;
}
@@ -112,6 +128,34 @@
if (responseEntity == null || responseEntity.getStatusCode() != HttpStatus.OK) {
return responseEntity;
+ }
+
+ 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;
+ }
+
+ //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;
+ }
}
return responseEntity;
@@ -131,7 +175,7 @@
ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
ImportOwner owner = null;
for (ImportParkingSpace parkingSpace : parkingSpaces) {
-
+ responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
JSONObject savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
paramIn = new JSONObject();
// 濡傛灉涓嶅瓨鍦紝鎵嶆彃鍏�
@@ -140,6 +184,7 @@
paramIn.put("communityId", result.getCommunityId());
paramIn.put("typeCd", parkingSpace.getTypeCd());
paramIn.put("num", parkingSpace.getPaNum());
+
responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
}
@@ -160,6 +205,7 @@
paramIn.put("num", parkingSpace.getPsNum());
paramIn.put("area", parkingSpace.getArea());
paramIn.put("typeCd", parkingSpace.getTypeCd());
+ paramIn.put("parkingType", "1");
responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST);
if (responseEntity.getStatusCode() != HttpStatus.OK) {
@@ -188,26 +234,12 @@
paramIn.put("psId", savedParkingSpaceInfo.getString("psId"));
paramIn.put("storeId", result.getStoreId());
paramIn.put("sellOrHire", parkingSpace.getSellOrHire());
+ paramIn.put("startTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ paramIn.put("endTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
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);
@@ -225,7 +257,7 @@
* @param result
* @return
*/
- private ResponseEntity<String> savedRoomInfo(IPageData pd, List<ImportRoom> rooms, ComponentValidateResult result) {
+ private ResponseEntity<String> savedRoomInfo(IPageData pd, List<ImportRoom> rooms, List<ImportFee> fees, ComponentValidateResult result) {
String apiUrl = "";
JSONObject paramIn = null;
ResponseEntity<String> responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
@@ -240,7 +272,6 @@
//淇濆瓨 鎴垮眿
-
apiUrl = ServiceConstant.SERVICE_API_URL + "/api/room.saveRoom";
paramIn.put("communityId", result.getCommunityId());
@@ -251,7 +282,9 @@
paramIn.put("apartment", room.getSection());
paramIn.put("state", "2002");
paramIn.put("builtUpArea", room.getBuiltUpArea());
- paramIn.put("unitPrice", "1000.00");
+ paramIn.put("feeCoefficient", "1.00");
+ 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) {
@@ -273,7 +306,49 @@
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;
+ }
+ }
+
+ 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);
+ }
}
@@ -293,7 +368,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) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -311,6 +386,39 @@
JSONObject savedParkingSpaceInfo = savedParkingSpaceInfoResults.getJSONArray("parkingSpaces").getJSONObject(0);
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;
}
@@ -380,7 +488,12 @@
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"));
}
@@ -411,7 +524,9 @@
paramIn.put("communityId", result.getCommunityId());
paramIn.put("floorNum", importFloor.getFloorNum());
paramIn.put("userId", result.getUserId());
- paramIn.put("name", importFloor.getFloorNum() + "鍙锋ゼ");
+ 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);
}
@@ -439,6 +554,7 @@
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);
//灏唘nitId 鍒峰叆ImportFloor瀵硅薄
@@ -560,7 +676,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) {
+
}
/**
@@ -582,12 +699,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;
}
@@ -618,6 +739,58 @@
List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
ImportRoom importRoom = null;
for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
+ 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 (!StringUtil.isNullOrNone(os[6])) {
+ Assert.hasValue(os[7], "鎴垮眿淇℃伅閫夐」涓�" + (osIndex + 1) + "琛屾埧灞嬭垂鐢ㄤ负绌�");
+ Assert.hasValue(os[8], "鎴垮眿淇℃伅閫夐」涓�" + (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);
+ } catch (Exception e) {
+ throw new IllegalArgumentException("鎴垮眿淇℃伅sheet涓" + (osIndex + 1) + "琛屾暟鎹敊璇紝璇锋鏌�" + e.getLocalizedMessage());
+ }
+ }
+ }
+
+ /**
+ * 鑾峰彇 鎴垮眿淇℃伅
+ *
+ * @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;
@@ -625,18 +798,46 @@
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;
+ 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");
}
- importRoom.setImportOwner(getImportOwner(owners, os[6].toString()));
- rooms.add(importRoom);
+ 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");
+ 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);
}
}
@@ -686,24 +887,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);
}
}
@@ -727,6 +944,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