diff --git a/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.8__add_dict_data_pid.sql b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.8__add_dict_data_pid.sql
new file mode 100644
index 0000000000..864cc905d1
--- /dev/null
+++ b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.8__add_dict_data_pid.sql
@@ -0,0 +1,27 @@
+-- 添加pid (dict_p_value) 让字典支持 树形结构
+ALTER TABLE `epmet_admin`.`sys_dict_data`
+ ADD COLUMN `dict_p_value` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '父级value项;默认为0' AFTER `dict_value`;
+ALTER TABLE `epmet_admin`.`sys_dict_data`
+ MODIFY COLUMN `dict_value` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典值' AFTER `dict_label`;
+
+
+INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473150812296318978, 'patrol_work_type', '例行工作分类', '网格员巡查-例行工作事项分类', 13, 1067246875800000001, '2021-12-21 12:40:45', 12, '2021-12-21 17:37:12');
+
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473151790785499137, 1473150812296318978, '重点巡查', '01', '0', '', 1, NULL, NULL, 1, '2021-12-21 14:17:14');
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473175635001085953, 1473150812296318978, '出租房屋巡查', '0101', '01', '', 1, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473175848537296897, 1473150812296318978, '重点场所巡查', '0102', '01', '', 2, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473175904669667329, 1473150812296318978, '宗教活动', '0103', '01', '', 3, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473175977868660738, 1473150812296318978, '其他', '0199', '01', '', 99, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473151862784921602, 1473150812296318978, '特殊人群', '02', '0', '', 2, NULL, NULL, 1, '2021-12-21 14:17:24');
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176029219524610, 1473150812296318978, '刑满释放人员', '0201', '02', '', 1, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176085809074178, 1473150812296318978, '社区矫正', '0202', '02', '', 2, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176129127845889, 1473150812296318978, '吸毒人员', '0203', '02', '', 3, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176201798356994, 1473150812296318978, '信访人员', '0204', '02', '', 4, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176249558896642, 1473150812296318978, '重点青少年', '0205', '02', '', 5, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176305758375937, 1473150812296318978, '精神障碍者', '0206', '02', '', 6, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473151924881592321, 1473150812296318978, '为民服务', '09', '0', '', 3, NULL, NULL, 1, '2021-12-21 14:20:06');
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176393352220673, 1473150812296318978, '公共服务', '0901', '09', '', 1, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176479897489410, 1473150812296318978, '权益保障', '0902', '09', '', 2, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176534641545218, 1473150812296318978, '政策宣传', '0903', '09', '', 3, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176583006064641, 1473150812296318978, '便利服务', '0904', '09', '', 4, NULL, NULL, NULL, NULL);
+INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1473176670985785345, 1473150812296318978, '其他', '0999', '09', '', 99, NULL, NULL, NULL, NULL);
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PatrolRoutineWorkDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PatrolRoutineWorkDTO.java
deleted file mode 100644
index d0c66c1a07..0000000000
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PatrolRoutineWorkDTO.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-package com.epmet.dto;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-
-/**
- * 巡查例行工作
- *
- * @author generator generator@elink-cn.com
- * @since v1.0.0 2021-12-21
- */
-@Data
-public class PatrolRoutineWorkDTO implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 唯一标识
- */
- private String id;
-
- /**
- * 客户Id customer.id
- */
- private String customerId;
-
- /**
- * 网格表Id(CUSTOMER_GRID.id)【居民党员角色值为all,热心居民角色对应的网格Id】
- */
- private String gridId;
-
- /**
- * 网格所有上级id
- */
- private String pids;
-
- /**
- * 用户Id user.id
- */
- private String userId;
-
- /**
- * 事项名称
- */
- private String title;
-
- /**
- * 工作日期 格式为“YYYY-MM-DD”
- */
- private String happenTime;
-
- /**
- * 有无变动(异常)1:是、0:否
- */
- private Integer isNormal;
-
- /**
- * 工作内容
- */
- private String workContent;
-
- /**
- * 经度
- */
- private String longitude;
-
- /**
- * 纬度
- */
- private String latitude;
-
- /**
- * 删除标识:0.未删除 1.已删除
- */
- private Integer delFlag;
-
- /**
- * 乐观锁
- */
- private Integer revision;
-
- /**
- * 创建人
- */
- private String createdBy;
-
- /**
- * 创建时间
- */
- private Date createdTime;
-
- /**
- * 更新人
- */
- private String updatedBy;
-
- /**
- * 更新时间
- */
- private Date updatedTime;
-
-}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PatrolRoutineWorkTypeDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PatrolRoutineWorkTypeDTO.java
deleted file mode 100644
index 505384ec36..0000000000
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PatrolRoutineWorkTypeDTO.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-package com.epmet.dto;
-
-import java.io.Serializable;
-import java.util.Date;
-import lombok.Data;
-
-
-/**
- * 巡查例行工作
- *
- * @author generator generator@elink-cn.com
- * @since v1.0.0 2021-12-21
- */
-@Data
-public class PatrolRoutineWorkTypeDTO implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 唯一标识
- */
- private String id;
-
- /**
- * 客户Id customer.id
- */
- private String customerId;
-
- /**
- * 例行工作Id
- */
- private String routineWorkId;
-
- /**
- * 例行工作字典项值;type:patrol_work_type
- */
- private String workTypeCode;
-
- /**
- * 所有上级类别code组合
- */
- private String allPCode;
-
- /**
- * 删除标识:0.未删除 1.已删除
- */
- private Integer delFlag;
-
- /**
- * 乐观锁
- */
- private Integer revision;
-
- /**
- * 创建人
- */
- private String createdBy;
-
- /**
- * 创建时间
- */
- private Date createdTime;
-
- /**
- * 更新人
- */
- private String updatedBy;
-
- /**
- * 更新时间
- */
- private Date updatedTime;
-
-}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridUserWorkFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolRoutineWorkFormDTO.java
similarity index 56%
rename from epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridUserWorkFormDTO.java
rename to epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolRoutineWorkFormDTO.java
index f9b029d423..520e04d105 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridUserWorkFormDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolRoutineWorkFormDTO.java
@@ -16,36 +16,39 @@ import java.util.List;
* @DESC
*/
@Data
-public class GridUserWorkFormDTO implements Serializable {
+public class PatrolRoutineWorkFormDTO implements Serializable {
private static final long serialVersionUID = 3411355616849866888L;
- public interface AddOrUpdateForm {}
+ public interface AddOrUpdateForm {
+ }
private String customerId;
- @NotBlank(message = "网格ID不能为空",groups = AddOrUpdateForm.class)
+ @NotBlank(message = "网格ID不能为空", groups = AddOrUpdateForm.class)
private String gridId;
- @NotBlank(message = "事项名称不能为空",groups = AddOrUpdateForm.class)
+ @NotBlank(message = "事项名称不能为空", groups = AddOrUpdateForm.class)
private String title;
- @NotEmpty(message = "例行工作类型不能为空",groups = AddOrUpdateForm.class)
+ @NotEmpty(message = "例行工作类型不能为空", groups = AddOrUpdateForm.class)
private List workTypeList;
- @Range(min = 0,max = 1, message = "有无变动(异常)不能为空",groups = AddOrUpdateForm.class)
+ @Range(min = 0, max = 1, message = "有无变动(异常)格式错误", groups = AddOrUpdateForm.class)
+ @NotNull(message = "有无变动(异常)不能为空", groups = AddOrUpdateForm.class)
private Integer isNormal;
@JsonFormat(pattern = "yyyy-MM-dd")
- @NotNull(message = "发生时间不能为空",groups = AddOrUpdateForm.class)
+ @NotNull(message = "发生时间不能为空", groups = AddOrUpdateForm.class)
private String happenTime;
- @NotBlank(message = "工作简介不能为空",groups = AddOrUpdateForm.class)
+ @NotBlank(message = "工作简介不能为空", groups = AddOrUpdateForm.class)
private String workContent;
- @NotBlank(message = "工作地点不能为空",groups = AddOrUpdateForm.class)
+ @NotBlank(message = "工作地点不能为空", groups = AddOrUpdateForm.class)
private String address;
+
/**
* 基础信息ID【相关信息】暂时没有
*/
@@ -60,5 +63,4 @@ public class GridUserWorkFormDTO implements Serializable {
private String latitude;
-
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
index fada3dca9a..aa970dee00 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
@@ -3,13 +3,13 @@ package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
-import com.epmet.dto.form.GridUserWorkFormDTO;
+import com.epmet.dto.form.PatrolRoutineWorkFormDTO;
import com.epmet.service.PatrolRoutineWorkService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
- * 网格员例行工作
+ * 例行工作
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-19
@@ -22,16 +22,16 @@ public class PatrolRoutineWorkController {
private PatrolRoutineWorkService gridUserWorkService;
/**
- * @Description 网格员例行工作
+ * @Description 添加例行工作
* @param formDTO
* @author zxc
* @date 2021/10/19 1:35 下午
*/
@NoRepeatSubmit
@PostMapping("add")
- public Result gridUserWork( @RequestBody GridUserWorkFormDTO formDTO){
- ValidatorUtils.validateEntity(formDTO, GridUserWorkFormDTO.AddOrUpdateForm.class);
- gridUserWorkService.gridUserWork(formDTO);
+ public Result gridUserWork( @RequestBody PatrolRoutineWorkFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO, PatrolRoutineWorkFormDTO.AddOrUpdateForm.class);
+ gridUserWorkService.add(formDTO);
return new Result().ok(true);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java
index f463510d5f..f30a19f244 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java
@@ -18,14 +18,9 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
-import com.epmet.commons.tools.page.PageData;
-import com.epmet.dto.PatrolRoutineWorkDTO;
-import com.epmet.dto.form.GridUserWorkFormDTO;
+import com.epmet.dto.form.PatrolRoutineWorkFormDTO;
import com.epmet.entity.PatrolRoutineWorkEntity;
-import java.util.List;
-import java.util.Map;
-
/**
* 巡查例行工作
*
@@ -34,5 +29,9 @@ import java.util.Map;
*/
public interface PatrolRoutineWorkService extends BaseService {
- void gridUserWork(GridUserWorkFormDTO formDTO);
+ /**
+ * desc:添加例行工作
+ * @param formDTO
+ */
+ void add(PatrolRoutineWorkFormDTO formDTO);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java
index 9a4b73bb26..91e2c520df 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java
@@ -17,11 +17,11 @@
package com.epmet.service.impl;
+import com.alibaba.fastjson.JSON;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
-import com.epmet.commons.tools.dto.form.DictListFormDTO;
-import com.epmet.commons.tools.dto.result.DictListResultDTO;
+import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
@@ -31,13 +31,14 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.PatrolRoutineWorkDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
-import com.epmet.dto.form.GridUserWorkFormDTO;
+import com.epmet.dto.form.PatrolRoutineWorkFormDTO;
import com.epmet.entity.PatrolRoutineWorkEntity;
import com.epmet.entity.PatrolRoutineWorkTypeEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.PatrolRoutineWorkService;
import com.epmet.service.PatrolRoutineWorkTypeService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -47,7 +48,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
/**
* 巡查例行工作
@@ -55,6 +55,7 @@ import java.util.stream.Collectors;
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-12-21
*/
+@Slf4j
@Service
public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl implements PatrolRoutineWorkService {
@Autowired
@@ -62,71 +63,100 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl gridBaseInfoData = govOrgOpenFeignClient.getGridBaseInfoByGridId(gridFormDTO);
- if (!gridBaseInfoData.success()){
+ if (!gridBaseInfoData.success()) {
throw new EpmetException("查询网格基本信息失败......");
}
CustomerGridDTO gridBaseInfo = gridBaseInfoData.getData();
entity.setPids(gridBaseInfo.getPids());
- //entity.setUserId(loginUserUtil.getLoginUserId());
- //entity.setCustomerId(loginUserUtil.getLoginUserCustomerId());
+ entity.setUserId(loginUserUtil.getLoginUserId());
+ entity.setCustomerId(loginUserUtil.getLoginUserCustomerId());
- entity.setUserId("loginUserUtil.getLoginUserId()");
- entity.setCustomerId("loginUserUtil.getLoginUserCustomerId()");
+ //entity.setUserId("loginUserUtil.getLoginUserId()");
+ //entity.setCustomerId("loginUserUtil.getLoginUserCustomerId()");
baseDao.insert(entity);
- DictListFormDTO param = new DictListFormDTO();
- param.setDictType(DictTypeEnum.PATROL_WORK_TYPE.getCode());
- Result> mapResult = adminOpenFeignClient.dictList(param);
- if (mapResult == null || !mapResult.success() || CollectionUtils.isEmpty(mapResult.getData())){
- throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"例行工作类型字典获取失败!");
+ Result> mapResult = adminOpenFeignClient.dictTree(DictTypeEnum.PATROL_WORK_TYPE.getCode());
+ if (mapResult == null || !mapResult.success() || CollectionUtils.isEmpty(mapResult.getData())) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "例行工作类型字典获取失败!");
}
- Map> dictMap = mapResult.getData().stream().collect(Collectors.groupingBy(DictListResultDTO::getPValue));
+ List dictTree = mapResult.getData();
- Map allPCodeMap = new HashMap<>();
- dictMap.forEach((pCode,list)->{
- if (NumConstant.ZERO_STR.equals(pCode)){
- return;
- }
- list.forEach(dict->{
- String code = dict.getValue();
- StringBuilder stringBuilder = allPCodeMap.get(code);
- if (stringBuilder == null){
- stringBuilder = new StringBuilder();
- allPCodeMap.put(code, stringBuilder);
- }
- stringBuilder.insert(dict.getPValue().length()/2,code).append(StrConstant.COLON);
- });
+ Map pidsMap = new HashMap<>();
+
+ dictTree.forEach(dto -> buildAllParentIdPath(pidsMap, dto));
- });
List workTypeList = new ArrayList<>();
- formDTO.getWorkTypeList().forEach(code->{
+ formDTO.getWorkTypeList().forEach(code -> {
PatrolRoutineWorkTypeEntity typeEntity = new PatrolRoutineWorkTypeEntity();
typeEntity.setCustomerId(loginUserUtil.getLoginUserCustomerId());
typeEntity.setRoutineWorkId(entity.getId());
typeEntity.setWorkTypeCode(code);
- typeEntity.setAllPCode(allPCodeMap.get(code).toString());
+ StringBuilder pids = pidsMap.get(code);
+ typeEntity.setAllPCode(pids.length() == 0 ? NumConstant.ZERO_STR : pids.toString());
workTypeList.add(typeEntity);
});
patrolRoutineWorkTypeService.insertBatch(workTypeList);
}
+ /**
+ * desc:递归遍历树形结构 构建pids 根节点pids 为空字符串
+ *
+ * @param result 构建的结果
+ * @param crurent
+ */
+ private static void buildAllParentIdPath(Map result, DictTreeResultDTO crurent) {
+ String id = crurent.getId();
+ String pid = crurent.getPid();
+
+ StringBuilder pidsPath = new StringBuilder();
+ StringBuilder pidSb = result.get(pid);
+ if (pidSb == null) {
+ pidSb = new StringBuilder();
+ } else if (pidSb.indexOf(pid) == -1) {
+ if (pidSb.length() > 0) {
+ pidSb.append(StrConstant.COLON);
+ }
+ pidSb.append(pid);
+ }
+ pidsPath.append(pidSb);
+ result.put(id, pidsPath);
+
+ log.debug("id:" + id + " pids:" + pidsPath.toString());
+
+ List children = crurent.getChildren();
+ if (children != null) {
+ crurent.getChildren().forEach(item -> buildAllParentIdPath(result, item));
+ }
+ }
+
+ public static void main(String[] args) {
+ String str = "[{\"id\":\"01\",\"pid\":\"0\",\"children\":[{\"id\":\"0101\",\"pid\":\"01\",\"children\":[{\"id\":\"010101\",\"pid\":\"0101\",\"children\":[],\"name\":\"出租房屋巡查\"}],\"name\":\"出租房屋巡查\"},{\"id\":\"0102\",\"pid\":\"01\",\"children\":[],\"name\":\"重点场所巡查\"},{\"id\":\"0103\",\"pid\":\"01\",\"children\":[],\"name\":\"宗教活动\"},{\"id\":\"0199\",\"pid\":\"01\",\"children\":[],\"name\":\"其他\"}],\"name\":\"重点巡查\"},{\"id\":\"02\",\"pid\":\"0\",\"children\":[{\"id\":\"0201\",\"pid\":\"02\",\"children\":[],\"name\":\"刑满释放人员\"},{\"id\":\"0202\",\"pid\":\"02\",\"children\":[],\"name\":\"社区矫正\"},{\"id\":\"0203\",\"pid\":\"02\",\"children\":[],\"name\":\"吸毒人员\"},{\"id\":\"0204\",\"pid\":\"02\",\"children\":[],\"name\":\"信访人员\"},{\"id\":\"0205\",\"pid\":\"02\",\"children\":[],\"name\":\"重点青少年\"},{\"id\":\"0206\",\"pid\":\"02\",\"children\":[],\"name\":\"精神障碍者\"}],\"name\":\"特殊人群\"},{\"id\":\"09\",\"pid\":\"0\",\"children\":[{\"id\":\"0901\",\"pid\":\"09\",\"children\":[],\"name\":\"公共服务\"},{\"id\":\"0902\",\"pid\":\"09\",\"children\":[],\"name\":\"权益保障\"},{\"id\":\"0903\",\"pid\":\"09\",\"children\":[],\"name\":\"政策宣传\"},{\"id\":\"0904\",\"pid\":\"09\",\"children\":[],\"name\":\"便利服务\"},{\"id\":\"0999\",\"pid\":\"09\",\"children\":[],\"name\":\"其他\"}],\"name\":\"为民服务\"}]";
+ List dtos = JSON.parseArray(str, DictTreeResultDTO.class);
+ Map result = new HashMap<>();
+ dtos.forEach(dto -> {
+ buildAllParentIdPath(result, dto);
+ });
+ System.out.println(result.get("010101"));
+ System.out.println(JSON.toJSONString(result));
+ }
+
}
diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.20__user_routine_work.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.20__user_routine_work.sql
new file mode 100644
index 0000000000..662780f87e
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.20__user_routine_work.sql
@@ -0,0 +1,35 @@
+CREATE TABLE `patrol_routine_work` (
+ `ID` varchar(64) NOT NULL COMMENT '唯一标识',
+ `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id',
+ `GRID_ID` varchar(64) NOT NULL COMMENT '网格表Id(CUSTOMER_GRID.id)【居民党员角色值为all,热心居民角色对应的网格Id】',
+ `PIDS` varchar(512) NOT NULL COMMENT '网格所有上级id',
+ `USER_ID` varchar(64) NOT NULL COMMENT '用户Id user.id',
+ `TITLE` varchar(128) NOT NULL COMMENT '事项名称',
+ `HAPPEN_TIME` varchar(32) NOT NULL COMMENT '工作日期 格式为“YYYY-MM-DD”',
+ `IS_NORMAL` tinyint(1) NOT NULL COMMENT '有无变动(异常)1:是、0:否',
+ `WORK_CONTENT` varchar(1024) NOT NULL COMMENT '工作内容',
+ `LONGITUDE` varchar(32) DEFAULT '' COMMENT '经度',
+ `LATITUDE` varchar(32) DEFAULT '' COMMENT '纬度',
+ `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
+ `REVISION` int(11) NOT NULL COMMENT '乐观锁',
+ `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
+ `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
+ `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
+ `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='巡查例行工作';
+CREATE TABLE `patrol_routine_work_type` (
+ `ID` varchar(64) NOT NULL COMMENT '唯一标识',
+ `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id',
+ `ROUTINE_WORK_ID` varchar(64) NOT NULL COMMENT '例行工作Id',
+ `WORK_TYPE_CODE` varchar(32) NOT NULL COMMENT '例行工作字典项值;type:patrol_work_type',
+ `ALL_P_CODE` varchar(256) NOT NULL COMMENT '所有上级类别code组合',
+ `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
+ `REVISION` int(11) NOT NULL COMMENT '乐观锁',
+ `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
+ `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
+ `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
+ `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`ID`) USING BTREE,
+ KEY `idx_work_id` (`ROUTINE_WORK_ID`) USING BTREE COMMENT '主表id'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='巡查例行工作分类';