From 33521695ef81e93cead7e6fc7e6eac479539ddd7 Mon Sep 17 00:00:00 2001 From: zhaodengke Date: Mon, 16 Oct 2023 15:13:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AccountingAbnormalTaskController.java | 52 +++++++++++ .../AccountingAgentTaskController.java | 1 - .../agentcenter/AgentTaskUserController.java | 10 --- .../ManagerAbnormalTaskController.java | 66 ++++++++++++++ .../ManagerAgentTaskController.java | 7 +- .../ruoyi/agentcenter/dto/AbnormalTask.java | 36 ++++++++ .../agentcenter/dto/AgentTaskNumGroup.java | 1 - .../dto/AgentTaskVillageGroup.java | 2 - .../mapper/TAgentContractionMapper.java | 4 + .../service/IAbnormalTaskService.java | 13 +++ .../service/impl/AbnormalTaskServiceImpl.java | 89 +++++++++++++++++++ .../service/impl/TAgentTaskServiceImpl.java | 1 - .../agentcenter/vo/AbnormalTaskSummary.java | 14 +++ .../agentcenter/TAgentContractionMapper.xml | 58 ++++++++++++ .../com/ruoyi/common/utils/DeptUtils.java | 24 +++++ 15 files changed, 359 insertions(+), 19 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAbnormalTaskController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAbnormalTaskController.java create mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AbnormalTask.java create mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAbnormalTaskService.java create mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AbnormalTaskServiceImpl.java create mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/AbnormalTaskSummary.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAbnormalTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAbnormalTaskController.java new file mode 100644 index 0000000..4a89dff --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAbnormalTaskController.java @@ -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)); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAgentTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAgentTaskController.java index 9625531..16b506e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAgentTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AccountingAgentTaskController.java @@ -3,7 +3,6 @@ package com.ruoyi.web.controller.agentcenter; import com.ruoyi.agentcenter.domain.TAgentTask; import com.ruoyi.agentcenter.service.ITAgentTaskService; import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup; -import com.ruoyi.agentcenter.vo.TaskDistrib; import com.ruoyi.agentcenter.vo.TaskFinish; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentTaskUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentTaskUserController.java index 5bddbde..fa0aec8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentTaskUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentTaskUserController.java @@ -1,25 +1,15 @@ 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.vo.AgentTaskUser; 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.utils.PageUtils; -import com.ruoyi.system.service.ISysDeptService; -import com.ruoyi.system.service.ISysUserService; 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.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - /** * 会计任务用户Controller * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAbnormalTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAbnormalTaskController.java new file mode 100644 index 0000000..e50b722 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAbnormalTaskController.java @@ -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)); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAgentTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAgentTaskController.java index 572f1e4..110aef7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAgentTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAgentTaskController.java @@ -10,7 +10,6 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; 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.RequestBody; 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") 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") 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") public AjaxResult auditTaskSummary(TAgentTask task) { diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AbnormalTask.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AbnormalTask.java new file mode 100644 index 0000000..b33e93d --- /dev/null +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AbnormalTask.java @@ -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; +} diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskNumGroup.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskNumGroup.java index f75cce3..e08a814 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskNumGroup.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskNumGroup.java @@ -1,6 +1,5 @@ package com.ruoyi.agentcenter.dto; -import cn.hutool.core.date.DateUtil; import com.ruoyi.agentcenter.domain.TAgentTask; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskVillageGroup.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskVillageGroup.java index b42a12a..b37cf6a 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskVillageGroup.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskVillageGroup.java @@ -1,11 +1,9 @@ package com.ruoyi.agentcenter.dto; -import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.agentcenter.domain.TAgentTask; import lombok.Data; import lombok.experimental.Accessors; -import java.util.Date; import java.util.List; @Data diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/mapper/TAgentContractionMapper.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/mapper/TAgentContractionMapper.java index 2f52887..2cda4ec 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/mapper/TAgentContractionMapper.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/mapper/TAgentContractionMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.agentcenter.mapper; import java.util.List; import com.ruoyi.agentcenter.domain.TAgentContraction; +import com.ruoyi.agentcenter.dto.AbnormalTask; /** * 合同任务Mapper接口 @@ -101,4 +102,7 @@ public interface TAgentContractionMapper public int selectTAgentContractionExists(TAgentContraction tAgentContraction); public List getAgentContractionGroupByDept(TAgentContraction tAgentContraction); + + public List getAbnormalContractionList(AbnormalTask cond); + public Long getAbnormalContractionCount(AbnormalTask cond); } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAbnormalTaskService.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAbnormalTaskService.java new file mode 100644 index 0000000..de87f8a --- /dev/null +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAbnormalTaskService.java @@ -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 getAbnormalTaskList(AbnormalTask query); + public AbnormalTaskSummary abnormalTaskSummary(AbnormalTask query); + public int removeAbnormalTask(AbnormalTask query); +} diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AbnormalTaskServiceImpl.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AbnormalTaskServiceImpl.java new file mode 100644 index 0000000..38c7610 --- /dev/null +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AbnormalTaskServiceImpl.java @@ -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 getAbnormalTaskList(AbnormalTask query) + { + switch(query.getType()) + { + case AbnormalTask.TYPE_CONTRACTION: + return getAbnormalContractionTaskList(query); + default: + return new ArrayList<>(); + } + } + + private List getAbnormalContractionTaskList(AbnormalTask query) + { + List abnormalContractionList = tAgentContractionMapper.getAbnormalContractionList(query); + if(CollectionUtil.isNotEmpty(abnormalContractionList)) + { + List deptList = sysDeptMapper.getDeptList(new SysDept()); + Map 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; + } + } +} diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java index 1a7d76e..c228e44 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java @@ -30,7 +30,6 @@ import com.ruoyi.common.utils.ContainerUtils; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DeptUtils; import com.ruoyi.common.utils.PageUtils; -import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/AbnormalTaskSummary.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/AbnormalTaskSummary.java new file mode 100644 index 0000000..41a2d4b --- /dev/null +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/AbnormalTaskSummary.java @@ -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; +} diff --git a/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentContractionMapper.xml b/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentContractionMapper.xml index 0ced645..055b5cc 100644 --- a/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentContractionMapper.xml +++ b/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentContractionMapper.xml @@ -305,4 +305,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY org_code + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DeptUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DeptUtils.java index 1cbaed3..7e7be6c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DeptUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DeptUtils.java @@ -8,9 +8,11 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.function.Function; import java.util.stream.Collector; import java.util.stream.Collectors; +import java.util.stream.Stream; public final class DeptUtils { @@ -209,5 +211,27 @@ public final class DeptUtils return collect; } + public static String getFullNameByOrgCode(String orgCode, List depts, String splitChar, boolean all) + { + Optional first = depts.stream().filter((x) -> orgCode.equals(x.getOrgCode())).findFirst(); + if(!first.isPresent()) + return ""; + List names = getDeptNameList(first.get(), depts, all); + return String.join(splitChar, names); + } + + private static List getDeptNameList(SysDept dept, List depts, boolean all) + { + List names = new ArrayList<>(); + Map 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() {} }