片区街道

片区街道:修改了login跳转网址

片区街道表:

T_JD_PQ_JD_FL

ID
PQID 片区ID
JDBH 街道编号
JDMC 街道名称
ZXBZ 注销标志
BZ 备注
KZ1 
KZ2

建表语句:

create table T_JC_PQ_JD_FL
(
    ID          VARCHAR2(50) not null
        constraint T_JC_PQ_JD_FL_PK
            primary key,
    DISTRICT_ID VARCHAR2(50),
    STREET_CODE VARCHAR2(200),
    STREET_NAME VARCHAR2(200),
    DELETEFLAG  VARCHAR2(2),
    BZ          VARCHAR2(500),
    KZ1         VARCHAR2(4000),
    KZ2         VARCHAR2(4000)
)

/
comment on table T_JC_PQ_JD_FL is '片区街道-冯麟'
/
comment on column T_JC_PQ_JD_FL.ID is '主键'
/
comment on column T_JC_PQ_JD_FL.DISTRICT_ID is '片区ID(参考片区表的主键)'
/
comment on column T_JC_PQ_JD_FL.STREET_CODE is '街道编号'
/
comment on column T_JC_PQ_JD_FL.STREET_NAME is '街道名称'
/
comment on column T_JC_PQ_JD_FL.DELETEFLAG is '注销标志'
/
comment on column T_JC_PQ_JD_FL.BZ is '备注'
/
comment on column T_JC_PQ_JD_FL.KZ1 is '扩展1'
/
comment on column T_JC_PQ_JD_FL.KZ2 is '扩展2'
/

片区街道类:

public class DistrictStreet extends BaseEntity{
    -------------------------------------
    成员变量:
    String:
        id,districtId,districtName,streetCode,
        deleteFlag,bz,kz1,kz2
    //外部类,用以封装另外一个表中的数据
    District:
        district
    -------------------------------------
    成员方法:
    getter&setter方法
    toString方法
    //setDistrict方法中获取District中的districtName
    public void setDistrict(District district) {
        this.district = district;
        this.districtName = district.getDistrictName();
    }
    
}

片区列表查询:

列表查询T_JC_PQ表中片区街道,并从关联表T_JC_PQ_FL_1中获取数据

返回的数据查表会在片区表中得到片区名称,所以需要给 片区街道类 增加相关的变量,并提供对应的方法。

实体类:

// DistrictStreet
private String districtId;
private String districtName;
public District getDistrict() {
    return district;
}

public void setDistrict(District district) {
    this.district = district;
    this.districtName = district.getDistrictName();
}

Controller:

//DistrictStreetController
//shiro权限标识注解
//RESTful请求方式与请求url注解
//响应体注解
@RequiresPermissions("Estate:DistrictStreet:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(DistrictStreet districtStreet)
{
    startPage();
    List<DistrictStreet> list = districtStreetService.selectDistrictStreetList(districtStreet);
    return getDataTable(list);
}

Service:

//DistrictStreetServiceImpl
//接受mapper返回的数据
@Override
public List<DistrictStreet> selectDistrictStreetList(DistrictStreet districtStreet)
{
    List<DistrictStreet> back = new ArrayList<>();
    back =  districtStreetMapper.selectDistrictStreetList(districtStreet);
    return back;
}

Mapper:

需要在mapperXML中街道的ResultMap下加入标签,获取片区表 片区名称数据。查询时使用左连接查询街道作为主表数据。

<!-- DistrictStreetMapper.xml -->
<resultMap type="com.shggc.project.forelink.Estate.District.domain.District" id="DistrictResult">
        <result property="id"    column="id"    />
        <result property="districtCode"    column="district_code"    />
        <result property="districtName"    column="district_name"    />
        <result property="deleteFlag"    column="delete_flag"    />
        <result property="bz"    column="bz"    />
        <result property="kz1"    column="kz1"    />
        <result property="kz2"    column="kz2"    />
</resultMap>
    
<resultMap id="DistrictStreetResult" type="com.shggc.project.forelink.Estate.DistrictStreet.domain.DistrictStreet">
        <result property="id"    column="id"    />
        <result property="districtId"    column="district_id"    />
        <result property="streetCode"    column="street_code"    />
        <result property="streetName"    column="street_name"    />
        <result property="deleteflag"    column="deleteflag"    />
        <result property="bz"    column="bz"    />
        <result property="kz1"    column="kz1"    />
        <result property="kz2"    column="kz2"    />
        <association property="district" resultMap="DistrictResult"/>
</resultMap>

<sql id="selectDistrictStreetWithDistrict">
        select * from t_jc_pq_jd_fl jd join t_jc_pq_fl_1 pq on jd.district_id = pq.district_code
</sql>

<select id="selectDistrictStreetList" parameterType="com.shggc.project.forelink.Estate.DistrictStreet.domain.DistrictStreet" resultMap="DistrictStreetResult">
    <include refid="selectDistrictStreetWithDistrict"/>
    <where>
        <if test="districtId != null  and districtId != ''"> and district_id = #{districtId}</if>
        <if test="streetCode != null  and streetCode != ''"> and street_code = #{streetCode}</if>
        <if test="streetName != null  and streetName != ''"> and street_name like concat(concat('%', #{streetName}), '%')</if>
        <if test="deleteflag != null  and deleteflag != ''"> and deleteflag = #{deleteflag}</if>
        <if test="bz != null  and bz != ''"> and bz = #{bz}</if>
        <if test="kz1 != null  and kz1 != ''"> and kz1 = #{kz1}</if>
        <if test="kz2 != null  and kz2 != ''"> and kz2 = #{kz2}</if>
        <if test="districtName != null and districtName != ''"> and district_name like  concat(concat('%', #{districtName}), '%') </if>
    </where>
</select>

前端页面:

在columns中添加元素

//DistrictStreet.html
{
    field: 'districtName', //元素名称 传参时需要与变量名相匹配
    title: '归属片区', //
    sortable : true
}

刷新后,即可正确显示包含片区名称的街道信息。

片区条件查询:

片区添加:

片区名称下拉框:

​ 在添加页面,需要获取目前有的片区名称,并展示在可选择的下拉框中

Controller:

需要给前端传送包含所有片区id与名称的数据,给前端获取查看与发送id与名称正确对应的表单。

@GetMapping("/add")
public String add(ModelMap modelMap)
{
       // 通过Thymeleaf 中的ModelMap容器来存
    modelMap.put("DistrictSelect",districtStreetService.selectDistrictAll());
    return "Estate/DistrictStreet/add";
}

Service:

​ 封装数据,调用mapper接口并将获取的数据传给前端。

//规定返回的类型为 List<District>
@Override
public List<District> selectDistrictAll() {
    return districtStreetMapper.selectDistrictAll();
}

Mapper:

<select id="selectDistrictAll" resultType="com.shggc.project.forelink.Estate.District.domain.District">
    select district_Code as districtCode , district_name as districtName , id , delete_flag as deleteFlag, bz from t_jc_pq_fl_1
</select>

前端页面:

<!-- 下拉框元素值会被districtId携带传给服务器 -->
<select id="districtSelect" name="districtId" class="form-control select2-single required" required>
    <option value="" disabled selected>-- 请选择所属的片区 --</option>
    <!-- th:each遍历方法 设置临时变量D获取ModelMap中key为DistrictSelect的value -->
    <!-- th:text="下拉框文本" th:value="下拉框元素值" -->
    <!-- 提交表单时,只有th:value中的值被传给了服务器 -->
    <option th:each="D : ${DistrictSelect}" th:text="${D.districtName}" th:value="${D.districtCode}"></option>
</select>

片区修改:没做完

数据回显:

需求:

1. 返回包含以下数据的类
    片区名称
    街道编号
    街道名称
    注销标志
    备注
上一篇
下一篇