Commit 7d5b3c2a authored by chenhao's avatar chenhao

修改重点部位代码 陈浩

parent f9b6beb3
......@@ -66,12 +66,22 @@ public class KeySite extends BaseEntity {
*/
@TableField("fire_endurance_rate")
private String fireEnduranceRate;
/**
* 耐火等级名称
*/
@TableField("fire_endurance_rate_name")
private String fireEnduranceRateName;
/**
* 使用性质
*/
@TableField("use_nature")
private String useNature;
/**
* 使用性质名称
*/
@TableField("use_nature_name")
private String useNatureName;
/**
* 责任人
......
......@@ -33,7 +33,7 @@ public KeySiteDto save(KeySiteDto model);
*/
public boolean update(KeySiteDto keySite, AgencyUserModel userInfo) ;
/**
* 获取机场单位组织结构树,包含单位下部门数量的统计
* 获取机场单位部位树,包含单位下所包含的部位的统计
* @return
*/
public List<OrgMenuDto> getOrguserTree();
......@@ -56,5 +56,12 @@ public List<KeySiteExcleDto> exportToExcel();
* @return
*/
public List<Object> getBuildTree() ;
public boolean saveExcel(List<KeySiteExcleDto> excelDtoList);
/**
* 获取所在建筑的建筑部位树
* @param sequenceNbr 所在建筑的id
* @return
*/
public List<OrgMenuDto> getBuildAndKeyTree(Long sequenceNbr);
}
......@@ -31,45 +31,29 @@ SELECT
c.rec_user_id AS recUserId,
c.rec_user_name AS recUserName,
c.rec_date AS recDate,
fer.`name` as fireEnduranceRateName,
un.`name` as useNatureName
c.fire_endurance_rate_name as fireEnduranceRateName,
c.use_nature_name as useNatureName
FROM
cb_key_site c
LEFT JOIN (
SELECT
c.fire_endurance_rate,
b.`name`
FROM
cb_key_site c
LEFT JOIN cb_data_dictionary b ON c.fire_endurance_rate = b.`code` and b.type ='NHDJ' group by b.`name`
) fer ON c.fire_endurance_rate = fer.fire_endurance_rate
LEFT JOIN (
SELECT
c.use_nature,
b.`name`
FROM
cb_key_site c
LEFT JOIN cb_data_dictionary b ON c.use_nature = b.`code` and b.type ='SYXZ' group by b.`name`
) un ON c.use_nature = un.use_nature
left join cb_org_usr cou on c.building_id =cou.sequence_nbr
left join cb_org_usr cou on c.belong_id =cou.sequence_nbr
where c.is_delete=FALSE
<if test="name != null and name != ''">
AND c.`name`=#{name}
AND c.`name` like concat(#{name}, '%')
</if>
<if test="buildingId != null and buildingId != -1">
AND c.`building_id`=#{buildingId}
AND c.`building_id`= #{buildingId}
</if>
<if test="fireEnduranceRate != null and fireEnduranceRate != ''">
AND c.`fire_endurance_rate`=#{fireEnduranceRate}
AND c.`fire_endurance_rate`= #{fireEnduranceRate}
</if>
<if test="useNature != null and useNature != ''">
AND c.`use_nature`=#{useNature}
AND c.`use_nature`= #{useNature}
</if>
<if test="fireFacilitiesInfo != null and fireFacilitiesInfo != ''">
AND c.`fire_facilities_info`=#{fireFacilitiesInfo}
AND c.`fire_facilities_info`= #{fireFacilitiesInfo}
</if>
<if test="belongId != null and belongId!='-1' and belongId != -1">
AND c.`belong_id`=#{belongId}
AND c.`belong_id`= #{belongId}
</if>
</select>
......@@ -101,27 +85,11 @@ where c.is_delete=FALSE
c.rec_user_id AS recUserId,
c.rec_user_name AS recUserName,
c.rec_date AS recDate,
fer.`name` as fireEnduranceRateName,
un.`name` as useNatureName
c.fire_endurance_rate_name as fireEnduranceRateName,
c.use_nature_name as useNatureName
FROM
cb_key_site c
LEFT JOIN (
SELECT
c.fire_endurance_rate,
b.`name`
FROM
cb_key_site c
LEFT JOIN cb_data_dictionary b ON c.fire_endurance_rate = b.`code` group by b.`name`
) fer ON c.fire_endurance_rate = fer.fire_endurance_rate
LEFT JOIN (
SELECT
c.use_nature,
b.`name`
FROM
cb_key_site c
LEFT JOIN cb_data_dictionary b ON c.use_nature = b.`code` group by b.`name`
) un ON c.use_nature = un.use_nature
left join cb_org_usr cou on c.building_id =cou.sequence_nbr
left join cb_org_usr cou on c.belong_id =cou.sequence_nbr
where c.sequence_nbr=#{sequenceNbr} and c.is_delete=FALSE;
</select>
......@@ -152,30 +120,12 @@ where c.sequence_nbr=#{sequenceNbr} and c.is_delete=FALSE;
c.rec_user_id AS recUserId,
c.rec_user_name AS recUserName,
c.rec_date AS recDate,
fer.`name` as fireEnduranceRateName,
un.`name` as useNatureName
c.fire_endurance_rate_name as fireEnduranceRateName,
c.use_nature_name as useNatureName
FROM
cb_key_site c
LEFT JOIN (
SELECT
c.fire_endurance_rate,
b.`name`
FROM
cb_key_site c
LEFT JOIN cb_data_dictionary b ON c.fire_endurance_rate = b.`code` group by b.`name`
) fer ON c.fire_endurance_rate = fer.fire_endurance_rate
LEFT JOIN (
SELECT
c.use_nature,
b.`name`
FROM
cb_key_site c
LEFT JOIN cb_data_dictionary b ON c.use_nature = b.`code` group by b.`name`
) un ON c.use_nature = un.use_nature
left join cb_org_usr cou on c.building_id =cou.sequence_nbr
left join cb_org_usr cou on c.belong_id =cou.sequence_nbr
where c.is_delete=FALSE;
</select>
</mapper>
......@@ -147,7 +147,7 @@ public class KeySiteController extends BaseController {
// }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "机场单位组织结构树", notes = "机场单位组织结构树")
@ApiOperation(httpMethod = "GET",value = "机场单位部位树", notes = "机场单位部位树")
@GetMapping(value = "/getOrguserTree")
public ResponseModel<List<OrgMenuDto>> getOrguserTree() throws Exception{
List<OrgMenuDto> list = new ArrayList<OrgMenuDto>();
......@@ -158,5 +158,10 @@ public class KeySiteController extends BaseController {
list.add(orgMenuDto);
return ResponseHelper.buildResponse(list);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "建筑部位树", notes = "建筑部位树")
@GetMapping(value = "/getBuildTree/{buildingId}")
public ResponseModel<List<OrgMenuDto>> getBuildTree(@PathVariable Long buildingId) throws Exception{
return ResponseHelper.buildResponse(keySiteService.getBuildAndKeyTree(buildingId));
}
}
......@@ -20,6 +20,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -181,16 +182,17 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
@Override
public List<OrgMenuDto> getOrguserTree() {
return buildTreeParallel(orgUsrMapper.getCompanyAndCountDepartment());
}
public static List<OrgMenuDto> buildTreeParallel(List<OrgUsrTreeDto> list) {
List<OrgUsrTreeDto> list = orgUsrMapper.getCompanyAndCountDepartment();
List<OrgMenuDto> menuList = list.stream().map(o -> {
OrgMenuDto menu = new OrgMenuDto(o.getSequenceNbr(), o.getBizOrgName()+" "+o.getNum(),
ObjectUtils.isEmpty(o.getParentId()) ? 0L : Long.valueOf(o.getParentId()), o.getBizOrgType(), false,
o.getBizOrgCode());
return menu;
}).collect(Collectors.toList());
return buildTreeParallel(menuList);
}
public static List<OrgMenuDto> buildTreeParallel(List<OrgMenuDto> menuList) {
List<OrgMenuDto> result = new ArrayList<>();
Map<Long, OrgMenuDto> map = new HashMap<>(menuList.size());
......@@ -260,4 +262,29 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
}
return this.saveBatch(excelList);
}
@Override
public List<OrgMenuDto> getBuildAndKeyTree(Long sequenceNbr) {
LambdaQueryWrapper<KeySite> mapper =new LambdaQueryWrapper<KeySite>();
mapper.eq(KeySite::getBuildingId, sequenceNbr);
mapper.eq(KeySite::getIsDelete, false);
List<KeySite> list=this.baseMapper.selectList(mapper);
if(list==null || list.size()==0) {
return null;
}
String buildNameString=list.get(0).getBuildingName();
List<OrgMenuDto> menuList = list.stream().map(o -> {
OrgMenuDto menu = new OrgMenuDto(o.getSequenceNbr(), o.getName(),
ObjectUtils.isEmpty(o.getBelongId()) ? 0L : Long.valueOf(o.getBelongId()), null, false,
null);
return menu;
}).collect(Collectors.toList());
List<OrgMenuDto> list1 = new ArrayList<OrgMenuDto>();
OrgMenuDto orgMenuDto =new OrgMenuDto();
orgMenuDto.setChildren(buildTreeParallel(menuList));
orgMenuDto.setName(buildNameString);
orgMenuDto.setTitle(buildNameString);
list1.add(orgMenuDto);
return list1;
}
}
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