|  |  |  | 
|---|
|  |  |  | 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.PermissionUtil; | 
|---|
|  |  |  | import com.dg.core.util.TableDataInfo; | 
|---|
|  |  |  | import io.swagger.annotations.Api; | 
|---|
|  |  |  | import io.swagger.annotations.ApiOperation; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired(required = true) | 
|---|
|  |  |  | IOrganizationChartService iOrganizationChartService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired(required = true) | 
|---|
|  |  |  | ITransactionEventService iTransactionEventService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询机构列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | @GetMapping("/getList") | 
|---|
|  |  |  | public TableDataInfo selectConfigList() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return getDataTable(iOrganizationChartService.selectConfigList("","")); | 
|---|
|  |  |  | return getDataTable(iOrganizationChartService.selectConfigList("","",null)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询机构列表(权限) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation(value = "查询机构列表(权限 选择用 ) ",response = OrganizationChartEntity.class) | 
|---|
|  |  |  | @GetMapping("/selectJurisdiction") | 
|---|
|  |  |  | @Authorization | 
|---|
|  |  |  | public TableDataInfo selectJurisdiction(@CurrentUser SysUser sysUser) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return getDataTable(iOrganizationChartService.selectConfigList(sysUser.getDepartmentId(),"",null)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public ResultData deleteConfigById(@RequestParam(value = "Id",required = false)  String Id) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Assert.notNull(Id, "Id 不能为空"); | 
|---|
|  |  |  | OrganizationChartEntity entity=iOrganizationChartService.selectConfigById(Id); | 
|---|
|  |  |  | if(!StringUtils.isEmpty(entity.getParentId())) | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | @Authorization | 
|---|
|  |  |  | public TableDataInfo queryList(@RequestParam(value = "pageNum",required = false) Integer pageNum, | 
|---|
|  |  |  | @RequestParam(value = "pageSize",required = false) Integer pageSize, | 
|---|
|  |  |  | @RequestParam(value = "organizationName",required = false)String organizationName){ | 
|---|
|  |  |  | @RequestParam(value = "organizationName",required = false)String organizationName, | 
|---|
|  |  |  | @CurrentUser SysUser sysUser){ | 
|---|
|  |  |  | Assert.notNull(pageNum, "pageNum can not be empty"); | 
|---|
|  |  |  | Assert.notNull(pageSize, "pageSize can not be empty"); | 
|---|
|  |  |  | Page<OrganizationChartEntity> pageParam = new Page<>(pageNum,pageSize); | 
|---|
|  |  |  | return getDataTable(iOrganizationChartService.queryList(pageParam,pageSize,organizationName),iOrganizationChartService.countList(organizationName)); | 
|---|
|  |  |  | List<String> ids= PermissionUtil.getPermission(sysUser,iOrganizationChartService); | 
|---|
|  |  |  | return getDataTable(iOrganizationChartService.queryList(pageParam,pageSize,organizationName,ids), | 
|---|
|  |  |  | iOrganizationChartService.countList(organizationName,ids)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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=null; | 
|---|
|  |  |  | if(StringUtils.isEmpty(departmentId)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | lists= iOrganizationChartService.selectParentList(null,"1"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | lists= iOrganizationChartService.selectParentList(departmentId,null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(!StringUtils.isEmpty(departmentId)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ids; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|