广州市综治平台后端
xusd
2025-06-12 899c73b04d15a67b94bc3894a54c33418e285212
feature:非警务纠纷优化
1 files added
12 files modified
481 ■■■■■ changed files
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java 25 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java 410 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml 1 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListFPDTO.java 5 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/GridEventDTO.java 5 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java 7 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java 7 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/web/GridEventWebController.java 2 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/dto/GridCaseInfoDTO.java 2 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/po/GridEvent.java 6 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java 4 ●●●● patch | view | raw | blame | history
sql/20250611.sql 5 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
@@ -389,6 +389,16 @@
        }
    }
    @GetMapping("/unitChoose4Union")
    public Object unitChoose4Union(@CurrentUser String userId) {
        try {
            List<SelectTermDTO> unitSelectTerms = service.unitChoose4Union(userId);
            return ReturnSucUtils.getRepInfo(unitSelectTerms);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo(e.getMessage());
        }
    }
    /**
     * 联合处置申请-选择组织
     * @url {ctx}/api/web/ctUnit/assistApplyUnitChoose
@@ -469,4 +479,19 @@
            return ReturnFailUtils.getRepInfo( "查询失败", null);
        }
    }
    /**
     * 联合处置申请获取所有组织树形结构
     * @url {ctx}/api/web/ctUnit/unitTree4Union
     * @return Object
     */
    @GetMapping("/unitTree4Union")
    public Object unitTree4Union(@CurrentUser String userId) {
        try {
            return ReturnSucUtils.getRepInfo( "查询成功", service.unitTree4Union(userId));
        } catch (Exception e) {
            log.error("Controller接口[CtUnitWebController.unitTree]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo( "查询失败", null);
        }
    }
}
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -547,6 +547,254 @@
        }
    }
    public List<SelectTermDTO> unitChoose4Union(String userId) {
        // 获取当前登录用户
        CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
        // 获取当前登录用户的部门
        CtUnit loginUnit = mapper.selectById(loginUser.getUnitId());
        // 市级交办
        if (UserBaseConsts.UNIT_GRADE_1 == loginUnit.getUnitGrade()) {
            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            // 定义市直部门数组
            List<SelectTermDTO> szbmList = new ArrayList<>();
            // 定义区综治中心数组
            List<SelectTermDTO> qzzzxList = new ArrayList<>();
            for (CtUnit ctUnit : ctUnitList) {
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctUnit.getId());
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()) {
                    szbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_106 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_105 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_104 == ctUnit.getUnitType()) {
                    szbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()) {
                    qzzzxList.add(unitSelectTerm);
                }
            }
            // 封装返回数据
            List<SelectTermDTO> result = new ArrayList<>();
            // 创建第一级
            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
            firstSelectTermDTO.setValue(loginUser.getUnitId());
            firstSelectTermDTO.setLabel(loginUser.getUnitName());
            firstSelectTermDTO.setCheckable(false);
            List<SelectTermDTO> firstChildren = new ArrayList<>();
            // 市直部门
            SelectTermDTO szbmSelectTermDTO = new SelectTermDTO();
            szbmSelectTermDTO.setValue("szbm");
            szbmSelectTermDTO.setLabel("市直部门");
            szbmSelectTermDTO.setCheckable(false);
            szbmSelectTermDTO.setChildren(szbmList);
            firstChildren.add(szbmSelectTermDTO);
            // 区综治中心
            SelectTermDTO qzzzxSelectTermDTO = new SelectTermDTO();
            qzzzxSelectTermDTO.setValue("qzzzx");
            qzzzxSelectTermDTO.setLabel("区综治中心");
            qzzzxSelectTermDTO.setCheckable(false);
            qzzzxSelectTermDTO.setChildren(qzzzxList);
            firstChildren.add(qzzzxSelectTermDTO);
            // 第一级子级
            firstSelectTermDTO.setChildren(firstChildren);
            result.add(firstSelectTermDTO);
            return result;
        } else if (UserBaseConsts.UNIT_GRADE_2 == loginUnit.getUnitGrade()) {
            // 区级交办
            //如果是综治中心,走交办流程获取机构。如果不是综治中心,是同级部门,则获取同级部门。
            List<CtUnit> ctUnitList = null;
            if (UserBaseConsts.UNIT_TYPE_101 == loginUnit.getUnitType()) {
                QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
                ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
                ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            } else {
                QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
                ctUnitQueryWrapper.eq("parent_id", loginUnit.getParentId());
                ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            }
            // 定义市区直部门数组
            List<SelectTermDTO> qzbmList = new ArrayList<>();
            // 定义镇街综治中心数组
            List<SelectTermDTO> zjzzzxList = new ArrayList<>();
            for (CtUnit ctUnit : ctUnitList) {
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctUnit.getId());
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()) {
                    qzbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_106 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_105 == ctUnit.getUnitType() || UserBaseConsts.UNIT_TYPE_104 == ctUnit.getUnitType()) {
                    qzbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()) {
                    zjzzzxList.add(unitSelectTerm);
                }
            }
            // 封装返回数据
            List<SelectTermDTO> result = new ArrayList<>();
            // 创建第一级
            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
            firstSelectTermDTO.setValue(loginUser.getUnitId());
            firstSelectTermDTO.setLabel(loginUser.getUnitName());
            firstSelectTermDTO.setCheckable(false);
            List<SelectTermDTO> firstChildren = new ArrayList<>();
            // 市直部门
            SelectTermDTO qzzbmSelectTermDTO = new SelectTermDTO();
            qzzbmSelectTermDTO.setValue("qzbm");
            qzzbmSelectTermDTO.setLabel("区直部门");
            qzzbmSelectTermDTO.setCheckable(false);
            qzzbmSelectTermDTO.setChildren(qzbmList);
            firstChildren.add(qzzbmSelectTermDTO);
            // 区综治中心
            SelectTermDTO zjzzzxSelectTermDTO = new SelectTermDTO();
            zjzzzxSelectTermDTO.setValue("zjzzzx");
            zjzzzxSelectTermDTO.setLabel("街(镇)综治中心");
            zjzzzxSelectTermDTO.setCheckable(false);
            zjzzzxSelectTermDTO.setChildren(zjzzzxList);
            firstChildren.add(zjzzzxSelectTermDTO);
            // 第一级子级
            firstSelectTermDTO.setChildren(firstChildren);
            result.add(firstSelectTermDTO);
            return result;
        } else if (UserBaseConsts.UNIT_GRADE_3 == loginUnit.getUnitGrade()) {
            // 镇街交办
            // 查询镇街的直属部门组织
            List<SelectTermDTO> zjbmList = new ArrayList<>();
            List<SelectTermDTO> qzbmList = new ArrayList<>();
            //如果是综治中心,走交办流程获取机构。如果不是综治中心,是同级部门,则获取同级部门。
            List<CtUnit> zjCtUnitList = null;
            List<CtUnit> qzCtUnitList = null;
            if (UserBaseConsts.UNIT_TYPE_101 == loginUnit.getUnitType()) {
                QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
                zjCtUnitQueryWrapper.eq("parent_id", loginUnit.getId())
                        .eq("unit_grade", UserBaseConsts.UNIT_GRADE_3)
                        .in("unit_type", UserBaseConsts.UNIT_TYPE_102, UserBaseConsts.UNIT_TYPE_106, UserBaseConsts.UNIT_TYPE_104, UserBaseConsts.UNIT_TYPE_105);
                zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
                QueryWrapper<CtUnit> qzCtUnitQueryWrapper = new QueryWrapper<>();
                qzCtUnitQueryWrapper.eq("parent_id", loginUnit.getParentId())
                        .eq("unit_grade", UserBaseConsts.UNIT_GRADE_2)
                        .in("unit_type", UserBaseConsts.UNIT_TYPE_102, UserBaseConsts.UNIT_TYPE_106, UserBaseConsts.UNIT_TYPE_104, UserBaseConsts.UNIT_TYPE_105);
                qzCtUnitList = mapper.selectList(qzCtUnitQueryWrapper);
            } else {
                QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
                zjCtUnitQueryWrapper.eq("parent_id", loginUnit.getParentId())
                        .eq("unit_grade", UserBaseConsts.UNIT_GRADE_3)
                        .in("unit_type", UserBaseConsts.UNIT_TYPE_102, UserBaseConsts.UNIT_TYPE_106, UserBaseConsts.UNIT_TYPE_104, UserBaseConsts.UNIT_TYPE_105);
                zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
                QueryWrapper<CtUnit> qzCtUnitQueryWrapper = new QueryWrapper<>();
                CtUnit unit = getById(loginUnit.getParentId());
                qzCtUnitQueryWrapper.eq("parent_id", unit.getParentId())
                        .eq("unit_grade", UserBaseConsts.UNIT_GRADE_2)
                        .in("unit_type", UserBaseConsts.UNIT_TYPE_102, UserBaseConsts.UNIT_TYPE_106, UserBaseConsts.UNIT_TYPE_104, UserBaseConsts.UNIT_TYPE_105);
                qzCtUnitList = mapper.selectList(qzCtUnitQueryWrapper);
            }
            for (CtUnit zjCtUnit : zjCtUnitList) {
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(zjCtUnit.getId());
                unitSelectTerm.setLabel(zjCtUnit.getUnitName());
                unitSelectTerm.setParentId(zjCtUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                zjbmList.add(unitSelectTerm);
            }
            for (CtUnit qzCtUnit : qzCtUnitList) {
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(qzCtUnit.getId());
                unitSelectTerm.setLabel(qzCtUnit.getUnitName());
                unitSelectTerm.setParentId(qzCtUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                qzbmList.add(unitSelectTerm);
            }
            // 查询镇街部门数组
//            QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
//            ctDeptQueryWrapper.eq("unit_id", loginUnit.getId());
//            List<CtDept> deptList = ctDeptService.list(ctDeptQueryWrapper);
//            List<SelectTermDTO> zjbmList = new ArrayList<>();
//            for (CtDept ctDept: deptList){
//                SelectTermDTO unitSelectTerm = new SelectTermDTO();
//                unitSelectTerm.setValue(ctDept.getId());
//                unitSelectTerm.setLabel(ctDept.getName());
//                unitSelectTerm.setParentId(loginUnit.getId());
//                unitSelectTerm.setCheckable(true);
//                zjbmList.add(unitSelectTerm);
//            }
            // 查询村社数组
            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId()).eq("unit_grade", UserBaseConsts.UNIT_GRADE_4);
            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            List<SelectTermDTO> csList = new ArrayList<>();
            for (CtUnit ctUnit : ctUnitList) {
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctUnit.getId());
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                csList.add(unitSelectTerm);
            }
            // 封装返回数据
            List<SelectTermDTO> result = new ArrayList<>();
            // 创建第一级
            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
            firstSelectTermDTO.setValue(loginUser.getUnitId());
            firstSelectTermDTO.setLabel(loginUser.getUnitName());
            firstSelectTermDTO.setCheckable(false);
            List<SelectTermDTO> firstChildren = new ArrayList<>();
            SelectTermDTO qzzbmSelectTermDTO = new SelectTermDTO();
            qzzbmSelectTermDTO.setValue("qzbm");
            qzzbmSelectTermDTO.setLabel("区直部门");
            qzzbmSelectTermDTO.setCheckable(false);
            qzzbmSelectTermDTO.setChildren(qzbmList);
            firstChildren.add(qzzbmSelectTermDTO);
            // 村社
            SelectTermDTO zjbmSelectTermDTO = new SelectTermDTO();
            zjbmSelectTermDTO.setValue("zjbm");
            zjbmSelectTermDTO.setLabel("街(镇)部门");
            zjbmSelectTermDTO.setCheckable(false);
            zjbmSelectTermDTO.setChildren(zjbmList);
            firstChildren.add(zjbmSelectTermDTO);
            // 区综治中心
            SelectTermDTO csSelectTermDTO = new SelectTermDTO();
            csSelectTermDTO.setValue("cs");
            csSelectTermDTO.setLabel("村(社)");
            csSelectTermDTO.setCheckable(false);
            csSelectTermDTO.setChildren(csList);
            firstChildren.add(csSelectTermDTO);
            // 第一级子级
            firstSelectTermDTO.setChildren(firstChildren);
            result.add(firstSelectTermDTO);
            return result;
        } else {
            // todo
            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
            ctUnitQueryWrapper.eq("parent_id", loginUnit.getParentId());
            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            //
            List<SelectTermDTO> unitList = new ArrayList<>();
            for (CtUnit ctUnit : ctUnitList) {
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctUnit.getId());
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                unitList.add(unitSelectTerm);
            }
            return unitList;
        }
    }
    /**
     * 联合处置申请-选择组织
     *
@@ -1031,4 +1279,166 @@
        return tree;
    }
    public List<CtUnitTreeDTO> unitTree4Union(String userId) {
        CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
        CtUnit ctUnit = mapper.selectById(loginUser.getUnitId());
        if (ctUnit.getUnitGrade() == 3) {
            ctUnit.setUnitGrade(2);
        }
        QueryWrapper<CtUnit> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("delete_status", 0);
        if (ctUnit.getUnitGrade().equals(1)) {
            queryWrapper.eq("city", ctUnit.getCity());
            queryWrapper.in("unit_grade", Arrays.asList(1, 2, 3, 4));
        } else if (ctUnit.getUnitGrade().equals(2)) {
            queryWrapper.eq("area", ctUnit.getArea());
            queryWrapper.in("unit_grade", Arrays.asList(2, 3, 4));
        } else if (ctUnit.getUnitGrade().equals(3)) {
            queryWrapper.eq("road", ctUnit.getRoad());
            queryWrapper.in("unit_grade", Arrays.asList(3, 4));
        } else if (ctUnit.getUnitGrade().equals(4)) {
            queryWrapper.eq("village", ctUnit.getVillage());
            queryWrapper.in("unit_grade", Arrays.asList(4));
        }
        List<CtUnit> ctUnits = mapper.selectList(queryWrapper);
        Set<CtUnitTreeDTO> citySet = new HashSet<>();
        Set<CtUnitTreeDTO> areaSet = new HashSet<>();
        Set<CtUnitTreeDTO> roadSet = new HashSet<>();
        Set<CtUnitTreeDTO> villageSet = new HashSet<>();
        Set<CtUnitTreeDTO> unitSet = new HashSet<>();
        Map<String, String> areaCodeMap = new HashMap<>();
        Map<String, String> areaNameMap = new HashMap<>();
        for (CtUnit unit : ctUnits) {
            if (unit.getUnitGrade() == 1 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)) {
                areaCodeMap.put(unit.getCity(), unit.getId());
                areaNameMap.put(unit.getCity(), unit.getUnitName());
            }
            if (unit.getUnitGrade() == 2 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)) {
                areaCodeMap.put(unit.getArea(), unit.getId());
                areaNameMap.put(unit.getArea(), unit.getUnitName());
            }
            if (unit.getUnitGrade() == 3 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)) {
                areaCodeMap.put(unit.getRoad(), unit.getId());
                areaNameMap.put(unit.getRoad(), unit.getUnitName());
            }
            if (unit.getUnitGrade() == 4 && unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)) {
                areaCodeMap.put(unit.getVillage(), unit.getId());
                areaNameMap.put(unit.getVillage(), unit.getUnitName());
            }
        }
        for (CtUnit unit : ctUnits) {
            CtUnitTreeDTO ctUnitTreeDTO = new CtUnitTreeDTO();
            ctUnitTreeDTO.setValue(unit.getId());
            ctUnitTreeDTO.setLabel(unit.getUnitName());
            if (unit.getUnitGrade() == 1 && ctUnit.getUnitGrade() == 1) {
                ctUnitTreeDTO.setParentId(unit.getCity() + "01-dept");
                CtUnitTreeDTO city = new CtUnitTreeDTO();
                city.setValue(areaCodeMap.get(unit.getCity()));
                city.setLabel(areaNameMap.get(unit.getCity()));
                city.setParentId("root");
                city.setCheckable(true);
                citySet.add(city);
                CtUnitTreeDTO cityDept = new CtUnitTreeDTO();
                cityDept.setValue(unit.getCity() + "01-dept");
                cityDept.setLabel("市直部门");
                cityDept.setParentId(areaCodeMap.get(unit.getCity()));
                cityDept.setCheckable(false);
                areaSet.add(cityDept);
                CtUnitTreeDTO cityArea = new CtUnitTreeDTO();
                cityArea.setValue(unit.getCity() + "02-area");
                cityArea.setLabel("各区");
                cityArea.setParentId(areaCodeMap.get(unit.getCity()));
                cityArea.setCheckable(false);
                areaSet.add(cityArea);
            } else if (unit.getUnitGrade() == 2) {
                if (ObjectUtils.isEmpty(areaCodeMap.get(unit.getArea()))) {
                    continue;
                }
                ctUnitTreeDTO.setParentId(unit.getArea() + "01-dept");
                CtUnitTreeDTO area = new CtUnitTreeDTO();
                area.setValue(areaCodeMap.get(unit.getArea()));
                area.setLabel(areaNameMap.get(unit.getArea()));
                if (ctUnit.getUnitGrade().equals(2)) {
                    area.setParentId("root");
                } else {
                    area.setParentId(unit.getCity() + "02-area");
                }
                area.setCheckable(true);
                areaSet.add(area);
                CtUnitTreeDTO areaDept = new CtUnitTreeDTO();
                areaDept.setValue(unit.getArea() + "01-dept");
                areaDept.setLabel("区直部门");
                areaDept.setParentId(areaCodeMap.get(unit.getArea()));
                areaDept.setCheckable(false);
                areaSet.add(areaDept);
                CtUnitTreeDTO cityRoad = new CtUnitTreeDTO();
                cityRoad.setValue(unit.getArea() + "02-road");
                cityRoad.setLabel("各镇街");
                cityRoad.setParentId(areaCodeMap.get(unit.getArea()));
                cityRoad.setCheckable(false);
                areaSet.add(cityRoad);
            } else if (unit.getUnitGrade() == 3) {
                if (ObjectUtils.isEmpty(areaCodeMap.get(unit.getRoad()))) {
                    continue;
                }
                ctUnitTreeDTO.setParentId(unit.getRoad() + "01-dept");
                CtUnitTreeDTO road = new CtUnitTreeDTO();
                road.setValue(areaCodeMap.get(unit.getRoad()));
                road.setLabel(areaNameMap.get(unit.getRoad()));
                if (ctUnit.getUnitGrade().equals(3)) {
                    road.setParentId("root");
                } else {
                    road.setParentId(unit.getArea() + "02-road");
                }
                road.setCheckable(true);
                roadSet.add(road);
                CtUnitTreeDTO roadDept = new CtUnitTreeDTO();
                roadDept.setValue(unit.getRoad() + "01-dept");
                roadDept.setLabel("镇街直部门");
                roadDept.setParentId(areaCodeMap.get(unit.getRoad()));
                roadDept.setCheckable(false);
                villageSet.add(roadDept);
                CtUnitTreeDTO cityVillage = new CtUnitTreeDTO();
                cityVillage.setValue(unit.getRoad() + "02-village");
                cityVillage.setLabel("各社区");
                cityVillage.setParentId(areaCodeMap.get(unit.getRoad()));
                cityVillage.setCheckable(false);
                villageSet.add(cityVillage);
            } else if (unit.getUnitGrade() == 4) {
                if (ObjectUtils.isEmpty(unit.getRoad())) {
                    continue;
                }
                if (ctUnit.getUnitGrade().equals(4)) {
                    ctUnitTreeDTO.setParentId("root");
                } else {
                    ctUnitTreeDTO.setParentId(unit.getRoad() + "02-village");
                }
            }
            ctUnitTreeDTO.setCheckable(true);
            if (!unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)) {
                unitSet.add(ctUnitTreeDTO);
            }
        }
        List<CtUnitTreeDTO> treeList = new ArrayList<>();
        treeList.addAll(citySet);
        treeList.addAll(TreeUtils.sort(areaSet));
        treeList.addAll(TreeUtils.sort(roadSet));
        treeList.addAll(TreeUtils.sort(villageSet));
        treeList.addAll(TreeUtils.sort(unitSet));
        List<CtUnitTreeDTO> tree = TreeUtils.createUserTree(treeList);
        return tree;
    }
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -87,6 +87,7 @@
        <result property="oldCaseTypeName" column="old_case_type_name"/>
        <result property="canalSecond" column="canal_second"/>
        <result property="canalSecondName" column="canal_second_name"/>
        <result property="caseRemark" column="case_remark"/>
    </resultMap>
    <resultMap id="dataResult-all" type="cn.huge.module.cases.domain.dto.CasePageDTO">
        <result property="id" column="id"/>
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -432,7 +432,7 @@
    <select id="pageMyTaskFp" resultType="cn.huge.module.cases.domain.dto.FrontPageListFPDTO">
        SELECT t1.id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk,
        t1.create_time as turnaroundTime, t1.expire_time as timeLimit, t1.handle_time as taskHandleTime,
        t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType,
        t2.case_level as caseGrade, t2.canal_name as caseSource,t2.canal_second_name as caseSecondSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType,
        concat(t2.que_area_name, t2.que_road_name) as queAddress,
        concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants,
        (select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListFPDTO.java
@@ -63,6 +63,11 @@
    private String caseSource;
    /**
     * 事项来源二级
     */
    private String caseSecondSource;
    /**
     * 问题属地
     */
    private String queAddress;
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/GridEventDTO.java
@@ -187,4 +187,9 @@
     */
    @TableField(value = "certi_no")
    private String certiNo;
    /**
     * 公安的id
     */
    @TableField(value = "system_id")
    private String systemId;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
@@ -566,4 +566,11 @@
     */
    @TableField(exist = false)
    private Integer isGridEvent;
    /**
     * 案件备注
     */
    @TableField(value = "case_remark")
    @ApiModelProperty(value = "案件备注", notes = "案件备注")
    private String caseRemark;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -2636,7 +2636,12 @@
                }
                //todo case_title生成、经纬度转换
                caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
                if(registerSaveDTO.getCreateTime()!=null){
                    caseInfo.setCreateTime(registerSaveDTO.getCreateTime());
                }else {
                caseInfo.setCreateTime(nowDate);
                }
                caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                //默认添加省市
                caseInfo.setQueProv("19");
@@ -2654,7 +2659,7 @@
                if (StringUtils.isNotBlank(registerSaveDTO.getTcqk())) {
                    caseInfoUnfold.setTcqk(registerSaveDTO.getTcqk());
                }
                caseInfoUnfold.setCreateTime(nowDate);
                caseInfoUnfold.setCreateTime(caseInfo.getCreateTime());
                caseInfoUnfold.setUpdateTime(nowDate);
                caseInfoUnfoldService.save(caseInfoUnfold);
                // 自动调度流程
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/web/GridEventWebController.java
@@ -385,6 +385,8 @@
            //添加附件查询条件
            List<String>ownerIdList = gridApprovalRecordVo.getOwnerIdList();
            log.info("开始获取附件:{}",gridApprovalRecordVo.getOwnerIdList());
            log.info("开始获取附件:{}",gridApprovalRecordVo.getCaseId());
            Map<String, Object>terms = new HashMap<>();
            if(ownerIdList != null && ownerIdList.size() != 0){
                terms.put("ownerIdList", ownerIdList);
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/dto/GridCaseInfoDTO.java
@@ -32,4 +32,6 @@
    private String extInfo; // 扩展信息,json格式的字符串
    private String extInfoRisk; //扩展信息 json格式的字符串
    private String extInfoTcqk; //扩展信息 json格式的字符串
    private String createTime;
    private String systemId;
}
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/po/GridEvent.java
@@ -188,4 +188,10 @@
     */
    @TableField(value = "certi_no")
    private String certiNo;
    /**
     * 公安的id
     */
    @TableField(value = "system_id")
    private String systemId;
}
dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java
@@ -249,7 +249,9 @@
                                }
                                registerSaveDTO.setId(IdUtils.getNewTimeId());
                                BeanUtils.copyProperties(gridCaseInfoDTO, gridEvent);
                                registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
                                gridEvent.setLinkman(uploadPolice);
                                gridEvent.setSystemId(gridCaseInfoDTO.getSystemId());
                                gridEvent.setContactTel(uploadPolicePhone);
                                gridEvent.setSysOrgId(gridCode);
                                gridEvent.setCaseId(registerSaveDTO.getId());
@@ -529,7 +531,9 @@
                                    }
                                }
                                registerSaveDTO.setId(IdUtils.getNewTimeId());
                                registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
                                BeanUtils.copyProperties(gridCaseInfoDTO, gridEvent);
                                gridEvent.setSystemId(gridCaseInfoDTO.getSystemId());
                                gridEvent.setLinkman(uploadPolice);
                                gridEvent.setContactTel(uploadPolicePhone);
                                gridEvent.setSysOrgId(gridCode);
sql/20250611.sql
New file
@@ -0,0 +1,5 @@
ALTER TABLE HUGEINFO.dyh_case_info ADD case_remark VARCHAR(1500) DEFAULT '';
COMMENT ON COLUMN HUGEINFO.dyh_case_info.case_remark IS '案件备注'
ALTER TABLE HUGEINFO.dyh_th_grid_event ADD system_id VARCHAR(200) DEFAULT '';
COMMENT ON COLUMN HUGEINFO.dyh_th_grid_event.system_id IS '公安单号'