ustcyc
2025-01-07 5fd51c437819f1c9d027a936db4ba2ee7cd2e053
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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<PowerDistribution> 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<PowerDistribution> page = new Page<>(pageNo, pageSize);
        IPage<PowerDistribution> 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<PowerDistribution> checkList = powerDistributionService.list(new QueryWrapper<PowerDistribution>().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<PowerDistribution> checkList = powerDistributionService.list(new QueryWrapper<PowerDistribution>().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<String> idList = new ArrayList<>();
        List<String> errorList = new ArrayList<>();
        for (String id : ids) {
            List<MeterImplement> 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));
        }
    }
 
}