liulin
6 天以前 2b5c36b4830adf4227f248d4e10bdb90b1e5f3d8
添加首页大屏数据统计
已添加10个文件
884 ■■■■■ 文件已修改
src/main/java/com/fengdu/gas/entity/request/facilityruntime/ReqCreateFacilityRunTime.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/entity/request/facilityruntime/ReqModifyFacilityRunTime.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/entity/search/SearchFacilityRunTime.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/host/controller/FacilityRunTimeController.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/repository/impl/FacilityRunTimeMapperImpl.java 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/repository/mapper/FacilityRunTimeMapper.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/repository/po/FacilityRunTimePO.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/repository/vo/FacilityRunTimeVO.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/service/FacilityRunTimeService.java 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/service/convert/FacilityRunTimeConvert.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fengdu/gas/entity/request/facilityruntime/ReqCreateFacilityRunTime.java
对比新文件
@@ -0,0 +1,61 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.entity.request.facilityruntime;
import lombok.Data;
/**
 * 设备运行时长
 * @author zr
 */
@Data
public class ReqCreateFacilityRunTime {
    /**
     * 泵房id
     */
    private Long pointId;
    /**
     * 泵房名称
     */
    private String pointName;
    /**
     * 设备id
     */
    private Long facilityId;
    /**
     * 设备名称
     */
    private String facilityName;
    /**
     * 开启时间
     */
    private String openTime;
    /**
     * 关闭时间
     */
    private String closeTime;
    /**
     * 运行时长
     */
    private Integer runTime;
}
src/main/java/com/fengdu/gas/entity/request/facilityruntime/ReqModifyFacilityRunTime.java
对比新文件
@@ -0,0 +1,65 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.entity.request.facilityruntime;
import lombok.Data;
/**
 * 设备运行时长
 * @author zr
 */
@Data
public class ReqModifyFacilityRunTime {
    /**
     * 主键id
     */
    private Long id;
    /**
     * 泵房id
     */
    private Long pointId;
    /**
     * 泵房名称
     */
    private String pointName;
    /**
     * 设备id
     */
    private Long facilityId;
    /**
     * 设备名称
     */
    private String facilityName;
    /**
     * 开启时间
     */
    private String openTime;
    /**
     * 关闭时间
     */
    private String closeTime;
    /**
     * 运行时长
     */
    private Integer runTime;
}
src/main/java/com/fengdu/gas/entity/search/SearchFacilityRunTime.java
对比新文件
@@ -0,0 +1,14 @@
package com.fengdu.gas.entity.search;
import lombok.Data;
import com.fengdu.gas.entity.dto.SearchBasicDTO;
/**
 * 设备运行时长
 * @author zr
 */
@Data
public class SearchFacilityRunTime extends SearchBasicDTO {
}
src/main/java/com/fengdu/gas/host/controller/FacilityRunTimeController.java
对比新文件
@@ -0,0 +1,113 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.host.controller;
import com.fengdu.gas.common.ExecutedResult;
import com.fengdu.gas.common.PagerResult;
import com.fengdu.gas.common.util.ParameterUtil;
import com.fengdu.gas.common.validator.ParameterValidateResult;
import com.fengdu.gas.common.validator.ParameterValidator;
import com.fengdu.gas.entity.request.ReqListId;
import com.fengdu.gas.host.BasicController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.fengdu.gas.service.FacilityRunTimeService;
import com.fengdu.gas.entity.request.facilityruntime.ReqCreateFacilityRunTime;
import com.fengdu.gas.entity.request.facilityruntime.ReqModifyFacilityRunTime;
import com.fengdu.gas.entity.search.SearchFacilityRunTime;
import com.fengdu.gas.repository.vo.FacilityRunTimeVO;
/**
 * 9000.设备运行时长
 * @author zr
 * @order 9000
 */
@RestController
@RequestMapping(value = "facilityRunTime")
public class FacilityRunTimeController extends BasicController {
    @Autowired
    private FacilityRunTimeService service;
    /**
     * 创建[设备运行时长]
     * @author zr
     */
    @PostMapping(value = "create")
    public ExecutedResult<Long> create(@RequestBody ReqCreateFacilityRunTime request) {
        //#region 参数验证
        ParameterValidator validator = new ParameterValidator()
                // 非空
                //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName())
                // 限制最大长度
                //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50)
                ;
        ParameterValidateResult result = validator.validate();
        if (result.getIsFiled()) {
            return failed(result.getErrorMsg());
        }
        //#endregion
        return service.create(request);
    }
    /**
     * 编辑[设备运行时长]
     * @author zr
     */
    @PostMapping(value = "modify")
    public ExecutedResult<String> modify(@RequestBody ReqModifyFacilityRunTime request) {
        //#region 参数验证
        ParameterValidator validator = new ParameterValidator()
                // 必须大于0
                .addGreater(ParameterUtil.named("[设备运行时长]id"), request.getId(), 0L)
                // 非空
                //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName())
                // 限制最大长度
                //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50)
                ;
        ParameterValidateResult result = validator.validate();
        if (result.getIsFiled()) {
            return failed(result.getErrorMsg());
        }
        //#endregion
        return service.modify(request);
    }
    /**
     * 获取[设备运行时长]
     * @author zr
     */
    @GetMapping(value = "get/{id}")
    public ExecutedResult<FacilityRunTimeVO> get(@PathVariable Long id) {
        return service.get(id);
    }
    /**
     * 查询[设备运行时长]
     * @author zr
     */
    @PostMapping(value = "search")
    public ExecutedResult<PagerResult<FacilityRunTimeVO>> search(@RequestBody SearchFacilityRunTime request) {
        return service.search(request);
    }
}
src/main/java/com/fengdu/gas/repository/impl/FacilityRunTimeMapperImpl.java
对比新文件
@@ -0,0 +1,144 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.repository.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fengdu.gas.common.PagerResult;
import com.fengdu.gas.common.enums.EYesOrNo;
import com.fengdu.gas.common.util.*;
import com.fengdu.gas.entity.dto.*;
import com.fengdu.gas.entity.enums.*;
import com.fengdu.gas.repository.BasicMapperImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
import com.fengdu.gas.entity.search.SearchFacilityRunTime;
import com.fengdu.gas.repository.mapper.FacilityRunTimeMapper;
import com.fengdu.gas.repository.po.FacilityRunTimePO;
/**
 * 设备运行时长
 * @author zr
 */
@Repository
public class FacilityRunTimeMapperImpl extends BasicMapperImpl<FacilityRunTimePO, FacilityRunTimeMapper> {
    FacilityRunTimeMapperImpl(FacilityRunTimeMapper mapper) {
        super(mapper);
    }
    @Override
    public PagerResult<FacilityRunTimePO> search(SearchBasicDTO request) {
        // 还原查询条件真实类型
        SearchFacilityRunTime search = (SearchFacilityRunTime)request;
        // 查询条件
        LambdaQueryWrapper<FacilityRunTimePO> queryWrapper = this.query();
        // 非逻辑删除
        queryWrapper.eq(FacilityRunTimePO::getIsDelete, EYesOrNo.NO.getValue());
        // 状态
        //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, FacilityRunTimePO::getStatus, search.getStatus());
        // 状态列表
        //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), FacilityRunTimePO::getStatus, search.getListStatus());
        // 数据创建时间-起始
        queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, FacilityRunTimePO::getCreateTime, search.getCreateTimeStart());
        // 数据创建时间-截止
        queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, FacilityRunTimePO::getCreateTime, search.getCreateTimeEnd());
        // 关键字
        //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) {
        //    queryWrapper.and(q ->
        //        q.like(FacilityRunTimePO::getName, search.getKeywords())
        //        .or().like(FacilityRunTimePO::getPhone, search.getKeywords())
        //    );
        //}
        // 排序处理
        if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) {
            for (OrderByDTO item : search.getOrderBy()) {
                EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy());
                // 顺序排序
                if (item.getIsAsc()) {
                    switch (orderBy) {
                        // 主键
                        case ID:
                            queryWrapper.orderByAsc(FacilityRunTimePO::getId);
                            break;
                        // 数据创建时间
                        case CREATE_TIME:
                            queryWrapper.orderByAsc(FacilityRunTimePO::getCreateTime);
                            break;
                        // 最后更新时间
                        case UPDATE_TIME:
                            queryWrapper.orderByAsc(FacilityRunTimePO::getUpdateTime);
                            break;
                    }
                } else {
                    // 倒叙排序
                    switch (orderBy) {
                        // 主键
                        case ID:
                            queryWrapper.orderByDesc(FacilityRunTimePO::getId);
                            break;
                        // 数据创建时间
                        case CREATE_TIME:
                            queryWrapper.orderByDesc(FacilityRunTimePO::getCreateTime);
                            break;
                        // 最后更新时间
                        case UPDATE_TIME:
                            queryWrapper.orderByDesc(FacilityRunTimePO::getUpdateTime);
                            break;
                    }
                }
            }
        } else {
            queryWrapper.orderByDesc(FacilityRunTimePO::getId);
        }
        Page<FacilityRunTimePO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper);
        return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords());
    }
    public Boolean add(FacilityRunTimePO item) {
        int rowCount = super.insert(item);
        return rowCount == 1;
    }
    public Boolean addNotIncrement(FacilityRunTimePO item) {
        int rowCount = super.insert(item);
        return rowCount == 1;
    }
    public FacilityRunTimePO getById(Long id) {
        return super.get(id);
    }
    public List<FacilityRunTimePO> getListById(List<Long> listId) {
        return super.getList(listId);
    }
    public List<FacilityRunTimePO>getDataTime(){
        return DB.getDataTime();
    }
    public List<FacilityRunTimePO>selectByDataTime(){
        return DB.selectByDataTime();
    }
}
src/main/java/com/fengdu/gas/repository/mapper/FacilityRunTimeMapper.java
对比新文件
@@ -0,0 +1,24 @@
package com.fengdu.gas.repository.mapper;
import com.fengdu.gas.repository.BasicMapper;import com.fengdu.gas.repository.po.FacilityRunTimePO;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
 * 设备运行时长 mapper
 * @author zr
 */
public interface FacilityRunTimeMapper extends BasicMapper<FacilityRunTimePO> {
    @Select("SELECT r.*\n" +
            " FROM facility_run_time r\n" +
            " INNER JOIN (\n" +
            "    SELECT facility_id, MAX(create_time) AS max_timestamp\n" +
            "    FROM facility_run_time WHERE open_time IS NOT NULL AND open_time<>'' AND close_time IS NOT NULL AND close_time <>''\n" +
            "    GROUP BY facility_id\n" +
            " ) AS latest ON r.facility_id = latest.facility_id AND r.create_time = latest.max_timestamp;")
    List<FacilityRunTimePO> getDataTime();
    @Select("select * from facility_run_time where is_delete=0 and open_time IS NOT NULL AND open_time<>'' AND close_time IS NOT NULL AND close_time <>'' ")
    List<FacilityRunTimePO>selectByDataTime();
}
src/main/java/com/fengdu/gas/repository/po/FacilityRunTimePO.java
对比新文件
@@ -0,0 +1,94 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.repository.po;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.sql.Timestamp;
/**
 * 设备运行时长
 * @author zr
 */
@Data
@TableName("facility_run_time")
public class FacilityRunTimePO implements Serializable {
    /**
     * 主键id
     */
    private Long id;
    /**
     * 泵房id
     */
    @TableField(value = "point_id")
    private Long pointId;
    /**
     * 泵房名称
     */
    @TableField(value = "point_name")
    private String pointName;
    /**
     * 设备id
     */
    @TableField(value = "facility_id")
    private Long facilityId;
    /**
     * 设备名称
     */
    @TableField(value = "facility_name")
    private String facilityName;
    /**
     * 开启时间
     */
    @TableField(value = "open_time")
    private String openTime;
    /**
     * 关闭时间
     */
    @TableField(value = "close_time")
    private String closeTime;
    /**
     * 运行时长
     */
    @TableField(value = "run_time")
    private Integer runTime;
    /**
     * 是否删除
     */
    @TableLogic
    @TableField(value = "is_delete")
    private Integer isDelete;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Long createTime;
    /**
     * 修改时间
     */
    @TableField(value = "update_time")
    private Timestamp updateTime;
}
src/main/java/com/fengdu/gas/repository/vo/FacilityRunTimeVO.java
对比新文件
@@ -0,0 +1,55 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.repository.vo;
import lombok.Data;
import com.fengdu.gas.common.util.LocalDateTimeUtil;
import com.fengdu.gas.common.util.NumericUtil;
import java.util.Objects;
import com.fengdu.gas.repository.po.FacilityRunTimePO;
/**
 * 设备运行时长
 * @author zr
 */
@Data
public class FacilityRunTimeVO extends FacilityRunTimePO implements BasicVO {
 private String sumTimeString;
 private String runTimeString;
    @Override
    public String getCreateTimeView() {
        if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) {
            return LocalDateTimeUtil.toFormatString(this.getCreateTime());
        }
        return "";
    }
    @Override
    public String getUpdateTimeView() {
        if (Objects.isNull(this.getUpdateTime())) {
            return "";
        }
        return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime());
    }
}
src/main/java/com/fengdu/gas/service/FacilityRunTimeService.java
对比新文件
@@ -0,0 +1,266 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.service;
import com.fengdu.gas.common.*;
import com.fengdu.gas.common.enums.*;
import com.fengdu.gas.common.model.Tuple;
import com.fengdu.gas.common.util.*;
import com.fengdu.gas.entity.response.facility.FacilityPointCount;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import com.fengdu.gas.repository.impl.FacilityRunTimeMapperImpl;
import com.fengdu.gas.repository.po.FacilityRunTimePO;
import com.fengdu.gas.entity.request.facilityruntime.ReqCreateFacilityRunTime;
import com.fengdu.gas.entity.request.facilityruntime.ReqModifyFacilityRunTime;
import com.fengdu.gas.entity.search.SearchFacilityRunTime;
import com.fengdu.gas.repository.vo.FacilityRunTimeVO;
import com.fengdu.gas.service.convert.FacilityRunTimeConvert;
/**
 * 设备运行时长
 * @author zr
 */
@Service
public class FacilityRunTimeService extends BaseService {
    @Autowired
    private FacilityRunTimeMapperImpl mapper;
    public ExecutedResult<Long> create(ReqCreateFacilityRunTime request) {
        // 转换po
        FacilityRunTimePO item = FacilityRunTimeConvert.INSTANCE.toCreate(request);
        // 设置状态
        //item.setStatus(EState.NORMAL.getValue());
        // 设置记录创建时间
        item.setCreateTime(LocalDateTimeUtil.nowTimeStamp());
        // 是否删除(逻辑删除)初始值
        item.setIsDelete(EYesOrNo.NO.getValue());
        int rowCount = mapper.insert(item);
        if (rowCount != 1) {
            return ExecutedResult.failed("创建[设备运行时长]失败。");
        }
        return ExecutedResult.success(item.getId());
    }
    public ExecutedResult<String> modify(ReqModifyFacilityRunTime request) {
        // 验证记录是否存在
        ExecutedResult<FacilityRunTimePO> checkExists = this.check4Id(request.getId());
        if (checkExists.isFailed()) {
            return ExecutedResult.failed(checkExists.getMsg());
        }
        // 转换po
        FacilityRunTimePO item = FacilityRunTimeConvert.INSTANCE.toModify(request);
        int rowCount = mapper.updateById(item);
        if (rowCount != 1) {
            return ExecutedResult.failed("编辑[设备运行时长]失败。");
        }
        return ExecutedResult.success();
    }
    public ExecutedResult<FacilityRunTimeVO> get(Long id) {
        FacilityRunTimeVO result = new FacilityRunTimeVO();
        FacilityRunTimePO find = mapper.get(id);
        if (null != find) {
            // 转换vo
            result = FacilityRunTimeConvert.INSTANCE.toVo(find);
        }
        return ExecutedResult.success(result);
    }
    public ExecutedResult<List<FacilityRunTimeVO>> getFacilityRunTime(){
        List<FacilityRunTimeVO> result=new ArrayList<>();
        List<FacilityRunTimePO> timePOS = mapper.selectByDataTime();
        List<FacilityRunTimePO> dataTime = mapper.getDataTime();
        if(ListUtil.isNotNullOrEmpty(dataTime)){
            result=CopierUtil.mapTo(dataTime,FacilityRunTimeVO.class);
            for(FacilityRunTimeVO timeVO:result){
                List<FacilityRunTimePO> poList = timePOS.stream().filter(item -> item.getFacilityId().equals(timeVO.getFacilityId())).collect(Collectors.toList());
                int sum = poList.stream().mapToInt(FacilityRunTimePO::getRunTime).sum();
                int hours = sum / 60;
                int minutes = sum % 60;
                timeVO.setSumTimeString(hours+"时"+minutes+"分");
                if(timeVO.getRunTime()>0){
                    int i = timeVO.getRunTime() / 60;
                    int i1 = timeVO.getRunTime() % 60;
                    timeVO.setRunTimeString(i+"时"+i1+"分");
                }
            }
        }
        return ExecutedResult.success(result);
    }
//    public ExecutedResult<String> stop(Long id) {
//        // 验证记录是否存在
//        ExecutedResult<FacilityRunTimePO> checkExists = this.check4Id(id);
//        if (checkExists.isFailed()) {
//            return ExecutedResult.failed(checkExists.getMsg());
//        }
//        FacilityRunTimePO item = new FacilityRunTimePO();
//        item.setId(id);
//        item.setStatus(EState.DISABLED.getValue());
//
//        int rowCount = mapper.updateById(item);
//        if (rowCount != 1) {
//           return ExecutedResult.failed("停用[设备运行时长]失败。");
//       }
//       return ExecutedResult.success();
//   }
//
//    public ExecutedResult<String> enable(Long id) {
//        // 验证记录是否存在
//        ExecutedResult<FacilityRunTimePO> checkExists = this.check4Id(id);
//        if (checkExists.isFailed()) {
//            return ExecutedResult.failed(checkExists.getMsg());
//        }
//        FacilityRunTimePO item = new FacilityRunTimePO();
//        item.setId(id);
//        item.setStatus(EState.NORMAL.getValue());
//
//        int rowCount = mapper.updateById(item);
//        if (rowCount != 1) {
//            return ExecutedResult.failed("启用[设备运行时长]失败。");
//        }
//        return ExecutedResult.success();
//    }
//
//    public ExecutedResult<String> setSort(ReqSetSort request) {
//        // 验证记录是否存在
//        ExecutedResult<FacilityRunTimePO> checkExists = this.check4Id(request.getId());
//        if (checkExists.isFailed()) {
//            return ExecutedResult.failed(checkExists.getMsg());
//        }
//        FacilityRunTimePO item = new FacilityRunTimePO();
//        item.setId(request.getId());
//        item.setSort(request.getSort());
//
//        int rowCount = mapper.updateById(item);
//        if (rowCount != 1) {
//            return ExecutedResult.failed("设置[设备运行时长]排序值失败。");
//        }
//        return ExecutedResult.success();
//    }
//
//    public ExecutedResult<String> listSetSort(ReqListSetSort request) {
//        // id列表
//        List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList());
//        // 验证记录是否存在
//        ExecutedResult<List<FacilityRunTimePO>> checkExists = this.check4Id(listId);
//        if (checkExists.isFailed()) {
//            return ExecutedResult.failed(checkExists.getMsg());
//        }
//
//        List<FacilityRunTimePO> listUpdate = request.getList().stream()
//                .map(c -> {
//                    FacilityRunTimePO item = new FacilityRunTimePO();
//                    item.setId(c.getId());
//                    item.setSort(c.getSort());
//                    return item;
//                })
//                .collect(Collectors.toList());
//        Boolean result = mapper.modifyList(listUpdate);
//        if (result) {
//            return ExecutedResult.success();
//        }
//        return ExecutedResult.failed("[设备运行时长]设置排序值失败");
//    }
//
//    public ExecutedResult<String> remove(Long id) {
//        Boolean result = mapper.deleteLogic(id);
//        if (BooleanUtils.isFalse(result)) {
//            return ExecutedResult.failed("删除[设备运行时长]失败。");
//        }
//        return ExecutedResult.success();
//    }
//
//    public ExecutedResult<String> removeList(List<Long> ids) {
//        Boolean result = mapper.deleteLogic(ids);
//        if (BooleanUtils.isFalse(result)) {
//            return ExecutedResult.failed("删除[设备运行时长]失败。");
//        }
//        return ExecutedResult.success();
//    }
    public ExecutedResult<List<FacilityRunTimeVO>> getList(List<Long> listId) {
        List<FacilityRunTimeVO> result = new ArrayList<>();
        List<FacilityRunTimePO> list = mapper.getList(listId);
        if (ListUtil.isNotNullOrEmpty(list)) {
            // 转换vo
            result = FacilityRunTimeConvert.INSTANCE.toVo(list);
        }
        return ExecutedResult.success(result);
    }
    public ExecutedResult<PagerResult<FacilityRunTimeVO>> search(SearchFacilityRunTime search) {
        // 处理创建时间范围-查询参数
        Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange());
        if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) {
            search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime());
        }
        if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) {
            search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime());
        }
        PagerResult<FacilityRunTimePO> pageList = mapper.search(search);
        List<FacilityRunTimeVO> listVo = new ArrayList<>();
        List<FacilityRunTimePO> list = pageList.getList();
        if (ListUtil.isNotNullOrEmpty(list)) {
            pageList.setLastId(list.get(list.size() - 1).getId());
            // 转换vo
            listVo = FacilityRunTimeConvert.INSTANCE.toVo(list);
        }
        PagerResult<FacilityRunTimeVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo);
        result.setLastId(pageList.getLastId());
        return ExecutedResult.success(result);
    }
    protected ExecutedResult<FacilityRunTimePO> check4Id(Long id) {
        FacilityRunTimePO exists = mapper.get(id);
        if (Objects.isNull(exists)) {
            return ExecutedResult.failed("[设备运行时长]不存在:" + id);
        }
        return ExecutedResult.success(exists);
    }
    protected ExecutedResult<List<FacilityRunTimePO>> check4Id(List<Long> listId) {
        // 从数据库查找设备运行时长
        List<FacilityRunTimePO> list = mapper.getList(listId);
        if (ListUtil.isNullOrEmpty(list)) {
            return ExecutedResult.failed("[设备运行时长]不存在." + listId);
        }
        // 数据库找到的id列表
        List<Long> listIdFind = list.stream().map(FacilityRunTimePO::getId).collect(Collectors.toList());
        // 数量不一致
        if (listId.size() != listIdFind.size()) {
            // 筛选数据库不存在的设备运行时长
            List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList());
            if (ListUtil.isNullOrEmpty(list)) {
                return ExecutedResult.failed("[设备运行时长]不存在." + listIdNotFound);
            }
        }
        return ExecutedResult.success(list);
    }}
src/main/java/com/fengdu/gas/service/convert/FacilityRunTimeConvert.java
对比新文件
@@ -0,0 +1,48 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.fengdu.gas.service.convert;
import com.fengdu.gas.entity.request.facilityruntime.ReqCreateFacilityRunTime;
import com.fengdu.gas.entity.request.facilityruntime.ReqModifyFacilityRunTime;
import com.fengdu.gas.repository.po.FacilityRunTimePO;
import com.fengdu.gas.repository.vo.FacilityRunTimeVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
 * 设备运行时长
 * @author {#=author}
 */
@Mapper
public interface FacilityRunTimeConvert {
    FacilityRunTimeConvert INSTANCE = Mappers.getMapper(FacilityRunTimeConvert.class);
    FacilityRunTimePO toCreate(ReqCreateFacilityRunTime request);
    FacilityRunTimePO toModify(ReqModifyFacilityRunTime request);
    FacilityRunTimeVO toVo(FacilityRunTimePO item);
    List<FacilityRunTimeVO> toVo(List<FacilityRunTimePO> list);
}