跳到主要内容

地址管理*

产品文档:https://pjpqgu7dv2.feishu.cn/docx/IwZLdknqSoGhlMxh2dcc6nAynMd v3地址页面 img_1.png v4地址管理新页面 img_2.png 可在左侧展示栏中新增小区信息 img_3.png 删除小区信息(只可删除无地址的小区) img_4.png 修改小区地址 img_5.png 对小区中的地址进行分配 img_6.png

配置说明

配置名称类型说明
delAreaLOGIC 业务逻辑删除小区logic
compatibilityAddressLOGIC 业务逻辑地址兼容logic
getOperatingAreasLOGIC 业务逻辑经营地区选择框(省市区选择框)用
addAreaLOGIC 业务逻辑添加小区logic
editAreaLOGIC 业务逻辑修改小区logic
asigAddresLOGIC 业务逻辑给地址重新分配小区logic
delAddressLOGIC 业务逻辑删除地址
addAddressLOGIC 业务逻辑添加地址
getAreaMsgLOGIC 业务逻辑点击小区新建地址时获取小区详情
ImportOrMoPerfectAddressLOGIC 业务逻辑导入完善地址的logic逻辑
ImportOrMoPerfectAddressVerifyLOGIC 业务逻辑导入前验证地址是否正确的逻辑
addAreaFormSIMPLE_FORM 简易表单新增小区表单
editAreaFormSIMPLE_FORM 简易表单修改小区表单
addressTypeJSON 配置(后续可能变成 单独一类配置)左侧树配置
address_managementCRUD_FORM 查询表单查询列表配置
addressTypeDic字典配置地址类型配置 城市/乡镇等

功能描述

相比于 v3 功能,v4地址管理移除了新建省市区街道的单独页面 省市区街道合并为 经营地区

从 divisions_of_china 取值,这个表得数据 从产品标准库拿 2024.6.17 有 44703 条数据

所以如果旧系统迁移使用新地址管理 需要在 divisions_of_china 表中找到对应的数据,并将 isused 字段改成 1,这样才能在新系统中使用

其中对应关系为 :

街道表 t_street 中 f_street 字段 找到 对应的 divisions_of_china 记录 并设置 isused 字段为 1,再 t_street 中的 f_street_number 改成 divisions_of_china 中的 code 字段.

省市区表 t_pcd 中 f_pcd 字段 找到 对应的 divisions_of_china 记录 并设置 isused 字段为 1,再 t_pcd 中的 f_pcd_number 改成 divisions_of_china 中的 code 字段.

注意:修改 t_pcd 表中 f_pcd 应该 = divisions_of_china.describe;t_street 表中 f_street 应该 = divisions_of_china.name;

参考sql


-- 查询所有的省市区
select * from t_pcd ;

|id|f_pcd|
|---|---|
|1|北京市市辖区东城区|

-- 根据省市区名称查询 找到区级
select * from divisions_of_china where describe = '北京市市辖区东城区';
-- 修改 t_pcd.f_pc_number = divisions_of_china.code
update t_pcd set f_pcd_number = '110101' where f_pcd = '北京市市辖区东城区';
-- 查到记录之后修改 isused 字段为 1
update divisions_of_china set isused = 1 where describe = '北京市市辖区东城区';
-- 并修改父级(区级)也是 1
update divisions_of_china set isused = 1 where code in (
select parent_code from divisions_of_china where describe = '北京市市辖区东城区'
);
-- 并修改父级得父级(市级)也是 1
update divisions_of_china set isused = 1 where code in (
select parent_code from divisions_of_china where code in (
select parent_code from divisions_of_china where describe = '北京市市辖区东城区'
)
);
-- 并修改父级得父级(省级)也是 1
update divisions_of_china set isused = 1 where code in (
select parent_code from divisions_of_china where code in (
select parent_code from divisions_of_china where code in (
select parent_code from divisions_of_china where describe = '北京市市辖区东城区'
)
)
);

-- 查询所有的街道
select * from t_street ;

|id|f_street|
|---|---|
|1|东城区|

-- 根据街道名称 和 区级id 查询 街道
select * from divisions_of_china where name = '东城区' and parent_code in (
select code from divisions_of_china where describe = '北京市市辖区东城区'
);

-- 查到记录之后修改 isused 字段为 1
update divisions_of_china set isused = 1 where name = '东城区' and parent_code in (
select code from divisions_of_china where describe = '北京市市辖区东城区'
);

-- 所有的街道 省市区找到之后 才能建立系统中的关联关系

-- 粗暴sql 找到一级使用的 执行四五次就可以把他得上级都改成 1
update divisions_of_china set isused = 1 where code in (
select parent_code from divisions_of_china where isused = 1
);

2024-07-12 之后处理数据注意

由于添加了分公司功能,所以同步数据时需要 在表中 org_full_ids 字段复制为所有的id 参考下面sql


select distinct F_ORGID from T_STREET;

| F_ORGID |
| :--- |
| 35526 |
| 35520 |
| 10101 |
| 35538 |
| 35532 |

-- 把使用状态的记录修改 分公司id 注意 前面要多加一个 , 否则 35526 再删除某个经营区域的时候可能删不掉
update DIVISIONS_OF_CHINA
set org_full_ids =',35526,35520,10101,35538,35532'
where ISUSED > 0;

关于地址类型

第一版配置 addressTypeDic

{
"value": [
{
"expression": "{f_building}楼号{f_unit}单元{f_floor}楼层{f_room}门牌号",
"label": "城市",
"value": "城市"
},
{
"expression": "{f_building}组{f_unit}号",
"label": "乡镇",
"value": "乡镇"
},
{
"expression": "{f_address}",
"label": "自定义",
"value": "自定义"
}
]
}

其中 中的部分会在页面上生成输入框,修改地址的话 数据会从 当条记录默认带入 中的数据。

每个输入框中得值填写完成之后 会组织成地址串进行保存