Explorar o código

优化 巡检查询功能

java110 %!s(int64=6) %!d(string=hai) anos
pai
achega
a9c836c2f0

+ 48 - 3
Api/src/main/java/com/java110/api/listener/inspectionPoint/ListInspectionPointsListener.java

@@ -78,6 +78,53 @@ public class ListInspectionPointsListener extends AbstractServiceApiListener {
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
 
+        if(reqJson.containsKey("relationship")){
+            queryRelationship(event,context,reqJson);
+        }else{
+            queryCommon(event,context,reqJson);
+        }
+
+    }
+
+    /**
+     * 关系查询
+     * @param event
+     * @param context
+     * @param reqJson
+     */
+    private void queryRelationship(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+        InspectionDto inspectionPointDto = BeanConvertUtil.covertBean(reqJson, InspectionDto.class);
+
+        int count = inspectionPointInnerServiceSMOImpl.queryInspectionsRelationShipCount(inspectionPointDto);
+
+        List<ApiInspectionPointDataVo> inspectionPoints = null;
+
+        if (count > 0) {
+            inspectionPoints = BeanConvertUtil.covertBeanList(inspectionPointInnerServiceSMOImpl.getInspectionRelationShip(inspectionPointDto), ApiInspectionPointDataVo.class);
+            // 刷新 位置信息
+            refreshMachines(inspectionPoints);
+        } else {
+            inspectionPoints = new ArrayList<>();
+        }
+
+        ApiInspectionPointVo apiInspectionPointVo = new ApiInspectionPointVo();
+
+        apiInspectionPointVo.setTotal(count);
+        apiInspectionPointVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
+        apiInspectionPointVo.setInspectionPoints(inspectionPoints);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiInspectionPointVo), HttpStatus.OK);
+
+        context.setResponseEntity(responseEntity);
+    }
+
+    /**
+     * 普通查询
+     * @param event
+     * @param context
+     * @param reqJson
+     */
+    private void queryCommon(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
         InspectionDto inspectionPointDto = BeanConvertUtil.covertBean(reqJson, InspectionDto.class);
 
         int count = inspectionPointInnerServiceSMOImpl.queryInspectionsCount(inspectionPointDto);
@@ -101,7 +148,6 @@ public class ListInspectionPointsListener extends AbstractServiceApiListener {
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiInspectionPointVo), HttpStatus.OK);
 
         context.setResponseEntity(responseEntity);
-
     }
 
 
@@ -187,7 +233,6 @@ public class ListInspectionPointsListener extends AbstractServiceApiListener {
 
     /**
      * 获取批量单元
-     *
      */
     private void refreshRooms(List<ApiInspectionPointDataVo> inspectionPoints) {
         List<String> roomIds = new ArrayList<String>();
@@ -210,7 +255,7 @@ public class ListInspectionPointsListener extends AbstractServiceApiListener {
         //根据 userId 查询用户信息
         List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
 
-        for (ApiInspectionPointDataVo inspectionPointDataVo: tmpInspectionPoint) {
+        for (ApiInspectionPointDataVo inspectionPointDataVo : tmpInspectionPoint) {
             for (RoomDto tmpRoomDto : roomDtos) {
                 if (inspectionPointDataVo.getLocationObjId().equals(tmpRoomDto.getRoomId())) {
                     inspectionPointDataVo.setLocationObjName(tmpRoomDto.getFloorNum() + "栋" + tmpRoomDto.getUnitNum() + "单元" + tmpRoomDto.getRoomNum() + "室");

+ 14 - 0
CommunityService/src/main/java/com/java110/community/dao/IInspectionServiceDao.java

@@ -78,4 +78,18 @@ public interface IInspectionServiceDao {
      */
     int queryInspectionsCount(Map info);
 
+    /**
+     * 查询巡检点数量
+     * @param info 巡检点信息
+     * @return 巡检点数量
+     */
+    public int queryInspectionsRelationShipCount(Map info);
+    /**
+     * 查询巡检点信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    public List<Map> getInspectionRelationShipInfo(Map info) throws DAOException ;
+
 }

+ 32 - 0
CommunityService/src/main/java/com/java110/community/dao/impl/InspectionServiceDaoImpl.java

@@ -125,5 +125,37 @@ public class InspectionServiceDaoImpl extends BaseServiceDao implements IInspect
         return Integer.parseInt(businessInspectionInfos.get(0).get("count").toString());
     }
 
+    /**
+     * 查询巡检点数量
+     * @param info 巡检点信息
+     * @return 巡检点数量
+     */
+    @Override
+    public int queryInspectionsRelationShipCount(Map info) {
+        logger.debug("查询巡检点数据 入参 info : {}",info);
+
+        List<Map> businessInspectionInfos = sqlSessionTemplate.selectList("inspectionServiceDaoImpl.queryInspectionsRelationShipCount", info);
+        if (businessInspectionInfos.size() < 1) {
+            return 0;
+        }
+
+        return Integer.parseInt(businessInspectionInfos.get(0).get("count").toString());
+    }
+
+    /**
+     * 查询巡检点信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getInspectionRelationShipInfo(Map info) throws DAOException {
+        logger.debug("查询巡检点信息 入参 info : {}",info);
+
+        List<Map> businessInspectionInfos = sqlSessionTemplate.selectList("inspectionServiceDaoImpl.getInspectionInfo",info);
+
+        return businessInspectionInfos;
+    }
+
 
 }

+ 21 - 0
CommunityService/src/main/java/com/java110/community/smo/impl/InspectionInnerServiceSMOImpl.java

@@ -54,6 +54,27 @@ public class InspectionInnerServiceSMOImpl extends BaseServiceSMO implements IIn
     public int queryInspectionsCount(@RequestBody InspectionDto inspectionDto) {
         return inspectionServiceDaoImpl.queryInspectionsCount(BeanConvertUtil.beanCovertMap(inspectionDto));    }
 
+    @Override
+    public List<InspectionDto> getInspectionRelationShip(@RequestBody  InspectionDto inspectionDto) {
+
+        //校验是否传了 分页信息
+
+        int page = inspectionDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            inspectionDto.setPage((page - 1) * inspectionDto.getRow());
+        }
+
+        List<InspectionDto> inspections = BeanConvertUtil.covertBeanList(inspectionServiceDaoImpl.getInspectionRelationShipInfo(BeanConvertUtil.beanCovertMap(inspectionDto)), InspectionDto.class);
+
+        return inspections;
+    }
+
+
+    @Override
+    public int queryInspectionsRelationShipCount(@RequestBody InspectionDto inspectionDto) {
+        return inspectionServiceDaoImpl.queryInspectionsRelationShipCount(BeanConvertUtil.beanCovertMap(inspectionDto));    }
+
     public IInspectionServiceDao getInspectionServiceDaoImpl() {
         return inspectionServiceDaoImpl;
     }

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/inspectionPoint/InspectionDto.java

@@ -27,6 +27,7 @@ public class InspectionDto extends PageDto implements Serializable {
     private String machineId;
     private String communityId;
     private String inspectionRouteId;
+    private String relationship; //1 查询关联的巡检点 0 还未关联巡检点
 
 
     private Date createTime;
@@ -147,4 +148,12 @@ public class InspectionDto extends PageDto implements Serializable {
     public void setInspectionRouteId(String inspectionRouteId) {
         this.inspectionRouteId = inspectionRouteId;
     }
+
+    public String getRelationship() {
+        return relationship;
+    }
+
+    public void setRelationship(String relationship) {
+        this.relationship = relationship;
+    }
 }

+ 8 - 0
java110-core/src/main/java/com/java110/core/smo/inspectionPoint/IInspectionInnerServiceSMO.java

@@ -1,7 +1,9 @@
 package com.java110.core.smo.inspectionPoint;
 
 import com.java110.core.feign.FeignConfiguration;
+import com.java110.dto.PageDto;
 import com.java110.dto.inspectionPoint.InspectionDto;
+import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -39,4 +41,10 @@ public interface IInspectionInnerServiceSMO {
      */
     @RequestMapping(value = "/queryInspectionsCount", method = RequestMethod.POST)
     int queryInspectionsCount(@RequestBody InspectionDto inspectionDto);
+
+    @RequestMapping(value = "/getInspectionRelationShip", method = RequestMethod.POST)
+    public List<InspectionDto> getInspectionRelationShip(@RequestBody  InspectionDto inspectionDto);
+
+    @RequestMapping(value = "/queryInspectionsRelationShipCount", method = RequestMethod.POST)
+    public int queryInspectionsRelationShipCount(@RequestBody InspectionDto inspectionDto);
 }

+ 108 - 14
java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml

@@ -7,10 +7,10 @@
     <!-- 保存巡检点信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessInspectionInfo" parameterType="Map">
         insert into business_inspection_point
-                (inspection_id,machine_id,operate,remark,inspection_name,community_id,b_id)
-            values
-                (#{inspectionId},#{machineId},#{operate},#{remark},#{inspectionName},#{communityId},#{bId})
-       </insert>
+        (inspection_id,machine_id,operate,remark,inspection_name,community_id,b_id)
+        values
+        (#{inspectionId},#{machineId},#{operate},#{remark},#{inspectionName},#{communityId},#{bId})
+    </insert>
 
 
     <!-- 查询巡检点信息(Business) add by wuxw 2018-07-03 -->
@@ -48,10 +48,10 @@
     <!-- 保存巡检点信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveInspectionInfoInstance" parameterType="Map">
         insert into
-            inspection_point(
-                inspection_id,machine_id,remark,status_cd,inspection_name,community_id,b_id
-            ) select t.inspection_id,t.machine_id,t.remark,'0',t.inspection_name,t.community_id,t.b_id from
-            business_inspection_point t where 1=1
+        inspection_point(
+        inspection_id,machine_id,remark,status_cd,inspection_name,community_id,b_id
+        ) select t.inspection_id,t.machine_id,t.remark,'0',t.inspection_name,t.community_id,t.b_id from
+        business_inspection_point t where 1=1
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
         </if>
@@ -78,12 +78,13 @@
     <!-- 查询巡检点信息 add by wuxw 2018-07-03 -->
     <select id="getInspectionInfo" parameterType="Map" resultType="Map">
         select
-            t.inspection_id,t.inspection_id inspectionId,t.machine_id,
-            t.machine_id machineId,t.remark,t.status_cd,t.status_cd statusCd,
-            t.inspection_name,t.inspection_name inspectionName,t.community_id,
-            t.community_id communityId,t.b_id,t.b_id bId,
-            m.machine_code machineCode,m.machine_name machineName,location_type_cd locationTypeCd,location_obj_id locationObjId,m.machine_id machineId,
-            d.name locationTypeName
+        t.inspection_id,t.inspection_id inspectionId,t.machine_id,
+        t.machine_id machineId,t.remark,t.status_cd,t.status_cd statusCd,
+        t.inspection_name,t.inspection_name inspectionName,t.community_id,
+        t.community_id communityId,t.b_id,t.b_id bId,
+        m.machine_code machineCode,m.machine_name machineName,location_type_cd locationTypeCd,location_obj_id
+        locationObjId,m.machine_id machineId,
+        d.name locationTypeName
         from inspection_point t
         inner join machine m on t.machine_id = m.machine_id and m.status_cd = 0
         inner join t_dict d on d.status_cd = m.location_type_cd
@@ -186,4 +187,97 @@
 
     </select>
 
+
+    <!-- 查询巡检点信息 add by wuxw 2018-07-03 -->
+    <select id="getInspectionRelationShipInfo" parameterType="Map" resultType="Map">
+        select
+        t.inspection_id,t.inspection_id inspectionId,t.machine_id,
+        t.machine_id machineId,t.remark,t.status_cd,t.status_cd statusCd,
+        t.inspection_name,t.inspection_name inspectionName,t.community_id,
+        t.community_id communityId,t.b_id,t.b_id bId,
+        m.machine_code machineCode,m.machine_name machineName,location_type_cd locationTypeCd,location_obj_id
+        locationObjId,m.machine_id machineId,
+        d.name locationTypeName
+        from inspection_point t
+        inner join machine m on t.machine_id = m.machine_id and m.status_cd = 0
+        inner join t_dict d on d.status_cd = m.location_type_cd
+        left join inspection_route_point_rel c on t.inspection_id = c.inspection_id
+        where 1 =1
+        and t.status_cd = '0'
+        <if test="relationship != null  and  relationship == '1'">
+            and c.inspection_route_id = #{inspectionRouteId}
+            and c.inspection_id is not null
+        </if>
+        <if test="relationship != null  and  relationship == '0'">
+            and c.inspection_route_id = #{inspectionRouteId}
+            and c.inspection_id is null
+        </if>
+        <if test="inspectionId !=null and inspectionId != ''">
+            and t.inspection_id= #{inspectionId}
+        </if>
+        <if test="machineCode !=null and machineCode != ''">
+            and m.machine_code= #{machineCode}
+        </if>
+        <if test="remark !=null and remark != ''">
+            and t.remark= #{remark}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="inspectionName !=null and inspectionName != ''">
+            and t.inspection_name like concat('%',#{inspectionName},'%')
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
+        group by t.inspection_id
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+    </select>
+
+    <!-- 查询巡检点数量 add by wuxw 2018-07-03 -->
+    <select id="queryInspectionsRelationShipCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from inspection_point t
+        inner join machine m on t.machine_id = m.machine_id and m.status_cd = 0
+        inner join t_dict d on d.status_cd = m.location_type_cd
+        left join inspection_route_point_rel c on t.inspection_id = c.inspection_id
+        where 1 =1
+        and t.status_cd = '0'
+        <if test="relationship != null  and  relationship == '1'">
+            and c.inspection_route_id = #{inspectionRouteId}
+            and c.inspection_id is not null
+        </if>
+        <if test="relationship != null  and  relationship == '0'">
+            and c.inspection_route_id = #{inspectionRouteId}
+            and c.inspection_id is null
+        </if>
+        <if test="inspectionId !=null and inspectionId != ''">
+            and t.inspection_id= #{inspectionId}
+        </if>
+        <if test="machineId !=null and machineId != ''">
+            and t.machine_id= #{machineId}
+        </if>
+        <if test="remark !=null and remark != ''">
+            and t.remark= #{remark}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="inspectionName !=null and inspectionName != ''">
+            and t.inspection_name= #{inspectionName}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
+    </select>
+
 </mapper>