|
|
@@ -16,6 +16,7 @@ import com.template.model.result.PageUtils;
|
|
|
import com.template.model.vo.HouseNumberListVo;
|
|
|
import com.template.model.vo.HouseNumberPageVo;
|
|
|
import com.template.model.vo.HouseNumberPullDownVo;
|
|
|
+import com.template.model.vo.HouseNumbersImportDto;
|
|
|
import com.template.services.*;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
|
@@ -29,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -424,8 +426,8 @@ public class HouseNumberController implements HouseNumberControllerAPI {
|
|
|
ArrayList<HouseNumberPullDownVo> vos = new ArrayList<>();
|
|
|
for (Building building : buildingList) {
|
|
|
HouseNumberPullDownVo vo = new HouseNumberPullDownVo();
|
|
|
- vo.setId(building.getId()+1000000);
|
|
|
- vo.setRoomNumber(building.getBuilding()+"/"+building.getElement());
|
|
|
+ vo.setId(building.getId() + 1000000);
|
|
|
+ vo.setRoomNumber(building.getBuilding() + "/" + building.getElement());
|
|
|
List<HouseNumber> ownerClasses = list.stream().filter(e -> e.getBuildingId().equals(building.getId())).collect(Collectors.toList());
|
|
|
if (ownerClasses != null && ownerClasses.size() > 0) {
|
|
|
vo.setVos(ownerClasses);
|
|
|
@@ -620,9 +622,9 @@ public class HouseNumberController implements HouseNumberControllerAPI {
|
|
|
hl.setNfcFunction(0);
|
|
|
houseLockService.save(hl);
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
if (ObjectUtils.isNotEmpty(houseLock)) {
|
|
|
- houseLockService.removeById(houseLock.getId());
|
|
|
+ houseLockService.removeById(houseLock.getId());
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
@@ -633,6 +635,7 @@ public class HouseNumberController implements HouseNumberControllerAPI {
|
|
|
return CommonResult.ok();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public CommonResult deleteHouseNumber(Integer houseNumberId) {
|
|
|
@@ -649,14 +652,129 @@ public class HouseNumberController implements HouseNumberControllerAPI {
|
|
|
houseLockService.removeById(houseLock.getId());
|
|
|
}
|
|
|
houseNumberService.removeById(houseNumberId);
|
|
|
- }catch (Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return CommonResult.fail();
|
|
|
}
|
|
|
return CommonResult.ok();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void houseNumberExport(HttpServletResponse response) {
|
|
|
+ // 导出
|
|
|
+
|
|
|
+ // 表头数据
|
|
|
+ List<Object> head = Arrays.asList("楼栋", "单元", "房间号", "房型类型", "房型名称", "门锁设备型号", "水表编码", "电表编码");
|
|
|
+
|
|
|
+
|
|
|
+ // 用户1数据
|
|
|
+ List<Object> user1 = new ArrayList<>();
|
|
|
+ user1.add("17栋");
|
|
|
+ user1.add("1单元");
|
|
|
+ user1.add("17-101");
|
|
|
+ user1.add("全日房");
|
|
|
+ user1.add("大床房");
|
|
|
+ user1.add("047863CA78E0");
|
|
|
+ user1.add("202308000088");
|
|
|
+ user1.add("120302136367");
|
|
|
+
|
|
|
+
|
|
|
+ List<Object> user2 = new ArrayList<>();
|
|
|
+ user2.add("17栋");
|
|
|
+ user2.add("1单元");
|
|
|
+ user2.add("17-102");
|
|
|
+ user2.add("钟点房");
|
|
|
+ user2.add("大床房");
|
|
|
+ user2.add("047863CA78E0");
|
|
|
+ user2.add("202308000088");
|
|
|
+ user2.add("120302136367");
|
|
|
+ // 将数据汇总
|
|
|
+ List<List<Object>> sheetDataList = new ArrayList<>();
|
|
|
+ sheetDataList.add(head);
|
|
|
+ sheetDataList.add(user1);
|
|
|
+ sheetDataList.add(user2);
|
|
|
+// 导出数据
|
|
|
+ ExcelUtils.export(response, "房间导入模板", sheetDataList);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public CommonResult importHouseNumbers(MultipartFile file) throws Exception {
|
|
|
+ List<HouseNumbersImportDto> dtos = ExcelUtils.readMultipartFile(file, HouseNumbersImportDto.class);
|
|
|
+
|
|
|
+ ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
|
|
|
+ for (int i = 0; i < dtos.size(); i++) {
|
|
|
+ HouseNumbersImportDto dto = dtos.get(i);
|
|
|
+ HouseNumber houseNumber = new HouseNumber();
|
|
|
+
|
|
|
+// 判断是否存在该楼栋单元
|
|
|
+ String building = dto.getBuilding();
|
|
|
+ String element = dto.getElement();
|
|
|
+
|
|
|
+ LambdaQueryWrapper<Building> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(Building::getBuilding, building)
|
|
|
+ .eq(Building::getElement, element);
|
|
|
+ Building one = buildingService.getOne(wrapper);
|
|
|
+ if (ObjectUtils.isEmpty(one)) {
|
|
|
+ return CommonResult.fail("第" + (i + 2) + "行," + "不存在" + building+"/"+element + "该楼栋单元");
|
|
|
+ }
|
|
|
+ Integer bId = one.getId();
|
|
|
+ houseNumber.setBuildingId(bId);
|
|
|
+
|
|
|
+// 判断是否存在该房型
|
|
|
+ Integer roomType = dto.getRoomType();
|
|
|
+// 房型
|
|
|
+ String houseName = dto.getHouseName();
|
|
|
+
|
|
|
+ // 判断当前房型是否存在当前房间号
|
|
|
+ House house = houseService.getHouseName(houseName, roomType);
|
|
|
+ if (ObjectUtils.isEmpty(house)) {
|
|
|
+ return CommonResult.fail("第" + (i + 2) + "行," + "不存在" + houseName + "该房型");
|
|
|
+ }
|
|
|
+ houseNumber.setHouseId(house.getId()+"");
|
|
|
+
|
|
|
+// 判断该房间号是否已经存在
|
|
|
+ // 房间号
|
|
|
+ String roomNumber = dto.getRoomNumber();
|
|
|
+ HouseNumber hn = houseNumberService.getBRoomNumber(bId, roomNumber);
|
|
|
+ if (ObjectUtils.isNotEmpty(hn)) {
|
|
|
+ return CommonResult.fail("第" + (i + 2) + "行," + "该楼栋单元下已存在" + roomNumber + "该房间号");
|
|
|
+ }
|
|
|
+ houseNumber.setRoomNumber(roomNumber);
|
|
|
+
|
|
|
+ String electricEquipmentMeterName = dto.getElectricEquipmentMeterName();
|
|
|
+ LambdaQueryWrapper<ElectricEquipment> wrapperEE = new LambdaQueryWrapper<>();
|
|
|
+ wrapperEE.eq(ElectricEquipment::getMeterName, electricEquipmentMeterName);
|
|
|
+ ElectricEquipment electricEquipment = electricEquipmentService.getOne(wrapperEE);
|
|
|
+
|
|
|
+ if (ObjectUtils.isEmpty(electricEquipment)) {
|
|
|
+ return CommonResult.fail("第" + (i + 2) + "行," + "不存在" + electricEquipmentMeterName + "该电表设备号");
|
|
|
+ }
|
|
|
+
|
|
|
+ String waterEquipmentMeterName = dto.getWaterEquipmentMeterName();
|
|
|
+ LambdaQueryWrapper<WaterEquipment> wrapperWE = new LambdaQueryWrapper<>();
|
|
|
+ wrapperWE.eq(WaterEquipment::getMeterName, waterEquipmentMeterName);
|
|
|
+ WaterEquipment waterEquipment = waterEquipmentService.getOne(wrapperWE);
|
|
|
+ if (ObjectUtils.isEmpty(waterEquipment)) {
|
|
|
+ return CommonResult.fail("第" + (i + 2) + "行," + "不存在" + waterEquipmentMeterName + "该水表设备号");
|
|
|
+ }
|
|
|
|
|
|
+ houseNumber.setElectricEquipmentId(electricEquipment.getId() + "");
|
|
|
+ houseNumber.setElectricEquipmentMeterName(electricEquipment.getMeterName());
|
|
|
+ houseNumber.setWaterEquipmentId(waterEquipment.getId() + "");
|
|
|
+ houseNumber.setWaterEquipmentMeterName(waterEquipment.getMeterName());
|
|
|
+
|
|
|
+ houseNumber.setHouseStatus(1);
|
|
|
+ houseNumber.setElectricType("2");
|
|
|
+
|
|
|
+ houseNumbers.add(houseNumber);
|
|
|
+ }
|
|
|
+ boolean b = houseNumberService.saveBatch(houseNumbers);
|
|
|
+ if (b) {
|
|
|
+ return CommonResult.ok();
|
|
|
+ }
|
|
|
+ return CommonResult.fail();
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|