浏览代码

Merge remote-tracking branch 'origin/develop' into develop

lijie 3 年之前
父节点
当前提交
cf652250b0

+ 8 - 1
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictDataController.java

@@ -59,7 +59,14 @@ public class DictDataController {
         }
         // 转换查询条件
         QueryCriteriaHelper.toWrapper(wrapper, criteria, DictData.class);
-        Page page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        // 转换查询条件
+        Page page = QueryCriteriaHelper.toPage(criteria);
+        if(criteria.isOnlyCount()) {
+            Integer total = service.queryCount(wrapper);
+            page.setTotal(total);
+        } else {
+            page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        }
         return ResultHelper.multi(page.getRecords(), page.getTotal());
     }
 

+ 7 - 1
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictDataMapController.java

@@ -46,7 +46,13 @@ public class DictDataMapController {
         QueryWrapper<DictDataMap> wrapper = new QueryWrapper<>();
         // 转换查询条件
         QueryCriteriaHelper.toWrapper(wrapper, criteria, DictDataMap.class);
-        Page page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        Page page = QueryCriteriaHelper.toPage(criteria);
+        if(criteria.isOnlyCount()) {
+            Integer total = service.queryCount(wrapper);
+            page.setTotal(total);
+        } else {
+            page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        }
         return ResultHelper.multi(page.getRecords(), page.getTotal());
     }
 

+ 7 - 1
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/controller/DictTypeController.java

@@ -46,7 +46,13 @@ public class DictTypeController {
         QueryWrapper<DictType> wrapper = new QueryWrapper<>();
         // 转换查询条件
         QueryCriteriaHelper.toWrapper(wrapper, criteria, DictType.class);
-        Page page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        Page page = QueryCriteriaHelper.toPage(criteria);
+        if(criteria.isOnlyCount()) {
+            Integer total = service.queryCount(wrapper);
+            page.setTotal(total);
+        } else {
+            page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        }
         return ResultHelper.multi(page.getRecords(), page.getTotal());
     }
 

+ 7 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/DictDataMapService.java

@@ -14,6 +14,13 @@ import java.util.List;
 public interface DictDataMapService {
 
     /**
+     * 按条件计数
+     * @param queryWrapper 查询条件
+     * @return 结果数量
+     */
+    Integer queryCount(Wrapper<DictDataMap> queryWrapper);
+
+    /**
      * 按条件查询
      * @param page 分页条件
      * @param queryWrapper 查询条件

+ 7 - 1
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/DictDataService.java

@@ -3,7 +3,6 @@ package com.persagy.dmp.dic.service;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.persagy.dmp.dic.entity.DictData;
-import com.persagy.dmp.dic.entity.DictData;
 import com.persagy.dmp.dic.entity.DictType;
 
 import java.util.List;
@@ -16,6 +15,13 @@ import java.util.List;
 public interface DictDataService {
 
     /**
+     * 按条件计数
+     * @param queryWrapper 查询条件
+     * @return 结果数量
+     */
+    Integer queryCount(Wrapper<DictData> queryWrapper);
+
+    /**
      * 按条件查询
      * @param page 分页条件
      * @param queryWrapper 查询条件

+ 8 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/DictTypeService.java

@@ -12,6 +12,14 @@ import java.util.List;
  * @date:2021/6/10
  */
 public interface DictTypeService {
+
+    /**
+     * 按条件计数
+     * @param queryWrapper 查询条件
+     * @return 结果数量
+     */
+    Integer queryCount(Wrapper<DictType> queryWrapper);
+
     /**
      * 按条件查询
      * @param page 分页条件

+ 10 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/impl/DictDataMapServiceImpl.java

@@ -24,6 +24,16 @@ public class DictDataMapServiceImpl implements DictDataMapService {
     private DictDataMapMapper dao;
 
     /**
+     * 按条件计数
+     * @param queryWrapper 查询条件
+     * @return
+     */
+    @Override
+    public Integer queryCount(Wrapper<DictDataMap> queryWrapper) {
+        return dao.selectCount(queryWrapper);
+    }
+
+    /**
      * 分页查询
      *
      * @param page         分页条件

+ 10 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/impl/DictDataServiceImpl.java

@@ -33,6 +33,16 @@ public class DictDataServiceImpl implements DictDataService {
     private DictDataMapService dictDataMapService;
 
     /**
+     * 按条件计数
+     * @param queryWrapper 查询条件
+     * @return
+     */
+    @Override
+    public Integer queryCount(Wrapper<DictData> queryWrapper) {
+        return dao.selectCount(queryWrapper);
+    }
+
+    /**
      * 分页查询
      *
      * @param page         分页条件

+ 10 - 0
dmp-business/dmp-dic/src/main/java/com/persagy/dmp/dic/service/impl/DictTypeServiceImpl.java

@@ -25,6 +25,16 @@ public class DictTypeServiceImpl implements DictTypeService {
     private DictTypeMapper dao;
 
     /**
+     * 按条件计数
+     * @param queryWrapper 查询条件
+     * @return
+     */
+    @Override
+    public Integer queryCount(Wrapper<DictType> queryWrapper) {
+        return dao.selectCount(queryWrapper);
+    }
+
+    /**
      * 分页查询
      * @param page 分页条件
      * @param queryWrapper 查询条件

+ 49 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/controller/SystemController.java

@@ -0,0 +1,49 @@
+package com.persagy.dmp.rwd.simple.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.persagy.dmp.basic.dto.RequestData;
+import com.persagy.dmp.common.constant.CommonConstant;
+import com.persagy.dmp.common.constant.ResponseCode;
+import com.persagy.dmp.common.context.AppContext;
+import com.persagy.dmp.common.exception.BusinessException;
+import com.persagy.dmp.common.model.response.CommonResult;
+import com.persagy.dmp.common.utils.ParamCheckUtil;
+import com.persagy.dmp.common.utils.ResultHelper;
+import com.persagy.dmp.rwd.simple.service.ISystemService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 系统业务接口
+ * @author lvxy
+ * @date 2021/10/9
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/custom/system")
+public class SystemController {
+
+    @Autowired
+    private ISystemService systemService;
+    /**
+     * 查询不确定楼层/不确定建筑 的系统
+     */
+    @PostMapping("/queryNotSureSystem")
+    public CommonResult<List<Map<String,Object>>> queryNotSureSystem(@RequestBody RequestData requestData) {
+        //基础参数校验
+        ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
+        if (StrUtil.isAllEmpty(AppContext.getContext().getProjectId(),requestData.getObjType())){
+            throw new BusinessException(ResponseCode.A0402.getCode(),ResponseCode.A0402.getDesc());
+        }
+        List<Map<String, Object>> result = systemService.queryNotSureSystem(requestData);
+        return ResultHelper.multi(result);
+    }
+
+}

+ 23 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/dao/SystemCustomMapper.java

@@ -0,0 +1,23 @@
+package com.persagy.dmp.rwd.simple.dao;
+
+import com.persagy.dmp.basic.dto.RequestData;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author lvxy
+ * @date 2021/10/9
+ */
+public interface SystemCustomMapper {
+    /**
+     *确定建筑不确定楼层 buildingId is not null
+     */
+    List<Map<String,Object>> querySystemNotSureFloor(@Param("param") RequestData requestData);
+
+    /**
+     *不确定建筑 buildingId is null
+     */
+    List<Map<String,Object>> querySystemNotSureBuilding(@Param("param") RequestData requestData);
+}

+ 19 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/service/ISystemService.java

@@ -0,0 +1,19 @@
+package com.persagy.dmp.rwd.simple.service;
+
+import com.persagy.dmp.basic.dto.RequestData;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 系统业务接口
+ * @author lvxy
+ * @date 2021/10/9
+ */
+public interface ISystemService {
+
+    /**
+     * 查询不确定楼层/不确定建筑 的系统
+     */
+    List<Map<String,Object>> queryNotSureSystem(RequestData requestData);
+}

+ 39 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/service/impl/SystemServiceImpl.java

@@ -0,0 +1,39 @@
+package com.persagy.dmp.rwd.simple.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.persagy.dmp.basic.dto.RequestData;
+import com.persagy.dmp.rwd.basic.utils.DigitalCommonUtils;
+import com.persagy.dmp.rwd.simple.dao.SystemCustomMapper;
+import com.persagy.dmp.rwd.simple.service.ISystemService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author lvxy
+ * @date 2021/10/9
+ */
+@Service
+@Slf4j
+@Transactional(rollbackFor = Exception.class)
+public class SystemServiceImpl implements ISystemService {
+
+    @Resource
+    private SystemCustomMapper mapper;
+    @Override
+    public List<Map<String, Object>> queryNotSureSystem(RequestData requestData) {
+        // 1.计算分页参数
+        DigitalCommonUtils.computePageParam(requestData);
+        // 2.不确定建筑 buildingId is null
+        // 3.确定建筑不确定楼层 buildingId is not null
+        if(StrUtil.isEmpty(requestData.getBuildingId())){
+            return mapper.querySystemNotSureBuilding(requestData);
+        }else{
+            return mapper.querySystemNotSureFloor(requestData);
+        }
+    }
+}

+ 51 - 0
dmp-business/dmp-rwd/src/main/resources/mapper/SystemCustomMapper.xml

@@ -0,0 +1,51 @@
+<?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="com.persagy.dmp.rwd.simple.dao.SystemCustomMapper">
+
+    <!-- 确定建筑不确定楼层 buildingId is not null , floorId is null -->
+    <select id="querySystemNotSureFloor" resultType="java.util.Map">
+        select * from dt_object
+        where 1=1
+        <include refid="commonWhereSql"/>
+        <if test="null!=param.classCode and param.classCode.length>0">
+            AND class_code = #{classCode}
+        </if>
+        AND id in
+        (select obj_from from
+            (
+                select obj_from from dt_relation where rel_code='Sy2Bd' AND graph_code='MechInArch' AND obj_to=#{param.buildingId} AND obj_from not in
+                (select obj_from from dt_relation where rel_code='Sy2Fl' AND graph_code='MechInArch' )  order by id asc
+                <include refid="com.persagy.dmp.rwd.digital.dao.ObjectDigitalMapper.pageSet">
+                    <property name="param" value="#{param}"/>
+                </include>
+            ) temp
+        )
+    </select>
+
+    <!-- 不确定建筑 buildingId is null-->
+    <select id="querySystemNotSureBuilding" resultType="java.util.Map">
+        SELECT * FROM `dt_object`
+        where 1=1
+            <include refid="commonWhereSql"/>
+            <if test="null!=param.classCode and param.classCode.length>0">
+                AND class_code = #{classCode}
+            </if>
+            AND id not in (select obj_from from dt_relation where rel_code='Sy2Bd' AND graph_code='MechInArch' order by id asc) ORDER BY id asc
+            <include refid="com.persagy.dmp.rwd.digital.dao.ObjectDigitalMapper.pageSet">
+                <property name="param" value="#{param}"/>
+            </include>
+    </select>
+
+    <sql id="commonWhereSql">
+        <if test="null!=param.objType and param.objType.length>0">
+            AND obj_type=#{param.objType}
+        </if>
+        <if test="null!=param.projectId and param.projectId.length>0">
+            AND project_id=#{param.projectId}
+        </if>
+        <if test="null!=param.groupCode and param.groupCode.length>0">
+            AND group_code=#{param.groupCode}
+        </if>
+    </sql>
+
+</mapper>