eight
2024-09-29 9297cc4820d91a655cc56501ecaf013a4b9b08a3
设备统计
已添加2个文件
已修改5个文件
172 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DeviceController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceStatisticVO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceStatisticDO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DeviceMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DeviceController.java
@@ -1,5 +1,9 @@
package cn.lihu.jh.module.ecg.controller.admin.devmanage;
import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.JobRecordPageReqVO;
import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.JobRecordStatisticVO;
import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceStatisticDO;
import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -112,4 +116,12 @@
                        BeanUtils.toBean(list, DeviceRespVO.class));
    }
}
    @GetMapping("/dev-statistic")
    @Operation(summary = "设备统计")
    @PreAuthorize("@ss.hasPermission('ecg:device:statistic')")
    public CommonResult<List<DeviceStatisticVO>> getDeviceStatistic(@Valid DevicePageReqVO pageReqVO) {
        List<DeviceStatisticDO> statisticDOList = deviceService.getDeviceStatistic(pageReqVO);
        return success(BeanUtils.toBean(statisticDOList, DeviceStatisticVO.class));
    }
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceStatisticVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo;
import cn.lihu.jh.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import static cn.lihu.jh.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - è®¾å¤‡ç»Ÿè®¡ VO")
@Data
@ToString(callSuper = true)
public class DeviceStatisticVO  {
    @Schema(description = "设备编号", example = "5317")
    private String devId;
    @Schema(description = "分类名")
    private String category;
    @Schema(description = "品牌")
    private String brand;
    @Schema(description = "型号")
    private String model;
    @Schema(description = "采购日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate[] purchaseDate;
    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;
    @Schema(description = "状态日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate stateDate[];
    /**
     * 0 - ç©ºé—² 10 - ä½¿ç”¨ä¸­ 20 - å·²é—失
     */
    @Schema(description = "状态")
    private Integer state;
    @Schema(description = "设备数量")
    private Integer devCount;;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java
@@ -51,7 +51,7 @@
    private LocalDate purchaseDate;
    /**
     * é—失日期
     * çŠ¶æ€æ—¥æœŸ
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private LocalDate stateDate;
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceStatisticDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package cn.lihu.jh.module.ecg.dal.dataobject.devmanage;
import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import java.time.LocalDate;
/**
 * è®¾å¤‡ DO
 *
 * @author majianbo
 */
@TableName("device")
@KeySequence("device_seq") // ç”¨äºŽ Oracle、PostgreSQL、Kingbase、DB2、H2 æ•°æ®åº“的主键自增。如果是 MySQL ç­‰æ•°æ®åº“,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceStatisticDO extends BaseDO {
    /**
     * id
     */
    @TableId
    private Integer id;
    /**
     * è®¾å¤‡ç¼–号
     */
    private String devId;
    /**
     * åˆ†ç±»å
     */
    private String category;
    /**
     * å“ç‰Œ
     */
    private String brand;
    /**
     * åž‹å·
     */
    private String model;
    /**
     * é‡‡è´­æ—¥æœŸ
     */
    private LocalDate purchaseDate;
    /**
     * çŠ¶æ€æ—¥æœŸ
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private LocalDate stateDate;
    /**
     * 0 - ç©ºé—² 10 - ä½¿ç”¨ä¸­ 20 - å·²é—失
     */
    private Integer state;
    /**
     * ç»Ÿè®¡æ•°é‡
     */
    private Integer devCount;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DeviceMapper.java
@@ -1,12 +1,15 @@
package cn.lihu.jh.module.ecg.dal.mysql.devmanage;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX;
import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO;
import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceStatisticDO;
import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO;
import org.apache.ibatis.annotations.Mapper;
import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*;
import org.apache.ibatis.annotations.Param;
@@ -38,4 +41,22 @@
    @Update("update lihu.device set state=#{state}, state_date=#{stateDate} where dev_id=#{devId}")
    Integer updateDevState(@Param("devId") String devId, @Param("state") Integer state, @Param("stateDate") LocalDate stateDate);
}
    @Select("<script>" +
            "select category, state, count(1) as dev_count from lihu.device " +
            " <where> deleted = 0 " +
            "   <if test=\"category != null and category != ''\"> " +
            "     and category = #{category} " +
            "   </if> " +
            "   <if test=\"brand != null and brand != ''\"> " +
            "     and brand = #{brand} " +
            "   </if> " +
            "   <if test=\"model != null and model != ''\"> " +
            "     and model = #{model} " +
            "   </if> " +
            " </where> " +
            " group by category, state " +
            " order by category " +
            "</script>")
    List<DeviceStatisticDO> getDevStatistic(DevicePageReqVO pageReqVO);
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceService.java
@@ -1,10 +1,13 @@
package cn.lihu.jh.module.ecg.service.devmanage;
import java.time.LocalDateTime;
import java.util.*;
import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*;
import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO;
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.framework.common.pojo.PageParam;
import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceStatisticDO;
import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO;
import javax.validation.Valid;
@@ -68,4 +71,9 @@
     */
    PageResult<DeviceDO> getDevicePage(DevicePageReqVO pageReqVO);
    /**
     * è®¾å¤‡ç»Ÿè®¡
     * @return
     */
    List<DeviceStatisticDO> getDeviceStatistic(DevicePageReqVO pageReqVO);
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceServiceImpl.java
@@ -1,5 +1,6 @@
package cn.lihu.jh.module.ecg.service.devmanage;
import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceStatisticDO;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
@@ -86,4 +87,9 @@
        return deviceMapper.selectPage(pageReqVO);
    }
    @Override
    public List<DeviceStatisticDO> getDeviceStatistic(DevicePageReqVO pageReqVO) {
        return deviceMapper.getDevStatistic(pageReqVO);
    }
}