liulingling.177216
2024-08-26 349f1cfc5fa77fbc636d542df0d8050fddec48c2
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
package com.dingzhuo.energy.project.energyConsumeInput.controller;
 
import com.alibaba.fastjson.JSON;
import com.dingzhuo.energy.common.utils.DateUtils;
import com.dingzhuo.energy.common.utils.SecurityUtils;
import com.dingzhuo.energy.framework.web.controller.BaseController;
import com.dingzhuo.energy.framework.web.page.TableDataInfo;
import com.dingzhuo.energy.project.common.*;
import com.dingzhuo.energy.project.energyConsumeInput.domain.*;
import com.dingzhuo.energy.project.energyConsumeInput.service.IEnergyConsumeInputService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * 对标Controller
 *
 * @author sys
 * @date 2020-12-22
 */
@RestController
@RequestMapping("/energyAssistInput/energyYearConsumeInput")
@Api(value = "年数据录入",tags = {"年数据录入"})
public class energyYearConsumeInputController extends BaseController {
    @Autowired
    private IEnergyConsumeInputService energyConsumeInputService;
 
    /**
     * 查询  年度能耗手动录入值 列表
     */
    @GetMapping("/listEnergyConsumeInputIndex")
    @ApiOperation(value = "年数据录入列表")
    public TableDataInfo list(String nodeId, String date, String timeType) {
        String tempDate = date;
        date = DateTimeUtil.toDateTimeStr(date, DateTimeUtil.COMMON_PATTERN_YEAR, DateTimeUtil.COMMON_PATTERN_YEAR);
        String timeCode = CommonConst.WORD_Y + date;
        List<EnergyConsumeInput> list = energyConsumeInputService.selectEnergyConsumeInputList(nodeId, timeCode, timeType);
        for (EnergyConsumeInput input : list) {
            input.setDataTimeStr(DateTimeUtil.getDateTime(input.getDataTime(), DateTimeUtil.COMMON_PATTERN_YEAR));
            if (StringUtil.isEmptyOrNull(input.getDataTimeStr())) {
                input.setDataTimeStr(tempDate);
            }
            input.setCreateTimeStr(DateTimeUtil.toString(input.getCreateTime()));
        }
        return getDataTable(list);
    }
 
    /**
     * 保存能耗手动输入信息
     *
     * @return
     */
    @PostMapping("/saveEnergyConsumeInput")
    @ApiOperation(value = "年数据录入保存")
    public TableDataInfo save(@RequestHeader("Authorization") String authorization, @RequestBody SaveEnergyConsumeInputModel model) {
        if (model != null && !model.getModels().isEmpty()) {
            EnergyConsumeInput temp = model.getModels().stream().findFirst().orElse(null);
            String timeCode = CommonConst.EMPTY;
            Date dataTime = null;
            if (temp != null) {
                String dt = temp.getDataTimeStr();
                dataTime = DateTimeUtil.toDateTime(dt, DateTimeUtil.COMMON_PATTERN_YEAR);
                timeCode = CommonConst.WORD_Y + DateTimeUtil.getYear(dataTime);
            }
            List<String> indexIds = model.getModels().stream().map(EnergyConsumeInput::getIndexId).collect(Collectors.toList());
 
            int res = energyConsumeInputService.deleteEnergyConsumeInputByIds(indexIds, timeCode);
 
            List<SaveEnergyConsumeInputEntity> dataItemList = new ArrayList<>();
            Date endTime = DateTimeUtil.addSeconds(DateTimeUtil.addYears(dataTime, CommonConst.DIGIT_1), CommonConst.DIGIT_MINUS_1);
            String userName = SecurityUtils.getUsername();
            for (EnergyConsumeInput input : model.getModels()) {
                if (input.getValue() != null) {
                    SaveEnergyConsumeInputEntity data = new SaveEnergyConsumeInputEntity();
                    data.setValue(input.getValue());
                    data.setCreateTime(DateUtils.getNowDate());
                    data.setIndexId(input.getIndexId());
                    data.setIndexCode(input.getCode());
                    data.setTimeType(TimeTypeConst.TIME_TYPE_YEAR);
                    data.setTimeCode(timeCode);
                    data.setDataTime(dataTime);
                    data.setBeginTime(dataTime);
                    data.setEndTime(endTime);
                    data.setCreateBy(userName);
                    dataItemList.add(data);
                }
            }
            int saveRes = energyConsumeInputService.saveEnergyConsumeInputList(dataItemList);
            if (saveRes > 0) {
                boolean mark = energyConsumeInputService.reCalcIndexIdByIds(indexIds, TimeTypeConst.TIME_TYPE_YEAR, authorization, dataTime);
            }
        }
        List<String> res = new ArrayList<>();
        return getDataTable(res);
    }
}