From 2b919980a8c70554a64cb3d03cc95679af4d817f Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 03 七月 2023 00:22:16 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java | 194 +++++++++++++++++++++++++++--------------------
1 files changed, 111 insertions(+), 83 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
index 532367c..e8873f4 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerCarSMOImpl.java
@@ -5,25 +5,24 @@
import com.java110.api.smo.assetImport.IImportOwnerCarSMO;
import com.java110.core.context.IPageData;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.FloorDto;
-import com.java110.dto.RoomDto;
-import com.java110.dto.UnitDto;
+import com.java110.core.log.LoggerFactory;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
import com.java110.dto.parking.ParkingAreaDto;
import com.java110.dto.parking.ParkingSpaceDto;
-import com.java110.entity.component.ComponentValidateResult;
+import com.java110.dto.system.ComponentValidateResult;
import com.java110.intf.community.*;
-import com.java110.intf.user.*;
+import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.po.car.OwnerCarPo;
+import com.java110.po.parking.ParkingAreaPo;
import com.java110.po.parking.ParkingSpacePo;
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;
-import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -67,7 +66,13 @@
private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
@Autowired
+ private IParkingAreaV1InnerServiceSMO parkingAreaV1InnerServiceSMOImpl;
+
+ @Autowired
private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+ @Autowired
+ private IParkingSpaceV1InnerServiceSMO parkingSpaceV1InnerServiceSMOImpl;
@Override
public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
@@ -106,38 +111,40 @@
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.hasValue(os[6], (osIndex + 1) + "杞︿綅涓嶈兘涓虹┖");
- Assert.hasValue(os[7], (osIndex + 1) + "璧风鏃堕棿涓嶈兘涓虹┖");
- Assert.hasValue(os[8], (osIndex + 1) + "鎴鏃堕棿涓嶈兘涓虹┖");
- Assert.hasValue(os[9], (osIndex + 1) + "鍋滆溅鍦虹被鍨嬩笉鑳戒负绌�");
- Assert.hasValue(os[10], (osIndex + 1) + "杞︿綅绫诲瀷涓嶈兘涓虹┖");
- String startTime = excelDoubleToDate(os[7].toString());
- String endTime = excelDoubleToDate(os[8].toString());
- Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_A, (osIndex + 1) + "琛屽紑濮嬫椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD HH:mm:ss鏂囨湰鏍煎紡");
- Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_A, (osIndex + 1) + "琛岀粨鏉熸椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD HH:mm:ss鏂囨湰鏍煎紡");
+ Assert.hasValue(os[1], (osIndex + 1) + "涓氫富涓嶈兘涓虹┖");
+ Assert.hasValue(os[2], (osIndex + 1) + "鎵嬫満鍙蜂笉鑳戒负绌�");
+ Assert.hasValue(os[3], (osIndex + 1) + "杞﹁締鍝佺墝涓嶈兘涓虹┖");
+ Assert.hasValue(os[4], (osIndex + 1) + "杞﹁締绫诲瀷涓嶈兘涓虹┖");
+ Assert.hasValue(os[5], (osIndex + 1) + "棰滆壊涓嶈兘涓虹┖");
+ Assert.hasValue(os[6], (osIndex + 1) + "鍋滆溅鍦轰笉鑳戒负绌�");
+ 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) + "杞︿綅绫诲瀷涓嶈兘涓虹┖");
+ String startTime = excelDoubleToDate(os[8].toString());
+ String endTime = excelDoubleToDate(os[9].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鏂囨湰鏍煎紡");
importOwnerCar = new OwnerCarDto();
importOwnerCar.setCarNum(os[0].toString());
- importOwnerCar.setRoomName(os[1].toString());
- importOwnerCar.setCarBrand(os[2].toString());
- importOwnerCar.setCarType(os[3].toString());
- importOwnerCar.setCarColor(os[4].toString());
- importOwnerCar.setOwnerName(os[5].toString());
+ importOwnerCar.setOwnerName(os[1].toString());
+ importOwnerCar.setLink(os[2].toString());
+ importOwnerCar.setCarBrand(os[3].toString());
+ importOwnerCar.setCarType(os[4].toString());
+ importOwnerCar.setCarColor(os[5].toString());
+ importOwnerCar.setAreaNum(os[6].toString());
//鑾峰彇杞︿綅
- String parkingLot = os[6].toString();
- String[] split = parkingLot.split("-");
- importOwnerCar.setAreaNum(split[0]);
- importOwnerCar.setNum(split[1]);
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String parkingLot = os[7].toString();
+ importOwnerCar.setNum(parkingLot);
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
importOwnerCar.setStartTime(simpleDateFormat.parse(startTime));
importOwnerCar.setEndTime(simpleDateFormat.parse(endTime));
- importOwnerCar.setTypeCd(os[9].toString());
- importOwnerCar.setSpaceSate(os[10].toString());
+ importOwnerCar.setTypeCd(os[10].toString());
+ importOwnerCar.setSpaceSate(os[11].toString());
ownerCarDtos.add(importOwnerCar);
+
+
}
}
@@ -160,82 +167,103 @@
if (ownerCars.size() < 1) {
throw new IllegalArgumentException("娌℃湁鏁版嵁闇�瑕佸鐞�");
}
+ String psId = "";
+ String paId = "";
+
+ validateOwnerData(ownerCars, reqJson);
for (OwnerCarDto ownerCarDto : ownerCars) {
OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(ownerCarDto, OwnerCarPo.class);
-
//鑾峰彇鎴垮眿鍚嶇О
- String roomName = ownerCarDto.getRoomName().trim();
- String[] split = roomName.split("-");
- String floorNum = split[0];
- String unitNum = split[1];
- String roomNum = split[2];
- FloorDto floorDto = new FloorDto();
- floorDto.setCommunityId(reqJson.getString("communityId"));
- floorDto.setFloorNum(floorNum);
- //鏌ヨ妤兼爧
- List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
- Assert.listOnlyOne(floorDtos, "鏌ヨ妤兼爧閿欒锛�");
- UnitDto unitDto = new UnitDto();
- unitDto.setUnitNum(unitNum);
- unitDto.setFloorId(floorDtos.get(0).getFloorId());
- //鏌ヨ鍗曞厓
- List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
- Assert.listOnlyOne(unitDtos, "鏌ヨ鍗曞厓閿欒锛�");
- RoomDto roomDto = new RoomDto();
- roomDto.setRoomNum(roomNum);
- roomDto.setUnitId(unitDtos.get(0).getUnitId());
- //鏌ヨ鎴垮眿
- List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
- Assert.listOnlyOne(roomDtos, "鏌ヨ鎴垮眿閿欒锛�");
- OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
- ownerRoomRelDto.setRoomId(roomDtos.get(0).getRoomId());
- //鏌ヨ涓氫富鎴垮眿鍏崇郴琛�
- List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
- Assert.listOnlyOne(ownerRoomRelDtos, "鏌ヨ涓氫富鎴垮眿淇℃伅閿欒锛�");
- OwnerDto ownerDto = new OwnerDto();
- ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
- ownerDto.setName(ownerCarDto.getOwnerName());
- //鏌ヨ涓氫富
- List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
- Assert.listOnlyOne(ownerDtos, "鏌ヨ涓氫富淇℃伅閿欒锛�");
- if (ownerDtos.get(0).getOwnerTypeCd().equals("1001")) { //涓氫富
- ownerCarPo.setCarTypeCd("1001"); //涓氫富杞﹁締
- } else {
- ownerCarPo.setCarTypeCd("1002"); //鎴愬憳杞﹁締
- }
+ ownerCarPo.setCarTypeCd("1001"); //涓昏溅杈�
ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
parkingAreaDto.setNum(ownerCarDto.getAreaNum());
parkingAreaDto.setTypeCd(ownerCarDto.getTypeCd());
//鏌ヨ鍋滆溅鍦�
List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
- Assert.listOnlyOne(parkingAreaDtos, "鏌ヨ鍋滆溅鍦洪敊璇紒");
+ //Assert.listOnlyOne(parkingAreaDtos, "鏌ヨ鍋滆溅鍦洪敊璇紒");
+ if (parkingAreaDtos == null || parkingAreaDtos.size() < 1) {
+ paId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_paId);
+ ParkingAreaPo parkingAreaPo = new ParkingAreaPo();
+ parkingAreaPo.setCommunityId(reqJson.getString("communityId"));
+ parkingAreaPo.setNum(ownerCarDto.getAreaNum());
+ parkingAreaPo.setPaId(paId);
+ parkingAreaPo.setTypeCd(ownerCarDto.getTypeCd());
+ parkingAreaPo.setRemark("瀵煎叆鏁版嵁");
+ parkingAreaV1InnerServiceSMOImpl.saveParkingArea(parkingAreaPo);
+ } else {
+ paId = parkingAreaDtos.get(0).getPaId();
+ }
ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
parkingSpaceDto.setNum(ownerCarDto.getNum());
- parkingSpaceDto.setPaId(parkingAreaDtos.get(0).getPaId());
+ parkingSpaceDto.setPaId(paId);
//鏌ヨ鍋滆溅浣�
List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
- Assert.listOnlyOne(parkingSpaceDtos, "鏌ヨ鍋滆溅浣嶉敊璇紒");
- //鑾峰彇鍋滆溅浣嶇姸鎬�(鍑哄敭 S锛屽嚭绉� H 锛岀┖闂� F)
- String state = parkingSpaceDtos.get(0).getState();
- if (!StringUtil.isEmpty(state) && !state.equals("F")) {
- throw new IllegalArgumentException(parkingAreaDtos.get(0).getNum() + "鍋滆溅鍦�-" + parkingSpaceDtos.get(0).getNum() + "鍋滆溅浣嶄笉鏄┖闂茬姸鎬侊紒");
+ String state = "";
+ if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) {
+ psId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_psId);
+ ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
+ parkingSpacePo.setCommunityId(reqJson.getString("communityId"));
+ parkingSpacePo.setNum(ownerCarDto.getNum());
+ parkingSpacePo.setPaId(paId);
+ parkingSpacePo.setArea("1");
+ parkingSpacePo.setParkingType(ParkingSpaceDto.TYPE_CD_COMMON);
+ parkingSpacePo.setState(ParkingSpaceDto.STATE_FREE);
+ parkingSpacePo.setPsId(psId);
+ parkingSpacePo.setRemark("瀵煎叆鏁版嵁");
+ parkingSpaceV1InnerServiceSMOImpl.saveParkingSpace(parkingSpacePo);
+ state = ParkingSpaceDto.STATE_FREE;
+ } else {
+ psId = parkingSpaceDtos.get(0).getPsId();
+ //鑾峰彇鍋滆溅浣嶇姸鎬�(鍑哄敭 S锛屽嚭绉� H 锛岀┖闂� F)
+ state = parkingSpaceDtos.get(0).getState();
}
- ownerCarPo.setPsId(parkingSpaceDtos.get(0).getPsId());
- ownerCarPo.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
+
+ if (!StringUtil.isEmpty(state) && !state.equals("F")) {
+ throw new IllegalArgumentException(ownerCarDto.getAreaNum() + "鍋滆溅鍦�-" + ownerCarDto.getNum() + "鍋滆溅浣嶄笉鏄┖闂茬姸鎬侊紒");
+ }
+ ownerCarPo.setPsId(psId);
+ ownerCarPo.setOwnerId(ownerCarDto.getOwnerId());
ownerCarPo.setUserId("-1");
ownerCarPo.setCommunityId(reqJson.getString("communityId"));
ownerCarPo.setCarId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
ownerCarPo.setMemberId(ownerCarPo.getCarId());
ownerCarPo.setState("1001"); //1001 姝e父鐘舵�侊紝2002 杞︿綅閲婃斁娆犺垂鐘舵�侊紝3003 杞︿綅閲婃斁
+ ownerCarPo.setLeaseType(ownerCarDto.getSpaceSate());
ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
- parkingSpacePo.setPsId(parkingSpaceDtos.get(0).getPsId()); //杞︿綅id
+ parkingSpacePo.setPsId(psId); //杞︿綅id
parkingSpacePo.setState(ownerCarDto.getSpaceSate());
parkingSpaceInnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
}
return ResultVo.success();
}
+ private void validateOwnerData(List<OwnerCarDto> ownerCars, JSONObject reqJson) {
+
+ for (OwnerCarDto ownerCarDto : ownerCars) {
+
+ if(!"1001".equals(ownerCarDto.getTypeCd()) && !"2001".equals(ownerCarDto.getTypeCd())){
+ throw new IllegalArgumentException(ownerCarDto.getCarNum()+"鍋滆溅鍦虹被鍨嬪簲濉啓 1001(鍦颁笂鍋滆溅鍦�)鎴栬�� 2001 (鍦颁笅鍋滆溅鍦�)");
+ }
+ if(!"H".equals(ownerCarDto.getSpaceSate()) && !"S".equals(ownerCarDto.getSpaceSate())){
+ throw new IllegalArgumentException(ownerCarDto.getCarNum()+"杞︿綅鐘舵�佸簲濉啓 S锛堝嚭鍞級鎴栬�� H 锛堝嚭绉燂級");
+ }
+
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setName(ownerCarDto.getOwnerName());
+ ownerDto.setLink(ownerCarDto.getLink());
+ ownerDto.setCommunityId(reqJson.getString("communityId"));
+ //鏌ヨ涓氫富
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+ //Assert.listOnlyOne(ownerDtos, ownerCarDto.getCarNum() + "鏌ヨ涓氫富淇℃伅閿欒锛�");
+ if(ownerDtos == null || ownerDtos.size() < 1){
+ throw new IllegalArgumentException("涓氫富涓嶅瓨鍦�");
+ }
+ ownerCarDto.setOwnerId(ownerDtos.get(0).getOwnerId());
+ }
+
+ }
+
//瑙f瀽Excel鏃ユ湡鏍煎紡
public static String excelDoubleToDate(String strDate) {
if (strDate.length() == 5) {
--
Gitblit v1.8.0