| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 |
- package com.template.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.template.api.HouseNumberControllerAPI;
- import com.template.common.utils.ExcelUtils;
- import com.template.common.utils.ExcelUtils2;
- import com.template.model.dto.HouseNumberBindingDto;
- import com.template.model.dto.HouseNumberDeleteBindingDto;
- import com.template.model.dto.HouseNumberImportDto;
- import com.template.model.pojo.*;
- import com.template.model.result.CommonResult;
- import com.template.model.result.PageUtils;
- import com.template.model.vo.HouseNumberPageVo;
- import com.template.services.*;
- import org.apache.poi.ss.usermodel.Row;
- import org.apache.poi.ss.usermodel.Sheet;
- import org.apache.poi.ss.usermodel.Workbook;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletResponse;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2023-11-09
- */
- @RestController
- public class HouseNumberController implements HouseNumberControllerAPI {
- @Autowired
- HouseNumberService houseNumberService;
- @Autowired
- ElectricEquipmentService electricEquipmentService;
- @Autowired
- WaterEquipmentService waterEquipmentService;
- @Autowired
- PermissionSettingService permissionSettingService;
- @Autowired
- HouseService houseService;
- @Override
- public CommonResult pullDownList(String permissionSettingId, int page, int size, String keyWord) {
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String hydropowerManagement = permissionSetting.getHydropowerManagement();
- if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("4")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- if (ObjectUtils.isEmpty(page) && page <= 0) {
- page = 1;
- }
- if (ObjectUtils.isEmpty(size) && size <= 0) {
- size = 10;
- }
- LambdaQueryWrapper<HouseNumber> wrapper=new LambdaQueryWrapper<>();
- wrapper.like(ObjectUtils.isNotEmpty(keyWord),HouseNumber::getRoomNumber,keyWord)
- .orderByDesc(HouseNumber::getRoomNumber);
- IPage<HouseNumber> page1 = houseNumberService.page(new Page<>(page, size), wrapper);
- return CommonResult.ok(page1);
- }
- @Override
- public CommonResult binding(HouseNumberBindingDto houseNumberBindingDto) {
- String permissionSettingId = houseNumberBindingDto.getPermissionSettingId();
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String hydropowerManagement = permissionSetting.getHydropowerManagement();
- if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("1")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- int houseNumberId = houseNumberBindingDto.getHouseNumberId();
- String meterNameElectric = houseNumberBindingDto.getMeterNameElectric();
- HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
- if (ObjectUtils.isEmpty(houseNumber)) {
- return CommonResult.fail("该房间不存在");
- }
- LambdaQueryWrapper<ElectricEquipment> wrapperEE=new LambdaQueryWrapper<>();
- wrapperEE.eq(ElectricEquipment::getMeterName,meterNameElectric);
- ElectricEquipment electricEquipment = electricEquipmentService.getOne(wrapperEE);
- if (ObjectUtils.isEmpty(electricEquipment)) {
- return CommonResult.fail("该电表设备不存在");
- }
- String meterNameWater = houseNumberBindingDto.getMeterNameWater();
- LambdaQueryWrapper<WaterEquipment> wrapperWE=new LambdaQueryWrapper<>();
- wrapperWE.eq(WaterEquipment::getMeterName,meterNameWater);
- WaterEquipment waterEquipment = waterEquipmentService.getOne(wrapperWE);
- if (ObjectUtils.isEmpty(waterEquipment)) {
- return CommonResult.fail("该水表设备不存在");
- }
- // 判断电表设备id是否已经被绑定了
- LambdaQueryWrapper<HouseNumber> wrarpperHN=new LambdaQueryWrapper<>();
- Integer electricEquipmentId = electricEquipment.getId();
- wrarpperHN.eq(HouseNumber::getElectricEquipmentId,electricEquipmentId);
- List<HouseNumber> list = houseNumberService.list(wrarpperHN);
- if (ObjectUtils.isNotEmpty(list)) {
- return CommonResult.fail("该电表设备已经被绑定");
- }
- // 绑定电表
- houseNumber.setElectricEquipmentId(electricEquipmentId+"");
- houseNumber.setElectricEquipmentMeterName(meterNameElectric);
- // 判断水表设备id是否已经被绑定了
- LambdaQueryWrapper<HouseNumber> wrarpperHN2=new LambdaQueryWrapper<>();
- Integer waterEquipmentId = waterEquipment.getId();
- wrarpperHN2.eq(HouseNumber::getWaterEquipmentId,waterEquipmentId);
- List<HouseNumber> list2 = houseNumberService.list(wrarpperHN2);
- if (ObjectUtils.isNotEmpty(list2)) {
- return CommonResult.fail("该水表设备已经被绑定");
- }
- // 绑定水表
- houseNumber.setWaterEquipmentId(electricEquipmentId+"");
- houseNumber.setWaterEquipmentMeterName(meterNameWater);
- houseNumberService.updateById(houseNumber);
- return CommonResult.ok();
- }
- @Override
- public CommonResult list(String permissionSettingId, int page, int size, String keyWord,String startTime,String endTime) {
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String hydropowerManagement = permissionSetting.getHydropowerManagement();
- if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("4")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- if (ObjectUtils.isEmpty(page) && page <= 0) {
- page = 1;
- }
- if (ObjectUtils.isEmpty(size) && size <= 0) {
- size = 10;
- }
- PageUtils<HouseNumberPageVo> pageList =houseNumberService.pageList(page,size,keyWord,startTime,endTime);
- return CommonResult.ok(pageList);
- }
- @Override
- public CommonResult update(HouseNumberBindingDto houseNumberBindingDto) {
- String permissionSettingId = houseNumberBindingDto.getPermissionSettingId();
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String hydropowerManagement = permissionSetting.getHydropowerManagement();
- if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("2")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- int houseNumberId = houseNumberBindingDto.getHouseNumberId();
- String meterNameElectric = houseNumberBindingDto.getMeterNameElectric();
- HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
- if (ObjectUtils.isEmpty(houseNumber)) {
- return CommonResult.fail("该房间不存在");
- }
- LambdaQueryWrapper<ElectricEquipment> wrapperEE=new LambdaQueryWrapper<>();
- wrapperEE.eq(ElectricEquipment::getMeterName,meterNameElectric);
- ElectricEquipment electricEquipment = electricEquipmentService.getOne(wrapperEE);
- if (ObjectUtils.isEmpty(electricEquipment)) {
- return CommonResult.fail("该电表设备不存在");
- }
- String meterNameWater = houseNumberBindingDto.getMeterNameWater();
- LambdaQueryWrapper<WaterEquipment> wrapperWE=new LambdaQueryWrapper<>();
- wrapperWE.eq(WaterEquipment::getMeterName,meterNameWater);
- WaterEquipment waterEquipment = waterEquipmentService.getOne(wrapperWE);
- if (ObjectUtils.isEmpty(waterEquipment)) {
- return CommonResult.fail("该水表设备不存在");
- }
- // 判断电表设备id是否已经被绑定了
- LambdaQueryWrapper<HouseNumber> wrarpperHN=new LambdaQueryWrapper<>();
- Integer electricEquipmentId = electricEquipment.getId();
- wrarpperHN.eq(HouseNumber::getElectricEquipmentId,electricEquipmentId);
- List<HouseNumber> list = houseNumberService.list(wrarpperHN);
- if (ObjectUtils.isNotEmpty(list)) {
- return CommonResult.fail("该电表设备已经被绑定");
- }
- // 绑定电表
- houseNumber.setElectricEquipmentId(electricEquipmentId+"");
- houseNumber.setElectricEquipmentMeterName(meterNameElectric);
- // 判断水表设备id是否已经被绑定了
- LambdaQueryWrapper<HouseNumber> wrarpperHN2=new LambdaQueryWrapper<>();
- Integer waterEquipmentId = waterEquipment.getId();
- wrarpperHN2.eq(HouseNumber::getWaterEquipmentId,waterEquipmentId);
- List<HouseNumber> list2 = houseNumberService.list(wrarpperHN2);
- if (ObjectUtils.isNotEmpty(list2)) {
- return CommonResult.fail("该水表设备已经被绑定");
- }
- // 绑定水表
- houseNumber.setWaterEquipmentId(electricEquipmentId+"");
- houseNumber.setWaterEquipmentMeterName(meterNameWater);
- houseNumberService.updateById(houseNumber);
- return CommonResult.ok();
- }
- @Override
- public CommonResult delete(HouseNumberDeleteBindingDto houseNumberDeleteBindingDto) {
- String permissionSettingId = houseNumberDeleteBindingDto.getPermissionSettingId();
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String hydropowerManagement = permissionSetting.getHydropowerManagement();
- if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("3")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- int houseNumberId = houseNumberDeleteBindingDto.getHouseNumberId();
- HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
- if (ObjectUtils.isEmpty(houseNumber)) {
- return CommonResult.fail("该房间不存在");
- }
- // 删除电表
- houseNumber.setElectricEquipmentId("");
- houseNumber.setElectricEquipmentMeterName("");
- // 删除水表
- houseNumber.setWaterEquipmentId("");
- houseNumber.setWaterEquipmentMeterName("");
- houseNumberService.updateById(houseNumber);
- return CommonResult.ok();
- }
- @Override
- public CommonResult listExport(HttpServletResponse response, String permissionSettingId, String keyWord, String startTime, String endTime) {
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String hydropowerManagement = permissionSetting.getHydropowerManagement();
- if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("5")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- List<HouseNumberPageVo> vos =houseNumberService.listExport(keyWord,startTime,endTime);
- // 导出
- Workbook workbook = new XSSFWorkbook();
- Sheet sheet = workbook.createSheet("水电设备绑定表");
- Row headerRow = sheet.createRow(0);
- headerRow.createCell(0).setCellValue("序号");
- headerRow.createCell(1).setCellValue("水表编码");
- headerRow.createCell(2).setCellValue("电表编码");
- headerRow.createCell(3).setCellValue("房型类型");
- headerRow.createCell(4).setCellValue("房型名称");
- headerRow.createCell(5).setCellValue("房间号");
- if (ObjectUtils.isNotEmpty(vos) && vos.size() > 0) {
- for (int i = 0; i < vos.size(); i++) {
- Row dataRow1 = sheet.createRow(i + 1);
- HouseNumberPageVo vo = vos.get(i);
- dataRow1.createCell(0).setCellValue(i+1);
- dataRow1.createCell(1).setCellValue(vo.getWaterEquipmentMeterName());
- dataRow1.createCell(2).setCellValue(vo.getElectricEquipmentMeterName());
- Integer roomType = vo.getRoomType();
- String houseType="";
- if (1==roomType) {
- houseType="全日房";
- }else {
- houseType="钟点房";
- }
- dataRow1.createCell(3).setCellValue(houseType);
- dataRow1.createCell(4).setCellValue(vo.getHouseName());
- dataRow1.createCell(5).setCellValue(vo.getHouseName());
- }
- }
- // 将工作簿写入文件
- ExcelUtils2.excelDownload(workbook, "水电设备绑定表.xlsx", response);
- return CommonResult.ok();
- }
- @Override
- public CommonResult importList(MultipartFile file) throws Exception {
- List<HouseNumberImportDto> dtos= ExcelUtils.readMultipartFile(file, HouseNumberImportDto.class);
- ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
- for (int i = 0; i < dtos.size(); i++) {
- HouseNumberImportDto dto = dtos.get(i);
- Integer roomType = dto.getRoomType();
- // 房间号
- String roomNumber = dto.getRoomNumber();
- // 房型
- String houseName = dto.getHouseName();
- // 判断当前房型是否存在当前房间号
- House house=houseService.getHouseName(houseName,roomType);
- if (ObjectUtils.isEmpty(house)) {
- return CommonResult.fail("第"+(i+2)+"行,"+"不存在"+houseName+"该房型");
- }
- Integer houseId = house.getId();
- HouseNumber houseNumber=houseNumberService.getRoomNumber(houseId,roomNumber);
- if (ObjectUtils.isEmpty(houseNumber)) {
- return CommonResult.fail("第"+(i+2)+"行,"+"不存在"+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());
- houseNumbers.add(houseNumber);
- }
- boolean b = houseNumberService.saveOrUpdateBatch(houseNumbers);
- if (b) {
- return CommonResult.ok();
- }
- return CommonResult.fail();
- }
- }
|