xieb
2023-09-01 393f16936cab37217402cca4f4c032a7819eda98
增加流域接口
7 files added
273 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttBasBaseController.java 48 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/AttBasBase.java 52 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttBasBaseMapper.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttBasBaseMapper.xml 44 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttBasBaseService.java 19 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttBasBaseServiceImpl.java 35 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttBasBaseVO.java 54 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttBasBaseController.java
New file
@@ -0,0 +1,48 @@
package cn.gistack.sm.sjztmd.controller;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
import cn.gistack.sm.sjztmd.service.IAttBasBaseService;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import cn.gistack.sm.sjztmd.vo.AttBasBaseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/9/1 15:36
 */
@Slf4j
@Api(tags = "中台水库")
@RestController
@RequestMapping("/sjztmd/attBas")
@AllArgsConstructor
public class AttBasBaseController extends BladeController {
    private final IAttBasBaseService attBasBaseService;
    @GetMapping("/selectAll")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "code", value = "区划编号", paramType = "query", dataType = "string"),
    })
    @ApiOperation(value = "加载树列表", notes = "传入code")
    public R<List<AttBasBaseVO>> selectAll(String code) {
        List<AttBasBaseVO> list = attBasBaseService.lazyTree(code);
        return R.data(list);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/AttBasBase.java
New file
@@ -0,0 +1,52 @@
package cn.gistack.sm.sjztmd.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/9/1 14:45
 */
@Data
@TableName("\"att_bas_base\"")
@ApiModel(value = "流域对象", description = "流域对象")
public class AttBasBase implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键")
    @TableField("\"code\"")
    @TableId("\"code\"")
    private String code;
    @TableField("\"name\"")
    private String name;
    @TableField("\"grad\"")
    private String grad;
    @TableField("\"longitude\"")
    private String longitude;
    @TableField("\"latitude\"")
    private String latitude;
    @TableField("\"ad_code\"")
    private String adCode;
    @TableField("\"area\"")
    private String area;
    @TableField("\"p_code\"")
    private String pCode;
    @TableField("\"p_name\"")
    private String pName;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttBasBaseMapper.java
New file
@@ -0,0 +1,21 @@
package cn.gistack.sm.sjztmd.mapper;
import cn.gistack.sm.sjztmd.entity.AttBasBase;
import cn.gistack.sm.sjztmd.vo.AttBasBaseVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/9/1 14:51
 */
public interface AttBasBaseMapper extends BaseMapper<AttBasBase> {
    List<AttBasBaseVO> lazyTree(String code);
    List<AttBasBaseVO> selectListByCode(String code);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttBasBaseMapper.xml
New file
@@ -0,0 +1,44 @@
<?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.gistack.sm.sjztmd.mapper.AttBasBaseMapper">
    <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
        <id column="id" property="id"/>
        <result column="parent_id" property="parentId"/>
        <result column="title" property="title"/>
        <result column="value" property="value"/>
        <result column="key" property="key"/>
        <result column="has_children" property="hasChildren"/>
    </resultMap>
    <!--namespace根据自己需要创建的的mapper的路径和名称填写-->
    <select id="lazyTree" resultType="cn.gistack.sm.sjztmd.vo.AttBasBaseVO">
        select distinct
            a."code" AS "code",
            a."name" AS "name",
            a."grad" AS "grad",
            a."p_code" AS "pCode",
        ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM "SJZT_MD"."att_bas_base" WHERE "p_code" = a."code" ) AS "hasChildren"
        from "SJZT_MD"."att_bas_base" a
        left join "SJZT_MD"."rel_ad_bas_loc" b on (a."code" = b."bas_code" )
        left join "SJZT_MD"."att_ad_base" b2 on (b."ad_code" = b2."p_ad_code" )
        left join "SJZT_MD"."att_ad_base" b3 on (b2."guid" = b3."p_ad_code" )
        left join "SJZT_MD"."att_ad_base" b4 on (b2."guid" = b4."p_ad_code" )
        <where>
            <if test="param1!=null">
                and (b."ad_code" = #{param1} or b2."ad_code" = #{param1} or b3."ad_code" = #{param1})
            </if>
            and a."grad" = 1
        </where>
        ORDER BY a."grad"
    </select>
    <select id="selectListByCode" resultType="cn.gistack.sm.sjztmd.vo.AttBasBaseVO">
        select * from "SJZT_MD"."att_bas_base"
        <where>
            <if test="param1!=null">
                and "p_code" = #{param1}
            </if>
        </where>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttBasBaseService.java
New file
@@ -0,0 +1,19 @@
package cn.gistack.sm.sjztmd.service;
import cn.gistack.sm.sjztmd.entity.AttBasBase;
import cn.gistack.sm.sjztmd.vo.AttBasBaseVO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/9/1 15:19
 */
public interface IAttBasBaseService extends IService<AttBasBase> {
    List<AttBasBaseVO> lazyTree(String code);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttBasBaseServiceImpl.java
New file
@@ -0,0 +1,35 @@
package cn.gistack.sm.sjztmd.service.impl;
import cn.gistack.sm.sjztmd.entity.AttBasBase;
import cn.gistack.sm.sjztmd.mapper.AttBasBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttBasBaseService;
import cn.gistack.sm.sjztmd.vo.AttBasBaseVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/9/1 15:20
 */
@Service
@DS("zt")
public class AttBasBaseServiceImpl extends ServiceImpl<AttBasBaseMapper, AttBasBase> implements IAttBasBaseService {
    @Override
    public List<AttBasBaseVO> lazyTree(String code) {
        List<AttBasBaseVO>  list = baseMapper.lazyTree(code);
        for (AttBasBaseVO vo:list) {
            if (vo.getHasChildren()) {
                vo.setChildren(baseMapper.selectListByCode(vo.getCode()));
            }
        }
        return list;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttBasBaseVO.java
New file
@@ -0,0 +1,54 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package cn.gistack.sm.sjztmd.vo;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.entity.AttBasBase;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tool.node.INode;
import java.util.ArrayList;
import java.util.List;
/**
 * 实体类
 *
 * @author Chill
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "att_bas_base对象", description = "att_bas_base对象")
public class AttBasBaseVO extends AttBasBase  {
    /**
     * 子孙节点
     */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<AttBasBaseVO> children;
    /**
     * 是否有子孙节点
     */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Boolean hasChildren;
}