package com.zhitan.web.controller.powerDistribution; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.basicdata.domain.MeterImplement; import com.zhitan.basicdata.services.IMeterImplementService; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.powerDistribution.domain.PowerDistribution; import com.zhitan.powerDistribution.services.IPowerDistributionService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/powerDistribution") public class PowerDistributionController extends BaseController { @Resource private IPowerDistributionService powerDistributionService; @Resource private IMeterImplementService meterImplementService; /** * 配电室列表 * * @param powerDistribution * @return */ @GetMapping("/list") public AjaxResult list(PowerDistribution powerDistribution) { List list = powerDistributionService.selectPowerDistributionList(powerDistribution); return AjaxResult.success(list); } /** * 配电室列表分页查询 * * @param powerDistribution * @param pageNo * @param pageSize * @return */ @GetMapping("/pageList") public AjaxResult pageList(PowerDistribution powerDistribution, @RequestParam(required = false, defaultValue = "1") int pageNo, @RequestParam(required = false, defaultValue = "10") int pageSize) { Page page = new Page<>(pageNo, pageSize); IPage pageList = powerDistributionService.pageList(powerDistribution, page); return AjaxResult.success(pageList); } /** * 查看配电室详情 * * @param id * @return */ @GetMapping("/getDetail") public AjaxResult getDetail(@RequestParam("id") String id) { PowerDistribution powerDistribution = powerDistributionService.getById(id); return AjaxResult.success(powerDistribution); } /** * 新增配电室 * * @param powerDistribution * @return */ @PostMapping("/add") public AjaxResult addPowerDistribution(@RequestBody PowerDistribution powerDistribution) { List checkList = powerDistributionService.list(new QueryWrapper().eq("code", powerDistribution.getCode())); if (CollectionUtils.isNotEmpty(checkList)) { return AjaxResult.error("配电室编码不能重复,请重新输入"); } return AjaxResult.success(powerDistributionService.save(powerDistribution)); } /** * 编辑配电室 * * @param powerDistribution * @return */ @PostMapping("/edit") public AjaxResult edit(@RequestBody PowerDistribution powerDistribution) { List checkList = powerDistributionService.list(new QueryWrapper().ne("id", powerDistribution.getId()).eq("code", powerDistribution.getCode())); if (CollectionUtils.isNotEmpty(checkList)) { return AjaxResult.error("配电室编码不能重复,请重新输入"); } return AjaxResult.success(powerDistributionService.updateById(powerDistribution)); } /** * 删除配电室 * * @param ids * @return */ @DeleteMapping("/remove") public AjaxResult remove(@RequestParam("ids") String[] ids) { List idList = new ArrayList<>(); List errorList = new ArrayList<>(); for (String id : ids) { List meterList = meterImplementService.listMeterImplByInstallLocation(id); if (CollectionUtils.isEmpty(meterList)) { idList.add(id); } else { errorList.add(id); } } if (CollectionUtils.isNotEmpty(errorList)) { return AjaxResult.error("此配电室已在计量器具中配置,不能删除"); } else { return AjaxResult.success(powerDistributionService.deleteByIds(idList)); } } }