From bc4f090b9c31e2969e9e7986aada7be5e360c115 Mon Sep 17 00:00:00 2001 From: zhaodengke Date: Fri, 13 Oct 2023 09:05:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AccountingAgentTaskController.java | 20 +++++++++++++ .../service/ITAgentTaskService.java | 2 ++ .../service/impl/TAgentTaskServiceImpl.java | 19 +++++++++++++ .../com/ruoyi/agentcenter/vo/TaskFinish.java | 28 +++++++++++++++++++ .../mapper/agentcenter/TAgentTaskMapper.xml | 1 + 5 files changed, 70 insertions(+) create mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskFinish.java 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 7a26eae..9625531 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,13 +3,19 @@ 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; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.PageUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -36,6 +42,7 @@ public class AccountingAgentTaskController extends BaseController public TableDataInfo todoTaskList(TAgentTask task) { startPage(); + task.setHandleUser(getUsername()); PageUtils.orderBy("org_code"); List tAgentTasks = tAgentTaskService.getTodoTaskList(task); return getDataTable(tAgentTasks); @@ -49,7 +56,20 @@ public class AccountingAgentTaskController extends BaseController public AjaxResult processedTaskList(TAgentTask task) { startPage(); + task.setHandleUser(getUsername()); List tAgentTasks = tAgentTaskService.getProcessedTaskList(task); return getDataTable(tAgentTasks).toAjaxResult().put("overdue", tAgentTaskService.getAgentTaskOverdueFinishVillageCount(task)); } + + /** + * 完成 + */ + @PreAuthorize("@ss.hasPermi('accounting:task:finish')") + @PostMapping(value = "/finish") + public AjaxResult finish(@Validated @RequestBody TaskFinish taskFinish) + { + taskFinish.setHandleUser(getUsername()); + taskFinish.setHandleDate(DateUtils.getNowDate()); + return toAjax(tAgentTaskService.finish(taskFinish)); + } } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java index a4bdd64..86b56dc 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java @@ -10,6 +10,7 @@ import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup; import com.ruoyi.agentcenter.vo.AgentTaskUser; import com.ruoyi.agentcenter.vo.CountyTaskSummary; import com.ruoyi.agentcenter.vo.TaskDistrib; +import com.ruoyi.agentcenter.vo.TaskFinish; import com.ruoyi.agentcenter.vo.TaskRevoke; /** @@ -129,6 +130,7 @@ public interface ITAgentTaskService public int distrib(TaskDistrib task); public int revoke(TaskRevoke task); public int audit(TAgentTask task); + public int finish(TaskFinish task); public List userList(AgentTaskUser user); public List getUndistribTaskList(TAgentTask tAgentTask, AgentTaskTownNumGroup summary); 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 0a01ac6..a71871b 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 @@ -19,6 +19,7 @@ import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup; import com.ruoyi.agentcenter.vo.AgentTaskUser; import com.ruoyi.agentcenter.vo.CountyTaskSummary; import com.ruoyi.agentcenter.vo.TaskDistrib; +import com.ruoyi.agentcenter.vo.TaskFinish; import com.ruoyi.agentcenter.vo.TaskRevoke; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; @@ -373,6 +374,7 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService } @Override + @Transactional(rollbackFor = Exception.class) public int distrib(TaskDistrib task) { List orgCodeList = ContainerUtils.mapToList(task.getItems(), TaskDistrib.TaskDistribItem::getOrgCode); @@ -394,6 +396,7 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService .setDistriDate(DateUtils.getNowDate()) .setDistriUser(taskDistribItem.getHandleUser()) .setDistriNick(sysUserMapper.selectUserByUserName(taskDistribItem.getHandleUser()).getNickName()) + .setHandleUser(taskDistribItem.getHandleUser()) .setEndAt(DateUtil.format(dateTime, "yyyy-MM-dd")) ; }); @@ -426,6 +429,22 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService return tAgentTaskMapper.updateTAgentTask(dbTask); } + @Override + public int finish(TaskFinish task) + { + TAgentTask dbTask = tAgentTaskMapper.selectTAgentTaskById(task.getTaskId()); + + ASSERT.EXP(TAgentTask.AGENT_STATUS_PROCESSING.equals(dbTask.getAgentStatus()), "任务不是正在处理"); + ASSERT.EXP(task.getHandleUser().equals(dbTask.getHandleUser()), "无权完成此任务"); + + dbTask.setHandleRemark(task.getHandleRemark()) + .setAgentStatus(TAgentTask.AGENT_STATUS_FINISHED) + .setHandleDate(DateUtils.getNowDate()) + ; + + return tAgentTaskMapper.updateTAgentTask(dbTask); + } + @Override public List userList(AgentTaskUser agentTaskUser) { diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskFinish.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskFinish.java new file mode 100644 index 0000000..f2b541c --- /dev/null +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskFinish.java @@ -0,0 +1,28 @@ +package com.ruoyi.agentcenter.vo; + +import cn.hutool.core.bean.BeanUtil; +import com.ruoyi.agentcenter.domain.TAgentTask; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@Accessors(chain = true) +public class TaskFinish +{ + @NotNull(message = "任务ID不能为空") + private Long taskId; + + private String handleRemark; + private String handleUser; + private Date handleDate; + + public TAgentTask toAgentTask() + { + return BeanUtil.copyProperties(this, TAgentTask.class).setId(taskId); + } +} diff --git a/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentTaskMapper.xml b/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentTaskMapper.xml index f88c79d..1c54338 100644 --- a/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentTaskMapper.xml +++ b/ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentTaskMapper.xml @@ -659,6 +659,7 @@ and town_code = #{townCode} and order_year = #{orderYear} and order_month = #{orderMonth} + and handle_user = #{handleUser} AND town_code IN (null ,#{i} )