lidongdong
2022-10-19 de1e3af81b7dbde6f077f2abeacda7059fee21bb
flower_city/src/main/java/com/dg/core/controller/OrganizationController.java
@@ -6,7 +6,9 @@
import com.dg.core.annotation.CurrentUser;
import com.dg.core.db.gen.entity.OrganizationChartEntity;
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.db.gen.entity.TransactionEvent;
import com.dg.core.service.IOrganizationChartService;
import com.dg.core.service.ITransactionEventService;
import com.dg.core.util.TableDataInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -28,6 +30,9 @@
    @Autowired(required = true)
    IOrganizationChartService iOrganizationChartService;
    @Autowired(required = true)
    ITransactionEventService iTransactionEventService;
    /**
     * 查询机构列表
@@ -75,7 +80,7 @@
    public ResultData updateConfig(@RequestBody OrganizationChartEntity entity,@CurrentUser SysUser sysUser)
    {
        entity.setUpdateTime(LocalDateTime.now());
        entity.setUpdateUserId(Integer.parseInt(String.valueOf(sysUser.getUserId())));
        entity.setUpdateUserId(sysUser.getUserId());
        return toAjax(iOrganizationChartService.updateConfig(entity));
    }
@@ -88,6 +93,21 @@
    public ResultData deleteConfigById(@RequestParam(value = "Id",required = false)  String Id)
    {
        Assert.notNull(Id, "Id 不能为空");
        List<OrganizationChartEntity> list=iOrganizationChartService.selectParentList(Id,"");
        if(list!=null && list.size()>0)
        {
            return ResultData.error("该机构下存在其他部门!请先删除子部门");
        }
        List<String> ids=new ArrayList<>();
        ids.add(Id);
        List<TransactionEvent> transactionEvents=iTransactionEventService.selectConfigList(null,null,ids);
        if(transactionEvents!=null && transactionEvents.size()>0)
        {
            return ResultData.error("该机构下已绑定办事指南!请解绑办事指南");
        }
        return toAjax(iOrganizationChartService.deleteConfigById(Id));
    }
@@ -133,35 +153,32 @@
     */
    @ApiOperation(value = "通过父级id查询对应机构下的全部部门",response = OrganizationChartEntity.class)
    @GetMapping("/getdepartment")
    public TableDataInfo getIds(@RequestParam(value = "department",required = false) String departmentId)
    public TableDataInfo getOrganizations(@RequestParam(value = "department",required = false) String departmentId)
    {
        List<OrganizationChartEntity> ids=new ArrayList<>();
        List<OrganizationChartEntity> lists = iOrganizationChartService.selectConfigList(departmentId,"");
        List<OrganizationChartEntity> lists = iOrganizationChartService.selectParentList(departmentId,"");
        if(lists.size()<1)
        {
            lists.add(iOrganizationChartService.selectConfigById(departmentId));
        }
        ids=disposestreetId(lists);
        ids=disposestreet(lists);
        if(ids.size()<1)
        {
            return null;
        }
//        ids.add(streetId);
        ids.add(iOrganizationChartService.selectConfigById(departmentId));
        return getDataTable(ids);
    }
    //递归取id
    private List<OrganizationChartEntity> disposestreetId(List<OrganizationChartEntity> lists)
    private List<OrganizationChartEntity> disposestreet(List<OrganizationChartEntity> lists)
    {
        List<OrganizationChartEntity> ids=new ArrayList<>();
        for (OrganizationChartEntity sysStreet:lists)
        {
            ids.add(sysStreet);
            if(sysStreet.getChild()!=null && sysStreet.getChild().size()>0)
            {
                ids.addAll(disposestreetId(sysStreet.getChild()));
                ids.addAll(disposestreet(sysStreet.getChild()));
            }
            else
            {
@@ -170,8 +187,5 @@
        }
        return ids;
    }
}