Prechádzať zdrojové kódy

月报及计量器具的调整

Zimo 22 hodín pred
rodič
commit
d64899beb4
13 zmenil súbory, kde vykonal 137 pridanie a 7 odobranie
  1. 17 3
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/cert/vo/QhseCertPersonPageReqVO.java
  2. 12 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/cert/vo/QhseCertPersonRespVO.java
  3. 12 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/cert/vo/QhseCertPersonSaveReqVO.java
  4. 3 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/measure/vo/IotMeasureBookPageReqVO.java
  5. 3 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/measure/vo/IotMeasureBookRespVO.java
  6. 4 4
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/measure/vo/IotMeasureBookSaveReqVO.java
  7. 8 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/report/QhseMonthReportController.java
  8. 12 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/qhse/cert/QhseCertPersonDO.java
  9. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/qhse/measure/IotMeasureBookDO.java
  10. 7 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/qhse/report/QhseMonthReportMapper.java
  11. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/qhse/report/QhseMonthReportService.java
  12. 22 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/qhse/report/QhseMonthReportServiceImpl.java
  13. 33 0
      yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/qhse/QhseMonthReportMapper.xml

+ 17 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/cert/vo/QhseCertPersonPageReqVO.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.pms.controller.admin.qhse.cert.vo;
 
-import lombok.*;
-import java.util.*;
-import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.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.LocalDateTime;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -40,4 +42,16 @@ public class QhseCertPersonPageReqVO extends PageParam {
     @Schema(description = "部门名称", example = "张三")
     private String deptName;
 
+    /**
+     * 国际井控
+     */
+    private Boolean gjjk;
+    /**
+     * 消防
+     */
+    private Boolean xiaofang;
+    /**
+     * 急救
+     */
+    private Boolean jijiu;
 }

+ 12 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/cert/vo/QhseCertPersonRespVO.java

@@ -89,4 +89,16 @@ public class QhseCertPersonRespVO {
      * 安全管理证
      */
     private Boolean aqgl;
+    /**
+     * 国际井控
+     */
+    private Boolean gjjk;
+    /**
+     * 消防
+     */
+    private Boolean xiaofang;
+    /**
+     * 急救
+     */
+    private Boolean jijiu;
 }

+ 12 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/cert/vo/QhseCertPersonSaveReqVO.java

@@ -73,4 +73,16 @@ public class QhseCertPersonSaveReqVO {
      * 安全管理证
      */
     private Boolean aqgl;
+    /**
+     * 国际井控
+     */
+    private Boolean gjjk;
+    /**
+     * 消防
+     */
+    private Boolean xiaofang;
+    /**
+     * 急救
+     */
+    private Boolean jijiu;
 }

+ 3 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/measure/vo/IotMeasureBookPageReqVO.java

@@ -20,6 +20,9 @@ public class IotMeasureBookPageReqVO extends PageParam {
     @Schema(description = "计量器具编码")
     private String measureCode;
 
+    @Schema(description = "序列号")
+    private String serialNo;
+
     @Schema(description = "计量器具名称", example = "王五")
     private String measureName;
 

+ 3 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/measure/vo/IotMeasureBookRespVO.java

@@ -20,6 +20,9 @@ public class IotMeasureBookRespVO {
 //    @ExcelProperty("计量器具编码")
     private String measureCode;
 
+    @Schema(description = "序列号")
+    private String serialNo;
+
     @Schema(description = "计量器具名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
     @ExcelProperty("计量器具名称")
     private String measureName;

+ 4 - 4
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/measure/vo/IotMeasureBookSaveReqVO.java

@@ -1,12 +1,9 @@
 package cn.iocoder.yudao.module.pms.controller.admin.qhse.measure.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
+import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
-import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 计量器具台账新增/修改 Request VO")
 @Data
@@ -19,6 +16,9 @@ public class IotMeasureBookSaveReqVO {
 //    @NotEmpty(message = "计量器具编码不能为空")
     private String measureCode;
 
+    @Schema(description = "序列号")
+    private String serialNo;
+
     @Schema(description = "计量器具名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
     @NotEmpty(message = "计量器具名称不能为空")
     private String measureName;

+ 8 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/report/QhseMonthReportController.java

@@ -96,6 +96,14 @@ public class QhseMonthReportController {
         return success(new PageResult<>(collect, pageResult.getTotal()));
     }
 
+    @GetMapping("/page/year-month")
+    @Operation(summary = "获得月报汇总信息")
+    @PreAuthorize("@ss.hasPermission('rq:qhse-month-report:query')")
+    public CommonResult<PageResult<QhseMonthReportRespVO>> getQhseMonthReportDistinctPage(@Valid QhseMonthReportPageReqVO pageReqVO) {
+        PageResult<QhseMonthReportRespVO> pageResult = qhseMonthReportService.getDistinctPage(pageReqVO);
+        return success(pageResult);
+    }
+
     @GetMapping("/export-excel")
     @Operation(summary = "导出资料 Excel")
     @PreAuthorize("@ss.hasPermission('rq:qhse-month-report:export')")

+ 12 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/qhse/cert/QhseCertPersonDO.java

@@ -95,4 +95,16 @@ public class QhseCertPersonDO extends BaseDO {
      * 安全管理证
      */
     private Boolean aqgl;
+    /**
+     * 国际井控
+     */
+    private Boolean gjjk;
+    /**
+     * 消防
+     */
+    private Boolean xiaofang;
+    /**
+     * 急救
+     */
+    private Boolean jijiu;
 }

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/qhse/measure/IotMeasureBookDO.java

@@ -88,4 +88,6 @@ public class IotMeasureBookDO extends BaseDO {
      * 预警告警
      */
     private Boolean alertWarn;
+
+    private String serialNo;
 }

+ 7 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/qhse/report/QhseMonthReportMapper.java

@@ -4,8 +4,13 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportRespVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.report.QhseMonthReportDO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Collection;
 
 /**
  * 资料 Mapper
@@ -53,4 +58,6 @@ public interface QhseMonthReportMapper extends BaseMapperX<QhseMonthReportDO> {
                 .orderByDesc(QhseMonthReportDO::getId));
     }
 
+    IPage<QhseMonthReportRespVO> getDistinctYearMonths(IPage<QhseMonthReportPageReqVO> page, @Param("reqVO")  QhseMonthReportPageReqVO reqVO, @Param("deptIds") Collection<Long> deptIds);
+
 }

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/qhse/report/QhseMonthReportService.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.pms.service.qhse.report;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportRespVO;
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.report.QhseMonthReportDO;
 
@@ -52,4 +53,5 @@ public interface QhseMonthReportService {
      */
     PageResult<QhseMonthReportDO> getQhseMonthReportPage(QhseMonthReportPageReqVO pageReqVO);
 
+    PageResult<QhseMonthReportRespVO> getDistinctPage(QhseMonthReportPageReqVO pageReqVO);
 }

+ 22 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/qhse/report/QhseMonthReportServiceImpl.java

@@ -4,13 +4,21 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportRespVO;
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.report.QhseMonthReportDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.qhse.report.QhseMonthReportMapper;
+import cn.iocoder.yudao.module.system.service.dept.DeptService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
+import java.util.HashSet;
+import java.util.Objects;
+import java.util.Set;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 
@@ -25,6 +33,8 @@ public class QhseMonthReportServiceImpl implements QhseMonthReportService {
 
     @Resource
     private QhseMonthReportMapper qhseMonthReportMapper;
+    @Autowired
+    private DeptService deptService;
 
     @Override
     public Long createQhseMonthReport(QhseMonthReportSaveReqVO createReqVO) {
@@ -69,4 +79,16 @@ public class QhseMonthReportServiceImpl implements QhseMonthReportService {
         return qhseMonthReportMapper.selectPage(pageReqVO);
     }
 
+
+    public PageResult<QhseMonthReportRespVO> getDistinctPage(QhseMonthReportPageReqVO pageReqVO) {
+        IPage<QhseMonthReportRespVO> page;
+        Set<Long> ids = new HashSet<>();
+        if (Objects.nonNull(pageReqVO.getDeptId())) {
+            ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            ids.add(pageReqVO.getDeptId());
+        }
+        page = qhseMonthReportMapper.getDistinctYearMonths(
+                new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO, ids);
+        return new PageResult<>(page.getRecords(), page.getTotal());
+    }
 }

+ 33 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/qhse/QhseMonthReportMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.pms.dal.mysql.qhse.report.QhseMonthReportMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+
+    <select id="getDistinctYearMonths"
+            resultType="cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportRespVO">
+        select distinct year_months,'科瑞石油技术' as title from rq_qhse_month_report finall
+        <where>
+            <if test="reqVO.yearMonths!=null and reqVO.yearMonths!=''">
+                and finall.device_name LIKE CONCAT('%',#{reqVO.deviceName},'%')
+            </if>
+            <if test="reqVO.createTime != null and reqVO.createTime.length > 0">
+                <choose>
+                    <when test="reqVO.createTime.length == 1">
+                        AND finall.create_time = #{reqVO.createTime[0],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler}
+                    </when>
+                    <otherwise>
+                        AND finall.create_time BETWEEN #{reqVO.createTime[0],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler} AND #{reqVO.createTime[1],typeHandler=org.apache.ibatis.type.LocalDateTimeTypeHandler}
+                    </otherwise>
+                </choose>
+            </if>
+        </where>
+        order by create_time desc
+    </select>
+</mapper>