片区街道:修改了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. 返回包含以下数据的类
片区名称
街道编号
街道名称
注销标志
备注