From 899c73b04d15a67b94bc3894a54c33418e285212 Mon Sep 17 00:00:00 2001 From: xusd <330628789@qq.com> Date: Thu, 12 Jun 2025 16:31:50 +0800 Subject: [PATCH] feature:非警务纠纷优化 --- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java | 25 ++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/GridEventDTO.java | 5 dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/web/GridEventWebController.java | 2 dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/po/GridEvent.java | 6 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml | 1 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 9 sql/20250611.sql | 5 dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/dto/GridCaseInfoDTO.java | 2 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java | 7 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java | 498 +++++++++++++++++++++++++++++++++++++++++++++---- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml | 2 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListFPDTO.java | 5 dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java | 4 13 files changed, 524 insertions(+), 47 deletions(-) diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java index 0e8f327..19fbd24 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java +++ b/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); + } + } } diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java index 6691d9a..6b8e111 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java +++ b/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; + } + } + /** * 联合处置申请-选择组织 * @@ -872,11 +1120,11 @@ else return null; } - public List<CtUnitTreeDTO> unitTree(String userId){ + public List<CtUnitTreeDTO> unitTree(String userId) { CtUserDTO loginUser = ctUserService.clientGetUserAll(userId); CtUnit ctUnit = mapper.selectById(loginUser.getUnitId()); QueryWrapper<CtUnit> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("delete_status",0); + 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)); @@ -891,39 +1139,39 @@ 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<>(); + 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() == 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() == 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() == 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()); + 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"); + if (unit.getUnitGrade() == 1 && ctUnit.getUnitGrade() == 1) { + ctUnitTreeDTO.setParentId(unit.getCity() + "01-dept"); CtUnitTreeDTO city = new CtUnitTreeDTO(); city.setValue(areaCodeMap.get(unit.getCity())); @@ -933,91 +1181,253 @@ citySet.add(city); CtUnitTreeDTO cityDept = new CtUnitTreeDTO(); - cityDept.setValue(unit.getCity()+"01-dept"); + 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.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()))){ + } else if (unit.getUnitGrade() == 2) { + if (ObjectUtils.isEmpty(areaCodeMap.get(unit.getArea()))) { continue; } - ctUnitTreeDTO.setParentId(unit.getArea()+"01-dept"); + 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)){ + if (ctUnit.getUnitGrade().equals(2)) { area.setParentId("root"); - }else{ - area.setParentId(unit.getCity()+"02-area"); + } else { + area.setParentId(unit.getCity() + "02-area"); } area.setCheckable(true); areaSet.add(area); CtUnitTreeDTO areaDept = new CtUnitTreeDTO(); - areaDept.setValue(unit.getArea()+"01-dept"); + 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.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()))){ + } else if (unit.getUnitGrade() == 3) { + if (ObjectUtils.isEmpty(areaCodeMap.get(unit.getRoad()))) { continue; } - ctUnitTreeDTO.setParentId(unit.getRoad()+"01-dept"); + 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)){ + if (ctUnit.getUnitGrade().equals(3)) { road.setParentId("root"); - }else{ - road.setParentId(unit.getArea()+"02-road"); + } else { + road.setParentId(unit.getArea() + "02-road"); } road.setCheckable(true); roadSet.add(road); CtUnitTreeDTO roadDept = new CtUnitTreeDTO(); - roadDept.setValue(unit.getRoad()+"01-dept"); + 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"); + 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())){ + } else if (unit.getUnitGrade() == 4) { + if (ObjectUtils.isEmpty(unit.getRoad())) { continue; } - if(ctUnit.getUnitGrade().equals(4)){ + if (ctUnit.getUnitGrade().equals(4)) { ctUnitTreeDTO.setParentId("root"); - }else{ - ctUnitTreeDTO.setParentId(unit.getRoad()+"02-village"); + } else { + ctUnitTreeDTO.setParentId(unit.getRoad() + "02-village"); } } ctUnitTreeDTO.setCheckable(true); - if(!unit.getUnitType().equals(UserBaseConsts.UNIT_TYPE_101)){ + 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; + } + + 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); } } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml index 0f94532..12315b8 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml +++ b/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"/> diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml index 7151ed4..bf2a2ea 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml +++ b/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 diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListFPDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListFPDTO.java index 3c5f19b..76fe248 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageListFPDTO.java +++ b/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; diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/GridEventDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/GridEventDTO.java index 25da6d4..7b5d9fb 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/GridEventDTO.java +++ b/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; } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java index 0820bbc..c27934c 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java +++ b/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; } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java index 6f47029..24207cd 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java +++ b/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); - caseInfo.setCreateTime(nowDate); + 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); // 自动调度流程 diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/web/GridEventWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/web/GridEventWebController.java index 8cb1dfb..4f28c41 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/web/GridEventWebController.java +++ b/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); diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/dto/GridCaseInfoDTO.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/dto/GridCaseInfoDTO.java index a5352cc..a50d1bc 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/dto/GridCaseInfoDTO.java +++ b/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; } diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/po/GridEvent.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/po/GridEvent.java index c233df9..ac49fce 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/po/GridEvent.java +++ b/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; } diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java index bdbb8ca..2442725 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java +++ b/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); diff --git a/sql/20250611.sql b/sql/20250611.sql new file mode 100644 index 0000000..9c2560f --- /dev/null +++ b/sql/20250611.sql @@ -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 '公安单号' \ No newline at end of file -- Gitblit v1.8.0