@@ -0,0 +1,52 @@ | |||||
package com.ruoyi.web.controller.agentcenter; | |||||
import com.ruoyi.agentcenter.dto.AbnormalTask; | |||||
import com.ruoyi.agentcenter.service.IAbnormalTaskService; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.security.access.prepost.PreAuthorize; | |||||
import org.springframework.web.bind.annotation.GetMapping; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
/** | |||||
* 会计异常任务Controller | |||||
* | |||||
* @author zhao | |||||
* @date 2023-05-06 | |||||
*/ | |||||
@RestController | |||||
@RequestMapping("/accounting/task") | |||||
public class AccountingAbnormalTaskController extends BaseController | |||||
{ | |||||
@Autowired | |||||
private IAbnormalTaskService abnormalTaskService; | |||||
/** | |||||
* 异常任务列表 | |||||
*/ | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')") | |||||
@GetMapping(value = "/abnormalTaskList") | |||||
public TableDataInfo abnormalTaskList(AbnormalTask task) | |||||
{ | |||||
startPage(); | |||||
task.setAgentCenter(getUserAgentCenter()); | |||||
task.setHandleUser(getUsername()); | |||||
return getDataTable(abnormalTaskService.getAbnormalTaskList(task)); | |||||
} | |||||
/** | |||||
* 异常任务统计 | |||||
*/ | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:query')") | |||||
@GetMapping(value = "/abnormalTaskSummary") | |||||
public AjaxResult abnormalTaskSummary(AbnormalTask task) | |||||
{ | |||||
task.setAgentCenter(getUserAgentCenter()); | |||||
task.setHandleUser(getUsername()); | |||||
return AjaxResult.success(abnormalTaskService.abnormalTaskSummary(task)); | |||||
} | |||||
} |
@@ -3,7 +3,6 @@ package com.ruoyi.web.controller.agentcenter; | |||||
import com.ruoyi.agentcenter.domain.TAgentTask; | import com.ruoyi.agentcenter.domain.TAgentTask; | ||||
import com.ruoyi.agentcenter.service.ITAgentTaskService; | import com.ruoyi.agentcenter.service.ITAgentTaskService; | ||||
import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup; | import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup; | ||||
import com.ruoyi.agentcenter.vo.TaskDistrib; | |||||
import com.ruoyi.agentcenter.vo.TaskFinish; | import com.ruoyi.agentcenter.vo.TaskFinish; | ||||
import com.ruoyi.common.core.controller.BaseController; | import com.ruoyi.common.core.controller.BaseController; | ||||
import com.ruoyi.common.core.domain.AjaxResult; | import com.ruoyi.common.core.domain.AjaxResult; | ||||
@@ -1,25 +1,15 @@ | |||||
package com.ruoyi.web.controller.agentcenter; | package com.ruoyi.web.controller.agentcenter; | ||||
import com.ruoyi.agentcenter.domain.TAgentTask; | |||||
import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup; | |||||
import com.ruoyi.agentcenter.service.ITAgentTaskService; | import com.ruoyi.agentcenter.service.ITAgentTaskService; | ||||
import com.ruoyi.agentcenter.vo.AgentTaskUser; | import com.ruoyi.agentcenter.vo.AgentTaskUser; | ||||
import com.ruoyi.common.core.controller.BaseController; | import com.ruoyi.common.core.controller.BaseController; | ||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.domain.entity.SysUser; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | import com.ruoyi.common.core.page.TableDataInfo; | ||||
import com.ruoyi.common.utils.PageUtils; | |||||
import com.ruoyi.system.service.ISysDeptService; | |||||
import com.ruoyi.system.service.ISysUserService; | |||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.security.access.prepost.PreAuthorize; | import org.springframework.security.access.prepost.PreAuthorize; | ||||
import org.springframework.web.bind.annotation.GetMapping; | import org.springframework.web.bind.annotation.GetMapping; | ||||
import org.springframework.web.bind.annotation.RequestMapping; | import org.springframework.web.bind.annotation.RequestMapping; | ||||
import org.springframework.web.bind.annotation.RequestParam; | |||||
import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||
import java.util.List; | |||||
/** | /** | ||||
* 会计任务用户Controller | * 会计任务用户Controller | ||||
* | * | ||||
@@ -0,0 +1,66 @@ | |||||
package com.ruoyi.web.controller.agentcenter; | |||||
import com.ruoyi.agentcenter.dto.AbnormalTask; | |||||
import com.ruoyi.agentcenter.service.IAbnormalTaskService; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.security.access.prepost.PreAuthorize; | |||||
import org.springframework.web.bind.annotation.GetMapping; | |||||
import org.springframework.web.bind.annotation.PathVariable; | |||||
import org.springframework.web.bind.annotation.PostMapping; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
/** | |||||
* 主管异常任务Controller | |||||
* | |||||
* @author zhao | |||||
* @date 2023-05-06 | |||||
*/ | |||||
@RestController | |||||
@RequestMapping("/manager/task") | |||||
public class ManagerAbnormalTaskController extends BaseController | |||||
{ | |||||
@Autowired | |||||
private IAbnormalTaskService abnormalTaskService; | |||||
/** | |||||
* 异常任务列表 | |||||
*/ | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')") | |||||
@GetMapping(value = "/abnormalTaskList") | |||||
public TableDataInfo abnormalTaskList(AbnormalTask task) | |||||
{ | |||||
startPage(); | |||||
task.setAgentCenter(getUserAgentCenter()); | |||||
return getDataTable(abnormalTaskService.getAbnormalTaskList(task)); | |||||
} | |||||
/** | |||||
* 异常任务统计 | |||||
*/ | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:query')") | |||||
@GetMapping(value = "/abnormalTaskSummary") | |||||
public AjaxResult abnormalTaskSummary(AbnormalTask task) | |||||
{ | |||||
task.setAgentCenter(getUserAgentCenter()); | |||||
return AjaxResult.success(abnormalTaskService.abnormalTaskSummary(task)); | |||||
} | |||||
/** | |||||
* 异常任务统计 | |||||
*/ | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:remove')") | |||||
@PostMapping(value = "/removeAbnormalTask/{type}/{id}") | |||||
public AjaxResult removeAbnormalTask(@PathVariable String type, @PathVariable Long id) | |||||
{ | |||||
AbnormalTask task = new AbnormalTask(); | |||||
task.setType(type) | |||||
.setId(id); | |||||
task.setAgentCenter(getUserAgentCenter()); | |||||
return AjaxResult.success(abnormalTaskService.removeAbnormalTask(task)); | |||||
} | |||||
} |
@@ -10,7 +10,6 @@ import org.springframework.security.access.prepost.PreAuthorize; | |||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.validation.annotation.Validated; | import org.springframework.validation.annotation.Validated; | ||||
import org.springframework.web.bind.annotation.GetMapping; | import org.springframework.web.bind.annotation.GetMapping; | ||||
import org.springframework.web.bind.annotation.PathVariable; | |||||
import org.springframework.web.bind.annotation.PostMapping; | import org.springframework.web.bind.annotation.PostMapping; | ||||
import org.springframework.web.bind.annotation.RequestBody; | import org.springframework.web.bind.annotation.RequestBody; | ||||
import org.springframework.web.bind.annotation.RequestMapping; | import org.springframework.web.bind.annotation.RequestMapping; | ||||
@@ -38,7 +37,7 @@ public class ManagerAgentTaskController extends BaseController | |||||
/** | /** | ||||
* 县级全部任务统计 | * 县级全部任务统计 | ||||
*/ | */ | ||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')") | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:query')") | |||||
@GetMapping(value = "/countyTaskSummary") | @GetMapping(value = "/countyTaskSummary") | ||||
public AjaxResult countyTaskSummary(TAgentTask task) | public AjaxResult countyTaskSummary(TAgentTask task) | ||||
{ | { | ||||
@@ -142,7 +141,7 @@ public class ManagerAgentTaskController extends BaseController | |||||
/** | /** | ||||
* 县级处理中统计 | * 县级处理中统计 | ||||
*/ | */ | ||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')") | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:query')") | |||||
@GetMapping(value = "/countyProcessingTaskSummary") | @GetMapping(value = "/countyProcessingTaskSummary") | ||||
public AjaxResult countyProcessingTaskSummary(TAgentTask task) | public AjaxResult countyProcessingTaskSummary(TAgentTask task) | ||||
{ | { | ||||
@@ -166,7 +165,7 @@ public class ManagerAgentTaskController extends BaseController | |||||
/** | /** | ||||
* 镇级待审核统计 | * 镇级待审核统计 | ||||
*/ | */ | ||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')") | |||||
@PreAuthorize("@ss.hasPermi('agentcenter:task:query')") | |||||
@GetMapping(value = "/auditTaskSummary") | @GetMapping(value = "/auditTaskSummary") | ||||
public AjaxResult auditTaskSummary(TAgentTask task) | public AjaxResult auditTaskSummary(TAgentTask task) | ||||
{ | { | ||||
@@ -0,0 +1,36 @@ | |||||
package com.ruoyi.agentcenter.dto; | |||||
import lombok.Data; | |||||
import lombok.experimental.Accessors; | |||||
@Data | |||||
@Accessors(chain = true) | |||||
public class AbnormalTask | |||||
{ | |||||
public static final String TYPE_CONTRACTION = "contraction"; | |||||
public static final String TYPE_VOUCHER = "voucher"; | |||||
private String agentCenter; | |||||
private String countyCode; | |||||
private String townCode; | |||||
private String orgCode; | |||||
private String type; | |||||
private String orderYear; | |||||
private String orderMonth; | |||||
private String countyName; | |||||
private String townName; | |||||
private String orgName; | |||||
private String bookName; | |||||
private String handleNick; | |||||
private String handleUser; | |||||
private String orderAt; | |||||
private String remark; | |||||
private Long id; | |||||
private Long taskId; | |||||
private String name; | |||||
private String region; | |||||
private String address; | |||||
private String tel; | |||||
private String applyUser; | |||||
} |
@@ -1,6 +1,5 @@ | |||||
package com.ruoyi.agentcenter.dto; | package com.ruoyi.agentcenter.dto; | ||||
import cn.hutool.core.date.DateUtil; | |||||
import com.ruoyi.agentcenter.domain.TAgentTask; | import com.ruoyi.agentcenter.domain.TAgentTask; | ||||
import com.ruoyi.common.utils.DateUtils; | import com.ruoyi.common.utils.DateUtils; | ||||
import com.ruoyi.common.utils.StringUtils; | import com.ruoyi.common.utils.StringUtils; | ||||
@@ -1,11 +1,9 @@ | |||||
package com.ruoyi.agentcenter.dto; | package com.ruoyi.agentcenter.dto; | ||||
import com.fasterxml.jackson.annotation.JsonFormat; | |||||
import com.ruoyi.agentcenter.domain.TAgentTask; | import com.ruoyi.agentcenter.domain.TAgentTask; | ||||
import lombok.Data; | import lombok.Data; | ||||
import lombok.experimental.Accessors; | import lombok.experimental.Accessors; | ||||
import java.util.Date; | |||||
import java.util.List; | import java.util.List; | ||||
@Data | @Data | ||||
@@ -2,6 +2,7 @@ package com.ruoyi.agentcenter.mapper; | |||||
import java.util.List; | import java.util.List; | ||||
import com.ruoyi.agentcenter.domain.TAgentContraction; | import com.ruoyi.agentcenter.domain.TAgentContraction; | ||||
import com.ruoyi.agentcenter.dto.AbnormalTask; | |||||
/** | /** | ||||
* 合同任务Mapper接口 | * 合同任务Mapper接口 | ||||
@@ -101,4 +102,7 @@ public interface TAgentContractionMapper | |||||
public int selectTAgentContractionExists(TAgentContraction tAgentContraction); | public int selectTAgentContractionExists(TAgentContraction tAgentContraction); | ||||
public List<TAgentContraction> getAgentContractionGroupByDept(TAgentContraction tAgentContraction); | public List<TAgentContraction> getAgentContractionGroupByDept(TAgentContraction tAgentContraction); | ||||
public List<AbnormalTask> getAbnormalContractionList(AbnormalTask cond); | |||||
public Long getAbnormalContractionCount(AbnormalTask cond); | |||||
} | } |
@@ -0,0 +1,13 @@ | |||||
package com.ruoyi.agentcenter.service; | |||||
import com.ruoyi.agentcenter.dto.AbnormalTask; | |||||
import com.ruoyi.agentcenter.vo.AbnormalTaskSummary; | |||||
import java.util.List; | |||||
public interface IAbnormalTaskService | |||||
{ | |||||
public List<AbnormalTask> getAbnormalTaskList(AbnormalTask query); | |||||
public AbnormalTaskSummary abnormalTaskSummary(AbnormalTask query); | |||||
public int removeAbnormalTask(AbnormalTask query); | |||||
} |
@@ -0,0 +1,89 @@ | |||||
package com.ruoyi.agentcenter.service.impl; | |||||
import cn.hutool.core.collection.CollectionUtil; | |||||
import com.ruoyi.agentcenter.domain.TAgentContraction; | |||||
import com.ruoyi.agentcenter.dto.AbnormalTask; | |||||
import com.ruoyi.agentcenter.mapper.TAgentContractionMapper; | |||||
import com.ruoyi.agentcenter.service.IAbnormalTaskService; | |||||
import com.ruoyi.agentcenter.vo.AbnormalTaskSummary; | |||||
import com.ruoyi.common.core.domain.entity.SysDept; | |||||
import com.ruoyi.common.utils.DateUtils; | |||||
import com.ruoyi.common.utils.DeptUtils; | |||||
import com.ruoyi.system.mapper.SysDeptMapper; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
import java.util.ArrayList; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
@Service | |||||
public class AbnormalTaskServiceImpl implements IAbnormalTaskService | |||||
{ | |||||
@Autowired | |||||
private TAgentContractionMapper tAgentContractionMapper; | |||||
@Autowired | |||||
private SysDeptMapper sysDeptMapper; | |||||
@Override | |||||
public List<AbnormalTask> getAbnormalTaskList(AbnormalTask query) | |||||
{ | |||||
switch(query.getType()) | |||||
{ | |||||
case AbnormalTask.TYPE_CONTRACTION: | |||||
return getAbnormalContractionTaskList(query); | |||||
default: | |||||
return new ArrayList<>(); | |||||
} | |||||
} | |||||
private List<AbnormalTask> getAbnormalContractionTaskList(AbnormalTask query) | |||||
{ | |||||
List<AbnormalTask> abnormalContractionList = tAgentContractionMapper.getAbnormalContractionList(query); | |||||
if(CollectionUtil.isNotEmpty(abnormalContractionList)) | |||||
{ | |||||
List<SysDept> deptList = sysDeptMapper.getDeptList(new SysDept()); | |||||
Map<String, String> fullNameCache = new HashMap<>(); | |||||
abnormalContractionList.forEach((x) -> { | |||||
String fullName = fullNameCache.computeIfAbsent(x.getOrgCode(), k -> DeptUtils.getFullNameByOrgCode(x.getOrgCode(), deptList, "/", false)); | |||||
x.setRegion(fullName); | |||||
x.setAddress(fullName); | |||||
x.setApplyUser("申请人XXX") | |||||
.setTel("联系电话1xxxxxxxxxxx") | |||||
; | |||||
x.setOrderAt(DateUtils.stdRemoveTime(x.getOrderAt())); | |||||
}); | |||||
} | |||||
return abnormalContractionList; | |||||
} | |||||
@Override | |||||
public AbnormalTaskSummary abnormalTaskSummary(AbnormalTask query) | |||||
{ | |||||
AbnormalTaskSummary res = new AbnormalTaskSummary(); | |||||
res.setNumAbnormalContraction(getAbnormalContractionTaskCount(query)); | |||||
res.setNumAbnormalOther(0L) | |||||
.setNumAbnormalVoucher(0L) | |||||
; | |||||
res.setNum(res.getNumAbnormalContraction()); | |||||
return res; | |||||
} | |||||
private Long getAbnormalContractionTaskCount(AbnormalTask query) | |||||
{ | |||||
return tAgentContractionMapper.getAbnormalContractionCount(query); | |||||
} | |||||
@Override | |||||
public int removeAbnormalTask(AbnormalTask query) | |||||
{ | |||||
switch(query.getType()) | |||||
{ | |||||
case AbnormalTask.TYPE_CONTRACTION: | |||||
return tAgentContractionMapper.deleteTAgentContractionById(query.getId()); | |||||
default: | |||||
return 0; | |||||
} | |||||
} | |||||
} |
@@ -30,7 +30,6 @@ import com.ruoyi.common.utils.ContainerUtils; | |||||
import com.ruoyi.common.utils.DateUtils; | import com.ruoyi.common.utils.DateUtils; | ||||
import com.ruoyi.common.utils.DeptUtils; | import com.ruoyi.common.utils.DeptUtils; | ||||
import com.ruoyi.common.utils.PageUtils; | import com.ruoyi.common.utils.PageUtils; | ||||
import com.ruoyi.common.utils.StringUtils; | |||||
import com.ruoyi.system.mapper.SysDeptMapper; | import com.ruoyi.system.mapper.SysDeptMapper; | ||||
import com.ruoyi.system.mapper.SysUserMapper; | import com.ruoyi.system.mapper.SysUserMapper; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
@@ -0,0 +1,14 @@ | |||||
package com.ruoyi.agentcenter.vo; | |||||
import lombok.Data; | |||||
import lombok.experimental.Accessors; | |||||
@Data | |||||
@Accessors(chain = true) | |||||
public class AbnormalTaskSummary | |||||
{ | |||||
private Long numAbnormalContraction; | |||||
private Long numAbnormalVoucher; | |||||
private Long numAbnormalOther; | |||||
private Long num; | |||||
} |
@@ -305,4 +305,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||
</where> | </where> | ||||
GROUP BY org_code | GROUP BY org_code | ||||
</select> | </select> | ||||
<resultMap id="AbnormalTaskResultMap" type="com.ruoyi.agentcenter.dto.AbnormalTask"> | |||||
<result property="agentCenter" column="agent_center"/> | |||||
<result property="countyCode" column="county_code"/> | |||||
<result property="orgCode" column="org_code"/> | |||||
<result property="townCode" column="town_code"/> | |||||
<result property="type" column="type"/> | |||||
<result property="orderYear" column="order_year"/> | |||||
<result property="orderMonth" column="order_month"/> | |||||
<result property="bookName" column="book_name"/> | |||||
<result property="handleNick" column="handle_nick"/> | |||||
<result property="orderAt" column="order_at"/> | |||||
<result property="remark" column="remark"/> | |||||
<result property="id" column="id"/> | |||||
<result property="taskId" column="task_id"/> | |||||
<result property="name" column="name"/> | |||||
<result property="countyName" column="county_name"/> | |||||
<result property="townName" column="town_name"/> | |||||
<result property="orgName" column="org_name"/> | |||||
<result property="handleUser" column="handle_user"/> | |||||
</resultMap> | |||||
<select id="getAbnormalContractionList" parameterType="com.ruoyi.agentcenter.dto.AbnormalTask" resultMap="AbnormalTaskResultMap"> | |||||
select | |||||
c.id, c.task_id, c.name, c.remark, c.order_at, c.order_year, c.order_month, c.order_at, | |||||
t.org_code, t.town_code, t.county_code, t.book_name, t.handle_nick, t.agent_center, t.county_name, t.town_name, t.org_name, t.handle_user, | |||||
'contraction' as type | |||||
from t_agent_contraction c | |||||
INNER JOIN t_agent_task t ON c.task_id = t.id | |||||
<where> | |||||
<if test="agentCenter != null and agentCenter != ''"> and t.agent_center = #{agentCenter}</if> | |||||
<if test="countyCode != null and countyCode != ''"> and t.county_code = #{countyCode}</if> | |||||
<if test="townCode != null and townCode != ''"> and t.town_code = #{townCode}</if> | |||||
<if test="orgCode != null and orgCode != ''"> and t.org_code = #{orgCode}</if> | |||||
<if test="orderYear != null and orderYear != ''"> and c.order_year = #{orderYear}</if> | |||||
<if test="orderMonth != null and orderMonth != ''"> and c.order_month = #{orderMonth}</if> | |||||
<if test="handleUser != null and handleUser != ''"> and t.handle_user = #{handleUser}</if> | |||||
and order_status = '4' | |||||
</where> | |||||
</select> | |||||
<select id="getAbnormalContractionCount" parameterType="com.ruoyi.agentcenter.dto.AbnormalTask" resultType="Long"> | |||||
select | |||||
COUNT(*) | |||||
from t_agent_contraction c | |||||
INNER JOIN t_agent_task t ON c.task_id = t.id | |||||
<where> | |||||
<if test="agentCenter != null and agentCenter != ''"> and t.agent_center = #{agentCenter}</if> | |||||
<if test="countyCode != null and countyCode != ''"> and t.county_code = #{countyCode}</if> | |||||
<if test="townCode != null and townCode != ''"> and t.town_code = #{townCode}</if> | |||||
<if test="orgCode != null and orgCode != ''"> and t.org_code = #{orgCode}</if> | |||||
<if test="orderYear != null and orderYear != ''"> and c.order_year = #{orderYear}</if> | |||||
<if test="orderMonth != null and orderMonth != ''"> and c.order_month = #{orderMonth}</if> | |||||
<if test="handleUser != null and handleUser != ''"> and t.handle_user = #{handleUser}</if> | |||||
and order_status = '4' | |||||
</where> | |||||
</select> | |||||
</mapper> | </mapper> |
@@ -8,9 +8,11 @@ import java.util.Collections; | |||||
import java.util.HashMap; | import java.util.HashMap; | ||||
import java.util.List; | import java.util.List; | ||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.Optional; | |||||
import java.util.function.Function; | import java.util.function.Function; | ||||
import java.util.stream.Collector; | import java.util.stream.Collector; | ||||
import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||
import java.util.stream.Stream; | |||||
public final class DeptUtils | public final class DeptUtils | ||||
{ | { | ||||
@@ -209,5 +211,27 @@ public final class DeptUtils | |||||
return collect; | return collect; | ||||
} | } | ||||
public static String getFullNameByOrgCode(String orgCode, List<SysDept> depts, String splitChar, boolean all) | |||||
{ | |||||
Optional<SysDept> first = depts.stream().filter((x) -> orgCode.equals(x.getOrgCode())).findFirst(); | |||||
if(!first.isPresent()) | |||||
return ""; | |||||
List<String> names = getDeptNameList(first.get(), depts, all); | |||||
return String.join(splitChar, names); | |||||
} | |||||
private static List<String> getDeptNameList(SysDept dept, List<SysDept> depts, boolean all) | |||||
{ | |||||
List<String> names = new ArrayList<>(); | |||||
Map<Long, SysDept> deptMap = ContainerUtils.toMap(depts, SysDept::getDeptId); | |||||
while(null != dept && (all || dept.getDeptId() != SysDept.ROOT_DEPT_ID)) | |||||
{ | |||||
names.add(0, dept.getDeptName()); | |||||
Long parentId = dept.getParentId(); | |||||
dept = deptMap.get(parentId); | |||||
} | |||||
return names; | |||||
} | |||||
private DeptUtils() {} | private DeptUtils() {} | ||||
} | } |