package com.fzzy.sys.manager.group; import com.fzzy.igds.constant.Constant; import com.fzzy.igds.domain.Dept; import com.fzzy.igds.domain.DicArea; import com.fzzy.igds.service.CoreDeptService; import com.fzzy.igds.service.DicAreaService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * @Description * @Author CZT * @Date 2025/12/11 15:48 */ @Slf4j @Component public class GroupManager { @Resource private DicAreaService dicAreaService; @Resource private CoreDeptService deptService; /** * 获取省及下属市州集合 * * @param areaCode * @return */ public List getArea(String areaCode) { DicArea area = dicAreaService.listDicAreaByCode(areaCode); if (null == area) { return null; } List list = new ArrayList<>(); list.add(area); if (Constant.AREA_TYPE_1.equals(area.getType())) { //市州级别,只查询伊犁 List children = dicAreaService.listData(null, null, "654000"); if (null != children && !children.isEmpty()) { for (DicArea child : children) { if (Constant.AREA_TYPE_2.equals(child.getType())) { //区县 List childrenItem = dicAreaService.listData(child.getCode(), null, null); if (null != childrenItem && !childrenItem.isEmpty()) { list.addAll(childrenItem); } } } list.addAll(children); } } return list; } /** * 获取对应省份及下属市州children * * @param areaCode * @return */ public List getAreaAndChild(String areaCode) { DicArea area = dicAreaService.listDicAreaByCode(areaCode); if (null == area) { return null; } List list = new ArrayList<>(); if (Constant.AREA_TYPE_1.equals(area.getType())) { //市州级别,只查询伊犁 List children = dicAreaService.listData(null, null, "654000"); if (null != children && !children.isEmpty()) { for (DicArea child : children) { if (Constant.AREA_TYPE_2.equals(child.getType())) { //区县 List childrenItem = dicAreaService.listData(child.getCode(), null, null); if (null != childrenItem && !childrenItem.isEmpty()) { child.setChildren(childrenItem); } } } area.setChildren(children); } } list.add(area); return list; } /** * 获取组织下所有库区信息 * * @param companyId * @return */ public List getAllDept(String companyId) { return deptService.listDept(null, companyId, null); } }