Commit edbc4a0e authored by 单奇雲's avatar 单奇雲

新增区域树查询,区域详情查询接口

parent 003761dd
package com.yeejoin.amos.fas.business.controller; package com.yeejoin.amos.fas.business.controller;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService; import com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService;
import com.yeejoin.amos.fas.business.vo.ReginParams;
import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.core.util.CommonResponseUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@RestController @RestController
@RequestMapping("/api/view3d") @RequestMapping("/api/view3d")
@Api(tags="view3d数据") @Api(tags="view3d数据")
public class View3dController { public class View3dController extends BaseController{
@Autowired @Autowired
private IRiskSourceService riskSourceService; private IRiskSourceService riskSourceService;
@ApiOperation(value = "区域树查询", notes = "区域树查询")
@GetMapping(value = "/region/tree")
public CommonResponse getRegionTree() {
ReginParams reginParams =getSelectedOrgInfo();
String orgCode = this.getOrgCode(reginParams);
return CommonResponseUtil.success(riskSourceService.findRegionTree(orgCode));
}
@ApiOperation(value = "区域详情查询", notes = "区域详情查询")
@GetMapping(value = "region/detail/{id}")
public CommonResponse getRegionDetail(@PathVariable("id") Long id) {
ReginParams reginParams =getSelectedOrgInfo();
String orgCode = this.getOrgCode(reginParams);
return CommonResponseUtil.success(riskSourceService.findRegionById(id,orgCode));
}
} }
package com.yeejoin.amos.fas.business.dao.mapper; package com.yeejoin.amos.fas.business.dao.mapper;
import com.yeejoin.amos.fas.business.param.CommonPageInfoParam; import com.yeejoin.amos.fas.business.param.CommonPageInfoParam;
import com.yeejoin.amos.fas.core.common.response.RegionTreeResponse;
import com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse; import com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse;
import com.yeejoin.amos.fas.dao.entity.RiskSource; import com.yeejoin.amos.fas.dao.entity.RiskSource;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -95,4 +96,8 @@ public interface RiskSourceMapper extends BaseMapper { ...@@ -95,4 +96,8 @@ public interface RiskSourceMapper extends BaseMapper {
List<Map> queryFmeaByPointId(@Param("pointId") Long pointId); List<Map> queryFmeaByPointId(@Param("pointId") Long pointId);
void updateRpn(RiskSource riskSource); void updateRpn(RiskSource riskSource);
List<RegionTreeResponse> getRegionList(String orgCode);
HashMap<String, Object> findRegionById(@Param("id")Long id,@Param("orgCode")String orgCode);
} }
...@@ -51,6 +51,7 @@ import com.yeejoin.amos.fas.business.util.JexlUtil; ...@@ -51,6 +51,7 @@ import com.yeejoin.amos.fas.business.util.JexlUtil;
import com.yeejoin.amos.fas.business.vo.EquipCommunicationData; import com.yeejoin.amos.fas.business.vo.EquipCommunicationData;
import com.yeejoin.amos.fas.client.invoke.RsDataQueue; import com.yeejoin.amos.fas.client.invoke.RsDataQueue;
import com.yeejoin.amos.fas.core.common.request.CommonPageable; import com.yeejoin.amos.fas.core.common.request.CommonPageable;
import com.yeejoin.amos.fas.core.common.response.RegionTreeResponse;
import com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse; import com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse;
import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData; import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData;
import com.yeejoin.amos.fas.dao.entity.Dict; import com.yeejoin.amos.fas.dao.entity.Dict;
...@@ -1743,7 +1744,40 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1743,7 +1744,40 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
return null; return null;
} }
@Override
public List<RegionTreeResponse> findRegionTree(String orgCode) {
List<RegionTreeResponse> regionList = riskSourceMapper.getRegionList(orgCode);
return getRiskRegionTree(regionList);
}
//区域列表转树
private static List<RegionTreeResponse> getRiskRegionTree(List<RegionTreeResponse> list) {
List<RegionTreeResponse> treeList = new ArrayList<RegionTreeResponse>();
for (RegionTreeResponse tree : list) {
if (tree.getParentId() != null && tree.getParentId() == 0) {
treeList.add(tree);
}
for (RegionTreeResponse treeNode : list) {
if (treeNode.getParentId().longValue() == tree.getId()) {
if (tree.getChildren() == null) {
tree.setChildren(new ArrayList<>());
}
tree.getChildren().add(treeNode);
}
}
}
return treeList;
}
@Override
public HashMap<String, Object> findRegionById(Long id,String orgCode) {
HashMap<String, Object> regionDetail = riskSourceMapper.findRegionById(id,orgCode);
if(regionDetail != null) {
Long isBind = (Long) regionDetail.get("isBind");
regionDetail.put("isBind", isBind == 0 ? false : true);
}
return regionDetail;
}
......
...@@ -7,6 +7,7 @@ import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus; ...@@ -7,6 +7,7 @@ import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus;
import com.yeejoin.amos.fas.business.service.model.FireEquimentDataRo; import com.yeejoin.amos.fas.business.service.model.FireEquimentDataRo;
import com.yeejoin.amos.fas.business.service.model.ProtalDataRo; import com.yeejoin.amos.fas.business.service.model.ProtalDataRo;
import com.yeejoin.amos.fas.core.common.request.CommonPageable; import com.yeejoin.amos.fas.core.common.request.CommonPageable;
import com.yeejoin.amos.fas.core.common.response.RegionTreeResponse;
import com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse; import com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse;
import com.yeejoin.amos.fas.dao.entity.FmeaEquipmentPoint; import com.yeejoin.amos.fas.dao.entity.FmeaEquipmentPoint;
import com.yeejoin.amos.fas.dao.entity.FmeaPointInputitem; import com.yeejoin.amos.fas.dao.entity.FmeaPointInputitem;
...@@ -113,4 +114,8 @@ public interface IRiskSourceService { ...@@ -113,4 +114,8 @@ public interface IRiskSourceService {
void notifyRiskSource(Long riskSourceId, String notifyType, String jpushTarget); void notifyRiskSource(Long riskSourceId, String notifyType, String jpushTarget);
List<RegionTreeResponse> findRegionTree(String orgCode);
HashMap<String, Object> findRegionById(Long id,String orgCode);
} }
...@@ -675,5 +675,21 @@ ...@@ -675,5 +675,21 @@
</set> </set>
where id = #{id} where id = #{id}
</update> </update>
<select id="getRegionList" parameterType="string" resultType="com.yeejoin.amos.fas.core.common.response.RegionTreeResponse">
select
id,name,code,parent_id,ue4_location,ue4_rotation,ue4_extent,
IF(ISNULL(IF(trim(ue4_rotation)='',NULL,ue4_rotation)) OR ISNULL(IF(trim(ue4_location)='',NULL,ue4_location)),0,1) as is_bind
from f_risk_source
where is_region = 'TRUE' AND org_code like CONCAT(#{orgCode},'%')
</select>
<select id="findRegionById" resultType="java.util.HashMap">
select
id,name,code,parent_id as parentId,ue4_location as ue4Location,ue4_rotation as ue4Rotation,ue4_extent as ue4Extent,
IF(ISNULL(IF(trim(ue4_rotation)='',NULL,ue4_rotation)) OR ISNULL(IF(trim(ue4_location)='',NULL,ue4_location)),0,1) as isBind
from f_risk_source
where id=#{id} AND org_code like CONCAT(#{orgCode},'%')
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment