forked from gzzfw/backEnd/gz-dyh

liyj
2024-10-28 de001cc030da9c4b8660d72c024e9b8de1b8567c
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -23,6 +23,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -331,10 +332,10 @@
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                    szbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()){
                    qzzzxList.add(unitSelectTerm);
                }
            }
@@ -379,10 +380,10 @@
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                    qzbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()){
                    zjzzzxList.add(unitSelectTerm);
                }
            }
@@ -414,22 +415,40 @@
            return result;
        }else if (UserBaseConsts.UNIT_GRADE_3 == loginUnit.getUnitGrade()){
            // 镇街交办
            // 查询镇街部门数组
            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){
            QueryWrapper<CtUnit> zjCtUnitQueryWrapper = new QueryWrapper<>();
            zjCtUnitQueryWrapper.eq("parent_id", loginUnit.getId())
                    .eq("unit_grade", UserBaseConsts.UNIT_GRADE_3)
                    .eq("unit_type", UserBaseConsts.UNIT_TYPE_102);
            List<CtUnit> zjCtUnitList = mapper.selectList(zjCtUnitQueryWrapper);
            for (CtUnit zjCtUnit: zjCtUnitList){
                SelectTermDTO unitSelectTerm = new SelectTermDTO();
                unitSelectTerm.setValue(ctDept.getId());
                unitSelectTerm.setLabel(ctDept.getName());
                unitSelectTerm.setParentId(loginUnit.getId());
                unitSelectTerm.setValue(zjCtUnit.getId());
                unitSelectTerm.setLabel(zjCtUnit.getUnitName());
                unitSelectTerm.setParentId(zjCtUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                zjbmList.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());
            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){
@@ -467,7 +486,21 @@
            result.add(firstSelectTermDTO);
            return result;
        }else {
            return new ArrayList<>();
            // 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;
        }
    }
@@ -499,10 +532,10 @@
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_101 == ctUnit.getUnitType()){
                    szbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                    qzzzxList.add(unitSelectTerm);
                }
            }
@@ -547,10 +580,10 @@
                unitSelectTerm.setLabel(ctUnit.getUnitName());
                unitSelectTerm.setParentId(ctUnit.getParentId());
                unitSelectTerm.setCheckable(true);
                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_102 == ctUnit.getUnitType()){
                    qzbmList.add(unitSelectTerm);
                }
                if (UserBaseConsts.UNIT_TYPE_3 == ctUnit.getUnitType()){
                if (UserBaseConsts.UNIT_TYPE_103 == ctUnit.getUnitType()){
                    zjzzzxList.add(unitSelectTerm);
                }
            }
@@ -597,7 +630,7 @@
            }
            // 查询村社数组
            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
            ctUnitQueryWrapper.eq("parent_id", superiorUnit.getId());
            ctUnitQueryWrapper.eq("parent_id", superiorUnit.getId()).eq("unit_grade", UserBaseConsts.UNIT_GRADE_4);
            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
            List<SelectTermDTO> csList = new ArrayList<>();
            for (CtUnit ctUnit: ctUnitList){
@@ -646,7 +679,7 @@
            ctUnitQueryWrapper.eq("id", unitId).select("parent_id");
            CtUnit loginCtUnit = mapper.selectOne(ctUnitQueryWrapper);
            ctUnitQueryWrapper.clear();
            ctUnitQueryWrapper.eq("id", loginCtUnit.getParentId()).eq("unit_type", UserBaseConsts.UNIT_TYPE_1);
            ctUnitQueryWrapper.eq("id", loginCtUnit.getParentId()).eq("unit_type", UserBaseConsts.UNIT_TYPE_101);
            CtUnit zzzxCtUnit = mapper.selectOne(ctUnitQueryWrapper);
            CtUnitDTO ctUnitDTO = new CtUnitDTO();
            BeanUtils.copyProperties(zzzxCtUnit, ctUnitDTO);
@@ -656,4 +689,34 @@
            throw new ServiceException("CtUnitService.getParentZzzx", e);
        }
    }
    /**
     * 获取本级综治中心
     * @param unitId 当前单位编号
     * @return
     */
    public CtUnitDTO getBjZzzx(String unitId){
        try{
            CtUnitDTO ctUnitDTO = new CtUnitDTO();
            // 查询自己是否是综治中心
            CtUnit loginCtUnit = mapper.selectById(unitId);
            if (UserBaseConsts.UNIT_TYPE_101 == loginCtUnit.getUnitType()){
                BeanUtils.copyProperties(loginCtUnit, ctUnitDTO);
            }else {
                // 查询当前单位的上级综治中心
                QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
                ctUnitQueryWrapper.eq("id", loginCtUnit.getParentId()).eq("unit_type", UserBaseConsts.UNIT_TYPE_101);
                CtUnit zzzxCtUnit = mapper.selectOne(ctUnitQueryWrapper);
                BeanUtils.copyProperties(zzzxCtUnit, ctUnitDTO);
            }
            return ctUnitDTO;
        }catch (Exception e){
            log.error("[CtUnitService.getParentZzzx]调用失败,异常信息:"+e, e);
            throw new ServiceException("CtUnitService.getParentZzzx", e);
        }
    }
    public CtUnit selectUnitByGridId(String gridUnitId){
        return mapper.selectUnitByGridId(gridUnitId);
    }
}